Документація/Інтеграція

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

Документи від пристрою

Структура XML-документів у inbox і правила їх безпечного імпорту в облікову систему.

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-файлі:

  1. відкрийте файл і перевірте тип документа та syncName;
  2. для кожного <doc> перевірте, чи він уже імпортований;
  3. імпортуйте нові документи та збережіть результат обробки кожного документа у своїй базі;
  4. перемістіть XML-файл до архіву або видаліть його лише після успішної обробки всіх документів.

Інтегратор має визначити стабільний ключ документа та налаштувати його передавання у exchange.xml. За цим ключем облікова система розпізнає вже імпортований документ, навіть якщо він повторно надійде в іншому файлі. Ім'я XML-файла не замінює ключ документа; номер документа можна використовувати лише тоді, коли правила інтеграції гарантують його унікальність.

Створення документа в обліковій системі та збереження результату його імпорту мають завершуватися разом. Якщо імпорт перервався, повторний запуск має пропускати вже імпортовані документи й продовжувати обробку решти.

Якщо документ не з'явився

Спочатку перевірте журнал подій за часом обміну та syncName. Потім перевірте теку inbox, налаштовану для цього пристрою, і права сервера на запис до неї.