Как отредактировать пробитый чек ККМ в 1С:Розница 2.2 и изменить сумму?

Программист 1С v8.3 (Управляемые формы) 1С:Розница Управленческий учет Торговля и дистрибуция
← На главную

При работе в конфигурации «1С:Розница 2.2» пользователи и разработчики часто сталкиваются с ситуацией, когда документ Чек ККМ со статусом Пробит становится полностью недоступным для редактирования и отмены проведения. Типовая форма документа блокирует любые изменения реквизитов и табличной части, а групповая обработка изменения реквизитов выдает отказ. Выясним причину такого поведения системы, разберем технические нюансы обхода запрета и проанализируем, почему прямое вмешательство в пробитые документы влечет критические ошибки в учете.

Почему в 1С:Розница запрещено редактирование пробитых чеков

Кассовый чек в розничной торговле — это первичный фискальный документ, жестко связанный с физическим фискальным регистратором (ККТ). Блокировка редактирования в конфигурации установлена на уровне модуля объекта и обработчиков форм по следующим причинам:

  1. Аппаратная фискализация расчетов. В момент пробития чека данные передаются в фискальный накопитель ККМ и оператору фискальных данных (ОФД). Изменение данных только в базе 1С не меняет информацию, зафиксированную в накопителе кассы.
  2. Формирование закрывающих отчетов. При закрытии кассовой смены данные фискального регистратора сверяются со сменным Z-отчетом (отчетом о закрытии смены). Любые ручные расхождения приводят к несовпадению сумм выручки.
  3. Сводный документ «Отчет о розничных продажах». В конце смены все чеки сворачиваются в сводный документ ОтчетОРозничныхПродажах. Если изменить чек задним числом, данные чека перестанут сходиться с движениями сводного отчета и складскими остатками.

Технический обход блокировки через ОбменДанными.Загрузка

Если проанализировать работу стандартной обработки «Групповое изменение реквизитов», можно заметить, что платформа запрещает запись объекта из-за срабатывания встроенных проверок в процедурах ПередЗаписью и ПриЗаписи модуля документа ЧекККМ.

Обойти проверки на программном уровне разработчики могут путем установки свойства ОбменДанными.Загрузка = Истина. В типовой групповой обработке для этого достаточно перейти в «Дополнительные параметры» и включить «Режим разработчика». Программно этот процесс выглядит следующим образом:


ДокументОбъект = ВыбраннаяСсылкаНаЧек.ПолучитьОбъект();
ДокументОбъект.ОбменДанными.Загрузка = Истина;
ДокументОбъект.СтатусЧекаККМ = Перечисления.СтатусыЧековККМ.Отложен;
// При необходимости меняем сумму или табличную часть
ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);

Однако важно помнить о серьезных последствиях применения этого метода:

  1. Движения по регистрам не обновляются. Режим ОбменДанными.Загрузка = Истина отключает выполнение алгоритмов проведения. Если изменить табличную часть или сумму чека, записи в регистрах накопления (ТоварыНаСкладах, ВыручкаИСебестоимостьПродаж, ДенежныеСредстваККМ) останутся старыми.
  2. Конфликт при попытке перепроведения. Если после снятия статуса попытаться перепровести чек штатно, типовые механизмы контроля кассовой смены выдадут ошибку, так как номер чека уже зафиксирован в фискальном регистраторе.
  3. Архивация чеков. В типовой процедуре закрытия смены выполняется архивация, при которой табличные части чеков очищаются, а движения переходят в ОтчетОРозничныхПродажах. Редактирование архивного чека окончательно разрушает связь между аналитикой продаж и выручкой.

Почему нельзя корректировать сумму чека ради выплат и скидок

Нередко изменение суммы чека пытаются использовать для реализации партнерских схем: например, покупателю пробивают чек на полную сумму, а затем документ искусственно уменьшают, чтобы за счет возникшей «разницы» выдать вознаграждение мастеру или посреднику через операцию «Выемка ДС».

Разберем, почему такая схема неработоспособна и незаконна:

  1. Операция «Выемка ДС» не уменьшает выручку. Выемка на ККМ — это перемещение наличных денег из денежного ящика кассы в главную кассу предприятия. Она уменьшает фактический остаток наличности в ящике, но сумма продаж в фискальном отчете за день остается неизменной.
  2. Несхождение с фискальным отчетом. Налоговые органы сверяют выручку по чекам ОФД и фискальным отчетам закрытия смены. Если в учетной системе сумма продаж будет искусственно уменьшена, образуется прямая недостача выручки по учету относительно данных ККТ.
  3. Нарушение 54-ФЗ. Выдача покупателю товарного чека без параллельной фискализации на кассе или манипуляции со скидками после расчета являются прямым нарушением кассовой дисциплины.

Правильные варианты решения задачи

Рассмотрим, как корректно отражать подобные торговые операции в «1С:Розница 2.2» без нарушения логики системы и законодательства.

Вариант 1. Оформление возврата и пробитие нового чека

Если в чеке действительно была допущена ошибка (не указана полагающаяся покупателю скидка), единственно правильный путь с точки зрения кассового учета:

  1. Оформить документ ЧекККМНаВозврат на основании ошибочного чека (или в интерфейсе РМК через режим «Возврат»).
  2. Пробить возвратный фискальный чек на кассе.
  3. Выбить новый чек с корректно примененной скидкой и верной суммой расчета.

Вариант 2. Механизм учета личных продаж (выплаты партнерам)

Если задача заключается в начислении вознаграждения мастеру (наводчику), не требуется занижать фискальные суммы пробитых товаров. Для этого в конфигурации предусмотрен штатный функционал:

  1. Перейдем в раздел Администрирование — Продажи и включим опцию Личные продажи.
  2. В справочнике физических лиц создадим партнеров (мастеров).
  3. При оформлении чека в интерфейсе РМК кассир указывает конкретного мастера в качестве продавца строки или всего документа.
  4. Покупатель получает официальный кассовый чек на полную сумму покупки.
  5. В конце отчетного периода (день, неделя, месяц) с помощью типового отчета Продажи по продавцам рассчитывается причитающаяся сумма комиссии.
  6. Выплата вознаграждения оформляется документом РасходныйКассовыйОрдер с видом операции «Прочий расход» из операционной кассы предприятия, что обеспечивает полную прозрачность учета.

Вариант 3. Использование бонусных программ и промокодов

Для автоматизации агентских схем можно задействовать подсистему маркетинга:

  1. Оформить на каждого мастера информационную карту лояльности.
  2. Настроить правило начисления бонусных баллов на карту партнера при совершении покупки привлеченным клиентом.
  3. Клиент оплачивает товар по полной стоимости без искажения кассовых регистров, а партнер накапливает бонусы, которые впоследствии списываются по регламенту компании.
← На главную