Документация для версии POS-Интеллект 5.4. Документация на другие версии также доступна.

Предыдущая страница Контрольный пакет  Взаимодействие с кассовым сервером Следующая страница

На рисунке показан примерный вид файла xml_titles.txt.

Числа в квадратных скобках представляют собой номера функций, приходящих в поле FunctionNumber пакета. Непосредственно под числом в скобках указывается шаблон – описание того, как указанная функция будет отображаться поверх видеоизображения. Переменные, стоящие в угловых скобках "<>", будут заменяться на соответствующие им значения. Если в строке находится хотя бы один такой параметр и от POS-терминала придут данные, в которых данный параметр отсутствует, то вся строка будет игнорироваться и не будет отображена на экране.

Можно указывать как одиночные функции (например [1] или [2]), так и совокупность нескольких функций, если у них одинаковый шаблон (например [1,2,5,10]).

Настройка секций и полей файла происходит следующим образом:

  1. В секции [PARAM_TEXT_FORMAT] задаются параметры форматирования полей.

    Приведен пример, в котором везде, где отображается параметр ItemName, его максимальная длина будет 25 символов (если длина меньше, то автоматически добавятся пробелы), выравнивание будет по левому краю, все символы будут отображаться большими буквами.
    Возможные значения выравнивания: left,right,center.
    Возможные значения размера букв: upper,lower.
  2. В секции [PROLOG] указываются номера функций, которые соответствуют  началу нового чека. Когда приходит xml-пакет, функция,  номер которой указан в этом поле, автоматически увеличивает (на единицу) внутренний счетчик чеков (транзакций). Параметры, соответствующие этим функциям должны являться названиями столбцов таблицы POS_LOG_MASTER.
    1. В секции [BODY] указываются номера функций, которые соответствуют телу чека. Параметры, соответствующие этим функциям, должны являться названиями столбцов таблицы POS_LOG_DETAIL.
    2. В секции [EPILOG] указываются номера функций, которые соответствуют концу чека. Параметры, соответствующие этим функциям должны являться названиями столбцов таблицы POS_LOG_MASTER.
    3. В секции [HIDE_TITLES] указываются номера функций, которые не должны отображаться на экране в виде текста. Тем не менее, данные от этих функций сохраняются в базу POS – если они указаны в секциях [PROLOG],[BODY],[EPILOG] (см. PROLOG,BODY,EPILOG ).
    4. В секции [PROLOG_EVENT_PARAM] указываются параметры и строка для вывода. Если в пришедшем xml-пакете присутствует данный параметр, то выводится указанная строка.  Данная секция применяется для систем, где нет конкретного определения начала чека.
  3. В секции [TRANSFORM] указываются соответствия присылаемых параметров и названий столбцов таблиц базы данных pos в зависимости от номера функции. Данная секция необходима для того, чтобы не модифицировать названия столбцов базы (для совместимости).

    В приведенном примере пришедшему параметру ItemPrice в случае, если номер функции не равен 5 или 6, будет соответствовать столбец item_total, в случае, если номер функции равен 5 – столбец item_amount, если номер функции равен 6 – столбец item_price.
    Можно послать вместо строки вида:

    строку вида:

    В этом случае, описание в поле [TRANSFORM] не требуется.
  4. В секции [FUNCTIONNAME] указываются соответствия получаемых номеров функций (FunctionNumber) их названиям. Используется для связывания номеров функций и их названий в отчетах, формируемых по результатам поисковых запросов оператора.
  5. В секции [IGNORE_ZERO] указывается название параметра, при равенстве которого нулю требуется игнорировать соответствующее событие от кассы. Например, если от кассы приходит пакет, а в файле xml_titles.txt указан текст, представленный на рисунке, то блок с указанным событием не будет записан в таблицу POS_LOG_DETAIL.

    Пакет с нулевым параметром IDCAmount

    Фрагмент файла xml_titles.txt, указывающий на необходимость игнорирования пакета
    На основе функций указанных в разделах PROLOG,BODY,EPILOG система определяет каким образом добавлять в базу значения параметров. Параметры записываются в базу тогда и только тогда, когда номера функций, в которых передаются указанные параметры, добавлены в одну из трех секций (PROLOG,BODY,EPILOG).


Значения в базу заносятся по следующему алгоритму:

  1. При получении функции, прописанной в секции [PROLOG], осуществляется добавление записи в таблицу [POS_LOG_MASTER] при помощи SQL операции INSERT. Программа автоматически увеличивает счетчик [check_id] и запоминает его.
  2. При получении функции, прописанной в секции [BODY], осуществляется добавление записи в таблицу [POS_LOG_DETAIL] при помощи SQL операции INSERT, где в  поле [id] пишется ранее запомненное значение [check_id] таблицы [POS_LOG_MASTER].
  3. При получении функции, прописанной в секции [EPILOG], осуществляется обновление записи в таблице [POS_LOG_MASTER] при помощи SQL операции UPDATE, для строки, где [check_id] соответствует ранее запомненному значению.
    Таким образом, поле [check_id] используется внутри программы, и не должно использоваться в качестве имени одного из передаваемых параметров.
    Порядок следования секций может быть произвольным. Допускается написание однострочных комментариев при помощи символов  //.
    Пусть приходит пакет при добавлении товара в чек:

    и этому пакету соответствует описание:

    В этом случае на экран будут выведены титры:

В базу pos в таблицу POS_LOG_DETAIL будет добавлена запись, содержащая значения полей item_name, item_count, item_total, а так же значение FunctionNumber.

  • No labels