Фискальный чек из 1С:Управление торговлей 10.3

Программирование - Практика программирования

реализация УТ 10 полный расчет кредит

1
Способ в фискальном чеке из документа "Реализация товаров и услуг" УТ 10.3. печатать "полный расчет" и "наличные".

Обратился ко мне давний клиент по следующему поводу. Перепрошили ему ККТ с передачей данных АТОЛ 30Ф под требования нового закона и как следствие в чеке все стало "неправильно". Релиз конфигурации его Управления Торговлей 10.3 был 42.1. Много доработок. Я взялся. Обновил до 48.1. Доработки учел, с маленькими погрешностями перенес. Дальше уже на месте новая обработка не видела кассу, хотя драйвер я установил, предварительно скачав его с сайта АТОЛа. Оказалось проблема была в разрядности. Т.е. при установке драйвера нужно смотреть не на версию операционной системы, а на версию платформы 1С. Если система скажем 64, а 1С 32, то ставим драйвер под 32!

Касса заработала, версия актуальная, но клиент недоволен! И вот почему. Торгует он своеобразно. Не использует документ "ЧекККМ", а продает все "Реализацией товаров и услуг", причем "Приходный кассовый ордер" делает один за сутки. Покупатель у него соответственно "Розничный покупатель". В его случае в фискальном чеке в секциях про оплату написано ("Последующая оплата (кредит)") и в налоговую уходит информация, что получено наличными 0. Может оно по логике 1С и правильно, Реализация это не документ оплаты, и денег как бы еще никто не платил. Но его это категорически не устраивает. Он требует, что бы в чеке было написано "ПОЛНЫЙ РАСЧЕТ" и наличными вся сумма. Самым быстрым способом решить эту проблему стало следующее:

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

Если ДокументыРасчетов.Количество=0 Тогда

ОбщиеПараметры.Вставить("ПризнакСпособаРасчета", Перечисления.ПризнакиСпособаРасчета.ПередачаСПолнойОплатой);

СтрокаОплаты = Новый Структура();

СтрокаОплаты.Вставить("ТипОплаты", Перечисления.ТипыОплатыККТ.Наличные);

СтрокаОплаты.Вставить("Наименование", НСтр("ru = 'ПОЛНЫЙ РАСЧЕТ'"));

СтрокаОплаты.Вставить("Сумма", Ссылка.СуммаДокумента);

ОбщиеПараметры.ТаблицаОплат.Добавить(СтрокаОплаты);
Иначе


...

Дальше можно ничего не менять. Все начинает работать, как нужно клиенту.

Надеюсь сэкономил кому то время!

1

См. также

Комментарии
Избранное Подписка Сортировка: Древо
1. karpik666 2127 20.10.18 20:10 Сейчас в теме
Считаю статью не полезной и даже вредной, вы не стали разбираться, а сделали просто заглушку, причем оплата получается всегда налом, не учитывая, что она может проходить и по безналу, также корректней тогда доработку было сделать в обработке для работы с торговым оборудованием, а не в конфигурации клиента.
При этом это вообще никакая не статья, а какие-то заметки из головы, вы когда пишите пару строк кода всегда пытаетесь со всеми этим поделиться?
2. rch 25 29.10.18 13:12 Сейчас в теме
Оставьте свое сообщение