Публичное пространство
SetTouch ◾️ Печать ценников ◾️ Настройка
10.4.17.0
Настройка
Сервер
1. Выполните скрипт на сервере SetCentrum/SetRetail10 в базе данных set для включения функциональности:
-- Включение печати ценников с кассы
UPDATE sales_management_properties
SET property_value = 'true',
send_status = 0
WHERE module_name = 'SET_PRINT_PRICE_TAGS'
AND property_key = 'print.price.tags.from.cash.enabled';
После включения настройки print.price.tags.from.cash.enabled все новые шаблоны ценников начинают будут иметь тип “Кассовые“:
2. Выполните скрипт на сервере SetCentrum/SetRetail10 в базе данных set для включения контейнера:
Если требуется запуск печати на отдельной кассе, тогда выполните скрипт на ней в базе данных catalog:
UPDATE sales_management_properties
SET property_value = 'true',
send_status = 0
WHERE module_name = 'SET_PRINT_PRICE_TAGS'
AND property_key = 'print.price.tags.from.cash.container.enabled';
3. Для печати всех подстановок на ценниках выполните скрипты на сервере SetCentrum/SetRetail10 в базе данных set для включения функциональности:
UPDATE sales_management_properties
SET property_value = 'true',
send_status = 0
WHERE property_key = 'send.product.plugin.props.to.cash.enabled';
UPDATE public.sales_management_properties
SET property_value='alcoholic-content-percentage,composition,good-for-hours,good-for-days,date-of-manufacture,certification-type,storage-conditions,food-value,plu-number,button-on-scale,producer',
send_status=0
WHERE property_key='send.product.plugin.props.to.cash.filter';
3. Перезапустите службу сервера
sudo service JBOSS_SVC restart
4. На сервере SetCentrum в разделе Справочники → Внешние процессинги → кликните кнопку добавления.
5. Наберите в поиске ценники → кликните Функциональные плагины → установите флажок SET10 Печать ценников → кликните Сохранить.
6. Перейдите в раздел Кассовый модуль → Настройки интерфейса → Функциональное меню Touch кассы или создайте новое → установите Плагин (SET10 Печать ценников).
7. Установите в для роли кассира Права для плагинов → Печать ценников.
Касса
1. Включите службу печати на кассе
sudo systemctl enable cups
sudo systemctl start cups
2. Принтер должен быть доступен по порту 9100.
Проверьте с помощью команды telnet, что он доступен в сети:
telnet 172.30.30.91 9100
3. Если принтер подключен через другие варианты (например через отдельный компьютер), тогда установите принтер через визуальную часть согласно инструкции.
Драйвера от сторонних принтеров рекомендуется копировать в папку /usr/share/cups/model/
Добавьте принтер с помощью команды:
sudo lpadmin -p ПРИДУМАЙТЕ_НАЗВАНИЕ_ПРИНТЕРА -v socket://IP-адрес_принтера:9100 -i /usr/share/cups/model/ФАЙЛ_ДРАЙВЕРА.ppd -E -o fitplot-default -o printer-error-policy=abort-job
Пример:
sudo lpadmin -p StorePrinterCenter -v socket://172.30.30.91:9100 -i /usr/share/cups/model/EPSON_WF-M5799_Series_PS3.ppd -E -o fitplot-default -o printer-error-policy=abort-job
Если используются принтеры 4BARCODE (CSI printD) или Gainscha (EntryPrint), тогда, выполните команду для установки:
Пример:
sudo lpadmin -p csi_printD -E -v socket://172.29.9.42:9100 -m 4BARCODE/4B-2054A.ppd
Пример пути для драйверов:
gainscha/GA3406T.ppd
4BARCODE/4B-2054A.ppd
Драйвера для принтеров CSI моделей 4BARCODE и Gainscha уже предустановлены.
4. Если добавление принтера происходит через визуализацию и сетевого без подключения к компьютеру, тогда выберите при подключении:
Для подключения и настройки принтера через визуальную часть необходимо открыть порт 631 в сети.
Непосредственно на кассе порт открывать не требуется.
Подключите принтер с прямым подключением socket://IP-адрес принтера:9100
Согласно инструкции выше, установите имя принтера → кликните Продолжить.
5. Следующим шагом установите драйвер в формате файла *.ppd.
6. Наберите команду и убедитесь, что принтер подключен
lpstat -a
7. Напечатайте тестовую страницу
lp -d StorePrinter /usr/share/cups/data/testprint
8. Проверьте, что запущен контейнер печати на кассе. За это отвечают настройки print.price.tags.from.cash.enabled и print.price.tags.from.cash.container.enabled (п.1 в инструкции выше).
Выполните команду:
docker ps
Если нужно перезапустить контейнер, тогда выполните команду для перезапуска кассы:
cash restart
Проверьте командой доступность принтеров через приложение в контейнере:
curl http://127.0.0.1:8095/v1/printer/search
9. Установите в базе данных catalog на кассе в таблице printer параметры принтера:
id* - уникальный идентификатор принтера;
address* - адресация в формате
IPP Printer : Название принтера;paper_bottom_margin - формат бумаги по-умолчанию для этого (конкретного!) экземпляра принтера: отступ снизу, в миллиметрах;
paper_height* - формат бумаги по-умолчанию для этого (конкретного!) экземпляра принтера: высота бумаги, в миллиметрах;
paper_left_margin - формат бумаги по-умолчанию для этого (конкретного!) экземпляра принтера: отступ слева, в миллиметрах;
paper_right_margin - формат бумаги по-умолчанию для этого (конкретного!) экземпляра принтера: отступ справа, в миллиметрах;
paper_top_margin - формат бумаги по-умолчанию для этого (конкретного!) экземпляра принтера: отступ сверху, в миллиметрах;
paper_width* - формат бумаги по-умолчанию для этого (конкретного!) экземпляра принтера: ширина бумаги, в миллиметрах;
is_default - является ли принтером по умолчанию;
model - модель принтера;
name* - название принтера;
* - обязательный параметр.
Также начиная с версии 10.3.24.0 добавлена настройка print.price.tags.from.cash.lpoptions, которая позволяет указывать параметры cups:
https://crystals.atlassian.net/browse/SRTS-4342
https://crystals.atlassian.net/browse/CR-15287
Пример формата:
Для того, чтобы просмотреть, какие параметры у принтера можно указать командной строке кассы
lpoptions -d store_print -l
{
"Printername": "TestPrinter" { // название принтера
"Origin": "Rotation180", // параметры принтера
"PaperType": "Continue"
},
"SecondPrinterName": { // название второго принтера
"OptionDisplayUnit": "MM" // параметры второго принтера
}
}', 10, 2, 0);
Соответствие размера бумаги на сервере и на кассе:
Настройка и добавление принтера на кассе
https://crystals.atlassian.net/browse/CR-11912
https://crystals.atlassian.net/browse/SRTS-3118
https://crystals.atlassian.net/browse/SRTS-3951
10.4.18.0
Перед настройкой включите необходимые привилегии на сервере. Установите в для роли кассира Права для плагинов → Печать ценников (глава по Сервер, пункт.7)
1. Нажмите Печать ценников.
2. Нажмите кнопку настроек.
3. Нажмите Принтер.
4. Нажмите Настройка принтеров >.
5. Нажмите Добавить новый принтер.
6. Нажмите на поле Адресация.
7. Выберите подключенный принтер (принтер должен быть настроен в службе CUPS).
8. Нажмите поле Название принтера.
9. Введите название принтера.
10. Нажмите Сохранить.
11. Вернитесь назад.
12. Добавьте товар → нажмите Печать.
13. Выберите шаблон → нажмите Печать.
14. Сформируется задание на печать.
15. Проверьте печать ценников.
Сбор лог-файлов
1. Для выгрузки событий в лог-файлов выполните команду:
sudo docker logs print-price-tags > /home/tc/storage/crystal-cash/logs/print-price-tags.log
2. Сохраните файл print-price-tags.log и отправьте в техническую поддержку.
Дополнительные настройки
Печать нескольких ценников в одном задании
https://crystals.atlassian.net/browse/SRTS-4597
https://crystals.atlassian.net/browse/CR-15692
НАПИСАНО ИИ
10.4.25.0
Описание
В стандартной логике модуля печати ценников с касс задания на печать формируются с ограничением: не более двух ценников в одном задании. При увеличении количества ценников система разбивает их на несколько заданий:
1 ценник → 1 задание
2 ценника → 1 задание
3 ценника → 2 задания
4 ценника → 2 задания
5 ценников → 3 задания
…
Такое поведение приводит к дополнительным задержкам при печати на сетевых термопринтерах. Причина заключается в особенностях работы системы печати CUPS: для каждого задания устанавливается и разрывается отдельное соединение.
Схема обработки каждого задания:
lp → CUPS → открытие сокета → отправка данных → закрытие сокетаИз-за этого между заданиями возникает пауза (в среднем 5–6 секунд), что существенно замедляет массовую печать ценников.
Существует возможность отправки любого количества ценников в рамках одного задания на печать.
Управление поведением осуществляется через настройку:
print.price.tags.from.cash.allow.several.products.in.one.print.task
false— отправка по одному товару (поведение по умолчанию)true— отправка нескольких товаров в одном задании
При включении настройки все выбранные ценники формируются в одно задание на печать, что:
устраняет паузы между заданиями
снижает нагрузку на систему печати
ускоряет процесс печати на сетевых принтерах
Включение функциональности
Для влюкчения размера буфера печати выполните SQL-запрос на сервере SetCentrum/SetRetail10 в базе данных set или на кассе в базе данных catalog:
Пример: buffer_size = '3' напечатается по три ценника вместо двух.
Рекомендуемое значение = 10.
UPDATE printer
SET buffer_size = '10'
WHERE name = 'НАИМЕНОВАНИЕ_ПРИНТЕРА';После включения настройки изменения вступают в силу без дополнительной доработки со стороны пользователя.