Интеграция Set Retail 5 с Set Retail 10 (лояльность, импорт товаров)

Для обеспечения импорта дисконтных карт на сервере SetRetail10 установите следующие значения в файле \SetRetail10\standalone\configuration\modules\erp-integration\cards.properties 

ru.crystals.ERPIntegration.cards.plugins.importing.prepare=CardsInputStreamPrepare

Общая информация

В рамках интеграции реализована возможность использования на кассе Set Retail 5 серверной авторизации дисконтных карт и серверного расчета скидок с помощью лояльности Set Retail 10. Для обеспечения расчета рекламных акций также реализован экспорт товаров и дисконтных карт (в том числе, связанные с ними данных) из Set Retail 5 в Set Retail 10.

Серверный процессинг карт и скидок

Для работы серверного процессинга карт и скидок используются следующие компоненты:

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

Схема серверного процессинга карт и скидок

Схема работы на кассе с использованием серверного процессинга скидок выглядит следующим образом:

  1. Кассир набирает чек. При необходимости к определенным позициям применяет ручные скидки (если заведены и включены в очередности).
  2. Нажимает клавишу Расчет или Подитог. Касса отправляет весь чек на сервер с учетом загруженных на кассу ограничений и получает в ответ чек с расчитанными скидками и новыми ограничениями. Новые ограничения имеют приоритет перед ограничениями, хранящимися на кассе. Сумма к оплате изменяется с учетом скидок.
  3. Автоматически применяется скидка на округление (если заведена и включена в очередности). Срабатывает после каждого изменения суммы чека.
  4. Кассир применяет дисконтную карту. После авторизации карты на сервере, происходит переотправка данных чека на сервере для пересчета скидок чека с учетом наличия карты. Если карта на сервере не найдена или заблокирована, касса выдает сообщение «Карта не найдена или заблокирована».
  5. Кассир при необходимости применяет ручную скидку на чек (если заведена и включена в очередности).
  6. Принимает оплату и расчитывает чек.

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

Если основной сервер службы SetLoyalty недоступен, то используется резервный (если настроен).

Если сервер службы SetLoyalty недоступен при расчет скидок, то для товаров используется фиксированная цена (если задана), с учетом параметра UseFixPriceWithCard (см. раздел "Поддерживаемые скидки").

Если сервер службы SetLoyalty недоступен при авторизации карты, то карта ищется в локальном справочнике на кассе. Если в локальном справочнике карты нет, то касса выдает сообщение «Не ответил сервер авторизации».

При возврате скидки на сервере не считаются.

Загрузка данных из Set Retail 5 в Set Retail 10

Чтобы обеспечить авторизацию карт и расчет скидок в Set Retail 10, реализована возможность загрузки данных (карты, товары и связанная с ними информация) из Set Retail 5 в Set Retail 10 с помощью службы SetBridge.

При загрузке товаров, карт и других данных на кассу (через модуль визуализации Set Retail 5 или при импорте из внешней системы), автоматически создаются задания на загрузку этих данных в Set Retail 10.

Загрузка данных из Set Retail 5 в Set Retail 10

Предполагается, что при использовании сервера Set Retail 10, управление всеми данными, относящимся к лояльности (клиенты, карты, категории карт, стоп-листы, группы продаж), должно осуществляться средствами визуализации Set Retail 10. Поэтому импорт таких данных реализован только для целей миграции на этапе внедрения Set Retail 10, а также в качестве посредника при их импорте из внешних систем. Данные, которые могут быть загружены в Set Retail 10, описаны в в разделе "Данные, импортируемые из Set Retail 5 в Set Retail 10".

Настройка

Для настройки интеграции, в Set Retail 5 необходимо выполнить следующие действия:

1. Установить специальный кассовый модуль, работающий с серверным процессингом скидок (в дистрибутиве — CRUKM_R\CRUKM_wd\cash.exe) и задать необходимые параметры в cash.ini:

CashIPSServer = 172.16.7.8

IP-адрес сервера процессинга карт и скидок, на котором работает служба Set Loyalty

Обязательный параметр

CashIPSSocket = 6515

Порт сервера процессинга карт и скидок, на котором работает служба Set Loyalty

Обязательный параметр

CashIPRServer = 172.16.70.80

IP-адрес резервного сервера процессинга карт и скидок

CashIPRSocket = 6515

Порт резервного сервера процессинга карт и скидок

UseFixPriceWithCard = No

Способ интерпретации фиксированный цены на товар: Yes — цена по карте, No — акционная цена (см. описание 101 и 102 скидок).

2. Установить и настроить службы SetLoyalty и SetBridge (см. раздел "Настройка служб SetLoyalty и SetBridge").

3. В настройках службы транспорта включить создание заданий для загрузки в Set Retail

Для этого в утилите ImpExpSetup на вкладке Устройства адресаты в настройках устройства с типом Set Retail 10 должны быть сняты все флажки.

Устройство для загрузки данных в Set Retail 10

4. В режиме Настройки раздела Оборудование модуля визуализации Set Retail задать параметры процессинга карт и скидок:

Параметр

Значение

Группа настроек Процессинг карт и скидок

Режим процессинга ДК

Вся информация на сервере

Признак необходимости серверного процессинга карты

Да

Таймаут ожидания ответа от сервера процессинга карт

от 0 до 60 секунд(по умолчанию 5)

Признак необходимости серверного процессинга скидок

Да

Таймаут ожидания ответа от сервера процессинга скидок

от 0 до 60 секунд(по умолчанию 10)

 5. В режиме Группы касс раздела Оборудование модуля визуализации Set Retail для группы кассы задать используемые скидки (вкладка Скидки, поле Очередность типов скидок). Список поддерживаемых скидок описан в соответствующем разделе (см. раздел "Поддерживаемые скидки").

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

Дополнительная настройка сервера Set Retail 10 для работы стыковки не требуется. Описание  заведения рекламных акций выходит за рамки данной инструкции.

Настройка служб SetLoyalty и SetBridge

Установка служб

Установка служб состоит из следующих шагов:

Скопировать с установочного диска каталоги SET\Service\SetLoyalty и SET\Service\SetBridge со всем содержимым в каталог SET\Service установленной системы Set Retail

Для установки служб в систему в каталоге каждой службы выполнить сценарий install_ntservice.cmd.

Службы будут отображаться в списке системных служб как:

  • «SESSetLoyalty» (Служба серверного расчета скидок)
  • «SESSetBridge» (Служба передачи данных из Set 5 в Set 10)

Чтобы деинсталлировать службы из системы, необходимо в каталоге каждой службы выполнить сценарий uninstall_ntservice.cmd.

Настроить тип запуска служб (запускать автоматически), запустить службы.

Параметры работы служб задаются в конфигурационном  файле Config.conf в каталоге соответствующей службы.

Параметры SetLoyalty

CashPort = 6515

Порт для запросов от кассы.

Соответствует CashIPSSocket/CashIPRSocket в cash.ini

SETv10.ProcessingDiscount.ws_address = http://127.0.0.1:8090/SET-ProcessingDis count/ProcessingPurchaseWSURL веб-сервиса Set Retail 10, отвечающего за расчет скидок

SETv10.CardsManager.ws_address = http://127.0.0.1:8090/SET-Cards/SET/Cards

URL веб-сервиса Set Retail 10, отвечающего за авторизацию карт

LogProcessingDiscount = 0

Включение (1) или отключение (0) логирования XML запросов  и ответов от сервера Set Retail 10

Параметры SetBridge

SETv10.goods.ws_address = http://127.0.0.1:8090/SET-ERPIntegration/SET/WS GoodsCatalogImport

URL веб-сервиса Set Retail 10, отвечающего за импорт товаров

SETv10.cards.ws_address = http://127.0.0.1:8090/SET-ERPIntegration/SET/WS CardsCatalogImport

URL веб-сервиса Set Retail 10, отвечающего за импорт карт

SETv5.goods.getter = EXEC Bridge_GetGoods 1000

Процедура, выполняемая для формирования XML с товарами для передачи в Set Retail 10.


