Имя: Пароль:
1C
1С v8
УТ 11.1 свои данные в шаблоне ценников
0 fantomrik
 
14.12.15
19:26
Коллеги, привет!

Собственно делаю следующее, если начинает действовать автоматическая скидка на товары, у продавца автоматически появляется оповещение при запуске 1С и он должен распечатать ценники с видом старая (зачеркнутая цена) и новая цена.

В обработку печати ценников добавил колонки с процентом скидки, суммой скидки и итоговой ценой. Сделал заполнение по кнопке "акционных товаров". Уперся в сабж.

Поля доступные для применения в ценнике читаются на сколько я понял из макета СКД Обработки.ПечатьЭтикетокИЦенников.ПолучитьМакет("ПоляШаблонаТовары"). Посмотрел запрос - не совсем понимаю как он отбирает номенклатуру для печати (явного отбора нет) и как мне вставить мои поля, которые хранятся в обработке печати ценников в табличной части...

Может кто то сталкивался с подобной задачей?
1 fantomrik
 
14.12.15
19:43
Вобще вопрос думаю правильный, но запарный) пока пробую другим путем - смотрю процедуру печати, может в ней где подсуну свои параметры и заменю в шаблоне...
2 Garykom
 
гуру
14.12.15
21:05
сделай уже свою (внешнюю можно) печать ценников...
3 fantomrik
 
14.12.15
22:48
Собственно решил так, возможно кому то пригодиться. Обработка ПечатьЭтикетокИЦенников у меня уже была скопирована в дереве конфигурации и доделана под фирму.

1) В модуле основной формы обработки в процедуре Печать(Команда) первым параметром в процедуре УправлениеПечатьюКлиент.ВыполнитьКомандуПечати( вставляем имя нашей допиленной обработки, так как все равно покидает нас по общим модулям и вернет в печать модуля менеджера данной обработки. А зачем править ММ в типовой обработке, если у нас уже и так есть допиленая :)

2) В модуле основной формы обработки в функции ПолучитьПараметры () в ТЗ Товары добавим описание наших доп колонок. Все это "богатство" уйде в ХранилещеЗначений и позже при печати извлечем) Если у вас доп реквизиты для печати не в товарах, пихаем в ПараметрыПечати в этой же функции.

3) в модуле менеджера обработки в процедуре СформироватьПечатныеФормыЭтикетокИЦенниковТоваров идем в цикл заполнения параметров макета печати и отлавливая нужный нам заполняем из исходных данных (они получатся из хранилища). Соответственно параметры в макете у меня называются аналогично.

    Для каждого ПараметрШаблона Из СтруктураШаблона.ПараметрыШаблона Цикл
                    Если ОбщегоНазначенияУТКлиентСервер.ЕстьРеквизитОбъекта(Область.Параметры, ПараметрШаблона.Значение) Тогда
                        НаименованиеКолонки = СтруктураРезультата.СоответствиеПолейСКДКолонкамТаблицы.Получить(Справочники.ШаблоныЭтикетокИЦенников.ИмяПоляВШаблоне(ПараметрШаблона.Ключ));
                        Если НаименованиеКолонки <> Неопределено Тогда
                            Область.Параметры[ПараметрШаблона.Значение] = СтрокаТовары[НаименованиеКолонки];
                        //++ 2015-12-14 //вставим свои значения в печать      
                        Иначе
                            Попытка
                                Если ПараметрШаблона.Ключ = "_ИтоговаяЦена" Тогда
                                    Область.Параметры[ПараметрШаблона.Значение] = СтруктураНастроек.ИсходныеДанные.Найти(СтрокаТовары.Номенклатура, "Номенклатура")._ИтоговаяЦена;
                                ИначеЕсли ПараметрШаблона.Ключ = "_ПроцентАвтоматическойСкидки"  Тогда
                                    Область.Параметры[ПараметрШаблона.Значение] = СтруктураНастроек.ИсходныеДанные.Найти(СтрокаТовары.Номенклатура, "Номенклатура")._ПроцентАвтоматическойСкидки;
                                ИначеЕсли ПараметрШаблона.Ключ = "_СуммаАвтоматическойСкидки"  Тогда
                                    Область.Параметры[ПараметрШаблона.Значение] = СтруктураНастроек.ИсходныеДанные.Найти(СтрокаТовары.Номенклатура, "Номенклатура")._СуммаАвтоматическойСкидки;
                                КонецЕсли;
                            Исключение    
                            КонецПопытки
                        //--2015-12-14  
                        КонецЕсли;
                    КонецЕсли;
                КонецЦикла;
4 fantomrik
 
14.12.15
22:48
Не самое красивое решение, но рабочее.