Имя: Пароль:
1C
1С v8
Как вывести в печатную форму РН один из реквизитов
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
Привет всем, ребята! Бог наградит вас за вашу доброту!