В работе с торговым оборудованием, особенно в распределенных информационных базах (РИБ), системные администраторы часто сталкиваются с ситуацией, когда идеально настроенная касса внезапно перестает отвечать. В 1С:Розница 2.2 это проявляется специфическим образом: в настройках подключаемого оборудования поле «Драйвер оборудования» оказывается пустым, а при попытке переустановки система выдает ошибки «Значение не является значением объектного типа» или «Установка внешней компоненты не выполнена». Рассмотрим подробно причины этого явления и разберем по шагам методы восстановления стабильной работы ККТ.
Проанализируем ситуацию, описанную в обращении. На главном узле РИБ связь с кассой АТОЛ 55Ф (драйвер 10-й версии) внезапно обрывается. При этом на уровне операционной системы драйвер работает корректно, тест связи проходит успешно. Проблема локализована внутри конфигурации 1С. Выясним причину возникновения типичных ошибок:
Одной из наиболее вероятных причин «исчезновения» драйвера является работа защитного ПО. Разберем, как это происходит. При инициализации оборудования 1С распаковывает внешнюю компоненту (файл fptr10.dll или аналогичный) из своего внутреннего справочника в папку временных файлов профиля пользователя Windows (обычно это путь в %AppData%\Local\1C\1cv8\...).
Проанализируем действия антивируса: он может заблокировать распаковку библиотеки, посчитав действие подозрительным, или удалить уже распакованный файл во время планового сканирования. В результате в справочнике ДрайверыОборудования запись о драйвере остается, но ссылка на фактический файл компоненты становится недействительной.
Что необходимо сделать:
Рассмотрим специфику распределенных баз. В 1С:Розница справочник ДрайверыОборудования участвует в обмене. При миграции предопределенных элементов или обновлении версии драйвера на главном узле, данные передаются на периферийные узлы. Если в процессе обмена файл компоненты (хранящийся в реквизите типа ХранилищеЗначения) передается некорректно, на подчиненном узле запись о драйвере «портится».
Разберем алгоритм восстановления синхронизации, если драйвер постоянно «слетает» на точках:
Если 1С выдает ошибку «Возможно отсутствует компонента для используемого приложения», это часто связано с разрядностью платформы и наличием необходимых системных библиотек. Несмотря на то что операционная система может быть 64-битной (x64), сама платформа 1С чаще всего используется 32-битная (x86).
Проанализируем необходимые компоненты для драйверов АТОЛ 10.х:
Иногда переустановка драйвера внутри интерфейса 1С не помогает из-за того, что старые «хвосты» в кэше мешают записи новых файлов. Разберем процесс ручной очистки:
%AppData%\Local\1C\1cv8\.ExtCompT. Именно здесь 1С хранит распакованные драйверы ККТ.В некоторых случаях (как упомянуто в сообщении 6) драйвер не «слетает», но связь работает нестабильно: чек печатается, а ответ в 1С не возвращается. Это приводит к программным ошибкам и рассинхронизации учета.
Рассмотрим настройку параметров в 10-й версии драйвера АТОЛ:
Подводя итог, можно сказать, что стабильность работы ККТ в 1С:Розница зависит от совокупности факторов: отсутствия блокировок со стороны антивируса, правильной настройки обмена в РИБ и чистоты локального кэша пользователя. Рекомендуется выполнять установку драйвера под пользователем с правами администратора системы, чтобы исключить ошибки регистрации COM-объектов.