С переходом на новые форматы фискальных данных (ФФД) процесс оформления розничных продаж в оптовых конфигурациях, таких как 1С:Управление торговлей 11, значительно усложнился. Основная сложность заключается в необходимости соблюдения правила «двух чеков»: первый чек пробивается при получении денег, а второй — в момент фактической передачи товара. Разберем детально, как это реализовано в программе и на что стоит обратить внимание техническому специалисту и пользователю.
Прежде чем переходить к оформлению документов, проанализируем разницу в терминах, которые напрямую влияют на теги в кассовом чеке. В 1С:УТ 11 выбор признака способа расчета зависит от детализации взаиморасчетов:
Заказ клиента, в котором заполнена табличная часть с товарами. В чеке будет выведен список номенклатуры.Рассмотрим сценарий, когда клиент вносит денежные средства. В зависимости от способа оплаты, мы используем документ Приходный кассовый ордер (наличные) или Поступление безналичных ДС (эквайринг или перевод на расчетный счет).
Для корректного формирования чека выполним следующие шаги:
Заказа клиента.Проанализируем ситуацию на уровне драйвера ККТ. В этот момент 1С передает в кассу тип оплаты. Как отмечалось в обсуждении, для драйверов (например, АТОЛ) используются следующие константы:
LIBFPTR_PT_CASH — оплата наличными (сумма попадает в счетчик выручки).
LIBFPTR_PT_ELECTRONICALLY — безналичная оплата.
Когда товар готов к выдаче, мы создаем документ Реализация товаров и услуг. Согласно 54-ФЗ, передача товара — это тоже расчет, даже если деньги были получены ранее. В этом случае мы обязаны пробить второй чек, который «закроет» долг перед покупателем. Для этой задачи подойдёт обработка для печати фискального чека из реализации в УТ 11.5.
Выясним, как 1С:УТ 11 понимает, что оплата уже была. Процесс строится на механизме взаиморасчетов. Рассмотрим алгоритм:
Реализация товаров и услуг перейдем на вкладку Взаиморасчеты (или воспользуемся помощником зачета оплаты).В этом чеке в качестве способа оплаты будет указано «Предварительная оплата (Аванс)» (тег 1215). В терминах драйвера ККТ это выглядит так:
LIBFPTR_PT_PREPAID — зачет ранее полученного аванса.
Важно помнить: сумма в этом чеке не увеличивает наличную выручку в кассе (в Z-отчете она пройдет отдельной строкой), так как деньги физически не поступали.
Проанализируем ситуацию с маркировкой (Честный Знак). По новым правилам ФФД 1.2:
Если чек пробивается неправильно (например, вместо зачета аванса снова требует наличные), стоит заглянуть в код обработки обслуживания ККТ. Посмотрим на пример логики формирования структуры чека в модулях интеграции:
// Пример логики распределения сумм по типам оплаты
СуммаЧека = Объект.Товары.Итог("Сумма");
СуммаЗачетаАванса = Объект.Оплата.Итог("СуммаЗачета");
Если СуммаЗачетаАванса > 0 Тогда
// Передаем в ККТ информацию о зачете
ДобавитьОплатуВЧек(СуммаЗачетаАванса, "PREPAID");
КонецЕсли;
Если вы столкнулись с тем, что автоматический зачет не срабатывает, рекомендуем проверить настройки учетной политики организации в 1С. Параметр «Детализация расчетов» должен быть установлен в значение «По заказам» или «По накладным». Если расчеты ведутся «По договорам» в целом, автоматика 1С часто не может сопоставить конкретную оплату с конкретной отгрузкой в момент печати чека.
Чтобы ваша работа в 1С:Управление торговлей 11 соответствовала закону, придерживайтесь следующей цепочки документов:
Соблюдение этой последовательности гарантирует отсутствие расхождений в отчетах ФНС и правильное списание остатков маркированной продукции. Для контроля кассовой дисциплины можно использовать отчет для выявления непробитых чеков в ПКО и эквайринговых операциях.