![]() |
|
Как вывести в печатную форму РН один из реквизитов | ☑ | ||
---|---|---|---|---|
0
Russkiy
16.03.12
✎
11:51
|
Привет, ребята!
У меня 1С Предприятие, версия 8.1.15.14, конфигурация "Управление торговым предприятием для Украины", ред. 1.1. Я тут пытаюсь вывести в печатную форму Расходной Накладной один из реквизитов, то есть содержимое одной из колонок её табличной части. Я, к великому сожалению, не программист, но задачу решить надо... Похоже, что главная проблема - в соответствующем запросе в коде модуля РН. Я по аналогии с другими реквизитами вставил среди них и свой новый - он называется "Серия". Однако при отладке на этапе формирования печатной формы выдаётся ошибка: "Ошибка времени выполнения:{Документ.РеализацияТоваровУслуг(178)}: Ошибка при вызове метода контекста(Выполнить): {(25, 3)}: Поле не найдено <<?>> Серия КАК Серия, в модуле Документ.РеализацияТоваровУслуг, строка 178." Вот фрагмент кода, в который я вставил свои строки по аналогии с другими (эти строки я отметил комментарием в конце каждой из них - "это моя строка"): Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | НомерТЧ, | НомерСтрокиТЧ, | Серия, //это моя строка | Номенклатура, | ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | Номенклатура.Код КАК Код, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | КоличествоМест, | ЕдиницаИзмерения.Представление КАК ЕдиницаЦены, | ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест, | Цена, | Сумма, | СуммаНДС, | ПроцентСкидкиНаценки КАК Скидка, | ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка, | ХарактеристикаНоменклатуры КАК Характеристика, | СерияНоменклатуры КАК Серия |ИЗ | (ВЫБРАТЬ | 1 КАК НомерТЧ, | МИНИМУМ(НомерСтроки) КАК НомерСтрокиТЧ, | Номенклатура КАК Номенклатура, | Серия КАК Серия, //это моя строка | ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | Цена КАК Цена, | СтавкаНДС КАК СтавкаНДС, | ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | СерияНоменклатуры КАК СерияНоменклатуры, | ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | СУММА(Количество) КАК Количество, | СУММА(КоличествоМест)КАК КоличествоМест, | СУММА(Сумма) КАК Сумма, | СУММА(СуммаНДС) КАК СуммаНДС | ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг | ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | СГРУППИРОВАТЬ ПО | Серия, //это моя строка | Номенклатура, | ЕдиницаИзмерения, | ЕдиницаИзмеренияМест, | Цена, | СтавкаНДС, | ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок, | СерияНоменклатуры, | ХарактеристикаНоменклатуры | ) КАК ВложенныйЗапросПоТоварам | |ОБЪЕДИНИТЬ ВСЕ Подскажите, пожалуйста, кто знает, что здесь не так и что надо сделать, чтобы процедура заработала должным образом (т. е., чтобы в печатную форму стала выводиться эта самая серия, которая, кстати, в табличную форму РН выводится без проблем). Заранее благодарю всех откликнувшихся... |
|||
1
PVV65
16.03.12
✎
11:54
|
(0) СерияНоменклатуры
|
|||
2
Wobland
16.03.12
✎
11:55
|
конструктор текст запроса принимает? самый быстрый способ найти указание на ошибку. просто поля нет такого, похоже
|
|||
3
Russkiy
16.03.12
✎
11:57
|
Каким образом я могу узнать, принимает ли конструктор текст запроса?
|
|||
4
dva1c
16.03.12
✎
11:57
|
+(1) Я тоже подумал, что это одно и тоже (Серия=СерияНоменклатуры)
|
|||
5
Wobland
16.03.12
✎
11:57
|
(3) на тексте ПКМ - конструктор. уже нашли ;)
|
|||
6
dva1c
16.03.12
✎
11:58
|
(3) Встать на месте перед "Выбрать" и нажать правую кнопку мыши.
|
|||
7
Wobland
16.03.12
✎
11:58
|
+(5) вылезет конструктор - значит хорошо. иначе ругаться будет
|
|||
8
Russkiy
16.03.12
✎
11:58
|
Что, стоит попробовать изменить "Серия" на "СерияНоменклатуры"?
|
|||
9
dva1c
16.03.12
✎
11:58
|
(8)Ага
|
|||
10
Wobland
16.03.12
✎
11:59
|
(8) зачем тебе Серия и СерияНоменклатуры в одном флак^W запросе?
|
|||
11
PVV65
16.03.12
✎
11:59
|
(8) Не попробовать, а изменить.
|
|||
12
PVV65
16.03.12
✎
11:59
|
(10) Точно - у него уже есть.
|
|||
13
Russkiy
16.03.12
✎
11:59
|
Ага, ребята, ща попробую...
|
|||
14
Russkiy
16.03.12
✎
12:03
|
Заменил... Теперь выдаётся та же ошибка, но с указанием на то, что "...Повторяющийся псевдоним "СерияНоменклатуры""
|
|||
15
Russkiy
16.03.12
✎
12:04
|
Кстати, в этом запросе нет СерияНоменклатуры...
|
|||
16
PVV65
16.03.12
✎
12:04
|
Запрос.Текст =
"ВЫБРАТЬ | НомерТЧ, | НомерСтрокиТЧ, | Серия, //это моя строка | Номенклатура, | ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | Номенклатура.Код КАК Код, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | КоличествоМест, | ЕдиницаИзмерения.Представление КАК ЕдиницаЦены, | ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест, | Цена, | Сумма, | СуммаНДС, | ПроцентСкидкиНаценки КАК Скидка, | ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка, | ХарактеристикаНоменклатуры КАК Характеристика, | СерияНоменклатуры КАК Серия /// есть |
|||
17
dva1c
16.03.12
✎
12:05
|
(15) Не совсем верно в (11). Зачем повторяться два раза?
|
|||
18
dva1c
16.03.12
✎
12:06
|
(16)+1 вот так будет вернее.
|
|||
19
Russkiy
16.03.12
✎
12:09
|
Ребята, СерияНоменклатуры - это не тот реквизит, который мне нужно здесь вывести в печатную форму. Я создал совсем другой реквизит с названием "Серия", он у меня присутствует и в карточке товара в справочнике Номенклатуры... Вот его то и нужно мне вывести... Так что пусть вас не смущает его сходство с СерияНоменклатуры
|
|||
20
Russkiy
16.03.12
✎
12:12
|
У меня подобных дополнительных реквизитов много - и "Автор", и "ГодИздания", и "Издательство"... (Я занимаюсь книготорговлей). Кстати, со временем и их, возможно, понадобится выводить в печатную форму. Поэтому эта задача очень для меня актуальна
|
|||
21
PVV65
16.03.12
✎
12:13
|
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | НомерТЧ, | НомерСтрокиТЧ, | Номенклатура.Серия КАК МояСерия, //это моя строка | Номенклатура, | ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | Номенклатура.Код КАК Код, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | КоличествоМест, | ЕдиницаИзмерения.Представление КАК ЕдиницаЦены, | ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест, | Цена, | Сумма, | СуммаНДС, | ПроцентСкидкиНаценки КАК Скидка, | ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка, | ХарактеристикаНоменклатуры КАК Характеристика, | СерияНоменклатуры КАК Серия |ИЗ | (ВЫБРАТЬ | 1 КАК НомерТЧ, | МИНИМУМ(НомерСтроки) КАК НомерСтрокиТЧ, | Номенклатура КАК Номенклатура, //| Серия КАК Серия, //это моя строка | ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | Цена КАК Цена, | СтавкаНДС КАК СтавкаНДС, | ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | СерияНоменклатуры КАК СерияНоменклатуры, | ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | СУММА(Количество) КАК Количество, | СУММА(КоличествоМест)КАК КоличествоМест, | СУММА(Сумма) КАК Сумма, | СУММА(СуммаНДС) КАК СуммаНДС | ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг | ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | СГРУППИРОВАТЬ ПО //| Серия, //это моя строка | Номенклатура, | ЕдиницаИзмерения, | ЕдиницаИзмеренияМест, | Цена, | СтавкаНДС, | ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок, | СерияНоменклатуры, | ХарактеристикаНоменклатуры | ) КАК ВложенныйЗапросПоТоварам | |ОБЪЕДИНИТЬ ВСЕ В конце у тебя стоит "ОБЪЕДИНИТЬ ВСЕ" - будут проблемы со вторым запросом. |
|||
22
Russkiy
16.03.12
✎
12:14
|
Как же тогда быть?
|
|||
23
PVV65
16.03.12
✎
12:16
|
(22)
1.Привести текст запроса полностью. 2.Изучить программирование в 1С. 3.Пригласить программиста. |
|||
24
dva1c
16.03.12
✎
12:20
|
(22) Согласен с (23). По маленькому кусочку тут не поймешь.
|
|||
25
Russkiy
16.03.12
✎
12:21
|
Ну что же, это всё верно, конечно... Но второй и третий пункты... Так что, Привести текст запроса полностью?
|
|||
26
Russkiy
16.03.12
✎
12:23
|
Вот, извольте:
Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | НомерТЧ, | НомерСтрокиТЧ, //| Серия, | Номенклатура, | ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | Номенклатура.Код КАК Код, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | КоличествоМест, | ЕдиницаИзмерения.Представление КАК ЕдиницаЦены, | ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест, | Цена, | Сумма, | СуммаНДС, | ПроцентСкидкиНаценки КАК Скидка, | ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка, | ХарактеристикаНоменклатуры КАК Характеристика, | СерияНоменклатуры КАК Серия |ИЗ | (ВЫБРАТЬ | 1 КАК НомерТЧ, | МИНИМУМ(НомерСтроки) КАК НомерСтрокиТЧ, | Номенклатура КАК Номенклатура, //| Серия КАК Серия, | ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | Цена КАК Цена, | СтавкаНДС КАК СтавкаНДС, | ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | СерияНоменклатуры КАК СерияНоменклатуры, | ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | СУММА(Количество) КАК Количество, | СУММА(КоличествоМест)КАК КоличествоМест, | СУММА(Сумма) КАК Сумма, | СУММА(СуммаНДС) КАК СуммаНДС | ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг | ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | СГРУППИРОВАТЬ ПО //| Серия, | Номенклатура, | ЕдиницаИзмерения, | ЕдиницаИзмеренияМест, | Цена, | СтавкаНДС, | ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок, | СерияНоменклатуры, | ХарактеристикаНоменклатуры | ) КАК ВложенныйЗапросПоТоварам | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | 2, | РеализацияТоваровУслуг.НомерСтроки, | РеализацияТоваровУслуг.Содержание, | РеализацияТоваровУслуг.Содержание, | Номенклатура.Код КАК Код, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | NULL, | Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаЦены, | NULL, | Цена, | Сумма, | СуммаНДС, | ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок, | NULL, | NULL | |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг | |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |УПОРЯДОЧИТЬ ПО | НомерТЧ, НомерСтрокиТЧ |"; Здесь я свои строки закомментировал - без них всё работает без проблем... |
|||
27
Russkiy
16.03.12
✎
12:25
|
В конце, правда, есть ещё одна строчка, наверное, имеющая отношение к этому запросу:
ЗапросТовары = Запрос.Выполнить().Выгрузить(); |
|||
28
PVV65
16.03.12
✎
12:26
|
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | НомерТЧ, | НомерСтрокиТЧ, | Номенклатура.Серия КАК НоваяСерия, | Номенклатура, | ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | Номенклатура.Код КАК Код, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | КоличествоМест, | ЕдиницаИзмерения.Представление КАК ЕдиницаЦены, | ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест, | Цена, | Сумма, | СуммаНДС, | ПроцентСкидкиНаценки КАК Скидка, | ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка, | ХарактеристикаНоменклатуры КАК Характеристика, | СерияНоменклатуры КАК Серия |ИЗ | (ВЫБРАТЬ | 1 КАК НомерТЧ, | МИНИМУМ(НомерСтроки) КАК НомерСтрокиТЧ, | Номенклатура КАК Номенклатура, | ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | Цена КАК Цена, | СтавкаНДС КАК СтавкаНДС, | ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | СерияНоменклатуры КАК СерияНоменклатуры, | ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | СУММА(Количество) КАК Количество, | СУММА(КоличествоМест)КАК КоличествоМест, | СУММА(Сумма) КАК Сумма, | СУММА(СуммаНДС) КАК СуммаНДС | ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг | ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | СГРУППИРОВАТЬ ПО | Номенклатура, | ЕдиницаИзмерения, | ЕдиницаИзмеренияМест, | Цена, | СтавкаНДС, | ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок, | СерияНоменклатуры, | ХарактеристикаНоменклатуры | ) КАК ВложенныйЗапросПоТоварам | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | 2, | РеализацияТоваровУслуг.НомерСтроки, | "", | РеализацияТоваровУслуг.Содержание, | РеализацияТоваровУслуг.Содержание, | Номенклатура.Код КАК Код, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | NULL, | Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаЦены, | NULL, | Цена, | Сумма, | СуммаНДС, | ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок, | NULL, | NULL | |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг | |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |УПОРЯДОЧИТЬ ПО | НомерТЧ, НомерСтрокиТЧ |"; |
|||
29
PVV65
16.03.12
✎
12:27
|
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | НомерТЧ, | НомерСтрокиТЧ, | Номенклатура.Серия КАК НоваяСерия, | Номенклатура, | ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | Номенклатура.Код КАК Код, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | КоличествоМест, | ЕдиницаИзмерения.Представление КАК ЕдиницаЦены, | ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест, | Цена, | Сумма, | СуммаНДС, | ПроцентСкидкиНаценки КАК Скидка, | ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка, | ХарактеристикаНоменклатуры КАК Характеристика, | СерияНоменклатуры КАК Серия |ИЗ | (ВЫБРАТЬ | 1 КАК НомерТЧ, | МИНИМУМ(НомерСтроки) КАК НомерСтрокиТЧ, | Номенклатура КАК Номенклатура, | ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | Цена КАК Цена, | СтавкаНДС КАК СтавкаНДС, | ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | СерияНоменклатуры КАК СерияНоменклатуры, | ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | СУММА(Количество) КАК Количество, | СУММА(КоличествоМест)КАК КоличествоМест, | СУММА(Сумма) КАК Сумма, | СУММА(СуммаНДС) КАК СуммаНДС | ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг | ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | СГРУППИРОВАТЬ ПО | Номенклатура, | ЕдиницаИзмерения, | ЕдиницаИзмеренияМест, | Цена, | СтавкаНДС, | ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок, | СерияНоменклатуры, | ХарактеристикаНоменклатуры | ) КАК ВложенныйЗапросПоТоварам | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | 2, | РеализацияТоваровУслуг.НомерСтроки, | NULL, | РеализацияТоваровУслуг.Содержание, | РеализацияТоваровУслуг.Содержание, | Номенклатура.Код КАК Код, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | NULL, | Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаЦены, | NULL, | Цена, | Сумма, | СуммаНДС, | ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок, | NULL, | NULL | |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг | |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |УПОРЯДОЧИТЬ ПО | НомерТЧ, НомерСтрокиТЧ |"; |
|||
30
Russkiy
16.03.12
✎
12:32
|
PVV65, если я правильно понимаю, ты предлагаешь только одно изменение: добавить лишь строку "| Номенклатура.Серия КАК НоваяСерия,"? Верно?
|
|||
31
PVV65
16.03.12
✎
12:33
|
Нет. Еще во втором запросе добавить третей строкой NULL.
|
|||
32
dva1c
16.03.12
✎
12:34
|
(31)+100
|
|||
33
Grobik
16.03.12
✎
12:34
|
(0) Что такое "Расходная накладная" в "Управление торговым предприятием для Украины", ред. 1.1?
"РеализацияТоваровУслуг" что ли? |
|||
34
Russkiy
16.03.12
✎
12:36
|
Да, PVV65, вижу... Ща попробую...
...Да, извините, это я ещё на волне седьмой версии... Конечно, это документ "РеализацияТоваровУслуг" |
|||
35
Grobik
16.03.12
✎
12:37
|
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | НомерТЧ, | НомерСтрокиТЧ, | Номенклатура, | ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | Номенклатура.Код КАК Код, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | КоличествоМест, | ЕдиницаИзмерения.Представление КАК ЕдиницаЦены, | ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест, | Цена, | Сумма, | СуммаНДС, | ПроцентСкидкиНаценки КАК Скидка, | ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка, | ХарактеристикаНоменклатуры КАК Характеристика, | СерияНоменклатуры КАК Серия |ИЗ | (ВЫБРАТЬ | 1 КАК НомерТЧ, | МИНИМУМ(НомерСтроки) КАК НомерСтрокиТЧ, | Номенклатура КАК Номенклатура, | ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | Цена КАК Цена, | СтавкаНДС КАК СтавкаНДС, | ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | СерияНоменклатуры КАК СерияНоменклатуры, | ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | СУММА(Количество) КАК Количество, | СУММА(КоличествоМест)КАК КоличествоМест, | СУММА(Сумма) КАК Сумма, | СУММА(СуммаНДС) КАК СуммаНДС | ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг | ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | СГРУППИРОВАТЬ ПО | Номенклатура, | ЕдиницаИзмерения, | ЕдиницаИзмеренияМест, | Цена, | СтавкаНДС, | ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок, | СерияНоменклатуры, | ХарактеристикаНоменклатуры | ) КАК ВложенныйЗапросПоТоварам | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | 2, | РеализацияТоваровУслуг.НомерСтроки, | РеализацияТоваровУслуг.Содержание, | РеализацияТоваровУслуг.Содержание, | Номенклатура.Код КАК Код, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | NULL, | Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаЦены, | NULL, | Цена, | Сумма, | СуммаНДС, | ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок, | NULL, | NULL | |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг | |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |УПОРЯДОЧИТЬ ПО | НомерТЧ, НомерСтрокиТЧ |"; |
|||
36
Russkiy
16.03.12
✎
12:38
|
Попробовал... Сейчас ошибки не выдаёт, но и нужные данные в печ. форму не выводит...
|
|||
37
PVV65
16.03.12
✎
12:39
|
(36) Ну так надо подправить макет и написать заполнение параметров.
|
|||
38
Russkiy
16.03.12
✎
12:43
|
Видимо, вместо Серия в макете прописать НоваяСерия? Так? И параметры подобным же образом подкорректировать?
|
|||
39
Grobik
16.03.12
✎
12:43
|
??? Как это?
В макет вставил? СтрокаТабличнойЧасти.СерияНоменклатуры = Выборка.СерияНоменклатуры; СтруктураПолей.Вставить("СерияНоменклатуры" , "СерияНоменклатуры"); Скачай 1.2.6.1 И посмотри чем твоя отличается. А то так можно по строкам всю конфу переписать с форума. |
|||
40
dva1c
16.03.12
✎
12:43
|
(38) Так
|
|||
41
dva1c
16.03.12
✎
12:44
|
(39) Ты (19) читал?
|
|||
42
Russkiy
16.03.12
✎
12:46
|
Ясно, ребята, ща полезу в макет...
|
|||
43
PVV65
16.03.12
✎
12:50
|
(42) Если стандартная серия не нужна, то можно обойтись только корректировкой запроса.
|
|||
44
Grobik
16.03.12
✎
12:51
|
(41) нет :)
|
|||
45
dva1c
16.03.12
✎
13:10
|
(44) Понятно ;)
|
|||
46
Russkiy
16.03.12
✎
13:14
|
PVV65, ты ещё здесь?
|
|||
47
dva1c
16.03.12
✎
13:17
|
(46) Что не так? <я не PVV65;
|
|||
48
PVV65
16.03.12
✎
13:26
|
(46) Тут.
|
|||
49
Russkiy
16.03.12
✎
13:28
|
Да я тут по совету PVV65 подкорректировал макет... Вставил в него соответствующую колонку, в качестве параметра прописал "Серия". Но в неё в печатной форме ничего не попадает - она остаётся пустой. Похоже, что параметр должен быть не "Серия", а "НоваяСерия", как в запросе, скорректированном так, как рекомендовал PVV65. Вот и хотел у него уточнить, верно ли я мыслю.
Ага, PVV65! Ну вот, такая ситуация... Верно ли я мыслю? Впрочем, ща я всё равно проверю: я уже изменил параметр на "НоваяСерия"... Ща выдам результат. |
|||
50
dva1c
16.03.12
✎
13:34
|
(49) Верно
|
|||
51
Russkiy
16.03.12
✎
13:41
|
Ребята, я сделал следующее: в Справочнике Номенклатура исправил имя реквизита Серия на НоваяСерия. В макете печатной формы прописал параметр НоваяСерия. Поскольку при отладке программа несколько раз тыкнула меня носом в несоответсвия - то поле не найдено, то ещё что-то, связанное с этим переименованием, то я всё подправил, где нужно... В результате ругаться программа перестала, но нужные данные выводить в колонку (которая в печатной форме появилась после правки макета) не хочет: колонка остаётся незаполненной... Такие мои скорбные дела...
|
|||
52
dva1c
16.03.12
✎
13:44
|
(51) Плин! Ты же видишь:
"ВЫБРАТЬ | НомерТЧ, | НомерСтрокиТЧ, | Номенклатура.Серия КАК НоваяСерия, | Номенклатура, В справочнике НичегО менять не надо! |
|||
53
фросия
16.03.12
✎
13:48
|
(51) справочник не нужно трогать, явно не только в печатной форме этот реквизит используется. посмотри сперва заполнен ли у справочника этот реквизит, потом отладчиком глянь что выбирается запросом.
|
|||
54
Russkiy
16.03.12
✎
13:48
|
dvalk, дело в том, что программа при отладке ругалась, когда я в справочнике Номенклатура оставил этот реквизит с названием Серия, а в макете печатной формы прописал НоваяСерия... Ну я и...
|
|||
55
dva1c
16.03.12
✎
13:51
|
(54) Надо в макете писать не НоваяСерия, а Номенклатура.Серия
|
|||
56
Russkiy
16.03.12
✎
13:53
|
Вот оно как? Интересная мысль... Ща попробую...
|
|||
57
dva1c
16.03.12
✎
13:53
|
*не-е. чей-то я гоню
|
|||
58
PVV65
16.03.12
✎
13:53
|
(55) Не путай человека - он и так запутался.
|
|||
59
PVV65
16.03.12
✎
13:53
|
(57) Это ближе.
|
|||
60
PVV65
16.03.12
✎
13:55
|
(57) Давай сюда весь код процедуры печати. Расскажи о структуре справочника Номенклатура (что изменил). Расскажи о макете (что изменил).
|
|||
61
PVV65
16.03.12
✎
13:58
|
Извините - ушел на пару часов. Думаю - другие помогут.
|
|||
62
Russkiy
16.03.12
✎
14:00
|
Да, конечно запутался...
Уже вернул по местам прежние имена реквизитов - и в справочнике, и в коде связанных модулей. Всё вернул по своим местам в соответствии с твоими, PVV65, рекомендациями. В макете создал колонку, в свойствах в качестве параметра прописал "НоваяСерия". А код печати - вот он: Функция ПечатьДокумента() ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ВыводитьКоды = Истина; Колонка = "Артикул"; ТекстКодАртикул = "Артикул"; ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда ВыводитьКоды = Истина; Колонка = "Код"; ТекстКодАртикул = "Код"; Иначе ВыводитьКоды = Ложь; Колонка = ""; ТекстКодАртикул = "Код"; КонецЕсли; Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | Номер, | Дата, | ДоговорКонтрагента, | ДоговорКонтрагента.ВидДоговора КАК ВидДоговораКонтрагента, | ДоговорКонтрагента.ВедениеВзаиморасчетов КАК ДоговорВедениеВзаиморасчетов, | ДоговорКонтрагента.НаименованиеДляПечати КАК ДоговорНаименованиеДляПечати, | ДоговорКонтрагента.ВыводитьИнформациюОСделкеПриПечатиДокументов КАК ПечататьСделку, | Сделка, | Контрагент КАК Покупатель, | Организация, | Организация КАК Поставщик, | Ответственный.ФизЛицо.Наименование КАК Отпустил, | ДоверенностьСерия, | ДоверенностьНомер, | ДоверенностьДата, | Получил, | АдресДоставки, | СуммаДокумента, | ВалютаДокумента, | УчитыватьНДС, | СуммаВключаетНДС |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | НомерТЧ, | НомерСтрокиТЧ, | Номенклатура.Серия КАК НоваяСерия, | Номенклатура, | ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | Номенклатура.Код КАК Код, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | КоличествоМест, | ЕдиницаИзмерения.Представление КАК ЕдиницаЦены, | ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест, | Цена, | Сумма, | СуммаНДС, | ПроцентСкидкиНаценки КАК Скидка, | ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка, | ХарактеристикаНоменклатуры КАК Характеристика, | СерияНоменклатуры КАК Серия |ИЗ | (ВЫБРАТЬ | 1 КАК НомерТЧ, | МИНИМУМ(НомерСтроки) КАК НомерСтрокиТЧ, | Номенклатура КАК Номенклатура, //| Серия КАК Серия, | ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | Цена КАК Цена, | СтавкаНДС КАК СтавкаНДС, | ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | СерияНоменклатуры КАК СерияНоменклатуры, | ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | СУММА(Количество) КАК Количество, | СУММА(КоличествоМест)КАК КоличествоМест, | СУММА(Сумма) КАК Сумма, | СУММА(СуммаНДС) КАК СуммаНДС | ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг | ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | СГРУППИРОВАТЬ ПО //| Серия, | Номенклатура, | ЕдиницаИзмерения, | ЕдиницаИзмеренияМест, | Цена, | СтавкаНДС, | ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок, | СерияНоменклатуры, | ХарактеристикаНоменклатуры | ) КАК ВложенныйЗапросПоТоварам | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | 2, | РеализацияТоваровУслуг.НомерСтроки, | NULL, | РеализацияТоваровУслуг.Содержание, | РеализацияТоваровУслуг.Содержание, | Номенклатура.Код КАК Код, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | NULL, | Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаЦены, | NULL, | Цена, | Сумма, | СуммаНДС, | ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок, | NULL, | NULL | |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг | |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |УПОРЯДОЧИТЬ ПО | НомерТЧ, НомерСтрокиТЧ |"; ЗапросТовары = Запрос.Выполнить().Выгрузить(); //ЗапросТовары.ВыбратьСтроку(); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст = " |ВЫБРАТЬ | НомерСтроки КАК НомерСтрокиТЧ, | Номенклатура, | ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | Номенклатура.Код КАК Код, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаЦены, | Цена, | Сумма |ИЗ | Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг | |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |УПОРЯДОЧИТЬ ПО | НомерСтрокиТЧ |"; ЗапросТара = Запрос.Выполнить().Выгрузить(); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Накладная"; Макет = ПолучитьМакет("Накладная"); // печать производится на языке, указанном в настройках пользователя КодЯзыкаПечать = Локализация.ПолучитьЯзыкФормированияПечатныхФорм(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "РежимФормированияПечатныхФорм")); Макет.КодЯзыкаМакета = КодЯзыкаПечать; // Выводим шапку нкладной СведенияОПоставщике = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Поставщик, Шапка.Дата,,,КодЯзыкаПечать); СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Покупатель, Шапка.Дата,,,КодЯзыкаПечать); Если ЗначениеЗаполнено(БанковскийСчетОрганизации) Тогда НомерСчета = БанковскийСчетОрганизации.НомерСчета; Банк = БанковскийСчетОрганизации.Банк; МФО = БанковскийСчетОрганизации.Банк.Код; СведенияОПоставщике.Вставить("НомерСчета", НомерСчета); СведенияОПоставщике.Вставить("Банк", Банк); СведенияОПоставщике.Вставить("МФО", МФО); КонецЕсли; ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); Если Шапка.ВидДоговораКонтрагента = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером Тогда ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, НСтр("ru='Расходная накладная (на комиссию)';uk='Видаткова накладна (на комісію)'",КодЯзыкаПечать),КодЯзыкаПечать); Иначе ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, НСтр("ru='Расходная накладная';uk='Видаткова накладна'",КодЯзыкаПечать),КодЯзыкаПечать); КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование,",,КодЯзыкаПечать); ОбластьМакета.Параметры.РеквизитыПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "НомерСчета,Банк,МФО,/,ЮридическийАдрес,Телефоны,/,КодПоЕДРПОУ,КодПоДРФО,ИНН,НомерСвидетельства,/,ПлательщикНалогаНаПрибыль,",,КодЯзыкаПечать); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Покупатель"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.ПредставлениеПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ПолноеНаименование,",,КодЯзыкаПечать); ОбластьМакета.Параметры.РеквизитыПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ФактическийАдрес,Телефоны,",,КодЯзыкаПечать); ТабДокумент.Вывести(ОбластьМакета); // Выводим дополнительно информацию о договоре и сделке СписокДополнительныхПараметров = "ДоговорНаименованиеДляПечати,"; Если Шапка.ПечататьСделку = Истина Тогда СписокДополнительныхПараметров = СписокДополнительныхПараметров + "Сделка,"; КонецЕсли; СписокДополнительныхПараметров = СписокДополнительныхПараметров + "АдресДоставки,"; МассивСтруктурСтрок = ФормированиеПечатныхФорм.ДополнительнаяИнформация(Шапка,СписокДополнительныхПараметров,КодЯзыкаПечать); ОбластьМакета = Макет.ПолучитьОбласть("ДопИнформация"); Для каждого СтруктураСтроки Из МассивСтруктурСтрок Цикл ОбластьМакета.Параметры.Заполнить(СтруктураСтроки); ТабДокумент.Вывести(ОбластьМакета); КонецЦикла; ЕстьСкидки = ЗапросТовары.Итог("Скидка") + ЗапросТовары.Итог("АвтоматическаяСкидка") <> 0; Если ВыводитьКоды Тогда ОбластьШапки = "ШапкаСКодом"; ОбластьСтроки = "СтрокаСКодом"; Иначе ОбластьШапки = "ШапкаТаблицы"; ОбластьСтроки = "Строка"; Конецесли; Если Товары.Итог("КоличествоМест") > 0 Тогда ОбластьШапки = ОбластьШапки + "Мест"; ОбластьСтроки = ОбластьСтроки + "Мест"; Конецесли; Если ЕстьСкидки Тогда ОбластьШапки = ОбластьШапки + "Скидка"; ОбластьСтроки = ОбластьСтроки + "Скидка"; КонецЕсли; // Вывести табличную часть (товары и услуги) ОбластьМакета = Макет.ПолучитьОбласть(ОбластьШапки); Если ВыводитьКоды Тогда ОбластьМакета.Параметры.Колонка = Колонка; КонецЕсли; Суффикс = ""; Если Шапка.УчитыватьНДС Тогда Если Шапка.СуммаВключаетНДС Тогда Суффикс = Суффикс + НСтр("ru=' с ';uk=' з '",КодЯзыкаПечать); Иначе Суффикс = Суффикс + НСтр("ru=' без ';uk=' без '",КодЯзыкаПечать); КонецЕсли; Суффикс = Суффикс + НСтр("ru='НДС';uk='ПДВ'",КодЯзыкаПечать); КонецЕсли; ОбластьМакета.Параметры.Цена = НСтр("ru='Цена';uk='Ціна'",КодЯзыкаПечать) + Суффикс; ОбластьМакета.Параметры.Сумма = НСтр("ru='Сумма';uk='Сума'",КодЯзыкаПечать)+ Суффикс; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть(ОбластьСтроки); Сумма = 0; СуммаНДС = 0; ВсегоСкидок = 0; ВсегоБезСкидок = 0; Для каждого ВыборкаСтрокТовары из ЗапросТовары Цикл Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное); Продолжить; КонецЕсли; ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары); ОбластьМакета.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1; ОбластьМакета.Параметры.Товар = СокрЛП(ВыборкаСтрокТовары.Товар) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары); //попытка //штрихкодПеч=ПолучитьШтрихКод(ВыборкаСтрокТовары.Товар); // //СтрокаШтрихкода = УправлениеРозничнойТорговлей.ПолучитьШтрихКод(ВыборкаСтрокТовары.Номенклатура,ВыборкаСтрокТовары.Номенклатура.ЕдиницаДляОтчетов, // , // ,Справочники.Качество.Новый.Ссылка); //Если НЕ СтрокаШтрихкода = Неопределено Тогда // ОбластьМакета.Параметры.штрихкод=СтрокаШтрихкода.Штрихкод; //Иначе // ОбластьМакета.Параметры.штрихкод=""; //КонецЕсли; попытка ЗапросШК = Новый Запрос(" |ВЫБРАТЬ ПЕРВЫЕ 1 | РегШтрихкоды.ТипШтрихкода, | РегШтрихкоды.Штрихкод |ИЗ | РегистрСведений.Штрихкоды КАК РегШтрихкоды |ГДЕ | РегШтрихкоды.Владелец = &Владелец // | И РегШтрихкоды.ЕдиницаИзмерения = &ЕдиницаИзмерения // | И РегШтрихкоды.ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры // | И РегШтрихкоды.СерияНоменклатуры = &СерияНоменклатуры // | И РегШтрихкоды.Качество = &Качество |"); ЗапросШК.УстановитьПараметр("Владелец" , ВыборкаСтрокТовары.Номенклатура); Выборка = ЗапросШК.Выполнить().Выгрузить(); Если Выборка.Количество() > 0 Тогда ПолученныйШтрихкод = Выборка[0].ШтрихКод; Иначе ПолученныйШтрихкод = Неопределено; КонецЕсли; ОбластьМакета.Параметры.штрихкод=ПолученныйШтрихкод; исключение конецпопытки; Если ВыводитьКоды Тогда ОбластьМакета.Параметры.КодАртикул = ВыборкаСтрокТовары.КодАртикул; КонецЕсли; // Скидка может быть NULL ПроцентСкидки = ?(НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Скидка),0,ВыборкаСтрокТовары.Скидка) + ?(НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.АвтоматическаяСкидка),0,ВыборкаСтрокТовары.АвтоматическаяСкидка); Скидка = ВыборкаСтрокТовары.Сумма / (100 - ПроцентСкидки)* ПроцентСкидки; Если ЕстьСкидки Тогда ОбластьМакета.Параметры.Скидка = Скидка; ОбластьМакета.Параметры.СуммаБезСкидки = ВыборкаСтрокТовары.Сумма + Скидка; КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); Сумма = Сумма + ВыборкаСтрокТовары.Сумма; СуммаНДС = СуммаНДС + ВыборкаСтрокТовары.СуммаНДС; ВсегоСкидок = ВсегоСкидок + Скидка; ВсегоБезСкидок = Сумма + ВсегоСкидок; КонецЦикла; ОбластьИтого = "Итого"; Если ЕстьСкидки Тогда ОбластьИтого = ОбластьИтого + "Скидка"; КонецЕсли; // Вывести Итого ОбластьМакета = Макет.ПолучитьОбласть(ОбластьИтого); ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма); Если ЕстьСкидки Тогда ОбластьМакета.Параметры.ВсегоБезСкидок = ОбщегоНазначения.ФорматСумм(ВсегоБезСкидок); ОбластьМакета.Параметры.ВсегоСкидок = ОбщегоНазначения.ФорматСумм(ВсегоСкидок); КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); // Вывести ИтогоНДС Если Шапка.УчитыватьНДС Тогда // НДС ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС"); ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС); ОбластьМакета.Параметры.НДС = ?(Шапка.СуммаВключаетНДС, НСтр("ru='В том числе НДС:';uk='У тому числі ПДВ:'",КодЯзыкаПечать), НСтр("ru='Сумма НДС:';uk='Сума ПДВ:'",КодЯзыкаПечать)); ТабДокумент.Вывести(ОбластьМакета); // всего с НДС (если сумма не включает НДС) Если НЕ Шапка.СуммаВключаетНДС Тогда ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС"); ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(Сумма + СуммаНДС); ОбластьМакета.Параметры.НДС = НСтр("ru='Всего с НДС:';uk='Усього з ПДВ:'",КодЯзыкаПечать); ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; КонецЕсли; // Вывести таблицу с возвратной тарой ОбластьШапки = СтрЗаменить(ОбластьШапки,"Мест",""); ОбластьСтроки = СтрЗаменить(ОбластьСтроки,"Мест",""); ОбластьШапки = СтрЗаменить(ОбластьШапки,"Скидка","")+"Тара"; ОбластьСтроки = СтрЗаменить(ОбластьСтроки,"Скидка","")+"Тара"; Если ЗапросТара.Количество() > 0 Тогда // сделаем отступ от основной таблицы ОбластьПробел = Макет.ПолучитьОбласть("Пробел"); ТабДокумент.Вывести(ОбластьПробел); ОбластьМакета = Макет.ПолучитьОбласть(ОбластьШапки); Если ВыводитьКоды Тогда ОбластьМакета.Параметры.Колонка = Колонка; КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть(ОбластьСтроки); СуммаТара = 0; Для каждого ВыборкаСтрокТара Из ЗапросТара Цикл ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТара); ОбластьМакета.Параметры.НомерСтроки = ЗапросТара.Индекс(ВыборкаСтрокТара) + 1; ОбластьМакета.Параметры.Товар = СокрЛП(ВыборкаСтрокТара.Номенклатура); Если ВыводитьКоды Тогда ОбластьМакета.Параметры.КодАртикул = ВыборкаСтрокТара.КодАртикул; КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); СуммаТара = СуммаТара + ВыборкаСтрокТара.Сумма; КонецЦикла; // Вывести Итого ОбластьИтого = "ИтогоТара"; ОбластьМакета = Макет.ПолучитьОбласть(ОбластьИтого); ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(СуммаТара); ТабДокумент.Вывести(ОбластьМакета); // сделаем отступ ТабДокумент.Вывести(ОбластьПробел); КонецЕсли; // Вывести Сумму прописью ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью"); СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС); ОбластьМакета.Параметры.ИтоговаяСтрока = НСтр("ru='Всего наименований ';uk='Всього найменувань '",КодЯзыкаПечать) + ЗапросТовары.Количество() + "," + НСтр("ru=' на сумму ';uk=' на суму '",КодЯзыкаПечать) + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента) + ?(ЗапросТара.Количество() = 0, "", НСтр("ru='; возвратная тара ';uk='; зворотна тара '",КодЯзыкаПечать) + ЗапросТара.Количество() + НСтр("ru=', на сумму ';uk=', на суму '",КодЯзыкаПечать) + ОбщегоНазначения.ФорматСумм(СуммаТара, Шапка.ВалютаДокумента)) + "."; ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента,КодЯзыкаПечать) + ?(НЕ Шапка.УчитыватьНДС, "", Символы.ПС + НСтр("ru='В т.ч. НДС: ';uk='У т.ч. ПДВ: '",КодЯзыкаПечать) + ОбщегоНазначения.СформироватьСуммуПрописью(СуммаНДС, Шапка.ВалютаДокумента, КодЯзыкаПечать)); ТабДокумент.Вывести(ОбластьМакета); // Вывести подписи ОбластьМакета = Макет.ПолучитьОбласть("Подписи"); ОбластьМакета.Параметры.Заполнить(Шапка); ТабДокумент.Вывести(ОбластьМакета); Возврат ТабДокумент; КонецФункции // ПечатьДокумента() |
|||
63
фросия
16.03.12
✎
14:05
|
перед "// попытка"
напиши: ОбластьМакета.Параметры.Серия =ВыборкаСтрокТовары.Номенклатура.Серия; ну и в макете добавь параметр "Серия" в ту же область где у тебя выводится Товар построчно |
|||
64
dva1c
16.03.12
✎
14:07
|
(63)+1
(62) Немного опоздал ) |
|||
65
dva1c
16.03.12
✎
14:08
|
+(64) В ячейке макета, куда планируешь выводить серию - должен стоять параметр "Серия". Типа так: <Серия>
|
|||
66
Russkiy
16.03.12
✎
14:08
|
Ух ты, ребята, я чой-то сделал, возвращая всё по местам - и у меня заработало!.. Вот здорово! Неожиданный подарок провидения...
Фросия, спасибо за совет - обязательно учту! Сейчас постараюсь всё осмыслить и осознать... Спасибо вам большое, ребята - очень вы мне помогли. Дай вам Бог всем здоровья и большого счастья в личной жизни!.. :) Хотел бы быть каждому из вас чем-то полезным, а как? |
|||
67
Russkiy
16.03.12
✎
14:10
|
Да-да, dvalk, я так и сделал... Теперь-то уж всё вроде бы в порядке. Спасибо большое вам, ребята, ещё и ещё раз!..
|
|||
68
Wobland
16.03.12
✎
14:10
|
(66) >Хотел бы быть каждому из вас чем-то полезным, а как?
старый традиционный (для меня) ответ на это: со староанглийского не переведёшь? |
|||
69
Russkiy
16.03.12
✎
14:12
|
Ух ты, здорово!.. Может, и переведу, только этого никто, кроме меня, не поймёт... :)
|
|||
70
Russkiy
16.03.12
✎
14:13
|
Привет всем, ребята! Бог наградит вас за вашу доброту!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |