Как исправить ошибку «Метод объекта не обнаружен (ПолучитьПараметрыККТ)» при открытии смены на VikiPrint в 1С:Розница

Программист 1С v8.3 (Управляемые формы) 1С:Розница Торговля и дистрибуция
← На главную

При работе с торговым оборудованием в решениях «1С:Предприятие» пользователи и администраторы нередко сталкиваются с ситуацией, когда внешне всё настроено корректно, тест устройства в базе данных проходит без замечаний, но при попытке совершить реальную кассовую операцию (например, открыть смену или пробить чек) система выдает критическую ошибку. Одной из таких распространенных проблем является сбой с сообщением «Метод объекта не обнаружен (ПолучитьПараметрыККТ)» при использовании фискальных регистраторов семейства VikiPrint (в частности, VikiPrint-57F) в конфигурации 1С:Розница.

В этой статье мы подробно разберем, почему возникает эта ошибка, проанализируем внутренние механизмы взаимодействия платформы с драйвером ККТ и рассмотрим несколько проверенных практических способов решения проблемы — от простой перенастройки обработчика в пользовательском интерфейсе до внесения изменений в программный код общего модуля.

Выясняем техническую причину ошибки

Для того чтобы эффективно решить проблему, нам необходимо понять физику процесса взаимодействия 1С и кассового аппарата. В современных конфигурациях 1С вся работа с торговым оборудованием строится на базе БПО — Библиотеки подключаемого оборудования. БПО стандартизирует вызовы функций ККТ, предоставляя программистам универсальный программный интерфейс (API).

Когда мы нажимаем кнопку «Открыть смену», система выполняет код из общего модуля клиента, который подготавливает параметры для ККТ и инициализирует связь. В нашем случае сбой происходит в общем модуле ПодключаемоеОборудованиеУниверсальныйДрайверКлиент на строке, где вызывается метод ПолучитьПараметрыККТ.

Смысл этой ошибки заключается в следующем:

  1. Конфигурация «1С:Розница» была обновлена, и ее встроенная БПО перешла на новые стандарты работы с кассами по форматам фискальных данных (ФФД 1.05 или 1.2). Новые стандарты требуют обязательного опроса параметров ККТ перед выполнением фискальных операций.
  2. Для этого БПО пытается вызвать из внешней компоненты (драйвера DKViki_1C8.dll) метод ПолучитьПараметрыККТ.
  3. Однако на рабочем месте установлена устаревшая версия интеграционной компоненты драйвера (например, версия 1.2.0.920), в которой разработчики «Дримкас» еще физически не реализовали этот метод. В результате операционная система возвращает ошибку о том, что метод в объекте драйвера не обнаружен.
  4. При этом тест связи в настройках торгового оборудования проходит успешно, так как функция базовой проверки связи (тестирования) использует другие, более старые и стабильные методы API, которые присутствуют во всех версиях драйверов.

Ниже представлены четыре подробных способа устранения данной неисправности.


Способ 1. Изменение обработчика драйвера оборудования (Решение без программирования)

Это самый быстрый способ вернуть кассу в рабочее состояние, если у вас нет возможности прямо сейчас обновлять драйверы или конфигурацию 1С. Суть метода заключается в переключении 1С на использование старой схемы интеграции, которая не пытается вызывать новые функции из DLL.

Рассмотрим по шагам, как перенастроить обработчик в режиме «1С:Предприятие»:

  1. Перейдите в раздел Администрирование, далее выберите пункт Подключение и настройка оборудования.
  2. В открывшемся окне найдите ваше подключенное устройство ККТ с передачей данных и откройте его карточку.
  3. Обратите внимание на поле Драйвер оборудования (или обработчик). Скорее всего, там выбран современный драйвер интеграции, например, «Дримкас: драйвер VikiPrint для 1с с ОФД и ЕГАИС».
  4. Нам необходимо заменить его на классический обработчик, работающий по старым стандартам. Для этого нажмите на кнопку перехода к справочнику «Драйверы оборудования».
  5. Если в списке доступен обработчик «Дримкас: Фискальные регистраторы VikiPrint» (без приставки ОФД/ЕГАИС в названии обработчика драйвера), выберите его. Этот обработчик работает по стабильному, проверенному временем протоколу и не будет запрашивать отсутствующий метод ПолучитьПараметрыККТ.

Если поле обработчика заблокировано из-за наличия связанных документов или закрытых смен, воспользуемся стандартным инструментом администратора 1С:

  1. Перейдите в меню Администрирование — Обслуживание — Групповое изменение реквизитов.
  2. В поле «Изменять объекты» выберите справочник Драйверы оборудования.
  3. Добавьте отбор по вашему конкретному драйверу ККТ, чтобы не изменить лишнего.
  4. В табличной части реквизитов найдите строку Обработчик драйвера.
  5. В колонке «Новое значение» выберите из выпадающего списка предопределенный элемент ОбработчикДримкасФискальныеРегистраторыVikiPrint (или аналогичный старый обработчик из вашей конфигурации).
  6. Нажмите кнопку Изменить реквизиты.
  7. После изменения перезапустите сеанс работы «1С:Розница» и повторите попытку открытия смены.

Способ 2. Обновление интеграционной компоненты драйвера Дримкас (Рекомендуемый способ)

