SetRetail10 ◾️ Установка и настройка ТС ПИоТ

Публичное пространство

SetRetail10 ◾️ Установка и настройка ТС ПИоТ

Описание

В данной статье приведена инструкция по установке и настройке компонентов Технического средства получения информации о товаре (ТС ПИоТ), включая контроллер ЛМ и модуль ЕСМ.

Установка контроллера ЛМ

Контроллер ЛМ устанавливается на ПК с ЛМЧЗ. Настройка модуля не требуется.

  1. Скачайте дистрибутив контроллера ЛМ из личного кабинета ЕСП в зависимости от ОС.

  2. Установите модуль:

    • Windows: установка в интерактивном режиме через .exe.

    • Ubuntu: установка с помощью утилиты dpkg:

sudo dpkg -i ./esm-lm-controller_*_amd64.deb

Установка ЕСМ

ОС Ubuntu

  1. Скачайте дистрибутив ЕСМ из личного кабинета ЕСП на кассу.

  2. Дайте права на выполнение сценария и запустите его:

sudo chmod +x esm_*_ubuntu22.run ./esm_*_ubuntu22.run
  1. Дождитесь окончания установки.

  2. Перезапустите кассу командой cash reboot.

ОС TinyCore

  1. Скачайте дистрибутив ЕСМ из личного кабинета ЕСП на кассу.

  2. Дайте права на выполнение сценария и запустите его:

sudo chmod +x esm_*_tinycore8.run ./esm_*_tinycore8.run
  1. Дождитесь окончания установки.

  2. Добавьте ЕСМ и ДККТ в автозагрузку, добавив строки esm-csi-dkkt.tcz и esm.tcz в файл /etc/sysconfig/tcedir/onboot.lst.

image-20251210-113329.png
  1. Перезапустите кассу командой cash reboot.

Настройка ЕСМ

  1. Откройте смену на кассе.

  2. Выполните запрос получения списка подключенных ДККТ:

curl --location 'http://127.0.0.1:51077/api/v1/dkktList'
  1. Выполните запрос создания сервиса ЕСМ с id = kktSerial из запроса выше:

curl --location --request POST 'http://127.0.0.1:51077/api/v1/tspiot' --header 'Content-Type: application/json' --data '{"id": "0123456789"}'
  1. Запустите сервис, при необходимости:

curl --location --request POST 'http://127.0.0.1:51077/api/v1/service/start/0123456789'
  1. Выполните запрос регистрации сервиса ЕСМ с данными из запроса списка подключенных ДККТ:

curl --location --request PUT 'http://127.0.0.1:51077/api/v1/tspiot' --header 'Content-Type: application/json' --data '{"id": "0123456789", "kktSerial": "0123456789", "fnSerial": "9999000123456789", "kktInn": "0987654321"}'
  1. Выполните запрос установки настроек связи ЕСМ с ЛМ ЧЗ, указав актуальные учетные данные от вашего сервера ЛМЧЗ с контроллером ЛМ:

curl --location --request PUT 'http://127.0.0.1:51077/api/v1/settings/lm/0123456789' --header 'ContentType: application/json' --data '{"address":"192.168.0.1","port":50063,"login":"admin","password":"admin"}'

Настройка ТС ПИоТ на сервере

  1. На сервере перейдите в раздел ИнтеграцияВнешние процессинги → добавьте процессинг Валидация в ТС ПИоТ.

image-20260624-100531.png
  1. Выберите магазин или установите флажок image2021-3-24_11-29-30.png Для всей сети → настройте параметры → сохраните изменения.

    • Адрес сервера валидации: https://127.0.0.1:51401

    • Таймаут соединения, мс: укажите необходимое значение (по умолчанию 2000 мс).

    • Настройте необходимые группы товаров.

image-20260624-101624.png
  1. В БД на сервере настройте приоритет валидации на ТС ПИоТ с помощью скрипта.

  • По всей сети:

UPDATE sales_management_properties SET property_value='true', send_status=0 WHERE property_key='check.excise.tspiot.primary' AND module_name='MARK_PRODUCT_SERVICE';
  • На кассе или в магазине:

DO $$ DECLARE _shop bigint := 148; -- Магазин для настройки _cash bigint := 20; -- Касса для настройки, 0 если для всех _property_value text := 'true'; -- 'false' если хотим отключить _property_id bigint; _exists boolean; BEGIN -- 1. Получаем ID свойства один раз SELECT id INTO _property_id FROM sales_management_properties WHERE property_key = 'check.excise.tspiot.primary'; -- Проверка, нашли ли свойство вообще IF _property_id IS NULL THEN RAISE EXCEPTION 'Свойство check.excise.tspiot.primary не найдено в базе!'; END IF; -- 2. Проверяем существование КОНКРЕТНО этой настройки (добавили id в условие) SELECT EXISTS( SELECT 1 FROM sales_management_properties_shop_cash WHERE id = _property_id AND shop = _shop AND cash = _cash ) INTO _exists; IF NOT _exists THEN INSERT INTO sales_management_properties_shop_cash (id, shop, property_value, cash, send_status) VALUES (_property_id, _shop, _property_value, _cash, 0); RAISE NOTICE 'Запись для магазина % добавлена.', _shop; ELSE -- 3. Если есть - обновляем значение (чтобы можно было выключить обратно) UPDATE sales_management_properties_shop_cash SET property_value = _property_value, send_status = 0 WHERE id = _property_id AND shop = _shop AND cash = _cash; RAISE NOTICE 'Запись для магазина % ОБНОВЛЕНА.', _shop; END IF; END $$;
  1. После спуска настроек перезапустите кассовый модуль командой cash restart.

Проверка работы

  1. Выполните запрос для проверки работы ЕСМ:

curl -k --location https://127.0.0.1:51401/api/v1/codes/check --header 'Content-Type: application/json' --data '{"codes":["MDQ2MDE2NTMwMzU4MjlIO2RWKWJGQUNWVWRHVno="],"client_info":{"name":"1","version":"2","id":"e61ef225-8892-4986-be93-c4fac3dfbe04","token":"4"}}'
  1. Проведите тестовую продажу маркированного товара.

  2. Проверьте появление кассы в ЛК ЕСП.