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