Документація/Формати даних

Адміністратору

XML-таблиці

Як сформувати XML-таблицю з облікової системи та передати її на пристрій.

XML-таблиці передають на пристрій довідники, ціни, залишки, маршрути та інші дані з облікової системи. Покладіть їх безпосередньо в outbox; назву таблиці у файлі та в exchange.xml треба узгодити.

Наприклад, для <db name="ref_products"/> облікова система створює файл outbox/ref_products.xml із таблицею ref_products.

Структура таблиці

Табличний XML має кореневий елемент <table>, секцію <schema> з полями та секцію <data> із записами.

<?xml version="1.0" encoding="UTF-8"?>
<table name="ref_products">
  <schema>
    <field name="code" type="TEXT KEY"/>
    <field name="name" type="TEXT"/>
    <field name="parent" type="TEXT KEY"/>
    <field name="group" type="INTEGER"/>
    <field name="packaging" type="REAL"/>
    <field name="price_Retail" type="REAL"/>
  </schema>
  <data>
    <record>
      <f>P-001</f>
      <f>Товар</f>
      <f>0</f>
      <f>0</f>
      <f>1</f>
      <f>42.5</f>
    </record>
  </data>
</table>

Кожен <field> у <schema> визначає одне поле. Кількість і порядок значень <f> у кожному <record> мають відповідати кількості та порядку полів у <schema>.

У прикладі товар не належить до групи (parent дорівнює 0), сам не є групою (group дорівнює 0) і має одну одиницю у фасовці (packaging дорівнює 1).

Типи полів

Доступні типи даних: INTEGER, INT64, REAL, TEXT, BLOB і DATE. Позначка KEY використовується для індексації поля, наприклад TEXT KEY. Вона не означає, що значення поля мають бути унікальними.

Кодування XML-файла має збігатися зі значенням encoding в оголошенні XML. Наприклад, якщо вказано encoding="utf-8", файл має бути збережений у UTF-8.

Облікова система має публікувати лише повністю записані файли. Створіть файл у outbox під тимчасовим ім'ям, яке не використовується в профілях обміну, наприклад ref_products.xml.tmp. Після завершення запису закрийте файл і атомарно перейменуйте його на ref_products.xml у тій самій теці.

Використання таблиці в профілі

Таблиця передається лише тоді, коли її ім'я є в профілі <get> файла exchange.xml:

<get>
  <dbs>
    <db name="ref_products"/>
  </dbs>
</get>

Після зміни XML-таблиці достатньо виконати відповідний профіль обміну на пристрої. Не потрібно створювати або копіювати службові файли вручну.