Программа Дисплей покупателя предназначена для отображения текущей информации о пробиваемых товарах покупателю на отдельном мониторе, обращенном в сторону покупателя. В моменты, когда на кассе не производится продажа, программа может отображать различную рекламную информацию в виде наборов изображений и/или видео файлов.
Запуска программы производится из командной строки
IDisplayPort.exe
Программа может быть добавлена в автозапуск компьютера.
Программа является клиентом по отношению к РМК. Это означает, что если в параметрах РМК указано Использовать дисплей покупателя, то РМК запускает сервер, который обслуживает дисплеи покупателей на выбранном порту доступа. Программы Дисплей покупателя, а их может быть запущено несколько на разных ПК, подключаются к этому серверу по протоколу TCP/IP с заданной периодичностью и отображают полученную информацию о текущей работе РМК.
Настройка программы осуществляется специальным файлом настройки, который представляет собой XML файл с набором тэгов и их значениями. Пример такого файла:
Описание тэгов и допустимые значения. Через косую черту указана иерархия тэгов и атрибутов.
Тэг | Описание | Значения |
---|---|---|
layout | Описание расположения элементов в окне программы | Тэг заголовок, имеющий подчиненные тэги |
layout / display | Номер дисплея, для отображения окна программы. | Допустимые значения от 0 до количества мониторов минус 1. 0 – основной дисплей. Если указано значение больше допустимого, то окно отобразится на основном дисплее. |
layout / panel | Описание отображаемой панели с данными. Панелью называется часть окна с заданными параметрами отображения данных. | |
layout / panel / content | Описание содержимого панели. | |
layout / panel / content / type | Тип отображаемого контента. | Допустимые значения. “text” – Статическое текстовое поле. Например, заголовок. “list” – список значений, разделённый на колонки. Например, текущая регистрация. “picture” – картинка или набор картинок, отображаемый последовательно в цикле. Для этого необходимо задать интервал отображения. Может применяться для вывода рекламной информации во время простоя кассы. “video” – Проигрывание видео файла. Может применяться для вывода рекламной информации во время простоя кассы. “wareimage” – картинка или набор картинок, связанных с текущим товаром в списке чека. Если картинок у товара несколько, то они могут отображаться последовательно в цикле. Для этого необходимо задать интервал отображения. “warevideo” – Проигрывание видео файла, связанного товаром из текущей строки в чеке. Из файлов, указанных в списке дополнительных изображений товара берутся файлы, удовлетворяющие шаблону имени файла, указанному для панели. |
layout / panel / content / text | Текст, выводимый в панели с типом text. | Произвольный текст. |
layout / panel / content / datasource | Источник данных для панели с типом list. | Возможные значения “cheque” – список содержит строки из текущей регистрации. “totals” – список содержит данные итогов чека. |
layout / panel / content / headerheight | Высота заголовка списка. Для панели с типом list. | Числовое значение в пикселях. |
layout / panel / content / rowheight | Высота строки списка. Для панели с типом list. | Числовое значение в пикселях. |
layout / panel / content / path | Для панели с типом picture или video задает путь к отображаемым файлам. | Строка, путь к файлам для отображения в панели. Без имен файлов. Для панелей wareimage и warevideo: если указано не пустое значение, то из имен файлов, перечисленных в карточке товара, будет убран путь и оставлено только имя самого файла. К полученному имени файла будет добавлен значение атрибута path. |
layout / panel / content / filename | Шаблон имени файла для отображения. | Строка. Для панели picture – шаблон имен файлов для отображения в панели. Для панели video – имя файла с видео контентом. Для панелей wareimage и warevideo может содержать список шаблонов имен файлов, разделенных точкой с запятой. Например, *.jpg;*.png В этом случае, из списка файлов, связанных с товаром будут использованы только удовлетворяющие шаблонам. |
layout / panel / content / timeout | Для панели с типом picture интервал отображения картинок. | Число в миллисекундах, задающее интервал отображения картинок. |
layout / panel / interior | Задает стиль панели. | |
layout / panel / interior / background | Цвет фона панели. | Строка. Шестнадцатеричное представление цвета фона. Например, "#456789". Необязательный. |
layout / panel / interior / foreground | Цвет шрифта в панели. Используется для текстовых панелей | Строка. Шестнадцатеричное представление цвета фона. Например, "#FFFFFF". Необязательный. |
layout / panel / interior / fontsize | Размер шрифта. Используется для текстовых панелей. | Число. Размер шрифта, которым будет отображаться текст. Необязательный. |
layout / panel / interior / fontbold | Признак жирного шрифта. | Число 1 или 0. Необязательный. |
layout / panel / interior / fontitalic | Признак курсивного шрифта. | Число 1 или 0. Необязательный. |
layout / panel / interior / fontunderline | Признак подчеркнутого шрифта | Число 1 или 0. Необязательный. |
layout / panel / interior / fontname | Название семейства шрифтов. | Строка. Название, установленного в системе шрифта. |
layout / panel / size | Размеры панели. | |
layout / panel / size / width | Ширина панели на экране. | Число. Ширина панели в пикселях. |
layout / panel / size / height | Высота панели на экране. | Число. Высота панели в пикселях. |
layout / panel / position | Расположение панели. | Позволяет задать постоянное расположение панели на экране. Если тэг не указан, то панели располагаются в порядке их описания слева на право и сверху вниз для занятия ими всего отведенного места. |
layout / panel / position / x | Расположение панели по горизонтали. | Число. Координата левого угла панели. |
layout / panel / position / y | Расположение панели по вертикали. | Число. Координата верхнего угла панели. |
layout / panel / column | Для панели с типом list описывает колонку списка. | |
layout / panel / column / datatype | Тип отображаемых в колонке данных. | Строка. Допустимые значения. “S” – текстовые данные; “I” – число целое; “F” – число вещественное; “D” – дата и время. |
layout / panel / column / width | Ширина колонки. | Число целое. Ширина (минимальная) колонки в списке в пикселях. |
layout / panel / column / stretch | Признак растяжения колонки. | Число “0” или “1”. 0 – Колонка фиксированной ширины. “1” – Ширина колонки может быть увеличена программой, если позволяет место в панели. |
layout / panel / column / header | Описание заголовка колонки. | Значение тэга, т.е. текст, который указан между открытием и закрытием тэга, является текстом заголовка колонки. |
layout / panel / column / header / background | Цвет фона заголовка колонки. | Строка. Шестнадцатеричное представление цвета фона. Например, "#456789". Необязательный. |
layout / panel / column / header / foreground | Цвет шрифта заголовка колонки. | |
layout / panel / column / header / fontsize, fontbold, fontitali, fontunderline, fontname | Тэги позволяют описать шрифт, которым выводится заголовок колонки. | |
layout / panel / column / header / alignment | Выравнивание заголовка колонки. | Строка. Допустимые значения. “center” – текст будет выведен по центру; “left” – текст будет выведен начиная с левой границы колонки; “right” – текст будет выведен у правой границы колонки. |
layout / panel / column / cell | Описание значения в колонке. | Значение тэга, т.е. текст, который указан между открытием и закрытием тэга, является выражением, значение которого будет выведено в строке колонки. Допустимые переменные приведены в таблице Переменные дисплея покупателя. |
layout / panel / column / cell / background | Цвет фона значения в колонке. | Строка. Шестнадцатеричное представление цвета фона. Например, "#456789". Необязательный. |
layout / panel / column / cell / foreground | Цвет шрифта ячейки колонки. | |
layout / panel / column / cell / fontsize, fontbold, fontitali, fontunderline, fontname | Тэги позволяют описать шрифт, которым выводится значения в колонке. | |
layout / panel / column / cell / alignment | Выравнивание значения в колонки. | Строка. Допустимые значения. “center” – значение будет выведен по центру; “left” – значение будет выведен начиная с левой границы колонки; “right” – значение будет выведен у правой границы колонки. |
layout / panel / column / cell / precision | Точность выводимых значения для вещественных чисел. | Число. Количество знаков после десятичной запятой. |
cminterval | Интервал опроса РМК . | Число в миллисекундах, задающее интервал опроса РМК для обновления данных. |
cmconnect | IP адрес и порт для подключения к РМК. | |
cmconnect / ip | IP адрес для подключения к РМК | Строка, ip адрес РМК |
cmconnect / port | Порт для подключения к РМК. | Число, номер порта для подключения к РМК. Значение должно совпадать с номером порта, которой указан в параметрах РМК. |
В качестве значений, выводимых в таблицах панелей дисплея покупателя могут использоваться выражения. Выражения могут содержать в себе вызовы функций, как встроенных, так и пользовательских, стандартные понятия, а так же переменные, содержащие актуальные данные из формируемого чека.
Для списка “cheque”.
Переменная | Описание |
---|---|
ware | Внутренний код товара из строки чека. |
service | Внутренний код услуги из строки чека. |
maincode | Код в главной базе товара/услуги. |
a_code | Артикул. |
barcode | Прочитанный штриховой код. |
name | Наименование, отображаемое в чеке. |
units | Единица измерения. |
ex_info | Дополнительная информация/ определенная для товара в схеме РМК. |
fr_code | Код ФР, на котором будет распечатана строка с товаром. |
quantity | Количество из строки чека. |
price | Учетная цена товара. |
price_sale | Цена продажи из строки чека. |
price_wd | Цена со всеми распределенными скидками. |
summa_sale | Сумма по цене продажи. |
summa_wd | Сумма по строке, со всеми распределенными скидками. |
min_price | Минимальная цена, определенная для товара. |
maxdiscount | Максимальная разрешенная для товара. |
koef_e | Коэффициент пересчета единицы измерения (для количества). |
koef_c | Коэффициент пересчета единицы измерения (для цены). |
f_mark | Признак, была прочитана марка. |
Для списка “totals”.
Переменная | Описание |
---|---|
payment_subtotal | Итог по чеку без скидок. |
payment_discount | Сумма скидки. |
payment_total | Сумма к оплате. |
payment_bonus | Сумма накопленных бонусов. |
payment_paycash | Оплата наличными. |
payment_paycashless | Оплата безналичными. |
payment_paybonus | Списание бонусов. |
payment_paysertificate | Оплата сертификатом. |
payment_paycredit | Оплата в кредит. |
payment_payment | Неоплаченный остаток. |
payment_change | Сдача. |
totals_number | Номер чека. |
totals_cmname | Название РМК. |
totals_datetime | Дата и время. |
totals_cashier | Имя кассира. |
totals_client | Название клиента владельца карты. |
totals_card | Номер дисконтной карты. |
totals_document | Тип формируемого документа. |
totals_manager | Имя менеджера. |
totals_partner | Название контрагента или комментарий к чеку. В зависимости от того, что введено. |
Пример работы программы.