|
Задать значение параметра | ☑ | ||
---|---|---|---|---|
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) да офигительный фейк не ЭтотОбъект а СсылкаНаОбъект
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |