Как удалить чек ККМ в незакрытой кассовой смене в 1С:ERP 2?

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

Коллеги, мы сталкиваемся с распространенной ситуацией, когда необходимо удалить пробитый чек контрольно-кассовой машины (ККМ) в незакрытой кассовой смене в системе 1С:ERP 2. Как показывает практика, при попытке стандартного удаления или отмены проведения, система выдает сообщение об ошибке: "Чек ККМ пробит. Отмена проведения невозможна". Это связано с тем, что пробитые чеки являются документами строгой отчетности, и их прямое удаление или отмена проведения без соответствующих фискальных действий не предусмотрено.

Однако, существуют методы, позволяющие решить эту задачу как на уровне пользовательского интерфейса, так и программно, а также важно понимать фискальные последствия таких действий. Рассмотрим подробнее несколько подходов к решению данной проблемы.

Решение 1: Удаление чека ККМ через групповое изменение реквизитов (без программирования)

Этот метод подходит для пользователей, не имеющих навыков программирования, и позволяет обойти стандартные ограничения системы 1С.

  1. Переходим в раздел администрирования: Начнем с перехода в раздел "НСИ и администрирование", затем выбираем "Поддержка и обслуживание", далее находим "Корректировка данных" и открываем "Групповое изменение реквизитов".
  2. Указываем элементы для изменения: В открывшемся окне "Групповое изменение реквизитов" нам необходимо точно указать, какие элементы мы собираемся изменить. Для этого мы нажимаем на ссылку "Все элементы" и в появившемся окне выбора типов объектов выбираем "Чек ККМ". Затем из списка чеков ККМ выбираем тот конкретный чек, который нам требуется удалить.
  3. Изменяем статус чека: После того как мы выбрали нужный чек, мы должны пометить для изменения реквизит "Статус". Нам необходимо изменить его значение. Например, если текущий статус "Пробит", мы можем установить его в "Отложен" или другой подходящий статус, который позволит нам далее взаимодействовать с документом. После выбора нового статуса нажимаем кнопку "Изменить реквизиты". Система выполнит операцию по изменению статуса выбранного чека.
  4. Удаляем позиции чека: Теперь, когда статус чека изменен, мы можем перейти к следующему шагу. Открываем раздел "Продажи" и выбираем "Чеки ККМ". Находим наш чек ККМ, у которого мы только что изменили статус, и входим в него. После открытия документа мы просто удаляем все позиции, которые в нем содержатся. Система, скорее всего, задаст вопрос о согласии на удаление позиций – мы подтверждаем наше согласие. После удаления всех позиций чек будет фактически пустым.

Важное примечание: Хотя этот метод позволяет "очистить" чек внутри 1С, он не отменяет его фискальный факт для налоговой инспекции. Если чек был пробит на физической ККТ и данные отправлены оператору фискальных данных (ОФД), то для налоговой он продолжает существовать. Для полного и корректного аннулирования фискального чека требуются дополнительные действия, о которых мы поговорим далее.

Решение 2: Программное изменение статуса чека ККМ для последующего удаления

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

Основная проблема при отмене проведения пробитого чека заключается в том, что система проверяет его статус. Даже при попытке отменить проведение программно, мы можем столкнуться с ограничениями. Однако, используя специальный флаг, мы можем временно "отключить" некоторые проверки.

  1. Получаем объект чека: Сначала нам необходимо получить объект документа "Чек ККМ", с которым мы хотим работать. Это можно сделать, например, из выборки или по ссылке на документ.
  2. Временно отключаем контроль обмена данными: Для того чтобы изменить статус пробитого чека, нам потребуется временно установить флаг ОбменДанными.Загрузка = Истина. Этот флаг сигнализирует системе, что текущие изменения приходят из внешнего источника данных (например, из обмена), что позволяет обойти некоторые стандартные проверки и ограничения при записи документа.
  3. Изменяем статус и записываем: После установки флага мы можем изменить статус чека с Перечисления.СтатусыЧековККМ.Пробит на Перечисления.СтатусыЧековККМ.Отложен. После изменения статуса обязательно записываем объект документа, используя метод Записать(РежимЗаписиДокумента.Запись).
  4. Восстанавливаем контроль обмена данными: После успешной записи документа с измененным статусом мы должны не забыть сбросить флаг ОбменДанными.Загрузка = Ложь, чтобы система вернулась к стандартному режиму работы и проверкам.
  5. Помечаем на удаление: Теперь, когда статус чека изменен и он больше не считается "пробитым", мы можем пометить его на удаление, используя метод УстановитьПометкуУдаления(Истина).

