Как подключить кассовый аппарат Меркурий 185Ф к 1С 7.7 «Торговля и Склад»

Программист 1С v7.7 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Вопрос интеграции современного кассового оборудования с платформой 1С:Предприятие 7.7 (так называемыми «клюшками») становится все более острым. В частности, популярная автономная касса Меркурий 185Ф часто встречается у малого бизнеса, который не спешит переходить на 1С 8.3. В данной статье мы разберем, как преодолеть технические ограничения и «подружить» эти две системы, несмотря на отсутствие официальной поддержки со стороны производителя.

Проблема совместимости и режим работы ККТ

Рассмотрим первопричину сложностей. По умолчанию Меркурий 185Ф — это автономная кассовая машина (АКМ). Однако для полноценной работы с 1С нам необходимо, чтобы устройство работало в режиме фискального регистратора (ФР). Проанализируем техническую возможность: как отмечают специалисты, касса переводится в режим ФР буквально несколькими нажатиями кнопок в меню настроек самого аппарата. В этом режиме касса перестает реагировать на собственную клавиатуру (кроме системных клавиш) и начинает исполнять команды, поступающие через интерфейс USB или Wi-Fi.

Тем не менее, основная проблема кроется в драйверах. Официальный софт от компании «Инкотекс» для платформы 7.7 более не поддерживается. Поэтому нам придется рассмотреть альтернативные пути решения задачи.

Вариант 1. Использование универсального драйвера-посредника (KkmServer)

Проанализируем наиболее стабильный на текущий момент способ — использование специализированного программного обеспечения, такого как KkmServer. Этот программный комплекс выступает в роли «моста» между современными протоколами касс и старыми технологиями 1С 7.7.

Разберем по шагам, как работает эта схема:

  1. Устанавливаем KkmServer на компьютер, к которому подключена касса.
  2. В настройках программы добавляем устройство, выбираем протокол «Меркурий» и указываем соответствующий COM-порт.
  3. В конфигурации 1С 7.7 мы подключаемся к KkmServer не как к прямому драйверу кассы, а как к внешнему COM-объекту или через HTTP-запросы.

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

Вариант 2. Прямое подключение через библиотеку AddIn.MercuryFPDRV

Если мы решим пойти путем прямой интеграции, нам потребуется старая библиотека драйвера, которая еще сохранила совместимость с OLE/COM. Посмотрим на пример кода, который инициализирует работу с кассой в 1С 7.7:


// Пример инициализации объекта кассы
Попытка
    ЗагрузитьВнешнююКомпоненту("MercuryFPDRV.dll");
    Касса = СоздатьОбъект("AddIn.MercuryFPDRV");
Исключение
    Предупреждение("Не удалось загрузить драйвер кассы Меркурий!");
КонецПопытки;

Выясним причину, по которой этот метод может не сработать. Современные прошивки Меркурия могут использовать обновленные протоколы обмена, которые старая dll просто не поймет. Кроме того, при работе через USB-кабель система создает виртуальный COM-порт. Важно убедиться, что в диспетчере устройств установлен драйвер STM32 Virtual COM Port, иначе 1С не увидит устройство.

Вариант 3. Работа в режиме Off-line (Загрузка базы товаров)

Если бюджет ограничен, а стабильности в режиме ФР добиться не удается, рассмотрим вариант Off-line обмена. В этом случае 1С 7.7 не управляет кассой в момент пробития чека. Вместо этого мы реализуем механизм выгрузки справочника товаров.

Проанализируем алгоритм работы:

  1. В 1С 7.7 пишем обработку, которая формирует текстовый файл (обычно формат CSV или специальный формат Инкотекс) со списком товаров, штрихкодов и цен.
  2. С помощью утилиты MercConfig (или аналогичных) этот файл загружается в память Меркурия 185Ф.
  3. Кассир пробивает чеки автономно, вводя код товара или сканируя штрихкод.
  4. В конце смены касса выгружает отчет о продажах, который загружается обратно в 1С для списания остатков.

Рассмотрим пример формирования строки для выгрузки товара:


ТекстВыгрузки = Строка(КодТовара) + ";" + ТоварНаименование + ";" + Строка(Цена) + ";0;0;0;";
// Где параметры после цены отвечают за налоговые ставки и отделы

Проблема маркировки и ФФД 1.2

Важно понимать, что при работе с маркированными товарами (обувь, одежда, молочная продукция) через 1С 7.7 возникают критические сложности. Код маркировки (DataMatrix) должен передаваться в кассу в определенном формате. Старые типовые обработки «Торговли и Склада» не содержат полей для передачи Тега 1162 или Тега 1163.

Для решения этой задачи в 1С 7.7 придется значительно перерабатывать модуль печати чека в глобальном модуле или в самой обработке обслуживания ККМ. Проанализируем ситуацию: проще и надежнее использовать KkmServer, так как он позволяет передавать строку маркировки в простом текстовом виде, самостоятельно преобразуя ее в нужный формат для ФН.

Настройка портов и оборудования

Разберем технический нюанс подключения по USB. При подключении Меркурий 185Ф к ПК часто определяются два устройства. Нам нужно выбрать именно то, которое отвечает за протокол ФР. Проверить это можно через тестовую утилиту от производителя. Если 1С «зависает» при обращении к порту, попробуйте изменить скорость обмена в настройках кассы и драйвера (обычно это 115200 или 57600 бод).

Заключение

Подводя итог, можно сказать, что связка Меркурий 185Ф и 1С 7.7 — это рабочее, но трудозатратное решение. Рассмотрим наши действия: если необходима полноценная работа в режиме реального времени, выбираем KkmServer. Если достаточно обновления цен раз в день — используем Off-line обмен. Прямое использование старых драйверов AddIn.MercuryFPDRV в 2024 году мы рекомендовать не можем из-за их несовместимости с новыми требованиями законодательства по маркировке товаров.

← На главную