Как исправить надпись «Устройство было удалено» и ошибку «Смена открыта — операция невозможна» при работе с ККМ в 1С?

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

При работе с торговым оборудованием в конфигурациях на обычных формах (например, «1С:Комплексная автоматизация 1.1» или «1С:Управление торговлей 10.3») пользователи и администраторы периодически сталкиваются со сбоями связки 1С и фискального регистратора. Рассмотрим две связанные и наиболее распространенные проблемы: появление надписи «Устройство было удалено» в кассовых сменах и блокировку открытия смены с сообщением «Смена открыта — операция невозможна».

Проблема 1. Почему в кассовых сменах появляется статус «Устройство было удалено»?

Выясним причину, по которой 1С теряет связь с ранее подключенным оборудованием. В классической подсистемы торгового оборудования связь документов с физической кассой осуществляется не по прямой ссылке на справочник, а через строковый уникальный идентификатор (GUID). Связь между документом кассовой смены и регистром сведений ТорговоеОборудование строится по условию:

ДокументКассоваяСмена.ФискальноеУстройство = ТорговоеОборудование.Идентификатор

Проанализируем ситуацию: если кассовая смена ссылается на сохраненный GUID, а в регистре ТорговоеОборудование запись была пересоздана, условие связи перестает срабатывать. Это происходить по следующим причинам:

  1. Переподключение кассы или обновление драйвера: при перенастройке оборудования система 1С может сформировать новую запись рабочего места с другим GUID.
  2. Изменение имени компьютера или пользователя: если имя ПК или учетная запись Windows/1С изменились, 1С считает рабочее место новым.
  3. Сброс флага активности: у кассы снята галочка «Устройство подключено» в настройках торгового оборудования.

Как решить проблему с идентификатором:

Для восстановления отображения старых документов можно сопоставить идентификатор в регистре сведений ТорговоеОборудование со значением ФискальноеУстройство из прошлых документов кассовых смен. Однако важно учитывать риски: если текущая касса уже работает по новому GUID, ручная подмена может нарушить проведение новых документов. Правильным решением является проверка настроек справочника рабочих мест и жесткая привязка пользователя и компьютера к нужной записи подключаемого оборудования.

Проблема 2. Ошибка «Смена открыта — операция невозможна» при наличии закрытых смен в 1С

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

Разберем по шагам, почему возникает данная рассинхронизация. Подсистема торгового оборудования не отслеживает состояние фискального накопителя в фоновом режиме. Статус ККМ запрашивается только в момент вызова команды ОткрытьСмену() или пробития чека. Ошибка возникает в следующих случаях:

  1. Смена открыта на самом фискальном регистраторе: на ККТ смена была открыта (например, вручную через утилиту драйвера или при сбое связи во время пробития первого чека), но в 1С документ открытия смены не сформировался.
  2. Превышение 24-часового лимита: согласно требованиям к ККТ, смена не может длиться более 24 часов. Если смена на железе не была вовремя закрыта, фискальный накопитель блокирует новые операции.
  3. Занятость COM-порта или сессии драйвера: в терминальном режиме (RDP) другой процесс или зависшая сессия драйвера может удерживать порт кассы, из-за чего 1С считывает неверный статус.

Алгоритм решения ошибки через драйвер ККМ

Если смена на физическом устройстве осталась открытой и блокирует работу, необходимо выполнить закрытие смены непосредственно через драйвер фискального регистратора (например, драйвер АТОЛ или Штрих-М).

Выполним следующие шаги:

  1. Закрыть программу 1С на рабочем месте кассира, чтобы освободить COM-порт фискального регистратора.
  2. Запустить утилиту «Тест драйвера ККМ» (или соответствующий драйвер вашего оборудования) от имени администратора.
  3. Установить связь с устройством (нажать кнопку «Войти» или «Установить связь»).
  4. Перейти в раздел работы с отчетами или регистрацией.
  5. Выполнить команду «Снять Z-отчет с гашением» (закрытие смены).
  6. После успешной печати Z-отчета закрыть утилиту драйвера, запустить 1С и повторить операцию открытия смены в штатном режиме.

Альтернативный вариант (без снятия Z-отчета):

Если смена на ККТ открыта правомерно и на ней продолжают пробиваться чеки, снимать Z-отчет не требуется. В таком случае необходимо синхронизировать состояние базы: с помощью административных средств или групповой обработки привести статус соответствующего документа кассовой смены в 1С в состояние «Открыта». После этого 1С сможет продолжить работу с текущей сменой без вызова повторной команды открытия.

← На главную