На цій сторінці
Замовлення, оплати й стор-чеки створює мобільний застосунок. Він передає вибрані поля через профіль обміну, а облікова система отримує XML-документи з inbox. Заборгованості передаються в іншому напрямку — з облікової системи на пристрій.
Таблиці документів
| Документ | Шапка | Таблична частина | Напрямок |
|---|---|---|---|
| Замовлення | doc_orders | doc_orders_products | Пристрій → облікова система; ім'я у стандартному профілі — order. |
| Оплата | doc_invoices | Немає. | Пристрій → облікова система; ім'я у стандартному профілі — invoice. |
| Стор-чек | doc_storechecks | doc_storechecks_products | Пристрій → облікова система; ім'я у стандартному профілі — storecheck. |
| Заборгованість | doc_debts | doc_debts_products | Облікова система → пристрій. |
Ця сторінка описує поля таблиць застосунку. Набір полів, що потрапляє у вихідний XML, окремо задається в exchange.xml. Він може бути меншим за повну схему.
Спільні поля шапки
| Поле | Тип | Призначення |
|---|---|---|
number | TEXT | Номер документа. |
date_time | INT64 | Дата й час документа: кількість мілісекунд від 1970-01-01T00:00:00Z. |
save_date_time | INT64 | Дата й час збереження в тому самому форматі. |
customer_code | TEXT | Код клієнта з ref_customers.code. |
customer_name | TEXT | Назва клієнта, збережена в документі. |
info | TEXT | Коментар. |
У замовлень, оплат і стор-чеків також є:
| Поле | Тип | Призначення |
|---|---|---|
send_status | INTEGER | Статус надсилання. У стандартному профілі 0 — не надісланий, 1 — надісланий. |
latitude, longitude | REAL | Координати, зафіксовані застосунком, якщо вони доступні. |
Не вважайте порожні координати помилкою формату. Їхня наявність залежить від дозволів і налаштувань визначення місцезнаходження.
Замовлення
Шапка — doc_orders
До спільних полів додаються:
| Поле | Тип | Призначення |
|---|---|---|
trade_point | TEXT | Код торгової точки з vl_trade_points.value. |
cat_price | TEXT | Код категорії цін. |
pay_type | TEXT | Код типу оплати. |
delivery | INT64 | Дата доставки в мілісекундах від початку Unix-епохи. |
delivery_type | TEXT | Код типу доставки. |
sum_no_discount | REAL | Сума до знижки. |
discount | REAL | Сума знижки на документ. |
sum | REAL | Підсумкова сума після знижки. |
weight | REAL | Загальна вага товарів, якщо для товарів задано вагу. |
Рядки — doc_orders_products
| Поле | Тип | Призначення |
|---|---|---|
doc_id | INTEGER | Зв'язок із шапкою замовлення на пристрої. |
num | INTEGER | Номер рядка. |
code | TEXT | Код товару з ref_products.code. |
name | TEXT | Назва товару в документі. |
count | REAL | Введена кількість. |
koef | REAL | Кількість базових одиниць в одній введеній одиниці. Для підбору поштучно — 1. |
price | REAL | Ціна базової одиниці до знижки. |
price_discount | REAL | Ціна базової одиниці після знижки. |
sum_no_discount | REAL | Сума рядка до знижки: count × koef × price, округлена до грошової точності. |
discount | REAL | Сума знижки на рядок. |
sum | REAL | Сума рядка після знижки. |
weight | REAL | Загальна вага товару в рядку. |
Для ціни 42.5, кількості 2, коефіцієнта 1 і знижки 5 сума до знижки становить 85, а після знижки — 80. Значення discount тут є грошовою сумою, а не відсотком.
Оплата — doc_invoices
Окрім спільних полів, оплата містить sum типу REAL — суму оплати та base_doc типу TEXT — номер вибраного документа-підстави.
Назва invoice у профілі обміну відповідає оплаті. Для стандартного профілю не замінюйте її на payment: облікова система має розпізнавати фактичне значення <docs name="invoice">.
Оплата не має табличної частини.
Стор-чек
doc_storechecks містить спільні поля шапки та trade_point типу TEXT — код торгової точки.
Рядки зберігаються в doc_storechecks_products:
| Поле | Тип | Призначення |
|---|---|---|
doc_id | INTEGER | Зв'язок із шапкою стор-чеку на пристрої. |
num | INTEGER | Номер рядка. |
code | TEXT | Код товару. |
name | TEXT | Назва товару. |
price | REAL | Зафіксована ціна. |
count | REAL | Зафіксована кількість. |
Заборгованості
Облікова система готує doc_debts.xml і doc_debts_products.xml. У стандартному exchange.xml обидві таблиці входять до профілю Завантажити дані.
Шапка — doc_debts
Схема має містити спільні поля number, date_time, save_date_time, customer_code, customer_name, info, а також:
| Поле | Тип | Призначення |
|---|---|---|
sum | REAL | Сума документа. |
trade_point | TEXT | Код торгової точки. |
cat_price | TEXT | Код категорії цін. |
pay_type | TEXT | Код типу оплати. |
delivery | INT64 | Дата доставки в мілісекундах від початку Unix-епохи. |
delivery_type | TEXT | Код типу доставки. |
За потреби додайте debt типу REAL — поточну заборгованість за документом. Якщо поле не використовується, сума документа залишається в sum.
Рядки — doc_debts_products
Схема містить doc_id і num типу INTEGER, code і name типу TEXT, а також price, count, koef, discount і sum типу REAL.
doc_id має відповідати ідентифікатору шапки в doc_debts на пристрої. Для XML-вивантаження ідентифікатори шапок відповідають порядку записів: перший <record> — 1, другий — 2 тощо. Тому рядки першої заборгованості мають doc_id=1.
Формуйте обидва файли як один узгоджений набір і передавайте разом. Якщо змінюєте порядок шапок, перераховуйте doc_id у рядках. Власний код облікової системи в першому полі id або _id не замінює цю нумерацію.
Приклад узгодженого набору: doc_debts.xml і doc_debts_products.xml. Він містить дві заборгованості клієнта C-001 та по одному рядку товару P-001 для кожної. Рядок із doc_id=1 належить документу РН-001, а з doc_id=2 — РН-002. Клієнт і товар відповідають прикладам на сторінці Довідники та маршрути.
Що передавати в облікову систему
Інтегратор вибирає поля шапки в <docHead>, а поля рядків — у <docTable>. Наприклад, щоб облікова система отримала знижку та підсумкову суму рядка, додайте в наявний <docTable> замовлення:
<docTable tableName="doc_orders_products">
<!-- Решта полів табличної частини -->
<field name="discount"/>
<field name="sum"/>
</docTable>
Зв'язок рядків із шапкою у вихідному XML визначає їхня вкладеність: <row> розміщені всередині свого <doc>. Поле doc_id не потрібно передавати лише для відновлення цього зв'язку.
Правила імпорту й захисту від повторів описано на сторінці Документи від пристрою.