Перевод оборудования на старые обработчики — это временная мера. Для полноценной поддержки требований законодательства (включая маркировку товаров и новые форматы чеков) настоятельно рекомендуется обновить сам драйвер ККТ до актуальной версии, в которой метод ПолучитьПараметрыККТ уже полностью реализован разработчиками.

Выполним процедуру обновления по шагам:

  1. Перейдите на официальный портал технической поддержки «Дримкас» в раздел загрузок для фискальных регистраторов VikiPrint.
  2. Найдите и скачайте актуальный архив интеграционной компоненты для 1С (рекомендуется использовать версии драйвера ветки 1.4.x или более новые версии 2.x, например, содержащие компоненту DKViki_1C8_1.4.2.6_Win32.dll и старше).
  3. В режиме «1С:Предприятие» откройте форму Администрирование — Подключаемое оборудование — Драйверы оборудования.
  4. Найдите элемент «Дримкас: драйвер VikiPrint...», откройте его форму и нажмите кнопку Функции — Установить драйвер из файла (или нажмите кнопку добавления нового драйвера, если вы хотите сохранить старый для истории).
  5. Укажите путь к скачанному с сайта производителя ZIP-архиву, содержащему новую компоненту и файл манифеста. Система автоматически распакует и зарегистрирует новые библиотеки в базе данных 1С.
  6. После этого зайдите в настройки вашего фискального регистратора и нажмите кнопку Тест устройства. Система должна предложить перезаписать компоненту на локальном компьютере пользователя. Согласитесь с обновлением.
  7. Перезапустите платформу 1С и проверьте открытие смены. Теперь вызов метода ПолучитьПараметрыККТ отработает корректно, так как он физически присутствует в обновленной библиотеке.

Способ 3. Программный обход ошибки в конфигураторе (Для разработчиков)

Если у вас нет возможности оперативно обновить драйвер или изменить настройки торговых точек на стороне пользователей, данную ошибку можно локализовать непосредственно в программном коде БПО. Мы можем «заглушить» вызов проблемного метода, обернув его в безопасный блок обработки исключений.

Проанализируем структуру вызова в конфигураторе. Откройте конфигуратор вашей базы данных «1С:Розница» и выполните следующие действия:

  1. С помощью глобального поиска найдите общий модуль ПодключаемоеОборудованиеУниверсальныйДрайверКлиент.
  2. Перейдите к строке кода, указанной в тексте ошибки (обычно это район 600–615 строки в зависимости от релиза конфигурации). Найдите вызов метода ПолучитьПараметрыККТ у объекта драйвера.
  3. Оригинальный код выглядит примерно следующим образом:

Результат = ОбъектДрайвера.ПолучитьПараметрыККТ(ПараметрыПодключения.ИДУстройства, ПараметрыККТ);
  1. Замените эту строку безопасной конструкцией, которая в случае отсутствия метода в компоненте просто проигнорирует ошибку и позволит алгоритму открытия смены выполняться дальше:

Попытка
    Результат = ОбъектДрайвера.ПолучитьПараметрыККТ(ПараметрыПодключения.ИДУстройства, ПараметрыККТ);
Исключение
    // Заполняем структуру минимальными параметрами по умолчанию, если метод в DLL отсутствует
    Результат = Истина;
    ЗаписатьЛогСобытия("VikiPrint: Метод ПолучитьПараметрыККТ не поддерживается текущей версией драйвера.", УровеньЖурналаРегистрации.Предупреждение);
КонецПопытки;

Если ваша конфигурация находится на поддержке и вы не хотите снимать ее с поддержки, настоятельно рекомендуем выполнить эту доработку с помощью механизма Расширений конфигурации. Для этого создайте новое расширение, добавьте в него общий модуль ПодключаемоеОборудованиеУниверсальныйДрайверКлиент и примените аннотацию &Вместо или &ИзменениеИКонтроль для переопределения метода работы с универсальным драйвером.


Способ 4. Настройка связи через службу ComProxy (Сетевое подключение ККТ)

Иногда сбои при инициализации внутренних параметров драйвера ККТ в 1С происходят из-за того, что виртуальный COM-порт, выделенный под кассу в операционной системе Windows, блокируется сторонними процессами или службами мониторинга. Касса VikiPrint физически общается с компьютером через службу ComProxy (или службу VikiDriver).

Проанализируем правильность настройки этой цепочки:

  1. Убедитесь, что в операционной системе Windows служба ComProxy установлена, находится в статусе «Выполняется» и настроена на автоматический запуск при старте системы.
  2. Запустите сервисную утилиту налогового инспектора Fito (официальная утилита Дримкас для настройки касс). Выберите пункт меню Функции — Параметры связи и проверьте работоспособность кассы через утилиту.
  3. Если в Fito связь установлена с использованием локального IP-адреса и порта (например, адрес 127.0.0.1 и порт 50003), то и в настройках подключения ККТ внутри «1С:Розница» необходимо изменить тип подключения.
  4. Вместо физического или виртуального COM-порта выберите тип подключения TCP/IP. Укажите IP-адрес ПК (или 127.0.0.1 для локальной машины) и порт службы ComProxy. Такой способ передачи данных через сетевой стек TCP/IP гораздо стабильнее работы с виртуальными COM-портами Windows и помогает избежать множества неявных ошибок блокировки портов.

Применяя данные методы, вы сможете быстро и профессионально диагностировать проблему несовместимости программных интерфейсов ККТ VikiPrint и оперативно восстановить процесс продаж на торговой точке.

← На главную