При обновлении технологической платформы «1С:Предприятие» до версии 8.3.12 и выше пользователи часто сталкиваются с неприятной ситуацией: исправно работавшее кассовое оборудование (ККТ) внезапно «отваливается». При попытке пробить чек или открыть смену программа выдает ошибку о том, что драйвер не установлен или компонента не загружена. Рассмотрим подробно, почему это происходит и как быстро вернуть кассу в рабочий строй.
Для начала разберем механизм установки 1С. Каждая новая версия платформы устанавливается в отдельную директорию на диске. Например, если старая версия находилась по пути C:\Program Files\1cv8\8.3.10.2561\bin, то новая версия 8.3.12.1567 создаст свою собственную папку C:\Program Files\1cv8\8.3.12.1567\bin.
Проблема заключается в следующем: многие драйверы торгового оборудования, особенно старых версий (например, АТОЛ 8.х), для своей работы требуют наличия определенных библиотек (файлов .dll) непосредственно в папке запуска программы. Когда вы запускаете новую версию платформы, она ищет эти компоненты в своем новом каталоге bin, где их, разумеется, нет. Старые настройки регистрации в реестре могут продолжать ссылаться на пути предыдущей версии, либо внешняя компонента просто не подхватывается из-за изоляции новой папки установки.
Проанализируем ситуацию, описанную в обсуждении: пользователю удалось восстановить работу, просто скопировав нужные файлы. Это самый быстрый способ, если у вас нет времени на полную переустановку драйверов в разгар рабочего дня.
Рассмотрим по шагам, что именно нужно сделать:
C:\Program Files (x86)\ATOL\Drivers8\bin для 32-битных систем или аналогичный путь для 10-й версии).FprnM1C.dll или FprnM1C82.dll — внешняя компонента для связи с 1С.DtoSPrn.dll — основная библиотека драйвера.fptr10.dll.C:\Program Files\1cv8\8.3.12.1567\bin (номер версии может отличаться).После этих действий запустим 1С и проверим подключение оборудования. В большинстве случаев «касса взлетает» сразу, так как платформа находит необходимые зависимости в своем рабочем каталоге.
Хотя копирование файлов помогает, это не самое чистое решение с точки зрения системного администрирования. Правильнее будет зарегистрировать библиотеку в реестре Windows, чтобы любая версия платформы знала, где искать драйвер. Проанализируем, как это сделать через командную строку.
Выполним следующие действия от имени администратора:
regsvr32 "C:\Путь_к_папке_драйвера\FprnM1C.dll"
Если регистрация прошла успешно, система выдаст подтверждающее сообщение. Теперь 1С сможет обращаться к компоненте по ее уникальному идентификатору (GUID) независимо от того, в какой папке запущена сама платформа.
Выясним еще одну критическую причину, по которой драйвер может не работать в версии 8.3.12 и выше. Начиная с этого периода, многие пользователи начали массово переходить на 64-битную версию платформы 1С.
Важно понимать: 64-битная версия 1С не может работать с 32-битными библиотеками (DLL). Если вы установили платформу x64, а драйвер ККТ у вас старый (например, АТОЛ 8.14), который является 32-битным, то никакое копирование файлов в bin не поможет. В этом случае у вас есть два пути:
Рассмотрим подробнее изменения в механизмах безопасности 1С. В версиях 8.3.12+ платформа стала строже относиться к запуску внешнего кода. Если драйвер все равно не подгружается, проверим настройки профилей безопасности в кластере серверов (если работа идет в клиент-серверном варианте) или настройки защиты от опасных действий в профиле пользователя.
Также стоит проверить наличие необходимых системных библиотек Microsoft Visual C++ Redistributable. Драйверы АТОЛ и других производителей часто написаны на C++ и требуют пакетов 2008, 2013 или 2015 года. При обновлении 1С эти компоненты не устанавливаются автоматически, и если вы параллельно обновили сам драйвер, ему может не хватать системной среды.
Чтобы избежать подобных проблем в будущем, разберем оптимальный алгоритм обновления:
Подведем итог: если после обновления 1С «слетела» касса, в первую очередь проверьте наличие библиотек в папке bin новой платформы и соответствие разрядности программы и драйвера. Метод копирования DLL, предложенный в обсуждении, является рабочим «быстрым» средством, но для долгосрочной стабильности рекомендуем использовать штатные инсталляторы производителей оборудования и механизмы управления драйверами внутри самой 1С.