Это все фигня
во как надо:
Перем ПечФирма;
//******************************************************************************
// ДобавитьЦенник(Таб, Фирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд)
//
// Параметры:
// Таб - таблица, в которую выполняется вывод ценника
// ПечНаименование - наименование ТМЦ
// ПечЕдиница - единица измерения ТМЦ
// ПечРозн - цена ТМЦ
// Столбик - номер столбика.
// Ряд - номер ряда
//
// Возвращаемое значение:
// Нет.
//
// Описание:
// Добавляет ценник в таблицу.
//
Процедура ДобавитьЦенник(Таб, Фирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд) Экспорт
Столбик = ?(Столбик <= 3, Столбик , 0 );
Ряд = ?(Столбик = 0, Ряд + 1, Ряд);
Если Ряд > 4 Тогда
Таб.НоваяСтраница();
Ряд = 1;
КонецЕсли;
Если Столбик = 0 Тогда
Таб.ВывестиСекцию("Товар|Ценник");
Иначе
Таб.ПрисоединитьСекцию("Товар|Ценник");
КонецЕсли;
Столбик = Столбик + 1;
КонецПроцедуры // ДобавитьЦенник()
//******************************************************************************
// Печать(Докум, Устройство=0, КолвоКопий=1)
//
// Параметры:
// Докум - контекст выводимого документа (ПереоценкаРозница, ПоступлениеТМЦРозница),
// Устройство - если 0, то вывод на экран, иначе - на принтер,
// необязателен, по умолчанию - на экран,
// КолвоКопий - количество копий, по умолчанию - 1.
//
// Возвращаемое значение:
// Нет
//
// Описание:
// Формирует таблицу с ценниками.
//
Процедура Печать(Докум, Устройство=0, КолвоКопий=1)
ДокумВид = Докум.Вид();
Если ДокумВид = "ПереоценкаРозница" Тогда
ИдРознЦена = "ЦенаНовая";
ИначеЕсли ДокумВид = "ПоступлениеТМЦРозница" Тогда
ИдРознЦена = "РозничнаяЦена";
ИначеЕсли ДокумВид = "ПеремещениеТМЦ" Тогда
Если Докум.СкладПолучатель.РозничныйСклад = 1 Тогда
ИдРознЦена = "Цена";
Иначе
Предупреждение("Нельзя печатать ценники при перемещении
|ТМЦ на оптовый склад!", 60);
Возврат;
КонецЕсли;
Иначе
Возврат;
КонецЕсли;
// Создание Таблицы для выходного отчета
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица");
ПечФирма = СокрЛП(Докум.Фирма.ЮрЛицо.ПолнНаименование);
Столбик = 4;
Ряд = 0;
Докум.ВыбратьСтроки();
Пока Докум.ПолучитьСтроку() = 1 Цикл
Если ДокумВид = "ПереоценкаРозница" Тогда // пропускаем ТМЦ, где цена не менялась
Если Докум.ЦенаСтарая = Докум.ЦенаНовая Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
ВремЦена = Докум.ПолучитьАтрибут(ИдРознЦена);
ПечРозн = глФРМ(ВремЦена, глРубли); // печатаем по розничным ценам - поэтому глРубли
ПечНаименованиеТМЦ = СокрЛП(Докум.Номенклатура.ПолнНаименование) + ?(Константа.ПоказыватьАртикул = 1, " " + СокрЛП(Докум.Номенклатура.Артикул), "");
ДобавитьЦенник(Таб, Докум.Фирма, ПечНаименованиеТМЦ, Докум.Единица, ПечРозн, Столбик, Ряд);
глОживить(1);
КонецЦикла;
Если Устройство = 0 Тогда
Таб.Опции(0,0,0,0,"ПечатьЦенников","ПечатьЦенников");
Таб.ТолькоПросмотр(1);
Таб.Показать("Товарные ценники","");
Иначе
Таб.ПараметрыСтраницы(,,,,,,,,,1,,);
Таб.КоличествоЭкземпляров(КолвоКопий);
Таб.Напечатать(0);
КонецЕсли;
КонецПроцедуры // Печать()
//******************************************************************************
// ПоКнопкеПечать()
//
// Параметры:
// Нет
//
// Возвращаемое значение:
// Нет
//
// Вызывается из формул элементов диалога:
// Кнопка "Печать"
//
// Описание:
//
Процедура ПоКнопкеПечать()
Если Док.Выбран() = 0 Тогда
Предупреждение("Не выбран документ!", 60);
Возврат;
КонецЕсли;
Печать(Док);
КонецПроцедуры // ПоКнопкеПечать()
//******************************************************************************
// Предопределенная процедура
//
Процедура ПриОткрытии()
Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
Докум = Форма.Параметр.Получить("Контекст");
Устройство = Форма.Параметр.Получить("Устройство");
КолвоКопий = Форма.Параметр.Получить("КоличествоКопий");
Печать(Докум, Устройство, КолвоКопий);
Статусвозврата(0);
Возврат;
КонецЕсли;
КонецПроцедуры // ПриОткрытии()