Pull to refresh

Как я интегрировал POS-терминал и ФР IKKM-Touch в 1С: предприятие

Reading time7 min
Views14K
image

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

Оригинальная статья в моем исполнении на эту тему уже есть на просторах интернета, а этот вариант переписан и доработан специально для читателей Хабра с соблюдением правил (надеюсь, ничего не нарушил). Итак…

Взаимодействие кассового оборудования с платформой 1С


Перед тем, как приступить непосредственно к подключению, разберем возможные варианты режимов работы, их всего два: оффлайн обмен данными и онлайн обмен.

При OFFLINE обмене


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

image

Курьер, к примеру, берет аппарат и едет в поле по заказам, раздавая клиентам фискальные чеки и принимая наличку и карты банков к оплате. После окончания рабочего дня, работник возвращается для сдачи отчета и денег, аппарат подключается к локальной сети предприятия и выгружает результаты рабочей смены (отчет о розничных продажах, см. рисунок ниже).

image

Классика жанра-ONLINE обмен


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

И еще пару важностей перед началом интеграции


Поскольку аппарат является и кассовым, и одновременно эквайринг-терминалом, в случае ONLINE обмена к платформе 1С он цепляется двумя разными драйверами (как два отдельных устройства).

Интегрировать будем при помощи:
драйвера фискального регистратора версии 1.9 для платформы 1С 8.3
драйвера эквайринг-терминала версии 1.9 для той же платформы
Программное обеспечение для обмена данными OFFLINE IKKM Exchange версии 1.6

Интегрируем c OFFLINE обменом


Распаковываем архив iKKMExchange.rar по ссылке выше в удобное место

image

Запускаем сценарий createINI.bat, при этом создается файл настроек Settings.ini

image

Подробнее остановимся на настройках, открыв Settings.ini в любом текстовом редакторе:

image

«Log»:«off» — журнал работы приложения, по умолчанию отключен.

«RecNumLim»:2500 -макс. кол-во Stock Keeping Unit (SKU) в базе номенклатуры. 2500-цифра по умолчанию.

«IPPort»:8082 порт по которому будет производиться обмен с 1С.

«Cash»:0, «Bank»:1, «Tara»:2, «Credit»: 3 — это параметры, которые должны быть идентичны и на стороне 1С платформы.

Cash -признак обозначает прием налички.

Bank -обозначает прием оплаты по карте банка.

Tara -обозначает прием тары. Признак используется в качестве учета скидки, в действующей системе лояльности и пр.

Credit -обозначение кредита.

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

Вносим изменения на свое усмотрение, сохраним файл.

После проведенных настроек, можно запустить iKKMExchange.exe. После успешного старта, в панели задач рабочего стола появится одноименная иконка.

image

Переходим к настройке на стороне интегрируемого аппарата IKKM


Для этого в аппарате заходим в пункт «Настройка аппарата», затем в «Импорт», в открывшемся окне интерфейса выполняем процедуры, показанные в видео ниже:



Как видно в видеоинструкции, в окне «Настройка соединения» нужно обратить особое внимание на заполнение двух строк: «Справочник товаров HTTP» и «Журнал документов HTTP».

Начинаются обе ссылки с IP-адреса ПК, куда будем интегрироваться, далее прописывается порт соединения (который ранее мы указывали в Settings.ini), после косой черты команда остается без изменений.

Таким образом, строка ссылки справочника будет выглядеть так:
192.168.0.11:8082/GetPriceList с учетом порта соединения по умолчанию.
А строка журнала документов так:
192.168.0.11:8082/SalesReport

Чтобы внести изменения в строки, нужно вызвать виртуальную клавиатуру на экран устройства нажатием физической кнопки на аппарате со значком «стрелка вверх», находится она в нижнем левом углу аппарата.

Может случиться и так, что в процессе настройки Вы обнаружили неактивные окна выпадающих списков на вкладке «Настройка импорта», что делает невозможным проведение дальнейшей интеграции. Это свидетельствует об устаревшей прошивке аппарата, обновление прошивки до последней версии исправит ситуацию.

image

Теперь вернемся к папке с приложением IKKMExchange.

Если настройки на стороне аппарата выполнены правильно, то первое взаимодействие с ПК по сети создаст внутреннюю подпапку, название которой будет носить регистрационный номер подключаемого аппарата IKKM. Все данные обмена для конкретного устройства будут проходить именно в этой папке.

image

Обмен данными происходит через REST API. Успешный обмен в папке будет выглядеть так:

image

OFFLINE настройка на стороне 1С


Заводим новое правило обмена с подключаемым оборудованием.

image

В окне «Настройки подключаемого оборудования» нужно установить соответствующую галочку, далее перейдем по ссылке «Правила обмена с подключаемым оборудованием».

image

Создадим новое правило для обмена с указанием наименования и склада для выгрузки товарных позиций, также укажем параметры по которым будет выбран товар для выгрузки в поле «Отбор».

image

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

image

