• Paranoid - курс по анонимности и безопасности в сети от команды codeby. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного. Подробнее ...

печать кода товара в ценнике

  • Автор темы Veliran
  • Дата начала
V

Veliran

#1
не могу ни как добавить в ценник код товара

может поможет кто
выкладываю модуль обработки ПечатьЦенников

//******************************************************************************
// ДобавитьЦенник(Таб, ПечФирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд)
//
// Параметры:
// Таб - таблица, в которую выполняется вывод ценника
// ПечНаименование - наименование товара
// ПечЕдиница - единица измерения товара
// ПечРозн - цена товара
// Столбик - номер столбика.
// Ряд - номер ряда
//
// Возвращаемое значение:
// Нет.
//
// Описание:
// Добавляет ценник в таблицу.
//
Процедура ДобавитьЦенник(Таб, ПечФирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд)

Столбик = ?(Столбик = 0, 1 , 0 );
Ряд = ?(Столбик = 0, Ряд + 1, Ряд);

Если Ряд > 3 Тогда
Таб.НоваяСтраница();
Ряд = 1;
КонецЕсли;

Если Столбик = 0 Тогда
Таб.ВывестиСекцию("Товар|Ценник");
Иначе
Таб.ПрисоединитьСекцию("Товар|Ценник");
КонецЕсли;

КонецПроцедуры // ДобавитьЦенник()

//******************************************************************************
// Сформировать(ТаблицаТоваров, ПечФирма)
//
// Параметры:
// ТаблицаТоваров - таблица значений, содержащая информацию о цене товара
// ПечФирма - наименование фирмы, которое будет выводиться вверху ценника
//
// Возвращаемое значение:
// Нет.
//
// Описание:
// Формирует таблицу с ценниками.
//
Процедура Сформировать(ТаблицаТоваров,ПечФирма)

// Создание Таблицы для выходного отчета
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица");

Столбик = 1;
Ряд = 0;

ТаблицаТоваров.ВыбратьСтроки();
Пока ТаблицаТоваров.ПолучитьСтроку() = 1 Цикл
ПечРозн = глФРМ(ТаблицаТоваров.Цена, ТаблицаТоваров.Валюта);
ПечНаименование = ТаблицаТоваров.Товар;
ДобавитьЦенник(Таб, ПечФирма, ТаблицаТоваров.Товар, ТаблицаТоваров.Единица, ПечРозн, Столбик, Ряд);
глОживить(1);
КонецЦикла;

//Вызов выходного отчета в окно просмотра и редактирования.
Таб.Опции(0,0,0,0,"ПечатьЦенников","ПечатьЦенников");
Таб.ТолькоПросмотр(1);
Таб.Показать("Товарные ценники","");

КонецПроцедуры

//******************************************************************************
// Предопределенная процедура
//
Процедура ПриОткрытии()

СтатусВозврата(0);
ДанныеДляПечати = Форма.Параметр;

Если ТипЗначенияСтр(ДанныеДляПечати) <> "СписокЗначений" Тогда
Возврат;
КонецЕсли;

ПечФирма = ДанныеДляПечати.Получить("Фирма");
ТаблицаТоваров = ДанныеДляПечати.Получить("Таблица");

Сформировать(ТаблицаТоваров, ПечФирма);

КонецПроцедуры // ПриОткрытии()
 
I

Isabela

#2
Добавь в процедуру параметр, например, ПечКод
Процедура ДобавитьЦенник(Таб, ПечФирма, ПечНаименование, ПечЕдиница, ПечРозн, ПечКод, Столбик, Ряд)
а перед ее вызовом заполни
ПечКод = ТаблицаТоваров.Товар.Код;
 
V

Veliran

#3
не получаеться
ругаеться что-то

ПечКод = ТаблицаТоваров.Товар.Код;
{Обработка.ПечатьЦенников.Форма.Модуль(62)}: Значение не представляет агрегатный объект (Код)
 
I

Isabela

#4
По всем признакам, речь идет о торговле 9.2.
Если ПечатьЦенников вызывается из формы списка справочника номенклатуры, то именно там надо добавить код в таблицу товаров.
Смотри там процедуру ПечатьЦенника(), в ней есть формирование колонок таблицы, а также процедуру ДобавитьВтаблицу(), где и надо сформировать код товара (Товар.Код) - там товар является не элементом справочника, а НАИМЕНОВАНИЕМ, так что кода у него действительно нет