На цій сторінці
PalmOrder Server записує документи з мобільного застосунку як XML-файли у inbox. Облікова система імпортує ці файли за власним розкладом.
Структура файла
В атрибуті user кореневого елемента <post> вказано syncName пристрою. Елемент <docs> містить один або кілька документів <doc> одного типу.
<?xml version="1.0" encoding="utf-8"?>
<post user="sales-kyiv-1" connType="remote">
<docs name="order">
<doc>
<head>
<field name="number" value="ЗК-1"/>
<field name="customer_code" value="C-001"/>
</head>
<table>
<row>
<field name="code" value="P-001"/>
<field name="count" value="2"/>
<field name="price" value="42.5"/>
<field name="sum" value="85"/>
</row>
</table>
</doc>
</docs>
</post>
| Елемент | Призначення |
|---|---|
<post user="…"> | Вказує syncName пристрою, що надіслав дані. |
<docs name="…"> | Вказує тип документа: наприклад, order, invoice або storecheck. |
<doc> | Один документ у пакеті. |
<head> | Містить поля шапки документа. |
<table> | Містить рядки табличної частини; може бути відсутнім. |
<row> | Один рядок табличної частини. |
Склад полів задається відповідним описом <document> у exchange.xml. Не припускайте, що файл завжди має однаковий набір полів: інтеграція повинна працювати з полями, які використовує ваша конфігурація обміну.
Імпорт без повторів
Обробіть усі документи у XML-файлі:
- відкрийте файл і перевірте тип документа та
syncName; - для кожного
<doc>перевірте, чи він уже імпортований; - імпортуйте нові документи та збережіть результат обробки кожного документа у своїй базі;
- перемістіть XML-файл до архіву або видаліть його лише після успішної обробки всіх документів.
Інтегратор має визначити стабільний ключ документа та налаштувати його передавання у exchange.xml. За цим ключем облікова система розпізнає вже імпортований документ, навіть якщо він повторно надійде в іншому файлі. Ім'я XML-файла не замінює ключ документа; номер документа можна використовувати лише тоді, коли правила інтеграції гарантують його унікальність.
Створення документа в обліковій системі та збереження результату його імпорту мають завершуватися разом. Якщо імпорт перервався, повторний запуск має пропускати вже імпортовані документи й продовжувати обробку решти.
Якщо документ не з'явився
Спочатку перевірте журнал подій за часом обміну та syncName. Потім перевірте теку inbox, налаштовану для цього пристрою, і права сервера на запис до неї.