Теперь нужно связать созданное правило с оборудованием, для этого вернемся к окну «Настройка подключаемого оборудования», перейдем по ссылке «Подключаемое оборудование».

image

Выбираем соответствующий тип оборудования, нажимаем на «Создать», в новом окне нужно указать драйвер, правило обмена, созданное нами ранее, серийный номер аппарата указать можно, но не требуется.

image

Проведем дополнительные настройки подключаемого оборудования, нажав в этом же окне
«Настроить».
«Версия формата обмена» — 1.6 из выпадающего списка.
«Каталог выгрузки» — путь к папке с серийным номером оборудования в каталоге iKKMExchange.
«Имя файла настроек» — прописываем «Settings».
«Макса файла прайс-листа» — нужно прописать «PriceList».
«Каталог загрузки» — путь аналогичен каталогу выгрузки.
«Имя файла отчета о продажах» — указываем «SalesReport».
Сохраняем изменения и выходим.

image

Несколько шагов ранее я отметил признаки команд, которые мы рассмотрели в документе Settings.ini, теперь предстоит продублировать их уже в учетной системе 1С.

Заходим в раздел, как показано на рисунке ниже:

image

По клавише «Создать» открывается окно добавления нового кассового оборудования в 1С.

Первым пунктом- указание корректного рабочего места.

Вторым можно указать серийный номер ККМ, это необязательное условие.

Третьим пунктом- выбирается ранее созданные настройки оборудования «KKM Offline»

В «Соответствии видов оплаты» (четвертый пункт на рисунке) указываем наименование и устанавливаем идентификационные значения из Settings.ini

image

Сохраним изменения и перейдем к последнему шагу настройки.

Проверим как данные будут выгружаться из 1С в соответствующую аппарату папку в IKKMExchange, переходим в нужный раздел 1С:

image

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

image

Выгрузка произойдет в папку с серийным номером Вашего ККМ.

image

Если открыть Settings.xml, то можно обнаружить коды оплаты, заданные нами ранее.

image

Настройка OFFLINE обмена завершена.

Если у Вас установлена последняя версия конфигурации 1С: розница, Вам будет также доступна функция автоматического обмена.

image

Настройка ONLINE обмена


Чтобы статья не превращалась в двухтомник, демонстрация настройки ONLINE обмена будет показана на примере IKKM, как фискального регистратора. Процесс настройки обмена с банковской частью аппарата (как эквайринг-терминала) выглядит аналогично. В примере используется конфигурация «1С: управление торговлей», процесс установки на других конфигурациях будет немного отличаться ввиду особенностей интерфейса, но принцип сохраняется.

Для начала, необходимо установить драйвер.

В окне пункта «РМК и оборудование», находим ссылку «Подключаемое оборудование» и переходим по ней.

image

Переходим на вкладку «Драйверы оборудования», далее нажимаем на клавишу «Добавить новый драйвер из файла».

image

Скачиваем архив с драйвером, выложенный в статье выше, и открываем его.

image

image

Первая прогрузка драйвера выдает ошибку. Чтобы продолжить интеграцию, нужно всего лишь повторить попытку инсталляции, и на второй раз драйвер будет успешно установлен.

image

image

Половина пути настройки ONLINE обмена пройдена, перейдем на вкладку «Подключение и настройка оборудования», тип подключаемого оборудования- «Фискальные регистраторы», нажимаем «Создать». Из выпадающего списка выберем iKKM.

image

image

После клика на «Настроить» откроется окно параметров выбранного нами оборудования, где стоит обратить внимание на параметр печати принтера «Кол-во символов в строке»: для встроенного в iKKM принтера (ширина бумаги 57мм) подходит стандартный параметр (двадцать четыре символа), если подключать внешний принтер (80мм и выше) можно использовать и другие значения (тридцать шесть, сорок восемь символов).

В пункте «IP-адрес» нужно указать ip без добавления порта iKKM-аппарата в сети, предварительно задав ему статический адрес посредством роутера.

«Где будем хранить API ключ» — пункт в котором размещаем удобную для Вас директорию с текстовым документом динамического API-ключа для защиты проводимых по сети операций. Каждый раз при проведении фискальной операции ключ будет заменен на другое значение.

Пункт «WEB API ключ» должен содержать текущий ключ защиты.

image

Tекущий API-ключ можно получить из веб-интерфейса аппарата, обратившись к нему после подключения к сети через браузер «ip-адрес аппарата:8080».

image

Все настройки внесены, теперь можно провести тест устройства.

image

Ура, настройка ФР успешно завершена!

Напоследок еще один трюк


Если в процессе использования аппарата, Вы не можете провести продажу через iKKM того, или иного товара (аппарат не пробивает его в чеке), проверьте настройки округления в Вашей 1С:

Правильный вариант для 1С: Розница, 1С: Аптека

image

Для 1С: Ресторан

image

Всем добра, быстрых и удобных Вам касс!
Tags:
Hubs:
+5
Comments8

Articles