News:

От тяжелой работы еще никто не умирал, это верно, но зачем рисковать? Рональд Рейган

Main Menu

Редактирование чека

Started by Voev, 28 September 2016, 11:28

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

Voev

Есть специфическая конфигурация(Helix Автомойка) , из которой идет печать на чековый принтер. Попросили сделать вывод дополнительных полей из документа в чек. Сам я в 1С постольку-поскольку, но из всех бравшихся "профессионалов" включая разработчиков системы в решении проблем заказчиков продвинулся дальше всех. Затык возник именно на чеках - как я понял, формирование идет стандартным для платформы образом, но толком даже предварительный просмотр чека для себя настроить не смог. Если кто ковырялся может с наскоку сообщит в какую сторону ковырять?

Уваров А.С.

Вывод на чековый принтер как-раз таки идет нестандартным способом. Т.е. это не привычная печатная форма табличной верстки, а набор строк со строгими ограничениями на количество символов.

Формируется примерно так:


СтрокаЧека = Новый Структура("Наименование, Количество, Цена, Скидка, НомерСекции, СтавкаНДС");
СтрокаЧека.Наименование = ?(СтруктрураШаблона = Неопределено,Позиция.Наименование,"");
СтрокаЧека.Количество   = Позиция.Количество;
СтрокаЧека.Цена         = Позиция.Цена;
СтрокаЧека.Скидка       = Позиция.Скидка;
СтрокаЧека.НомерСекции  = Позиция.НомерСекции;
СтрокаЧека.СтавкаНДС    = Позиция.СтавкаНДС;
Результат = ПолучитьСерверТО().ПечатьСтрокиЧека(Идентификатор, СтрокаЧека);

После чего набор строк скармливается обработке обслуживания ТО, которая уже печатает это на конкретной модели принтера.

Voev

Quote from: Уваров А.С. on 28 September 2016, 11:42Вывод на чековый принтер как-раз таки идет нестандартным способом.
Это я уже понял. Сейчас в главная моя проблема - как проверить, что там посылается на принтер не имея этого принтера. Код где идет формирование чека я нашел и внес изменения. Хотелось бы сначала на своей базе отладиться и проверить, что всё работает, прежде чем у заказчиков вносить изменения. Т.о. нужен или предварительный просмотр чека (что как я понял нереализуемо) или возможность просмотра формируемой команды  на принтер (т.е. чековой текстовки).

Уваров А.С.

Без оборудования никак, это весьма и весьма специфичное железо. Просмотреть что уходит на принтер можно в отладчике, поставить останов где-то здесь:

Результат = ПолучитьСерверТО().ПечатьСтрокиЧека(Идентификатор, СтрокаЧека);
А дальше по обстоятельствам.

Voev

Ок. Понял. Спасибо за консультацию