Рассмотрим пример кода, который может быть использован во внешней обработке или в консоли запросов/кода для выполнения этих действий (на примере УТ 11.5, но принцип аналогичен для ERP):


// Предположим, что Переменная "ВыборкаЧеки" содержит ссылку на нужный Чек ККМ
ДокОбъект = ВыборкаЧеки.ЧекСсылка.ПолучитьОбъект();

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

// После изменения статуса помечаем документ на удаление
ДокОбъект.УстановитьПометкуУдаления(Истина);

Этот подход позволяет контролируемо изменить статус документа и сделать его доступным для пометки на удаление, что является необходимым шагом для последующего физического удаления документов помеченных на удаление из базы. После этого, для окончательного удаления, вы можете воспользоваться стандартной процедурой "Удаление помеченных объектов" из раздела "НСИ и администрирование" - "Поддержка и обслуживание".

Особенности работы с фискальными операциями и регистром "ФискальныеОперации"

Мы должны всегда помнить, что чеки ККМ — это фискальные документы. Простое удаление или изменение статуса внутри 1С, как мы уже говорили, не отменяет его фискального факта. Для корректного отражения удаления или исправления ошибочного чека в фискальном плане необходимо использовать специальные фискальные документы.

Регистр сведений ФискальныеОперации: В 1С данные о пробитых чеках хранятся не только в самом документе "Чек ККМ", но и в регистре сведений ФискальныеОперации. Этот регистр содержит информацию о фискальном номере, фискальном признаке, времени пробития и других важных данных, которые были переданы в ОФД. Если вы просто удалите или измените статус чека ККМ, запись в регистре ФискальныеОперации может остаться. Для полной "очистки" системы от следов ошибочного чека, возможно, потребуется воздействовать и на этот регистр. Однако, это крайне осторожное действие, которое, как правило, должно производиться с применением специализированных обработок или программного кода и только после консультации со специалистами и проведения тщательного тестирования.

Использование чеков возврата или чеков коррекции: Это наиболее правильный с точки зрения законодательства способ "отменить" или исправить пробитый чек:

  1. Чек возврата: Используем его, если покупатель вернул товар или была совершена ошибочная оплата (например, дважды пробили одну позицию). Важно, что возврат по банковской карте также требует отмены транзакции через терминал эквайринга.
  2. Чек коррекции: Предназначен для исправления ошибок, обнаруженных после пробития чека и, возможно, после закрытия кассовой смены. Например, если касса вовсе не была применена при расчете, или была допущена ошибка в сумме, ставке НДС и т.д. При его формировании нужно обязательно указать причину корректировки (например, на основании служебной записки кассира). Чек коррекции может быть двух видов: "Неприменение ККТ" и "Исправление ошибки". Важно отметить, что каждый ошибочный документ обычно требует отдельного чека коррекции.

Для создания этих документов в 1С:ERP (и аналогичных конфигурациях) обычно переходят в рабочее место кассира или в раздел продаж, где выбирают соответствующие функции для создания документов "Возврат товаров от клиента" или "Чек коррекции". На основании этих документов уже формируются фискальные чеки возврата/коррекции, которые отправляются в ОФД.

Сложности при закрытой кассовой смене

Мы должны понимать, что описанные выше методы преимущественно применимы к незакрытой кассовой смене. Если ошибка обнаружена уже после закрытия кассовой смены, процедура исправления становится значительно сложнее:

Профилактика ошибок и дополнительные настройки

Лучший способ избежать проблем с ошибочными чеками – это их предотвращение. Мы рекомендуем следующие меры:

В заключение, мы выяснили, что "удаление" пробитого чека ККМ в 1С – это многогранная задача. Для управленческого учета внутри системы можно использовать методы изменения статуса и удаления позиций или программный подход. Однако для соблюдения фискального законодательства всегда необходимо прибегать к формированию чеков возврата или чеков коррекции. Мы призываем вас быть внимательными и осторожными при работе с фискальными данными и всегда консультироваться со специалистами, если возникают сомнения.

← На главную