При работе с контрольно-кассовой техникой (ККТ) в устаревших, но активно поддерживаемых конфигурациях, таких как 1С:Управление торговлей 10.3, пользователи часто сталкиваются с ситуацией, когда драйвер производителя работает корректно, тесты проходят, но сама 1С выдает критическую ошибку «Ошибка получения обработки обслуживания». Эта проблема становится особенно актуальной после обновления прошивок касс под требования маркировки или при переходе на работу через терминальный сервер (RDP).
В данной статье мы подробно разберем причины возникновения этой ошибки и совместно разработаем алгоритм ее устранения, опираясь на технические особенности взаимодействия 1С с торговым оборудованием.
Проанализируем механизм, по которому УТ 10.3 хранит настройки оборудования. В этой конфигурации записи в справочнике ТорговоеОборудование жестко привязаны к имени компьютера, на котором выполняется запуск системы. Если вы работаете через RDP, ситуация осложняется тем, что сервер может назначать переменные имена сессиям (например, ServerName-User1), или при замене локального ПК имя клиента меняется.
Рассмотрим ситуацию, описанную в сообщениях форума: после замены компьютера список кассовых смен оказался пуст. Это происходит потому, что 1С автоматически фильтрует данные по текущему рабочему месту. Чтобы убедиться в этом, выполним следующие шаги:
Если после снятия отборов смены появились, значит, 1С считает ваше текущее рабочее место «новым». В этом случае необходимо заново создать запись в справочнике «Торговое оборудование» именно для текущего имени ПК, а не пытаться использовать старую запись, которая подтягивается визуально, но фактически не инициализируется.
Одной из самых частых причин ошибки инициализации является использование устаревшего файла обработки обслуживания (с расширением .epf). После перепрошивки кассы под маркировку (ФФД 1.2) старые методы работы с драйвером перестают поддерживаться. Программа пытается вызвать функцию, которой нет в старой обработке, и выдает общую ошибку получения модуля.
Выясним, как правильно обновить обработку обслуживания. В новых релизах УТ 10.3 (начиная с 60-х версий) фирма 1С часто встраивает актуальные драйверы непосредственно в макеты конфигурации. Нам необходимо выполнить следующие действия:
Важный нюанс: для работы с маркировкой и новыми драйверами (например, Штрих-М версии 5.х или Атол версии 10.х) версия интерфейса обработки должна быть не ниже 2.0 или 3.0. Проверить это можно в карточке обработки в поле «Ревизия интерфейса».
Разберем техническую сторону взаимодействия. 1С:Предприятие 8.3 (особенно в терминальном режиме) может запускаться как 32-битное или 64-битное приложение. Драйверы ККТ также имеют разную разрядность. Ошибка получения обработки часто возникает из-за того, что 1С не может создать COM-объект драйвера (например, AddIn.ShtrihM).
Проанализируем ситуацию: тест в утилите «Тест драйвера» проходит успешно. Это объясняется тем, что утилита — это отдельное приложение, которое запускается в своей разрядности. Но когда 1С пытается загрузить ту же библиотеку, она терпит неудачу из-за отсутствия регистрации нужной версии DLL в реестре Windows.
Для решения проблемы выполним принудительную регистрацию библиотек от имени администратора. Для этого используем командную строку (cmd):
regsvr32 "C:\Program Files (x86)\Shtrih-M\Drivers415\Drivers\SMMediumReady.dll"
regsvr32 "C:\Program Files (x86)\Shtrih-M\Drivers415\Drivers\SDRV.dll"
Если вы используете 64-битную платформу 1С, убедитесь, что в системе установлены и зарегистрированы 64-битные версии драйверов. В случае с Атол 10 это решается установкой соответствующего дистрибутива Atol_KKT_10_x64.exe.
При работе через удаленный рабочий стол (RDP) временные файлы пользователя и ветки реестра могут иметь ограниченные права. При инициализации обработки обслуживания 1С пытается распаковать компоненту во временную папку %TEMP%. Если у пользователя недостаточно прав на запуск файлов из этого каталога или на запись в ветку реестра HKEY_CURRENT_USER\Software\1C\1Cv8\Conf\TradeWare, возникнет ошибка.
Посмотрим, как это исправить:
%AppData%\1C\1Cv8.Подводя итоги, отметим, что ошибка «Ошибка получения обработки обслуживания» в 90% случаев не связана с физической поломкой кассы. Это программный конфликт между версией конфигурации 1С, файлом обработки (EPF) и зарегистрированной в системе библиотекой драйвера.
Наиболее эффективный алгоритм действий выглядит так: обновить обработку обслуживания из конфигурации -> заново создать настройку торгового оборудования для текущего имени ПК -> зарегистрировать DLL драйвера через regsvr32. Если эти действия выполнены корректно, связь с кассой будет восстановлена, а кассовые смены начнут открываться без ошибок.