|   |   | 
| 
 | Задать значение параметра | ☑ | ||
|---|---|---|---|---|
| 0
    
        reznik911 29.07.14✎ 07:42 | 
        в модуле объекта внешней обработки прописал запрос к документу: 
 Функция ПечатьДокумента() Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); Запрос.УстановитьПараметр("Дата",СсылкаНаОбъект.Дата); Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата, | РеализацияТоваровУслуг.ДоговорКонтрагента, | РеализацияТоваровУслуг.Контрагент КАК Получатель, | РеализацияТоваровУслуг.Организация, | РеализацияТоваровУслуг.Организация КАК Поставщик, | РеализацияТоваровУслуг.СтруктурноеПодразделение, | РеализацияТоваровУслуг.СуммаДокумента, | РеализацияТоваровУслуг.ВалютаДокумента, | РеализацияТоваровУслуг.УчитыватьНДС, | РеализацияТоваровУслуг.СуммаВключаетНДС, | РеализацияТоваровУслуг.УчитыватьАкциз, | РеализацияТоваровУслуг.СуммаВключаетАкциз, | РеализацияТоваровУслуг.КурсВзаиморасчетов, | РеализацияТоваровУслуг.КратностьВзаиморасчетов, | РеализацияТоваровУслуг.Грузополучатель, | РеализацияТоваровУслуг.Доверенность, | РеализацияТоваровУслуг.Склад, | РеализацияТоваровУслуг.ОтпускПроизвел, | РеализацияТоваровУслуг.ОтпускРазрешил, | ОтветственныеЛицаСклад.ФизическоеЛицо КАК ОтпустилМОЛ , | РеализацияТоваровУслуг.ДоверенностьЧерезКого |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтветственныеЛица.СрезПоследних(&Дата, ) КАК ОтветственныеЛицаСклад | ПО РеализацияТоваровУслуг.Склад = ОтветственныеЛицаСклад.СтруктурнаяЕдиница |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ... формирую с формы документа пишет: Не удалось сформировать внешнюю печатную форму! Ошибка при вызове метода контекста (Выполнить): {(26, 68)}: Не задано значение параметра "Дата" ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтветственныеЛица.СрезПоследних(<<?>>&Дата, ) КАК ОтветственныеЛицаСклад Не подскажете какое значение можно задать Параметру Дата? СсылкаНаОбъект.Дата пробовал неправильно | |||
| 1
    
        butterbean 29.07.14✎ 07:49 | 
        ну может просто не сохранил файл... можно конфигуратор перезапустить и предприятие     | |||
| 2
    
        reznik911 29.07.14✎ 07:52 | 
        (1) не помогло     | |||
| 3
    
        butterbean 29.07.14✎ 07:52 | 
        (2) в отладчике  тогда смотри свои параметры     | |||
| 4
    
        Nenaviwu1c20 29.07.14✎ 07:57 | 
        не верю     | |||
| 5
    
        Russiagreat 29.07.14✎ 08:00 | 
        Может СсылкаНаОбъект не передается?     | |||
| 6
    
        butterbean 29.07.14✎ 08:01 | 
        (5) все равно ругательства из (0) не было-бы     | |||
| 7
    
        Russiagreat 29.07.14✎ 08:05 | 
        А запятую если убрать после Дата?     | |||
| 8
    
        Russiagreat 29.07.14✎ 08:06 | 
        (6) Почему? Ссылки нет, и даты нет. он будет ругать не задан параметр.     | |||
| 9
    
        reznik911 29.07.14✎ 08:07 | 
        (3) пишет теперь Не удалось сформировать внешнюю печатную форму!
 Поле объекта не обнаружено (Дата) | |||
| 10
    
        reznik911 29.07.14✎ 08:08 | 
        дату он получает а передать в запрос видимо не смог     | |||
| 11
    
        Мимохожий Однако 29.07.14✎ 08:31 | 
        Проверь отладчиком строку Запрос.УстановитьПараметр("Дата",СсылкаНаОбъект.Дата);     | |||
| 12
    
        reznik911 29.07.14✎ 08:37 | 
        (11) проверил. дату документа получил. думаю пашет. а почему дальше не может в запрос в рег сведений передать незнаю     | |||
| 13
    
        Russiagreat 29.07.14✎ 08:50 | 
        (12) 
 Скопипасти дату из установки параметров в запрос... мало ли ,вдруг раскладка одной буквы отличается | |||
| 14
    
        Мимохожий Однако 29.07.14✎ 08:53 | 
        (12)Регистр сведений хочет скорее всего не просто дату, а дату на начало периода.     | |||
| 15
    
        Russiagreat 29.07.14✎ 08:55 | 
        (14) Обычно он хочет конец периода     | |||
| 16
    
        reznik911 29.07.14✎ 09:00 | 
        и как мне из даты документа сделать конец периода)))     | |||
