Логика импорта рекламных акций из ERP и настройка

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

Логика импорта рекламных акций из ERP и настройка

Настройка импорта

В SetRetail10 импорт рекламных акций из ERP реализован только через Web-сервис.

Загрузить рекламную акцию с помощью файла можно с помощью инструмента SetConsole.

Ошибки, возникающие при импорте данных можно проследить в лог-файлах 

\SetRetail10\standalone\log\set-discount.log предварительно расширив уровень логирования по инструкции Настройка логирования сервера приложений

Обратная связь при импорте данных

Начиная с версии SetRetail 10.2.5.0 существует возможность получать обратную связь от сервера приложений о статусе импортируемых данных. Подробнее описано в статье Обратная связь о импорте данных 

Алгоритм импорта

Сохранение рекламных акций на сервере

Первым этапом загружаемые рекламные акции сохраняются в таблицах базы данных 

set:

  • discounts_advertisingactions- список рекламных акций

  • discounts_action_plugin и 
    discounts_action_plugin_property плагинные свойства (содержимое) рекламных акций.

  • erp_imported_actions - рекламная акция, загруженная из ERP (ActionsCatalogErpi). Через эту таблицу SetRetail10 принимает очередь заданий, складывает сами XML и постепенно их обрабатывает, перекладывая дальше в таблички discounts_advertisingactions и discounts_action_plugin и discounts_action_plugin_property, и отправляя акции далее.

 

Создание очереди для отправки на кассу

Дальнейшим шагом является создание очереди на отправку. 

  1. Новые рекламные акции попадают в таблицу 

    discounts_not_received_to_cash.

  2. Рекламные акции "собираются" в "пачки" (задания) для отправки на конкретный магазин/кассу, которые хранятся в папке

    \SetRetail10\nginx\html\advertactions.

  3. За отправку файлов отвечает веб-сервер nginx (служба nginx устанавливается вместе с сервером приложений, по-умолчанию запускается автоматически)

  4. При использовании топологии SetCentrum ↔  SetRetail ↔ POS.

  5. SetCentrum готовит задания рекламных акций для магазинов.

  6. Задания сохраняются в таблице 

    discounts_file_for_shop:

Основные поля таблицы:

Поле

Назначение

Поле

Назначение

id

Идентификатор записи

file_name

Название файла в nginx

import_date

Дата создания файла

action_id

Ссылка (внешний ключ) на рекламную акцию

Номер магазина

Номер магазина

  1. После загрузки файла сервером, модуль Лояльность начинает его обработку.

  2. После разбора файла и сохранения данных рекламных акций, идентификатор обработанного файла обновляет запись в  базе данных

    set таблице → 
    discounts_last_file_for_shop.

  3. Когда сервер SetRetail загрузил задания с рекламными акциями, задания в таблице 

    discounts_file_for_shop удаляются, аналогично файлам в директории 
    \SetRetail10\nginx\html\advertactions

Задания для отправки на кассу хранятся в 

discounts_file_for_cashes

Основные поля таблицы:

Поле

Назначение

Поле

Назначение

id

Первичный ключ

cash_number

Номер кассы, для которой предназначено это сообщение; если NULL - для всех касс

shop_number

Номер Магазина

file_name

Имя файла, содержащего каталог акций в nginx

import_date

Дата импорта/создания этого фала-каталога

objects_count

Количество акций в файле-каталоге

Процесс их отправки заданий можно проследить в визуализации или в таблице 

discounts_cash_activity

ВАЖНО!

Ошибки обработки рекламных акций кассой можно проследить в лог-файле на кассе 

\\IP кассы\storage\crystal-cash\logs\loyal.log предварительно расширив уровень логирования по инструкции Настройка логирования кассовой программы

  1. При нажатии на кнопку Новая касса очередь формируется аналогично

    discounts_not_received_to_cash → 
    discounts_file_for_cashes

  2. После скачивания файла кассой,модуль «Лояльность» начинает его обработку. 

  3. После разбора файла и сохранения данных рекламных акций, идентификатор обработанного файла обновляет запись в базе данных кассы 

    discount на кассы → таблица 
    loy_lastdiscountsid

  4. Когда касса загрузила задания с акциями → задания в таблице 

    discounts_file_for_cashes удаляются, аналогично файлам в директории 
    \SetRetail10\nginx\html\advertactions

Запросы для мониторинга и работы с очередями