В кассовом ПО Artix реализована возможность загружать изображения товаров для отображения их в чеке и каталоге. Для этого необходимо использовать:
imageloader,Для загрузки изображений товаров файл лицензии должен содержать модуль |
Для хранения изображений можно использовать веб-сервер lighttpd. Установка сервера может быть произведена на кассовый сервер или отдельную машину.
Для установки сервера выполните следующую команду:
sudo aptitude install lighttpd |
Для проверки состояния сервера выполните команду:
systemctl status lighttpd |
Настройка сервера выполняется в конфигурационном файле /etc/lighttpd/lighttpd.conf.
Изображения для товаров необходимо располагать в корневой директории веб-сервера /var/www/html.
Активация плагина для работы с изображениями товара определяется параметром imageloader в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/imageloader.ini в секции [plugins].
| Наименование | Тип данных | Возможные значения | Описание | Примечания |
|---|---|---|---|---|
imageloader | строковый |
| Плагин для работы с изображениями товара | По умолчанию off |
[plugins] ; Плагин для работы с изображениями товаров imageloader = off |
Настройка плагина производится в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/imageloader.ini в секции [ImageLoader].
| Наименование | Тип данных | Описание | Примечания | |
|---|---|---|---|---|
| строковый | Директория для хранения загруженных изображений | По умолчанию | |
| timeout | целочисленный | Таймаут обращений к серверу изображений в секундах | По умолчанию 5 | |
| taskLimit | целочисленный | Максимальное количество одновременно загружаемых изображений | По умолчанию 5 | |
| url | строковый | Адрес сервера с изображениями | По умолчанию | |
| path | строковый | Путь расположения изображений на сервере | По умолчанию не задан
| |
| fileName | строковый | Шаблон имени файла на сервере | По умолчанию |
[ImageLoader] ; Директория для хранения загруженных изображений ; По умолчанию "/linuxcash/cash/data/images" ;storePath = "/linuxcash/cash/data/images" ; Таймаут обращений к серверу изображений в секундах ; По умолчанию 5 секунд ;timeout = 5 ; Максимальное количество одновременно загружаемых изображений ; По умолчанию 5 ;taskLimit = 5 ; Адрес сервера с изображениями ; По умолчанию "http://localhost" ;url = "http://localhost" ; Путь расположения изображений на сервере ; По умолчанию "" ;path = "" ; Шаблон имени файла на сервере ; По умолчанию "%1" ;fileName = "%1" |
Для использования изображений необходимо заполнить и загрузить справочники в БД |
Для работы плагина ImageLoader необходимо разместить изображения в специальной директории на удаленном сервере.
Название изображения:
%1.png", где %1 – параметр подстановки, который будет автоматически заменен на код/штрих-код товара или код родительской группы (идентификатор каталога),image1.png и IMAGE1.png – это разные изображения).[ImageLoader] ... fileName = "image%1.png" |
[ImageLoader] ... fileName = "IMAGE%1.png" |
Значение для подстановки выбирается с учетом типа идентификатора, который задается в БД Dictionaries таблице Images поле idtype:
0 – штрих-код или код товара,3 – код родительской группы товаров (каталог/пиклист).Если, например, idtype = 0, и в таблице Images поле id заполнено значением 4603673881189 (штрих-код товара), то выражение image%1.png будет преобразовано в image4603673881189.png.
Для показа изображений на разных мониторах необходимо создать в таблице Images три записи:
usagetype задать значение 0,usagetype задать значение 1,usagetype задать значение 2.Подробнее о настройке изображений товаров можно прочитать в разделе "Изображение товаров". |
Для возможности отображать разные изображения на разных мониторах в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/imageloader.ini может быть создано несколько подсекций вида [ImageLoader.N.K], где:
N – значение поля idtype,K – значение поля usagetype.Количество подсекций должно быть равно количеству записей в БД Dictionaries таблице Images.
Поле hash заполняется вручную. Для каждого изображения значение поля hash должно быть уникальным. На основе значения поля hash формируется кэш-файл и сохраняется в директорию, путь к которой определяется параметром storePath.
Поле |
При смене изображения товара необходимо удалить соответствующий кэш-файл из директории для хранения загруженных изображений на кассе (значение параметра |
В БД Dictionaries таблице Images:
id = 100,idtype = 0,usagetype = 0,hash = 100hash1.id = 100,idtype = 0,usagetype = 1,hash = 100hash1.id = 100,idtype = 0,usagetype = 2,hash = 100hash1.В директории для загрузки размещено изображение /var/www/html/image_main100.png.
[ImageLoader.0.0] url = "http://192.XXХ.ХХ.ХХ" fileName = "image_main%1.png" [ImageLoader.0.1] url = "http://192.XXХ.ХХ.ХХ" fileName = "image_main%1.png" [ImageLoader.0.2] url = "http://192.XXХ.ХХ.ХХ" fileName = "image_main%1.png" |
При добавлении товара по коду 100 на экране будет отображено image_main100.png:

В БД Dictionaries таблице Images:
id = 100,idtype = 0,usagetype = 0,hash = 100hash1.id = 100,idtype = 0,usagetype = 1,hash = 100hash2.id = 100,idtype = 0,usagetype = 2,hash = 100hash3.В директории для загрузки размещены изображения:
/var/www/html/image_main100.png,/var/www/html/image_second100.png,/var/www/html/image_side100.png.[ImageLoader.0.0] url = "http://192.XXХ.ХХ.ХХ" fileName = "image_main%1.png" [ImageLoader.0.1] url = "http://192.XXХ.ХХ.ХХ" fileName = "image_second%1.png" [ImageLoader.0.2] url = "http://192.XXХ.ХХ.ХХ" fileName = "image_side%1.png" |
При добавлении товара по коду 100 на экране будет отображено:
image_main100.png,image_second100.png, image_side100.png.
В БД Dictionaries таблице Images:
id = 4012922851550,idtype = 0,usagetype = 0,hash = 4012922851550hash1.id = 4012922851550,idtype = 0,usagetype = 1,hash = 4012922851550hash2.id = 4012922851550,idtype = 0,usagetype = 2,hash = 4012922851550hash3.В директории для загрузки размещены изображения:
/var/www/html/image_main4012922851550.png,/var/www/html/image_second4012922851550.png,/var/www/html/image_side4012922851550.png.[ImageLoader.0.0] url = "http://192.XXХ.ХХ.ХХ" fileName = "image_main%1.png" [ImageLoader.0.1] url = "http://192.XXХ.ХХ.ХХ" fileName = "image_second%1.png" [ImageLoader.0.2] url = "http://192.XXХ.ХХ.ХХ" fileName = "image_side%1.png" |
При добавлении товара по штрих-коду 4012922851550 на экране будет отображено:
image_main4012922851550.png,image_second4012922851550.png, image_side4012922851550.png.
В БД Dictionaries таблице Images для отображения на экране кассира (на первом мониторе):
id = 123,idtype = 3,usagetype = 0,hash = 123hash.В директории для загрузки необходимо разместить изображение /var/www/html/catalog123.png.
[ImageLoader] url = "http://192.XXХ.ХХ.ХХ" fileName = "catalog%1.png" |
Команда addImage добавляет изображение в справочник изображений. Атрибуты изображения задаются обязательным параметром image.
Свойства параметра image:
Свойство | Тип данных | Описание |
|---|---|---|
id | строковый | Идентификатор изображения |
idtype | числовой | Тип идентификатора изображения:
|
| usagetype | строковый | Режим использования изображения |
| hash | строковый | Хэш изображения |
---
{
"command": "addImage",
"image": {
"id": "3",
"idtype": 0,
"usagetype": 0,
"hash": "hash3"
}
}
--- |
Команда clearImage очищает справочник каталогов:
{
"command": "clearImage"
}
--- |
Команда deleteImage удаляет из справочника изображений запись об изображении.
В качестве параметра передается объект image.
---
{
"command": "deleteImage",
"image": {
"id": "3",
"idtype": 0,
"usagetype": 0,
"hash": "hash3"
}
}
--- |