| 17
    
        reznik911 29.07.14✎ 09:01 | 
        ну т.к. срез последних походу конец периода     | |||
| 18
    
        Godofsin 29.07.14✎ 09:02 | 
        (13) (15) Что за ерунда?     | |||
| 19
    
        Godofsin 29.07.14✎ 09:04 | 
        Отладчик что говорит на "СсылкаНаОбъект.Дата"?     | |||
| 20
    
        Russiagreat 29.07.14✎ 09:05 | 
        Новый МоментВремени(СсылкаНаОбъект.Дата, СсылкаНаОбъект.Ссылка);     | |||
| 21
    
        Russiagreat 29.07.14✎ 09:06 | 
        Или границу сделай, с видом границы "включая"     | |||
| 22
    
        reznik911 29.07.14✎ 09:11 | 
        (19) (9)     | |||
| 23
    
        Godofsin 29.07.14✎ 09:16 | 
        (22) Это значит, что у "СсылкаНаОбъект" нет поля "дата".
 Теперь смотри отладчиком, что там у тебя в СсылкаНаОбъект | |||
| 24
    
        reznik911 29.07.14✎ 09:19 | 
        (23) ссылка на документ или иначе РеализацияТоваровУслуг.Ссылка как и должно быть     | |||
| 25
    
        reznik911 29.07.14✎ 09:19 | 
        (23) и у него есть поле дата     | |||
| 26
    
        Godofsin 29.07.14✎ 09:20 | 
        (24) Не верю! Скрин отладчика с "СсылкаНаОбъект" и "СсылкаНаОбъект.Дата"     | |||
| 27
    
        Godofsin 29.07.14✎ 09:20 | 
        в студию     | |||
| 28
    
        reznik911 29.07.14✎ 09:25 | 
        (27) радикал или куды     | |||
| 29
    
        Godofsin 29.07.14✎ 09:26 | 
        savepic.org     | |||
| 30
    
        reznik911 29.07.14✎ 09:29 | ||||
| 31
    
        Godofsin 29.07.14✎ 09:30 | 
        (30) savepic.ru То есть     | |||
| 32
    
        Godofsin 29.07.14✎ 09:30 | 
        туда грузи     | |||
| 33
    
        reznik911 29.07.14✎ 09:32 | ||||
| 34
    
        reznik911 29.07.14✎ 09:33 | ||||
| 35
    
        Godofsin 29.07.14✎ 09:35 | 
        И какая говоришь ошибка в этом случае вылетает?     | |||
| 36
    
        vhl 29.07.14✎ 09:35 | 
        (34) А теперь текст запроса полностью и до "Запрос.Выполлнить()" ?     | |||
| 37
    
        Russiagreat 29.07.14✎ 09:36 | 
        Ощущение что вид документа другой     | |||
| 38
    
        Godofsin 29.07.14✎ 09:38 | 
        +(35) И это, открой для себя "табло" в отладчике. А то по твоим скринам непонятно, каких типов переменные. Может дата у тебя строка?     | |||
| 39
    
        Godofsin 29.07.14✎ 09:39 | 
        (37) Кстати да     | |||
| 40
    
        samozvanec 29.07.14✎ 09:39 | 
        (0) скорее всего кеша глючит. сохрани обработку под другим именем     | |||
| 41
    
        samozvanec 29.07.14✎ 09:41 | 
        еще поставь точку останова на 
 Шапка = Запрос.Выполнить().Выбрать(); и посмотри, что у тебя в Запрос.Параметры | |||
| 42
    
        1Сергей 29.07.14✎ 09:41 | 
        Перезайди в конфигуратор     | |||
| 43
    
        reznik911 29.07.14✎ 09:43 | ||||
| 44
    
        Godofsin 29.07.14✎ 09:45 | 
        (43) Ну тогда я сдаюсь. Пробуй (40) и (42).
 Кстати, может ругается совсем не на это место? Может у тебя дальше по тексту обработки косяк? | |||
| 45
    
        reznik911 29.07.14✎ 09:47 | ||||
| 46
    
        Godofsin 29.07.14✎ 09:49 | 
        (45) Что еще за шапка мля? текст ошибки полностью выложи!     | |||
| 47
    
        Godofsin 29.07.14✎ 09:50 | 
        Шапка есть, значит запрос отработал? Чо ты нам моск насилуешь ?     | |||
| 48
    
        reznik911 29.07.14✎ 09:52 | 
        (46) Не удалось сформировать внешнюю печатную форму!
 Поле объекта не обнаружено (Дата) | |||
| 49
    
        reznik911 29.07.14✎ 09:52 | 
        (47) шапка это ответ на (41) ясно?     | |||
| 50
    
        Godofsin 29.07.14✎ 09:52 | 
        (48) НА КАКУЮ СТРОЧКУ?     | |||
