При переходе на требования формата фискальных данных 54-ФЗ в конфигурации «1С:Управление торговлей 10.3» и подключении кассовой техники АТОЛ (например, АТОЛ 22 ПТК / FPrint-22ПТК) пользователи и программисты нередко сталкиваются с ошибкой при попытке снять отчет без гашения (X-отчет). В окне сообщений 1С возникает исключительная ситуация: «Ошибка вызова метода <ОбъектДрайвера.НапечататьОтчетБезГашения>» или «Метод объекта не обнаружен (НапечататьОтчетБезГашения)». Выясним причину этой неполадки и разберем по шагам, как настроить корректную работу оборудования.
Проанализируем, как в типовом решении реализован данный вызов. В версиях конфигурации до релиза 10.3.42.1 функции печати промежуточных отчетов в модулях обслуживания фискальных регистраторов нередко являлись заглушками:
Функция XОтчет(Объект, Пароль, НомерЧека, НомерСмены) Экспорт
Результат = мНетОшибки;
// Не используется, оставлена для совместимости
Возврат Результат;
КонецФункции
Начиная с обновлений под 54-ФЗ, в обработках обслуживания появился прямой вызов команд через универсальный драйвер БПО:
Функция XОтчет(Объект, Пароль, НомерЧека, НомерСмены) Экспорт
РезультатВыполнения = ПодключаемоеОборудованиеУниверсальныйДрайверКлиент.ВыполнитьКоманду("НапечататьОтчетБезГашения",
, мВыходныеПараметры, Объект.Драйвер, мПараметрыУстройства, мПараметрыПодключения);
Если Не РезультатВыполнения Тогда
Результат = мОшибкаНеизвестно;
Объект.ОписаниеОшибки = мВыходныеПараметры[1];
Иначе
Результат = мНетОшибки;
Объект.Вставить("ВыходныеПараметры", мВыходныеПараметры);
КонецЕсли;
Возврат Результат;
КонецФункции
При обращении к объекту драйвера на низком уровне выполняется инструкция:
Результат = ОбъектДрайвера.НапечататьОтчетБезГашения(ПараметрыПодключения.ИДУстройства);
Если используемая внешняя компонента драйвера устарела, не зарегистрирована или подменяется старой версией из кэша, вызов завершается аварийно, так как COM-объект не содержит метода НапечататьОтчетБезГашения.
Рассмотрим подробнее, почему платформа 1С не может найти указанный метод у драйвера торгового оборудования:
FprnM1C.dll ориентирована на классические фискальные регистраторы и не содержит методов стандарта 54-ФЗ. Для касс с онлайн-передачей данных используется библиотека FprnM1C82_54FZ.dll.ExtCompT, расположенный по пути %AppData%\1C\1Cv8\ExtCompT. Даже после установки нового ДТО платформа продолжает инициализировать старую версию файла из кэша сеанса.Разберем по шагам последовательность действий, которая позволяет устранить сбой.
%AppData%\1C\1Cv8\ и удалим папку ExtCompT. Также проверим наличие аналогичной папки в %LocalAppData%\1C\1Cv8\ и при необходимости очистим её. Это исключит повторную загрузку устаревшей версии FprnM1C82_54FZ.dll.Запустим командную строку cmd.exe от имени Администратора. Для 32-разрядной платформы 1С выполним команду регистрации через 32-битный regsvr32 из каталога SysWOW64:
C:\Windows\SysWOW64\regsvr32.exe "C:\Program Files (x86)\ATOL\Drivers8\BIN\FprnM1C82_54FZ.dll"
Убедимся, что операционная система выдала сообщение: DllRegisterServer в FprnM1C82_54FZ.dll завершено успешно.
Откроем информационную базу и перейдем в меню: Сервис -> Торговое оборудование -> Подключение и настройка торгового оборудования.
Выберем используемую кассу, откроем окно «Параметры...», нажмем «Тест устройства» и обязательно нажмем кнопку «Записать и закрыть» («ОК»), чтобы актуальная структура параметров драйвера перезаписалась в базе данных.
.epf), убедимся, что используется версия обработки, поставляемая с релизом конфигурации не ниже 10.3.42.1.Если требуется снять показания выручки за смену до проведения настроек, можно воспользоваться альтернативными путями:
Таким образом, корректная регистрация библиотеки FprnM1C82_54FZ.dll нужной разрядности и очистка каталога ExtCompT полностью восстанавливают штатную печать X-отчетов из типовых документов и меню конфигурации.