SetTouch ◾️ Печать ценников ◾️ Настройка

Публичное пространство

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 все новые шаблоны ценников начинают будут иметь тип “Кассовые“:

image-20251113-120635.png

 

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 в разделе СправочникиВнешние процессинги → кликните кнопку добавления.

image-20250714-163407.png

 

5. Наберите в поиске ценники → кликните Функциональные плагины → установите флажок SET10 Печать ценников → кликните Сохранить.

image-20250715-101858.png

 

6. Перейдите в раздел Кассовый модульНастройки интерфейса → Функциональное меню Touch кассы или создайте новое → установите Плагин (SET10 Печать ценников).

image-20250715-102146.png

 

7. Установите в для роли кассира Права для плагиновПечать ценников.

image-20250715-104416.png

 

Касса

1. Включите службу печати на кассе

sudo systemctl enable cups sudo systemctl start cups
image-20250714-150015.png

 

2. Принтер должен быть доступен по порту 9100.

Проверьте с помощью команды telnet, что он доступен в сети:

telnet 172.30.30.91 9100
image-20250714-152856.png

 

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
image-20250721-151415.png

 

Если используются принтеры 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 уже предустановлены.

image-20250714-153154.png
image-20250721-150958.png


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

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

Непосредственно на кассе порт открывать не требуется.

image-20250714-151850.png

 

Подключите принтер с прямым подключением socket://IP-адрес принтера:9100

image-20250714-152026.png

 

Согласно инструкции выше, установите имя принтера → кликните Продолжить.

image-20250714-152344.png

 

5. Следующим шагом установите драйвер в формате файла *.ppd.

image-20250714-152511.png

 

6. Наберите команду и убедитесь, что принтер подключен

lpstat -a
image-20250717-133709.png

 

7. Напечатайте тестовую страницу

lp -d StorePrinter /usr/share/cups/data/testprint
image-20250714-155122.png
image-20250714-155821.png

 

8. Проверьте, что запущен контейнер печати на кассе. За это отвечают настройки print.price.tags.from.cash.enabled и print.price.tags.from.cash.container.enabled (п.1 в инструкции выше).

Выполните команду:

docker ps
image-20250715-113648.png

 

Если нужно перезапустить контейнер, тогда выполните команду для перезапуска кассы:

cash restart

 

Проверьте командой доступность принтеров через приложение в контейнере:

curl http://127.0.0.1:8095/v1/printer/search
image-20250715-124541.png

 

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* - название принтера;

* - обязательный параметр.

image-20250715-114531.png

Также начиная с версии 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

image-20260205-101147.png

Пример формата:

Для того, чтобы просмотреть, какие параметры у принтера можно указать командной строке кассы

lpoptions -d store_print -l

image-20260513-075529.png

 

 

{ "Printername": "TestPrinter" { // название принтера "Origin": "Rotation180", // параметры принтера "PaperType": "Continue" }, "SecondPrinterName": { // название второго принтера "OptionDisplayUnit": "MM" // параметры второго принтера } }', 10, 2, 0);

 

Соответствие размера бумаги на сервере и на кассе:

image-20250715-114925.png

Настройка и добавление принтера на кассе

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. Нажмите Печать ценников.

image-20250915-152111.png

 

2. Нажмите кнопку настроек.

image-20250916-101628.png

 

3. Нажмите Принтер.

image-20250915-152412.png

 

4. Нажмите Настройка принтеров >.

image-20250915-152456.png

 

5. Нажмите Добавить новый принтер.

image-20250916-095348.png

 

6. Нажмите на поле Адресация.

image-20250916-095912.png

 

7. Выберите подключенный принтер (принтер должен быть настроен в службе CUPS).

image-20250916-100047.png

 

8. Нажмите поле Название принтера.

image-20250916-100133.png

 

9. Введите название принтера.

image-20250916-100215.png

 

10. Нажмите Сохранить.

image-20250916-100312.png

 

11. Вернитесь назад.

image-20250916-100447.png

 

12. Добавьте товар → нажмите Печать.

image-20250916-100658.png

 

13. Выберите шаблон → нажмите Печать.

image-20250916-100903.png

 

14. Сформируется задание на печать.

image-20250916-100931.png

 

15. Проверьте печать ценников.

image-20250916-101040.png

Сбор лог-файлов

1. Для выгрузки событий в лог-файлов выполните команду:

sudo docker logs print-price-tags > /home/tc/storage/crystal-cash/logs/print-price-tags.log
image-20251113-114546.png

 

2. Сохраните файл print-price-tags.log и отправьте в техническую поддержку.

image-20251113-114717.png

 

Дополнительные настройки

Печать нескольких ценников в одном задании

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 = 'НАИМЕНОВАНИЕ_ПРИНТЕРА';

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