Настройка и работа с загрузчиком R1ScaleLoader: различия между версиями

Материал из Википедия ЭТИМа (ETIM Wikipedia)
Перейти к навигации Перейти к поиску
(Запуск загрузчика)
(Список правил импорта)
Строка 144: Строка 144:
 
::поддерживаются формат {{Путь к файлу|csv}}
 
::поддерживаются формат {{Путь к файлу|csv}}
 
::перед передачей данные файлы преобразуются в зависимости от типа весов, на которые ведется передача
 
::перед передачей данные файлы преобразуются в зависимости от типа весов, на которые ведется передача
 +
 +
=== Создание регулярного выражения для правил ===
 +
 +
Правило захвата файлов загрузчиком построено на регулярных выражений в формате Python. В правилах используются именованные группы, именно они должны быть описаны в формате Python. В остальном регулярные выражения стандартны.
 +
 +
Использование именованных групп:
 +
 +
:Для задания IP адреса весов - '''<IP>'''
 +
 +
:Для задания № этикетки - '''<NUM>'''
 +
 +
 +
Для проверки правил можно использовать бесплатный онлайн сервис [https://regex101.com/ '''regular expressions 101'''] или аналогичные.
 +
 +
 +
'''Пример для задания этикеток с привязкой к номерам:'''
 +
 +
:{{Пункт меню|.*[tTlL](?P<NUM>\d+).*_fmt(?P<IP>(?:#)\d{1,3}|)\.lnx$}}
 +
 +
Этому примеру соответствует:
 +
 +
:{{Путь к файлу|L17_fmt.lnx}}
 +
 +
Где 17 - это номер этикетки.
 +
Этикетка рассылается на все весы из списка весов.
 +
 +
 +
:{{Путь к файлу|L17_fmt#158.lnx}}
 +
 +
Где 17 - это номер этикетки.
 +
Файл передается на весы с адресом .158 в последней части IP адреса.
 +
 +
 +
'''Пример правила простого копирования файла на весы:'''
 +
 +
:{{Пункт меню|.*(?P<IP>#\d{1,3}|)\.(?:xml|txt|csv)$}}
 +
 +
Этому примеру соответствует:
 +
 +
:{{Путь к файлу|input.xml}}
 +
 +
Файл рассылается на все весы из списка весов.
 +
 +
 +
:{{Путь к файлу|input#158.xml}}
 +
 +
Файл передается на весы с адресом .158 в последней части IP адреса.
  
 
= Запуск загрузчика =
 
= Запуск загрузчика =

Версия 16:30, 17 марта 2023

Настройка загрузчика

Для изменения настроек загрузчика можно использовать разработанную для этого WEB-консоль R1ScaleLoaderControl, либо напрямую изменять файл настроек загрузчика Settings.ini.

Файл настроек находится в каталоге Settings каталога программы.

При изменении файла настроек они применяются загрузчиком автоматически.

Общие настройки

Настройки находятся к группе Main

Название настройки Тип значения Значение по умолчанию Описание
UserName string root Имя пользователя используемое для подключения в весам LS515
Password string 3342222 Пароль используемый для подключения в весам LS515
PasswordAlt string teraoka Альтернативный пароль используемый для подключения в весам LS515, если не подошел основной пароль
MainDataPath string ./Data Путь к данным ПО

Настройки логирования

Настройки находятся к группе Logging

Название настройки Тип значения Значение по умолчанию Описание
EnableLog bool True Включение ведения логов
SaveLogDays int 7 Количество дней, которое сохраняются логи
MaxLogSize int 5000000 Максимальный размер файла лога до создания нового файла
EnableDigiLogFile bool True Разрешить ведение логов в формате QLoad
LogLevel string INFO Уровень логирования. Возможные варианты: DEBUG, INFO, WARNING, ERROR, CRITICAL
LogPath string ./Log/ Путь сохранения файлов логов
DigiLogPath string ./Log/ Путь сохранения файлов логов в формате QLoad

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

Настройки находятся к группе Import

Название настройки Тип значения Значение по умолчанию Описание
ImportPath string ./Import Каталог импорта файлов
ImportImagesPath string ./Import/Images Каталог импорта файлов картинок
Encoding string utf-8 Кодировка файлов импорта. Возможные варианты: 'windows-1251', 'dos-866', 'utf-8', 'windows-1256'
RemoteFilesOnStart bool True Удалять файлы совпадающие с правилами, находящиеся в каталоги импорта при запуске ПО
Update bool False По умолчанию обновлять базу товаров, иначе замещать
SyncTime bool True Синхронизировать время при загрузке данных в весы
LoadLabelsOnLoadDataBase bool True Загружать шаблоны этикеток при загрузке данных в весы
DateTimeFormat string %Y%m%d%H%M Формат даты времени в файлах импорта

Список весов

Настройки находятся к группе ScaleX

Где Х - это порядковый номер весов.

Название настройки Тип значения Значение по умолчанию Описание
Enabled bool True Разрешить использование данных весов
Name string Название
Type string Тип весов. Возможные варианты: LS515, LS2M3, Digi SM100/300
IP string IP-адрес весов
Labels string Шаблоны этикеток используемые весами
Comment string Примечание


! Весы Digi на 17.03.2023 не поддерживаются



Список правил импорта

Настройки находятся к группе ImportRuleX

Где Х - это порядковый номер правила импорта.

Название настройки Тип значения Значение по умолчанию Описание
Enabled bool True Разрешить использование данного правила
Name string Название
RegExp string Регулярное выражение в формате Python для захвата файлов импорта
Type string Тип правила. Возможные варианты: database, labels, files, digicsv
Path string Путь на весах LS515. Используется в правилах копирования файлов
Comment string Примечание

Типы правил:

  • database
используется для импорта файлов с данными товарной базы.
поддерживаются форматы csv и xml
формат файлов csv описан в соответствующем разделе руководства
формат файлов xml описан в соответствующем разделе руководства
перед передачей данные файлы преобразуются в зависимости от типа весов, на которые ведется передача
  • labels
используется для передачи шаблонов этикеток на весы
  • files
данное правило используется только при работе с весами LS515
используется для простого копирования файлов на весы
при использовании данного правила необходимо задать путь на весах, куда будут скопированы файлы
  • digicsv
данное правило не поддерживается
используется для импорта файлов с данными товарной базы из файлов в формате QLoad.
поддерживаются формат csv
перед передачей данные файлы преобразуются в зависимости от типа весов, на которые ведется передача

Создание регулярного выражения для правил

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

Использование именованных групп:

Для задания IP адреса весов - <IP>
Для задания № этикетки - <NUM>


Для проверки правил можно использовать бесплатный онлайн сервис regular expressions 101 или аналогичные.


Пример для задания этикеток с привязкой к номерам:

.*[tTlL](?P<NUM>\d+).*_fmt(?P<IP>(?:#)\d{1,3}

Этому примеру соответствует:

L17_fmt.lnx

Где 17 - это номер этикетки. Этикетка рассылается на все весы из списка весов.


L17_fmt#158.lnx

Где 17 - это номер этикетки. Файл передается на весы с адресом .158 в последней части IP адреса.


Пример правила простого копирования файла на весы:

.*(?P<IP>#\d{1,3}

Этому примеру соответствует:

input.xml

Файл рассылается на все весы из списка весов.


input#158.xml

Файл передается на весы с адресом .158 в последней части IP адреса.

Запуск загрузчика

Для работы программы необходим Python версии 3.10 и новее.

Так же необходимо установить используемые в программе библиотеки, указанные в файле requirements.txt.

Команда установки зависимостей: pip install -r /opt/PyR1ScaleService/requirements.txt


ОС Windows

Для запуска загрузчика используются файл run-loader.bat, находящийся в каталоге ПО.

Для запуска ПО вручную необходимо выполнить команду из каталога ПО: python R1ScaleLoaderMain.py

ОС Linux

Каталог, где должно находится ПО по умолчанию: /opt/PyR1ScaleService

Для запуска загрузчика в качестве сервиса systemd необходимо установить службу r1scaleloader.service командой systemctl enable r1scaleloader.service,.

В случае расположения ПО по другому пути, необходимо внести соответствующие изменения в файл  r1scaleloader.service.


Для запуска ПО вручную необходимо выполнить команду из каталога ПО: python3 R1ScaleLoaderMain.py