Публичное пространство
SetRetail10 ◾️ Техническое описание процесса весового модуля
Транспорт
1. Модуль SET-Scales (ScalesGoodsProcessor) 1 раз в фиксированный промежуток времени запрашивает обновление информации для весов у модуля SET-Products.
Таблицы, в которых хранятся сущности товаров:
- un_cg_product - справочник товаров.
- un_cg_product_weight- плагинные свойства весовых товаров.
- un_cg_price - цены для товаров.
- un_cg_barcode- штрихкоды.
2. Модуль SET-Products делает выборку всех товаров, для которых необходимо совершить какое-то действие на весах (загрузить, удалить, обновить товар).
- При изменении цены у товара в поле un_cg_price.sentotscales проставляется флаг false , после отправки в весовой модуль флаг становится true
- При изменении штрихкода товара у товара в поле un_cg_barcode sentotscales проставляется флаг false , после отправки в весовой модуль флаг становится true
3. Вся информация приходит в весовой модуль в таблицу scales_productentity и затем в таблицу с PLU scales_plues
4. Далее создаются собственно "линки" (задания) для отправки PLU на весы в таблице scales_linktoplu
Для создания линки используется информация о шаблоне используемых весов (scales_template) и самих весов (scales_scales).
Настройки весового модуля
Описанные выше взаимодействия между модулями осуществляются при помощи таймеров, настройки которых хранятся в базе данных set в таблице sales_management_properties.
Ниже приведены примеры и пояснения ключевых настроек.
Параметр | Комментарий |
goods.checking.forscales.long.interval.duration | Частота выборки товаров, которые надо отправить в весовой модуль. "Длинный" интервал используется системой в случае, когда товаров нет или их малое количество значение по-умолчанию = 180000 |
goods.checking.forscales.short.interval.duration | Частота выборки товаров, которые надо отправить в весовой модуль. "Короткий" интервал используется системой в случае, когда товаров много или их список часто обновляется. значение по-умолчанию = 60000 |
goods.sending.interval.duration | Периодичность проверки на необходимость исполнения инструкций (реальная отправка команд в реальные весы) значение по-умолчанию=60000 |
links.cleaner.interval | Периодичность проверки на необходимость очистки / удаления устаревших PLU и инструкций значение по-умолчанию = 60000 |
links.maker.newscales.interval | Периодичность проверки на необходимость запуска техпроцесса обработки события добавления новых весов в систему значение по-умолчанию = 60000 |
Описание PLU (scales_plues)
Название поля | Комментарий |
number | Номер PLU |
department | Номер отдела |
departmentName | Название отдела |
firstLine | Наименование товара, 1 строка |
secondLine | Наименование товара 2-я строка |
price | Действующая цена (цена №1) |
priceBeginDate | Начало действия текущей цены (цена №1) |
priceEndDate | Конец действия текущей цены (цена №1) |
exPrice | Цена по карте (цена №2) |
exPriceBeginDate | Начало действия цены по карте (цена №2) |
exPriceEndDate | Конец действия цены по карте (цена №2) |
expired | Срок годности этой PLU в часах или дня, в зависимости от expiredType |
expiredType | Hours или Days |
fullBarCode | Полный штрихкод |
barCodePrefix | Префикс штрихкод |
barCodeWithoutPrefix | штрихкод без префикса |
messageId | |
messageText | |
alternativeText1 | |
alternativeText2 | |
alternativeText3 | |
certificationType | Тип сертификации |
messages | подробные сообщения (такие как состав, условия хранения, производитель и т.д.) для PLU. см. примечание |
Примечание : Известно, что весы хранят два вида информации: PLU – информация о товаре и Message – подробные сообщения (такие как состав, условия хранения, производитель и т.д.) для PLU.
Существует два возможных сценария:
Сообщения отправляются независимо от PLU
В таком случае:
- каждый драйвер обязан определить реализацию методов loadMessage(Message message) и clearMessage(int messageId)
- Объект класса Message содержит ссылку на PLU. Объект класса PLU ничего не знает о сообщениях
Сообщения отправляются вместе с PLU
В таком случае:
- Нет необходимости в методах loadMessage(Message message) и clearMessage(int messageId). Они будут удалены из Scales и всех наследников
- Объект класса PLU содержит список сообщений, который отправляется вместе с PLU на весы
Описание заданий загрузки на весы (scales_linktoplu)
Поле | Комментарий |
actionType | Действие, совершаемое с сущностью на весах : 0 - LoadPLU, 1- ClearPLU, 2 - LoadMessage, 3 - ClearMessage |
status | Статус исполнения команды: 0 - NEW, 1- INPROCESS, 2- LOADED, 3- LOAD_ERROR |
exceptionType | Тип произошедшей ошибки: 0 - NONE, 1- SUCCESS, 2 - COMMUNICATION, 3- OTHER, 4- LICENSE_VIOLATION |
lastErrorCode | Тип последней ошибки, разные весы определяют сами значение этого свойства. |
lastErrorType | Код последней ошибки, разные весы определяют сами значение этого свойства. |
errorCount | Количество попыток загрузки завершившихся неудачей |
timeSending | Время отправки данных Товаров на весы |
scalesCode | Уникальный код весов |
plu | PLU, для которого \ с которым производится действие |
© 1994-2024, ООО «Кристалл Сервис Интеграция».
Все права защищены..