После обновления конфигурации 1С:Управление торговлей до версии 11.4.10.75 и выше многие пользователи столкнулись с неожиданным поведением системы при оформлении розничных продаж. При попытке пробить чек из документа Приходный кассовый ордер (ПКО), созданного на основании Заказа клиента, в печатной форме чека вместо привычного перечня товаров выводится одна строка с наименованием «Платеж», количеством «1» и общей суммой документа. При этом единица измерения товара заменяется на «платеж».
Рассмотрим подробнее, почему это происходит, разберем техническую логику программы и выясним, как правильно организовать процесс работы, чтобы чеки соответствовали требованиям законодательства и ожиданиям покупателей.
Проанализируем ситуацию с точки зрения форматов фискальных данных (ФФД 1.05 и выше). Изменения в релизах ветки 11.4.10 — это не случайная ошибка программистов, а целенаправленное приведение системы в соответствие с методическими рекомендациями ФНС. Основная причина кроется в том, как программа классифицирует признак способа расчета.
В новых версиях 1С:Управление торговлей алгоритм формирования чека стал более строго проверять статус хозяйственной операции:
Реализация товаров и услуг), программа считает эти деньги «Авансом». Согласно правилам ФФД, для аванса допускается не печатать наименования конкретных товаров, так как перечень товаров может измениться до момента фактической отгрузки. В этом случае 1С сворачивает всю табличную часть в одну строку «Платеж».Проблема «одной строки» возникает тогда, когда система принудительно устанавливает статус «Аванс» вместо «Предоплата».
Посмотрим, как настройки системы влияют на формирование чека. Важную роль играет поле Детализация расчетов в соглашении или договоре с клиентом. Если выбрана детализация «По заказам», то ПКО, привязанный к заказу без созданной накладной, автоматически воспринимается системой как авансовый платеж по договору в целом.
Чтобы программа «увидела» товары из заказа, необходимо соблюдение нескольких условий в коде общего модуля МенеджерОборудованияВызовСервера. Если документ оплаты не находит жесткой связи с отгруженными позициями или если настройки учета не позволяют однозначно идентифицировать товарный состав, система формирует команду на печать упрощенного чека.
Согласно текущим правилам торговли, если оплата и отгрузка разделены во времени, необходимо пробивать два чека. Разберем этот процесс по шагам:
Приходный кассовый ордер или Эквайринговая операция. В форме предпросмотра чека (которая появилась в новых релизах) необходимо убедиться, что выбран признак способа расчета «Предоплата». Если система позволяет, она развернет список товаров из документа-основания (Заказа). Если же стоит «Аванс», чек будет содержать одну строку «Платеж».Реализация товаров и услуг. Именно в этом чеке будет указан полный перечень товаров, их количество и цена, а в качестве способа оплаты будет указано «Зачет аванса» (сумма ранее внесенной предоплаты).Важный момент: Если вы хотите, чтобы в первом чеке (предоплате) все же печатались товары, проверьте, заполнена ли табличная часть в самом ПКО (вкладка «Расшифровка платежа», объект оплаты — Заказ клиента).
В релизах 11.4.11 и выше 1С добавила возможность более гибкого управления составом чека перед его печатью. При нажатии кнопки «Пробить чек» открывается форма, где можно вручную проверить и при необходимости скорректировать параметры:
Если вы видите, что в предпросмотре указан «Аванс», попробуйте изменить его на «Предоплата 100%» или «Предоплата частичная». В этом случае алгоритмы 1С попытаются подтянуть номенклатурный состав из связанного Заказа клиента. Если этого не происходит, проверьте, не включена ли в настройках системы опция упрощенной печати чеков для авансов.
Если специфика вашего бизнеса требует печати номенклатуры в ПКО всегда, независимо от наличия реализации, и стандартные настройки не помогают, можно прибегнуть к использованию расширения конфигурации. Проанализируем, какие изменения вносятся в логику формирования текста чека.
Обычно корректируется общий модуль, отвечающий за заполнение структуры чека для драйвера ККТ. Программисты изменяют условие, которое отвечает за «сворачивание» строк. Пример логики, которую реализует расширение:
// В процедуре формирования состава чека
Если СпособРасчета = Предоплата И НЕ НайденаРеализация Тогда
// Принудительно заставляем систему брать строки из Табличной Части документа
ЗаполнитьСоставЧекаИзЗаказа(ОбъектОплаты);
КонецЕсли;
Такой «костыль» заставляет систему игнорировать статус аванса и всегда выводить детальный список товаров, если он указан в заказе.
Ситуация, когда в чеке печатается «1 платеж» вместо 10 штук товара — это следствие ужесточения контроля за соблюдением ФФД 1.05. Чтобы решить проблему без изменения кода, рекомендуется:
Детализация расчетов в договорах была установлена «По заказам» или «По накладным», что позволяет системе точнее определять товарный состав платежа.Применение схемы двух чеков является наиболее юридически грамотным решением, которое снимает вопросы как со стороны налоговых органов, так и со стороны покупателей, желающих видеть детализацию своих покупок в фискальном документе.