При работе с кассовым оборудованием в 1С:Розница редакции 2.3 пользователи нередко сталкиваются с ситуацией, когда при оформлении оплаты через Приходный кассовый ордер (ПКО) на основании Реализации товаров и услуг, в кассовом чеке печатается не «Товар», а «Платеж». Это вызывает закономерные вопросы со стороны бухгалтерии, опасающейся претензий со стороны налоговых органов из-за некорректного формирования фискальных документов в соответствии с 54-ФЗ.
Давайте разберемся, почему это происходит, и рассмотрим возможные пути решения данной задачи.
Первое, что необходимо понять — 1С:Розница в типовой конфигурации четко разделяет два процесса: продажу товаров через Чек ККМ (розничная продажа) и оформление поступления денежных средств через ПКО (финансовая операция). Когда вы создаете ПКО на основании Реализации, программа рассматривает это как фиксацию движения денежных средств, а не как процесс передачи права собственности на товар.
Согласно требованиям к форматам фискальных документов (ФФД), реквизит Признак предмета расчета (тег 1212) определяет суть операции. В типовом механизме формирования чека из ПКО система по умолчанию подставляет значение, соответствующее платежу, так как она не видит в ПКО табличной части с товарами, которую «понимает» драйвер ККТ как полноценную отгрузку.
Самый правильный с точки зрения архитектуры 1С способ избежать данной проблемы — это использование документа Чек ККМ. Этот документ специально разработан для взаимодействия с кассовым оборудованием. В нем:
Если специфика вашего бизнеса допускает продажу через Рабочее место кассира (РМК), мы настоятельно рекомендуем перестроить процесс оформления продаж именно на Чек ККМ. Это избавит вас от необходимости ручной правки кода и исключит ошибки при обновлении конфигурации.
Если бизнес-процессы вашей компании строго требуют использования Реализации товаров и услуг с последующим созданием ПКО, вам потребуется вмешательство в программный код. Поскольку простое изменение Статьи движения денежных средств не меняет логику передачи данных в ККТ, вам необходимо выполнить следующие шаги:
ПризнакПредметаРасчета для каждой позиции.Рассмотрим теоретический пример того, как это может выглядеть в коде (в обобщенном виде):
// Пример логики установки признака предмета расчета
// В месте заполнения параметров чека:
Для Каждого СтрокаТовара Из СписокТоваров Цикл
ПараметрыТовара = Новый Структура;
ПараметрыТовара.Вставить(\"ПризнакПредметаРасчета\", 1); // 1 = Товар
// Передача параметров в структуру, отправляемую драйверу
КонецЦикла;
Обратите внимание: работа с драйвером АТОЛ (ДТО 10.x) предполагает, что все данные должны быть переданы в строго определенной структуре. Если вы решите дорабатывать код, обязательно проверьте, чтобы данные в теге 1212 соответствовали актуальному приказу ФНС о дополнительных реквизитах чека.
Прежде чем приступать к изменению кода, проанализируйте следующие моменты:
Розницы обновлена. В последних релизах фирма «1С» часто исправляет логику работы с тегами ККТ.Подводя итог: проблема носит не «настроечный», а «архитектурный» характер. Если типовая логика 1С:Розница при использовании ПКО не отвечает требованиям вашей бухгалтерии, наиболее надежным решением станет использование Чека ККМ. Если это невозможно, подготовьтесь к профессиональной отладке механизма передачи данных в драйвер ККТ для принудительной установки признака «Товар».