При работе с торговым оборудованием в конфигурациях 1С (таких как 1С:Комплексная автоматизация, 1С:Управление торговлей или 1С:Управление нашей фирмой) нередко возникает критическая ошибка: чек фактически печатается и данные уходят в ОФД, однако сразу после этого клиентское приложение 1С аварийно закрывается с системной ошибкой Windows (APPCRASH, код исключения 0xc0000005).
Чаще всего в журнале событий Windows в качестве сбойного модуля указывается временный файл вида v8_XXXX_XX.tmp (например, v8_9655_59.tmp или v8_F8D_8.tmp), расположенный в каталоге пользователя %TEMP%, со ссылкой на библиотеку драйвера ККТ АТОЛ.
Проанализируем природу этой неисправности, разберем причины конфликта и рассмотрим проверенные способы восстановления стабильной работы кассового узла.
Ошибка с кодом 0xc0000005 означает Access Violation (нарушение прав доступа к памяти). Разберем, как именно устроена работа платформы с торговым оборудованием и почему происходит сбой:
C:\Users\<Пользователь>\AppData\Local\Temp\ под случайными именами с расширением .tmp.9.11.0.5549–9.11.0.5656) при переходе на формат фискальных данных ФФД 1.05 присутствовала ошибка в коде компоненты: после успешной фискализации чека драйвер пытался обратиться к неверному адресу памяти или некорректно освобождал строковый буфер ответа, что приводило к мгновенному падению процесса 1cv8.exe или 1cv8c.exe.x86). Попытка загрузить 64-битные системные библиотеки драйвера в 32-битный сеанс на терминальном сервере x64 приводит к аварийному завершению.Разберем базовое решение проблемы в конфигурациях на обычных и управляемых формах без смены линейки драйвера. Если вы используете драйвер АТОЛ 9.x, необходимо строго сопоставить версию внешней обработки обслуживания с установленным дистрибутивом драйвера.
Сервис -> Торговое оборудование -> Подключение и настройка торгового оборудования (в управляемых формах: Администрирование -> Подключаемое оборудование).При работе в терминальном режиме (RDP) на 64-битных версиях Windows часто ошибочно устанавливают 64-разрядный пакет драйверов. Проанализируем правильный порядок установки компонентов:
C:\Program Files (x86)\1cv8\ или C:\Program Files (x86)\1cv82\).Установка драйвера не завершена, скопируем необходимые библиотеки (fptr*.dll) вручную из папки установленного драйвера (C:\Program Files (x86)\ATOL\Drivers\bin\) в системный каталог исполняемых файлов платформы bin (например, C:\Program Files (x86)\1cv82\8.2.19.130\bin\).Линейка драйверов 9.x была переходной и признана производителем устаревшей. Наиболее надежным и долговременным решением является переход на драйвер АТОЛ ДТО 10.x (версии 10.8, 10.9 или новее).
АТОЛ:ККТ с передачей данных в ОФД 10.Х.Если обновление драйверов выполнено, но сбой сохраняется на определенных рабочих местах, проанализируем настройки безопасности операционной системы Windows:
.tmp-библиотеки в памяти. Добавим исполняемые файлы 1cv8.exe и 1cv8c.exe в список исключений DEP через Свойства системы -> Дополнительно -> Быстродействие -> Предотвращение выполнения данных.%TEMP% и маску v8_*.tmp в список исключений файлового антивируса и EDR-систем, чтобы исключить блокировку дескрипторов библиотек в момент их выгрузки.