Шаблон чека для УТ 11
1C-admin
20.05.2019
Доработка для отражения в чеке ККМ подробной информации о скидках/наценках для УТ11.4
Столкнулся со следующей ситуацией: при использовании УТ11 для розничных продаж потребовалось отразить информацию о скидках по акциям покупателю в чеке, но штатный функционал к сожалению весьма беден и ограничен, а шаблоны (как в РТ2) отсуствуют. Поиск ничего подходящего не дал (были варианты решения через нефискальный документ), пришлось мастерить костыль:
Пример расшифровки скидок
К фискальным строкам добавляются нефискальные строки с детализацией по примененным акциям + общий итог. В расшифровке используются названия акции, как задано в справочнике скидок и сумма скидки.
В модуле МенеджерОборудованияВызовСервераПереопределяемый подменить или добавить в Функцию "ПолучитьСтруктуруШаблонаЧека"
ОбщиеПараметры = ПараметрыШаблонаЧека[0];
строкМассива = ОбщиеПараметры.ПозицииЧека.Количество()-1;
ИндексМассива=0; КлючТовара=0;
Пока ИндексМассива<=строкМассива Цикл
ТекущаяПозиция = ОбщиеПараметры.ПозицииЧека[ИндексМассива];
Если ТекущаяПозиция.Свойство("ФискальнаяСтрока") Тогда
Если не ТекущаяПозиция.Цена=ТекущаяПозиция.ЦенаСоСкидками Тогда
cтрукОтбора = Новый Структура("КлючСвязи",КлючТовара+1);
тчСкидки = ОбщиеПараметры.ДокументОснование.СкидкиНаценки.Выгрузить(cтрукОтбора, "СкидкаНаценка,Сумма");
Для Каждого стрСК из тчСкидки Цикл
струкСкидки = Новый Структура("ТекстоваяСтрока,Текст");
струкСкидки.Текст = СтрШаблон("По акции <<%1>> скидка: %2",СокрЛП(стрСК.СкидкаНаценка),Формат(стрСК.Сумма,"ЧЦ=15;ЧДЦ=2;ЧРД=."));
ИндексМассива = ИндексМассива+1; строкМассива = строкМассива+1;
ОбщиеПараметры.ПозицииЧека.Вставить(ИндексМассива,струкСкидки);
КонецЦикла;
КонецЕсли;
КонецЕсли;
ИндексМассива=ИндексМассива+1; КлючТовара=КлючТовара+1;
КонецЦикла;
Возврат Неопределено;
и сделать вызов функции (можно из модуля МенеджерОборудованияКлиентПереопределяемый)
Для удобства реализовано в виде расширения. Проверял на УТ 11.4.ххх, платформа не ниже 8.3.10. Код открыт. Найдете ошибку — сообщите.
upd.20.05.19 — исправлена ошибка (комент#2)
Здравствуйте! Подскажите пожалуйста, как использовать вашу разработку?
После установки расширения скидки должны появиться в чеки автоматически или нужно что-то еще делать?
При ручных скидках в чеке данная доработка будет их отображать?
(1) Начал разбираться с доработкой.
Не перехватывает расширение обозначенные процедуры.
Чтобы заработало — комментируем или удаляем //&НаСервере
В МенеджерОборудованияКлиентПереопределяемый.
Должно получиться так
Показать
Автор молчит по моему вопросу ручной скидки. Если получиться — сделаю публикацию еще с ней 🙂
(1) как работает: при включении расширения — при наличии скидки в чеке будет расшифровка.
для ручной скидки расшифровки нет, только в общем итоге.
(2) спасибо за замечание! когда переносил из боевого расширения — ошибся… исправлю.
по поводу своей публикации — конечно можно.
вот хорошая статья про внешний вид чеков:public/680200/
(4) хорошее решение, УТ 11 — 1 ККТ Штрих + несколько РМК, без проблем по просьбе заказчика сделал вывод в чеке номер/наименования кассы