В качестве параметра передается максимальное число товаров, которое может содержаться в одном XML.

SETv5.goods.accepter = EXEC Bridge_Accept 100, -1, 14, null, :ErrorCode

Процедура, выполняемая после успешной передачи XML с товарами в Set Retail 10.

Изменение параметров процедуры не рекомендуется

SETv5.cards.getter = EXEC Bridge_GetDiscount Cards 10000

Процедура, выполняемая для формирования XML с картами для передачи в Set Retail 10.

В качестве параметра передается максимальное число карт, которое может содержаться в одном XML.

SETv5.cards.accepter = EXEC Bridge_Accept 104, -1, 14, null, :ErrorCode

Процедура, выполняемая после успешной передачи XML с картами в Set Retail 10.

Изменение параметров процедуры не рекомендуется

Параметры подключения к БД SES

SETv5.CDB = C:/SET/UDL/ses.cdb

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

Если параметр CDB не указан, используются параметры подключения, указанные в явном виде (см. ниже)

SETv5.dbHost = 127.0.0.1

SETv5.dbName = SES SETv5.dbLogin = sa SETv5.dbPassword = mssql

#SETv5.dbCryptPassword = gtspd

Параметры подключения в явном виде

Дополнительная информация

Поддерживаемые скидки

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

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

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

Далее описываются все поддерживаемые скидки.

Номер скидки на сервере Set Retail 5

Номер на кассе (использовать в мнемониках TRF)

Описание

1

101

Цена на товар по ДК

Применяется только при автономном расчете скидок и установленном параметре UseFixPriceWithCard = Yes на товары с фиксированной ценой при обязательном условии применения дисконтной карты.

1

102

Акционная цена на товар

Применяется только при автономном расчете скидок и установленном параметре UseFixPriceWithCard = No на товары с фиксированной ценой.

7

7

Ручная скидка на позицию

12

Скидка по ДК

Необходима для возможности использования ДК.

15

15

Ручная скидка на чек

29

29

Скидка на округление

103

Скидка на товар SETv10

Применяется по результатам серверного расчета скидок, соответствует всем типам скидок Set Retail 10, за исключением скидки на набор.

Включена всегда.

104

Скидка на набор SETv10

Применяется по результатам серверного расчета скидок и соответствует скидке на набор Set Retail 10.

Включена всегда.

Данные, импортируемые из Set Retail 5 в Set Retail 10

Тип данных

Описание того, что загружается в Set Retail 10


При загрузке

При выгрузке

Товар

Товар (включая ШК и цены в отделах), а также связанные с ним группы товаров, группы продаж, ограничения на товар, ограничения на группы товаров

То же, что и при загрузке

Группа продаж

Только при импорте из внешней системы или Centrum

Товары (включая ШК и цены в отделах), входящие в группу продаж, с привязкой к ней, а также товары, входившие в группу продаж, без привязки к ней

Загружаются товары (включая ШК и цены в отделах), входящие или входившие в группу продаж, без привязки к ней

Ограничение на товар

Ограничение, а также товар (включая ШК и цены в отделах), на который это ограничение действует

Ограничение с признаком удаления, а также товар (включая ШК и цены в отделах), на который это ограничение действовало

Ограничение на группу товаров

Ограничение

Ограничение с признаком удаления

Карта

Карта, связанный с ней клиент и категория, статус карты с учетом загруженных стоп-листов

Карта с признаком удаления, связанный с ней клиент и категория, статус карты с учетом загруженных стоп-листов

Клиент

Только при импорте из внешней системы или Centrum

Клиент, связанные с ним карты, статус карт с учетом загруженных стоп-листов, связанные категории карт

Клиент, связанные с ним карты с признаком удаления, статус карт с учетом загруженных стоп- листов, связанные категории карт

Стоп-лист

Карты, попадающие под условие стоп-листа, с установленным статусом блокировки, а также связанные с ними клиенты и категории

Карты, попадающие под условие стоп-листа, с установленным статусом блокировки, а также связанные с ними клиенты и категории