| 51
    
        Godofsin 29.07.14✎ 09:53 | 
        (49) Ну так запрос отработал, судя по (45) и в (0) ошибок нет!     | |||
| 52
    
        vhl 29.07.14✎ 09:53 | 
        (45) У тебя запрос выполнился. Ищи ошибку в другом месте     | |||
| 53
    
        Timon1405 29.07.14✎ 09:55 | 
        вангую установку параметров в макете, обращение через точку к нуллу в поле "ОтпустилМОЛ" из (45)     | |||
| 54
    
        Крошка Ру 29.07.14✎ 09:56 | 
        Похоже в макет параметр называется не "Дата"...     | |||
| 55
    
        Крошка Ру 29.07.14✎ 09:57 | 
        *в макете     | |||
| 56
    
        vhl 29.07.14✎ 09:57 | 
        (53) Вангую он одну печатную форму отлаживает, а ошибка возникает в другой.     | |||
| 57
    
        Timon1405 29.07.14✎ 09:59 | 
        (56) ага, у него слишком много несохраненных обработок и темповых имен файлов на одном скрине...     | |||
| 58
    
        reznik911 29.07.14✎ 10:00 | 
        (56) ну может быть в другом потому что он ведь каждый раз темповый создает     | |||
| 59
    
        reznik911 29.07.14✎ 10:00 | 
        (50) на какую строчку не знаю!! эта долбанная внешняя печатная форма на нее ссылку и на строчку с ошибкой он не покажет     | |||
| 60
    
        samozvanec 29.07.14✎ 10:02 | 
        (49) а ничего, что я просил показать Запрос.Параметры? хотя, показав шапку, ты сделал правильно)
 включай остановку по ошибке, точки останова убери все | |||
| 61
    
        Крошка Ру 29.07.14✎ 10:03 | 
        (59) а сохранить её в файл и отлаживать как обработку не судьба?     | |||
| 62
    
        reznik911 29.07.14✎ 10:04 | 
        (61) что что?     | |||
| 63
    
        samozvanec 29.07.14✎ 10:04 | 
        +(60) и скрин, как остановится, сделай, прежде чем куда-то тыкать     | |||
| 64
    
        Крошка Ру 29.07.14✎ 10:05 | 
        (62) Что непонятного?     | |||
| 65
    
        samozvanec 29.07.14✎ 10:05 | 
        (61) а он как отлаживает? откладывает...     | |||
| 66
    
        reznik911 29.07.14✎ 10:07 | ||||
| 67
    
        reznik911 29.07.14✎ 10:07 | 
        (64) все непонятно. смысл его сохранять потом при запуске опять сформирует новый темповый... вот что не понятно     | |||
| 68
    
        reznik911 29.07.14✎ 10:08 | 
        (61) а я его как отлаживаю?     | |||
| 69
    
        Крошка Ру 29.07.14✎ 10:08 | 
        (65) Тогда вот этого не понял:
 >> на строчку с ошибкой он не покажет | |||
| 70
    
        hhhh 29.07.14✎ 10:09 | 
        (66) дальше листай, следующий скрин.     | |||
| 71
    
        reznik911 29.07.14✎ 10:10 | 
        (70) пока тишина     | |||
| 72
    
        reznik911 29.07.14✎ 10:12 | ||||
| 73
    
        reznik911 29.07.14✎ 10:13 | 
        а вот она дата http://savepic.org/5895532.png     | |||
| 74
    
        hhhh 29.07.14✎ 10:14 | 
        (71)что тишина? Сначала идут ошибки, которые попытки исключения там в типовой. Ты их пропускай, жми дальше. Где-то 5-я или 6-я будет твоя ошибка. На ней делай скрин и присылай его самозванцу.     | |||
| 75
    
        hhhh 29.07.14✎ 10:15 | 
        (74) ну теперь нажми отладка-стек вызовов и посмотри из какого места твоей обработки произошел вызов.     | |||
| 76
    
        samozvanec 29.07.14✎ 10:16 | 
        о как. ну смотри, что за поля, чего не хватает. собственно черным по белому же     | |||
| 77
    
        vhl 29.07.14✎ 10:16 | 
        (73) Не она...     | |||
| 78
    
        samozvanec 29.07.14✎ 10:18 | 
        +(76) подключи ее как внешнюю. что-то у тебя не то передается в стандартные процедуры     | |||
| 79
    
        hhhh 29.07.14✎ 10:18 | 
        (77) не, может быть. НомерНаПечать. Он наверняка туда вместо документа емейл своей бабушки подсовывает. Вот 1с и обиделась.     | |||
| 80
    
        Russiagreat 29.07.14✎ 10:19 | 
        это надо же так в заблуждение народ вводить с запросами     | |||
| 81
    
        reznik911 29.07.14✎ 10:19 | ||||
