Решение:
В процедуре ДобавитьКомандыПечаты модуля менеджера документа УстановкаЦенНоменклатуры, добавляем строки:
Затем Общие модули УправлениеПечатьюУТВызовСервера, в процедуру ПолучитьДанныеДляПечатиЦенниковИЭтикеток добавляем пару строк:
Теперь возвращаемся в модуль менеджера установки цен, находим и добавляем параметр функции ПолучитьДанныеДляПечатиЦенников:
А ниже обрабатываем ситуацию, в конце функции, вместо строки
СтруктураРезультат.Вставить("Товары", МассивРезультатов[0].Выгрузить());
Вставляем блок:
Всё. Сохраняем, проверяем, пользуемся.
Решение не самое рациональное с точки зрения производительности, использовать функции СрезПоследних в цикле не желательно, но всё работает.
Ограничения данного решения: работает только для одного документа и только с одним видом цен, если что, дорабатываем сами.
Юрий, спасибо, что делитесь опытом. Отдельное спасибо за внятное оформление, за скриншоты.
Есть другой вариант: в документе Установка цен номенклатуры жмем «Изменить строки» — «Удалить строки без изменения». В итоге в документе остаются только те товары, для которых цена изменилась. Далее Печать — Ценники….
Только в самой реализации 2 запроса в цикле… Уж получение цен можно было и одним запросом сделать)
(2) cjeymik, о, точно!
Тот случай, когда легче было написать кнопку, чем разбираться с типовой)))
Очередной велосипед.
в (2) по моему самое разумное решение.
(5) alyaev.a.v, Уточнил у клиента, он говорит я знал про эту кнопку, когда заказ делал, но мы, во-первых печатаем полный список установки цен (как накладную) на проверку и подпись, а во-вторых, иногда, нужно перепечатать старый ценник и это легче сделать из установки, чем искать в подборе. Поэтому, всё норм.