Коллеги, мы сталкиваемся с распространенной ситуацией, когда необходимо удалить пробитый чек контрольно-кассовой машины (ККМ) в незакрытой кассовой смене в системе 1С:ERP 2. Как показывает практика, при попытке стандартного удаления или отмены проведения, система выдает сообщение об ошибке: "Чек ККМ пробит. Отмена проведения невозможна". Это связано с тем, что пробитые чеки являются документами строгой отчетности, и их прямое удаление или отмена проведения без соответствующих фискальных действий не предусмотрено.
Однако, существуют методы, позволяющие решить эту задачу как на уровне пользовательского интерфейса, так и программно, а также важно понимать фискальные последствия таких действий. Рассмотрим подробнее несколько подходов к решению данной проблемы.
Этот метод подходит для пользователей, не имеющих навыков программирования, и позволяет обойти стандартные ограничения системы 1С.
Важное примечание: Хотя этот метод позволяет "очистить" чек внутри 1С, он не отменяет его фискальный факт для налоговой инспекции. Если чек был пробит на физической ККТ и данные отправлены оператору фискальных данных (ОФД), то для налоговой он продолжает существовать. Для полного и корректного аннулирования фискального чека требуются дополнительные действия, о которых мы поговорим далее.
Этот метод предоставляет более надежный и контролируемый способ изменения статуса чека, особенно когда стандартные средства не срабатывают или требуется автоматизация процесса. Он требует знания основ работы с конфигуратором 1С или использования внешней обработки.
Основная проблема при отмене проведения пробитого чека заключается в том, что система проверяет его статус. Даже при попытке отменить проведение программно, мы можем столкнуться с ограничениями. Однако, используя специальный флаг, мы можем временно "отключить" некоторые проверки.
ОбменДанными.Загрузка = Истина. Этот флаг сигнализирует системе, что текущие изменения приходят из внешнего источника данных (например, из обмена), что позволяет обойти некоторые стандартные проверки и ограничения при записи документа.Перечисления.СтатусыЧековККМ.Пробит на Перечисления.СтатусыЧековККМ.Отложен. После изменения статуса обязательно записываем объект документа, используя метод Записать(РежимЗаписиДокумента.Запись).ОбменДанными.Загрузка = Ложь, чтобы система вернулась к стандартному режиму работы и проверкам.УстановитьПометкуУдаления(Истина).Рассмотрим пример кода, который может быть использован во внешней обработке или в консоли запросов/кода для выполнения этих действий (на примере УТ 11.5, но принцип аналогичен для ERP):
// Предположим, что Переменная "ВыборкаЧеки" содержит ссылку на нужный Чек ККМ
ДокОбъект = ВыборкаЧеки.ЧекСсылка.ПолучитьОбъект();
// Проверяем текущий статус чека
Если ДокОбъект.Статус = Перечисления.СтатусыЧековККМ.Пробит Тогда
// Временно отключаем стандартные проверки для обмена данными
ДокОбъект.ОбменДанными.Загрузка = Истина;
// Изменяем статус чека на "Отложен"
ДокОбъект.Статус = Перечисления.СтатусыЧековККМ.Отложен;
// Записываем измененный документ
ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
// Включаем стандартные проверки обратно
ДокОбъект.ОбменДанными.Загрузка = Ложь;
КонецЕсли;
// После изменения статуса помечаем документ на удаление
ДокОбъект.УстановитьПометкуУдаления(Истина);
Этот подход позволяет контролируемо изменить статус документа и сделать его доступным для пометки на удаление, что является необходимым шагом для последующего физического удаления документов помеченных на удаление из базы. После этого, для окончательного удаления, вы можете воспользоваться стандартной процедурой "Удаление помеченных объектов" из раздела "НСИ и администрирование" - "Поддержка и обслуживание".
Мы должны всегда помнить, что чеки ККМ — это фискальные документы. Простое удаление или изменение статуса внутри 1С, как мы уже говорили, не отменяет его фискального факта. Для корректного отражения удаления или исправления ошибочного чека в фискальном плане необходимо использовать специальные фискальные документы.
Регистр сведений ФискальныеОперации: В 1С данные о пробитых чеках хранятся не только в самом документе "Чек ККМ", но и в регистре сведений ФискальныеОперации. Этот регистр содержит информацию о фискальном номере, фискальном признаке, времени пробития и других важных данных, которые были переданы в ОФД. Если вы просто удалите или измените статус чека ККМ, запись в регистре ФискальныеОперации может остаться. Для полной "очистки" системы от следов ошибочного чека, возможно, потребуется воздействовать и на этот регистр. Однако, это крайне осторожное действие, которое, как правило, должно производиться с применением специализированных обработок или программного кода и только после консультации со специалистами и проведения тщательного тестирования.
Использование чеков возврата или чеков коррекции: Это наиболее правильный с точки зрения законодательства способ "отменить" или исправить пробитый чек:
Для создания этих документов в 1С:ERP (и аналогичных конфигурациях) обычно переходят в рабочее место кассира или в раздел продаж, где выбирают соответствующие функции для создания документов "Возврат товаров от клиента" или "Чек коррекции". На основании этих документов уже формируются фискальные чеки возврата/коррекции, которые отправляются в ОФД.
Мы должны понимать, что описанные выше методы преимущественно применимы к незакрытой кассовой смене. Если ошибка обнаружена уже после закрытия кассовой смены, процедура исправления становится значительно сложнее:
Лучший способ избежать проблем с ошибочными чеками – это их предотвращение. Мы рекомендуем следующие меры:
В заключение, мы выяснили, что "удаление" пробитого чека ККМ в 1С – это многогранная задача. Для управленческого учета внутри системы можно использовать методы изменения статуса и удаления позиций или программный подход. Однако для соблюдения фискального законодательства всегда необходимо прибегать к формированию чеков возврата или чеков коррекции. Мы призываем вас быть внимательными и осторожными при работе с фискальными данными и всегда консультироваться со специалистами, если возникают сомнения.