| 82
    
        samozvanec 29.07.14✎ 10:19 | 
        я вот не помню, как в уф подключается, есть ощущение, что твоя функция печать возвращает не то, что хотят стандартные     | |||
| 83
    
        reznik911 29.07.14✎ 10:20 | 
        (78) она и так внешняя     | |||
| 84
    
        samozvanec 29.07.14✎ 10:21 | 
        (81) вот че у тебя там за РаботаСДиалогами.СформироватьЗаголовок(ДокументОбъект = Обработка.НаименованиеДокумента = "четотам")
 у тебя в параметре булево получается, судя по всему, сомневаюсь, что его там хотят | |||
| 85
    
        reznik911 29.07.14✎ 10:24 | 
        (84) Формат(ДокументОбъект.Дата, "ДЛФ=DD") вот суды видимо Дату вставить не может, а ДОкументОбъект = РасходнаяНакладная_новая получил     | |||
| 86
    
        ДенисЧ 29.07.14✎ 10:26 | 
        А забавные параметры вызова процедуры общего модуля, не находите?     | |||
| 87
    
        samozvanec 29.07.14✎ 10:28 | 
        блин там даже непонятно, точки это, или запятые. 
 (86) еще как находим | |||
| 88
    
        reznik911 29.07.14✎ 10:28 | 
        (86) на счет каких параметров?     | |||
| 89
    
        ДенисЧ 29.07.14✎ 10:29 | 
        (88) Ты ж туда булевы передаёшь, а не объект...     | |||
| 90
    
        reznik911 29.07.14✎ 10:39 | 
        (89) да вроде объекты     | |||
