При работе с торговым оборудованием в конфигурациях на обычных формах (например, «1С:Комплексная автоматизация 1.1» или «1С:Управление торговлей 10.3») пользователи и администраторы периодически сталкиваются со сбоями связки 1С и фискального регистратора. Рассмотрим две связанные и наиболее распространенные проблемы: появление надписи «Устройство было удалено» в кассовых сменах и блокировку открытия смены с сообщением «Смена открыта — операция невозможна».
Выясним причину, по которой 1С теряет связь с ранее подключенным оборудованием. В классической подсистемы торгового оборудования связь документов с физической кассой осуществляется не по прямой ссылке на справочник, а через строковый уникальный идентификатор (GUID). Связь между документом кассовой смены и регистром сведений ТорговоеОборудование строится по условию:
ДокументКассоваяСмена.ФискальноеУстройство = ТорговоеОборудование.Идентификатор
Проанализируем ситуацию: если кассовая смена ссылается на сохраненный GUID, а в регистре ТорговоеОборудование запись была пересоздана, условие связи перестает срабатывать. Это происходить по следующим причинам:
Как решить проблему с идентификатором:
Для восстановления отображения старых документов можно сопоставить идентификатор в регистре сведений ТорговоеОборудование со значением ФискальноеУстройство из прошлых документов кассовых смен. Однако важно учитывать риски: если текущая касса уже работает по новому GUID, ручная подмена может нарушить проведение новых документов. Правильным решением является проверка настроек справочника рабочих мест и жесткая привязка пользователя и компьютера к нужной записи подключаемого оборудования.
Рассмотрим вторую ошибку: пользователь пытается открыть кассовую смену из 1С, но программа выдает сообщение «Смена открыта — операция невозможна», хотя все документы кассовых смен в информационной базе имеют статус «Закрыта».
Разберем по шагам, почему возникает данная рассинхронизация. Подсистема торгового оборудования не отслеживает состояние фискального накопителя в фоновом режиме. Статус ККМ запрашивается только в момент вызова команды ОткрытьСмену() или пробития чека. Ошибка возникает в следующих случаях:
Если смена на физическом устройстве осталась открытой и блокирует работу, необходимо выполнить закрытие смены непосредственно через драйвер фискального регистратора (например, драйвер АТОЛ или Штрих-М).
Выполним следующие шаги:
Альтернативный вариант (без снятия Z-отчета):
Если смена на ККТ открыта правомерно и на ней продолжают пробиваться чеки, снимать Z-отчет не требуется. В таком случае необходимо синхронизировать состояние базы: с помощью административных средств или групповой обработки привести статус соответствующего документа кассовой смены в 1С в состояние «Открыта». После этого 1С сможет продолжить работу с текущей сменой без вызова повторной команды открытия.