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