| 91
    
        reznik911 29.07.14✎ 10:42 | 
        Функция ПечатьДокумента()
 Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); Запрос.УстановитьПараметр("Дата",СсылкаНаОбъект.Дата); Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата, | РеализацияТоваровУслуг.ДоговорКонтрагента, | РеализацияТоваровУслуг.Контрагент КАК Получатель, | РеализацияТоваровУслуг.Организация, | РеализацияТоваровУслуг.Организация КАК Поставщик, | РеализацияТоваровУслуг.СтруктурноеПодразделение, | РеализацияТоваровУслуг.СуммаДокумента, | РеализацияТоваровУслуг.ВалютаДокумента, | РеализацияТоваровУслуг.УчитыватьНДС, | РеализацияТоваровУслуг.СуммаВключаетНДС, | РеализацияТоваровУслуг.УчитыватьАкциз, | РеализацияТоваровУслуг.СуммаВключаетАкциз, | РеализацияТоваровУслуг.КурсВзаиморасчетов, | РеализацияТоваровУслуг.КратностьВзаиморасчетов, | РеализацияТоваровУслуг.Грузополучатель, | РеализацияТоваровУслуг.Доверенность, | РеализацияТоваровУслуг.Склад, | РеализацияТоваровУслуг.ОтпускПроизвел, | РеализацияТоваровУслуг.ОтпускРазрешил, | ОтветственныеЛицаСклад.ФизическоеЛицо КАК ОтпустилМОЛ , | РеализацияТоваровУслуг.ДоверенностьЧерезКого |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтветственныеЛица.СрезПоследних(&Дата, ) КАК ОтветственныеЛицаСклад | ПО РеализацияТоваровУслуг.Склад = ОтветственныеЛицаСклад.СтруктурнаяЕдиница |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ТекстКурс = ""; СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("РеализацияТоваровУслуг"); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ВложенныйЗапросПоТоварам.Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапросПоТоварам.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | ВложенныйЗапросПоТоварам.Номенклатура.Код КАК Код, | ВложенныйЗапросПоТоварам.Номенклатура.Артикул КАК Артикул, | ВложенныйЗапросПоТоварам.Количество, | ВложенныйЗапросПоТоварам.КоличествоМест, | ВложенныйЗапросПоТоварам.ЕдиницаИзмерения.Представление КАК ЕдиницаЦены, | ВложенныйЗапросПоТоварам.ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест, | ВложенныйЗапросПоТоварам.Номенклатура.БазоваяЕдиницаИзмерения КАК БазЕд, | ВложенныйЗапросПоТоварам.Коэффициент, | ВложенныйЗапросПоТоварам.Цена, | ВложенныйЗапросПоТоварам.Сумма, | ВложенныйЗапросПоТоварам.СуммаНДС, | ВложенныйЗапросПоТоварам.СуммаАкциза, | ВложенныйЗапросПоТоварам.ПроцентСкидкиНаценки КАК Скидка, | ВложенныйЗапросПоТоварам.ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка, | ВложенныйЗапросПоТоварам.ХарактеристикаНоменклатуры КАК Характеристика, | ВложенныйЗапросПоТоварам.СтранаПроисхождения КАК СтранаПроисхождения, | ВложенныйЗапросПоТоварам.НомерГТД КАК НомерГТД, | ВложенныйЗапросПоТоварам.СерияНоменклатуры КАК Серия, | ВложенныйЗапросПоТоварам.НомерСтроки КАК НомерСтроки, | ВложенныйЗапросПоТоварам.Метка КАК Метка |ИЗ | (ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура КАК Номенклатура, | РеализацияТоваровУслуг.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | РеализацияТоваровУслуг.ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | РеализацияТоваровУслуг.Номенклатура.БазоваяЕдиницаИзмерения КАК БазЕд, | РеализацияТоваровУслуг.Коэффициент, | РеализацияТоваровУслуг.Цена КАК Цена, | РеализацияТоваровУслуг.СтавкаНДС КАК СтавкаНДС, | РеализацияТоваровУслуг.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | РеализацияТоваровУслуг.СерияНоменклатуры.НомерГТД КАК НомерГТД, | РеализацияТоваровУслуг.СерияНоменклатуры.СтранаПроисхождения КАК СтранаПроисхождения, | РеализацияТоваровУслуг.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | РеализацияТоваровУслуг.СерияНоменклатуры КАК СерияНоменклатуры, | СУММА(РеализацияТоваровУслуг.Количество) КАК Количество, | СУММА(РеализацияТоваровУслуг.КоличествоМест) КАК КоличествоМест, | СУММА(РеализацияТоваровУслуг.Сумма) КАК Сумма, | СУММА(РеализацияТоваровУслуг.СуммаНДС) КАК СуммаНДС, | СУММА(РеализацияТоваровУслуг.СуммаАкциза) КАК СуммаАкциза, | МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки, | 0 КАК Метка | ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг | ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | | СГРУППИРОВАТЬ ПО | РеализацияТоваровУслуг.Номенклатура, | РеализацияТоваровУслуг.ЕдиницаИзмерения, | РеализацияТоваровУслуг.ЕдиницаИзмеренияМест, | РеализацияТоваровУслуг.Номенклатура.БазоваяЕдиницаИзмерения, | РеализацияТоваровУслуг.Коэффициент, | РеализацияТоваровУслуг.Цена, | РеализацияТоваровУслуг.СтавкаНДС, | РеализацияТоваровУслуг.ПроцентСкидкиНаценки, | РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок, | РеализацияТоваровУслуг.СерияНоменклатуры, | РеализацияТоваровУслуг.ХарактеристикаНоменклатуры, | РеализацияТоваровУслуг.СерияНоменклатуры.НомерГТД, | РеализацияТоваровУслуг.СерияНоменклатуры.СтранаПроисхождения) КАК ВложенныйЗапросПоТоварам | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура, | " + СтрокаВыборкиПоляСодержания + ", | РеализацияТоваровУслуг.Номенклатура.Код, | РеализацияТоваровУслуг.Номенклатура.Артикул, | РеализацияТоваровУслуг.Номенклатура.БазоваяЕдиницаИзмерения КАК БазЕд, | Null, | РеализацияТоваровУслуг.Количество, | NULL, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление, | NULL, | РеализацияТоваровУслуг.Цена, | РеализацияТоваровУслуг.Сумма, | РеализацияТоваровУслуг.СуммаНДС, | 0, | РеализацияТоваровУслуг.ПроцентСкидкиНаценки, | РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка, | NULL, | NULL, | NULL, | NULL, | РеализацияТоваровУслуг.НомерСтроки, | 1 |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура, | ВЫРАЗИТЬ(РеализацияТоваровУслуг.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)), | РеализацияТоваровУслуг.Номенклатура.Код, | РеализацияТоваровУслуг.Номенклатура.Артикул, | РеализацияТоваровУслуг.Количество, | РеализацияТоваровУслуг.Номенклатура.БазоваяЕдиницаИзмерения КАК БазЕд, | Null, | NULL, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление, | NULL, | РеализацияТоваровУслуг.Цена, | РеализацияТоваровУслуг.Сумма, | 0, | 0, | 0, | NULL, | NULL, | NULL, | NULL, | NULL, | РеализацияТоваровУслуг.НомерСтроки, | 2 |ИЗ | Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |УПОРЯДОЧИТЬ ПО | Метка, | НомерСтроки"; ЗапросТовары = Запрос.Выполнить().Выгрузить(); СтруктурнаяЕдиницаОрганизация = ОбщегоНазначения.ПолучитьСтруктурнуюЕдиницу(Шапка.Организация, Шапка.СтруктурноеПодразделение); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Накладная"; Макет = ПолучитьМакет("Накладная"); // Выводим шапку накладной ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); ОбластьМакета.Параметры.ТекстЗаголовка = РаботаСДиалогами.СформироватьЗаголовокДокумента(ЭтотОбъект, "Расходная накладная"); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); ПредставлениеПоставщика = ОбщегоНазначения.ОписаниеОрганизации(ОбщегоНазначения.СведенияОЮрФизЛице(СтруктурнаяЕдиницаОрганизация, Шапка.Дата), "ПолноеНаименование,", Ложь); ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеПоставщика; ОбластьМакета.Параметры.Поставщик = СтруктурнаяЕдиницаОрганизация; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Покупатель"); ПредставлениеПолучателя = ОбщегоНазначения.ОписаниеОрганизации(ОбщегоНазначения.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата), "ПолноеНаименование,", Ложь); ОбластьМакета.Параметры.ПредставлениеПолучателя = СокрЛП(ПредставлениеПолучателя); ОбластьМакета.Параметры.Получатель = Шапка.Получатель; ТабДокумент.Вывести(ОбластьМакета); Если (Шапка.Получатель <> Шапка.Грузополучатель) И ЗначениеЗаполнено(Шапка.Грузополучатель) Тогда ОбластьМакета = Макет.ПолучитьОбласть("Грузополучатель"); ПредставлениеГрузополучателя = ОбщегоНазначения.ОписаниеОрганизации(ОбщегоНазначения.СведенияОЮрФизЛице(Шапка.Грузополучатель, Шапка.Дата), "ПолноеНаименование,", Ложь); ОбластьМакета.Параметры.ПредставлениеГрузополучателя = СокрЛП(ПредставлениеГрузополучателя); ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; Если ЗначениеЗаполнено(Шапка.Доверенность) Тогда ОбластьМакета = Макет.ПолучитьОбласть("Доверенность"); ДанныеДляДоверенности = СокрЛП(Шапка.Доверенность); Если ЗначениеЗаполнено(Шапка.ДоверенностьЧерезКого) Тогда ДанныеДляДоверенности = ДанныеДляДоверенности + " выданной, " + СокрЛП(Шапка.ДоверенностьЧерезКого); КонецЕсли; ОбластьМакета.Параметры.Доверенность = ДанныеДляДоверенности; ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; Если ЗначениеЗаполнено(Шапка.ДоговорКонтрагента) Тогда ОбластьМакета = Макет.ПолучитьОбласть("Основание"); ОбластьМакета.Параметры.Основание = Шапка.ДоговорКонтрагента; ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; Если СсылкаНаОбъект.Товары.Количество() + СсылкаНаОбъект.ВозвратнаяТара.Количество()<> 0 Тогда ОбластьМакета = Макет.ПолучитьОбласть("Склад"); ОбластьМакета.Параметры.Склад = Шапка.Склад; ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; ЕстьСкидки = ЗапросТовары.Итог("Скидка") + ЗапросТовары.Итог("АвтоматическаяСкидка") <> 0; ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ВыводитьКоды = Истина; Колонка = "Артикул"; ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда ВыводитьКоды = Истина; Колонка = "Код"; Иначе ВыводитьКоды = Ложь; КонецЕсли; ВыводитьГТД = Ложь; //Проверим нужно ли выводить страну происхождения и ГТД Для Каждого Товар ИЗ ЗапросТовары Цикл Если ЗначениеЗаполнено(Товар.НомерГТД) Или ЗначениеЗаполнено(Товар.СтранаПроисхождения) Тогда ВыводитьГТД = Истина; Прервать; КонецЕсли; КонецЦикла; ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицы|Товар"); ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|КоличествоЦена"); ОбластьСкидок = Макет.ПолучитьОбласть("ШапкаТаблицы|Скидка"); ОбластьСуммы = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма"); ОбластьГТД = Макет.ПолучитьОбласть("ШапкаТаблицы|ГТД"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьТовар); ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьСкидки Тогда ТабДокумент.Присоединить(ОбластьСкидок); КонецЕсли; ТабДокумент.Присоединить(ОбластьСуммы); Если ВыводитьГТД Тогда ТабДокумент.Присоединить(ОбластьГТД); КонецЕсли; ОбластьКолонкаТовар = Макет.Область("Товар"); Если Не ВыводитьКоды Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("КолонкаКодов").ШиринаКолонки; КонецЕсли; Если НЕ ЕстьСкидки Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("СуммаБезСкидки").ШиринаКолонки + Макет.Область("СуммаСкидки").ШиринаКолонки; КонецЕсли; Если НЕ ВыводитьГТД Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("ГТД").ШиринаКолонки; КонецЕсли; ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("Строка|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("Строка|Товар"); ОбластьДанных = Макет.ПолучитьОбласть("Строка|КоличествоЦена"); ОбластьСкидок = Макет.ПолучитьОбласть("Строка|Скидка"); ОбластьСуммы = Макет.ПолучитьОбласть("Строка|Сумма"); ОбластьГТД = Макет.ПолучитьОбласть("Строка|ГТД"); Сумма = 0; СуммаНДС = 0; ВсегоСкидок = 0; ВсегоБезСкидок = 0; Для каждого ВыборкаСтрокТовары из ЗапросТовары Цикл Если Не ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное); Продолжить; КонецЕсли; ОбластьНомера.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1; ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда Если Колонка = "Артикул" Тогда ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Артикул; Иначе ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код; КонецЕсли; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ОбластьТовар.Параметры.Заполнить(ВыборкаСтрокТовары); ОбластьТовар.Параметры.Товар = СокрЛП(ВыборкаСтрокТовары.Товар) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары) + ?(ВыборкаСтрокТовары.Метка = 2, " (возвратная тара)", ""); ТабДокумент.Присоединить(ОбластьТовар); ОбластьДанных.Параметры.БазЕд=ВыборкаСтрокТовары.БазЕд; ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТовары); //Сухраб от Если ВыборкаСтрокТовары.Коэффициент > 1 Тогда ОбластьДанных.Параметры.ЦенаЕд=ВыборкаСтрокТовары.Цена/ВыборкаСтрокТовары.Коэффциент; ОбластьДанных.Параметры.КоличествоБазЕд=ВыборкаСтрокТовары.ЦенаЕд*ВыборкаСтрокТовары.Количество; Иначе ОбластьДанных.Параметры.ЦенаЕд=ВыборкаСтрокТовары.Цена; ОбластьДанных.Параметры.КоличествоБазЕд=ВыборкаСтрокТовары.Количество; //Сухраб до ТабДокумент.Присоединить(ОбластьДанных); КонецЕсли; // Скидка может быть NULL ПроцентСкидки = ?(ЗначениеЗаполнено(ВыборкаСтрокТовары.Скидка),ВыборкаСтрокТовары.Скидка,0) + ?(ЗначениеЗаполнено(ВыборкаСтрокТовары.АвтоматическаяСкидка),ВыборкаСтрокТовары.АвтоматическаяСкидка,0); Если ПроцентСкидки = 100 Тогда СуммаДляСкидки = Окр(ВыборкаСтрокТовары.Цена * ВыборкаСтрокТовары.Количество,2,1); Иначе СуммаДляСкидки = ВыборкаСтрокТовары.Сумма; КонецЕсли; Скидка = УправлениеЦенообразованием.ПолучитьСуммуСкидки(СуммаДляСкидки, ПроцентСкидки); Если ЕстьСкидки Тогда ОбластьСкидок.Параметры.Скидка = Скидка; ОбластьСкидок.Параметры.СуммаБезСкидки = ВыборкаСтрокТовары.Сумма + Скидка; ТабДокумент.Присоединить(ОбластьСкидок); КонецЕсли; ОбластьСуммы.Параметры.Заполнить(ВыборкаСтрокТовары); ТабДокумент.Присоединить(ОбластьСуммы); Если ВыводитьГТД Тогда ОбластьГТД.Параметры.НомерГТДСтранаПроисхождения = ?(ЗначениеЗаполнено(ВыборкаСтрокТовары.НомерГТД), СокрЛП(ВыборкаСтрокТовары.НомерГТД.Код)+",", "") + Символы.ПС + ВыборкаСтрокТовары.СтранаПроисхождения; ТабДокумент.Присоединить(ОбластьГТД); КонецЕсли; Сумма = Сумма + ВыборкаСтрокТовары.Сумма + ?((Шапка.УчитыватьАкциз И НЕ Шапка.СуммаВключаетАкциз), ВыборкаСтрокТовары.СуммаАкциза, 0); СуммаНДС = СуммаНДС + ВыборкаСтрокТовары.СуммаНДС; ВсегоСкидок = ВсегоСкидок + Скидка; ВсегоБезСкидок = Сумма + ВсегоСкидок; //прибавим к сумме акциз, если он не включен в стоимость ВсегоБезСкидок = ВсегоБезСкидок + ?((Шапка.УчитыватьАкциз И НЕ Шапка.СуммаВключаетАкциз), ВыборкаСтрокТовары.СуммаАкциза, 0); КонецЦикла; // Вывести Итого ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("Итого|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("Итого|Товар"); ОбластьДанных = Макет.ПолучитьОбласть("Итого|КоличествоЦена"); ОбластьСкидок = Макет.ПолучитьОбласть("Итого|Скидка"); ОбластьСуммы = Макет.ПолучитьОбласть("Итого|Сумма"); ОбластьГТД = Макет.ПолучитьОбласть("Итого|ГТД"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьТовар); ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьСкидки Тогда ОбластьСкидок.Параметры.ВсегоСкидок = ВсегоСкидок; ОбластьСкидок.Параметры.ВсегоБезСкидок = ВсегоБезСкидок; ТабДокумент.Присоединить(ОбластьСкидок); КонецЕсли; ОбластьСуммы.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма); ТабДокумент.Присоединить(ОбластьСуммы); Если ВыводитьГТД Тогда ТабДокумент.Присоединить(ОбластьГТД); КонецЕсли; // Вывести ИтогоНДС Если Шапка.УчитыватьНДС Тогда ОбластьНомера = Макет.ПолучитьОбласть("ИтогоНДС|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("ИтогоНДС|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("ИтогоНДС|Товар"); ОбластьДанных = Макет.ПолучитьОбласть("ИтогоНДС|КоличествоЦена"); ОбластьСкидок = Макет.ПолучитьОбласть("ИтогоНДС|Скидка"); ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоНДС|Сумма"); ОбластьГТД = Макет.ПолучитьОбласть("ИтогоНДС|ГТД"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьТовар); ОбластьДанных.Параметры.НДС = ?(Шапка.СуммаВключаетНДС, "В том числе НДС:", "Сумма НДС:"); ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьСкидки Тогда ТабДокумент.Присоединить(ОбластьСкидок); КонецЕсли; ОбластьСуммы.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС); ТабДокумент.Присоединить(ОбластьСуммы); Если ВыводитьГТД Тогда ТабДокумент.Присоединить(ОбластьГТД); КонецЕсли; Если НЕ Шапка.СуммаВключаетНДС ТОгда ОбластьНомера = Макет.ПолучитьОбласть("ИтогоСНДС|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("ИтогоСНДС|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("ИтогоСНДС|Товар"); ОбластьДанных = Макет.ПолучитьОбласть("ИтогоСНДС|КоличествоЦена"); ОбластьСкидок = Макет.ПолучитьОбласть("ИтогоСНДС|Скидка"); ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоСНДС|Сумма"); ОбластьГТД = Макет.ПолучитьОбласть("ИтогоСНДС|ГТД"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьТовар); ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьСкидки Тогда ТабДокумент.Присоединить(ОбластьСкидок); КонецЕсли; ОбластьСуммы.Параметры.ВсегоСНДС = Сумма+СуммаНДС; ТабДокумент.Присоединить(ОбластьСуммы); Если ВыводитьГТД Тогда ТабДокумент.Присоединить(ОбластьГТД); КонецЕсли; КонецЕсли; КонецЕсли; // Вывести Сумму прописью ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью"); СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС); ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего наименований " + ЗапросТовары.Количество() + ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента); ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента); ТабДокумент.Вывести(ОбластьМакета); // Вывести подписи ОбластьМакета = Макет.ПолучитьОбласть("Подписи"); // Отпуск товара произвел Если ЗначениеЗаполнено(Шапка.ОтпускПроизвел) Тогда ФамилияИмяОтчествоФизЛица = ФормированиеПечатныхФорм.ФамилияИмяОтчество(Шапка.ОтпускПроизвел, Шапка.Дата); ФамилияИмяОтчествоОтпускПроизвел = ФамилияИмяОтчествоФизЛица.Фамилия + " " + ФамилияИмяОтчествоФизЛица.Имя + " " + ФамилияИмяОтчествоФизЛица.Отчество; ФИООтпускПроизвел = ОбщегоНазначения.ФамилияИнициалыФизЛица(ФамилияИмяОтчествоОтпускПроизвел); ОбластьМакета.Параметры.ОтветственныйПредставление = ФИООтпускПроизвел; Иначе//берем из ответственного по складу ОбластьМакета.Параметры.ОтветственныйПредставление = ОбщегоНазначения.ФамилияИнициалыФизЛица(Шапка.ОтпустилМОЛ); КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); Возврат ТабДокумент; КонецФункции // ПечатьДокумента() | |||
| 92
    
        reznik911 29.07.14✎ 10:43 | 
        на всякий случай) может че то упустил     | |||
| 93
    
        samozvanec 29.07.14✎ 10:48 | 
        (91) ОбластьМакета.Параметры.ТекстЗаголовка = РаботаСДиалогами.СформироватьЗаголовокДокумента(ЭтотОбъект, "Расходная накладная");
 этот объект что у тебя? | |||
| 94
    
        samozvanec 29.07.14✎ 10:49 | 
        (90) судя по стеку, совсем не объекты     | |||
| 95
    
        VRednaia 29.07.14✎ 10:49 | 
        ОбластьМакета.Параметры.ТекстЗаголовка = РаботаСДиалогами.СформироватьЗаголовокДокумента(ЭтотОбъект, "Расходная накладная");
 Вот это что? Как ты думаешь, чей номер будет определен для "ЭтотОбъект"? | |||
| 96
    
        Timon1405 29.07.14✎ 10:54 | 
        срочно меняй там ЭтотОбъект на СсылкаНаОбъект пока сотка не набежала!     | |||
| 97
    
        reznik911 29.07.14✎ 10:54 | 
        (93) да офигительный фейк не ЭтотОбъект а СсылкаНаОбъект     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |