====== Формат обміну даними JSON ====== ===== Загальний опис ===== У файл JSON вивантажуються дані: - Інформація про базу даних, дату вивантаження, версію JSON[[#[info] Інформація про JSON файл|[info]]] - Довідник "Організації" [[#[entities] Довідник Організацій|[entities]]] [[#[groups] Групи довідників|[entitiesgroups]]] - Довідник "Грошові рахунки організацій" [**moneyaccounts**] - Довідник "Склади" [**stores**] - Довідник "Партнери (контрагенти)" [**partners**] - Довідник "Договору"[**contracts**] - Довідник "Податкові групи" [**vats**] - Довідник "Статті руху грошових коштів"[**itemscost**] - Довідник "Валюти"[**currencies**] - Довідник "Користувачі" [**users**] - Довідник "Столи" (для ресторану) [**tables**] - Довідник "Товари" [[#[goods] Довідник Товарів|[goods]]] [[#[groups] Групи довідників|[goodsgroups]]] - Довідник "Рецепти" [**recipes**] - Документи [[#[docs] Документи список|[docs]]] У більшості довідників також вивантажується інформація про групи, наприклад, Довідник "Товари": {{ :обмен_данными_с_другими_системами:json-goods-1.png?nolink |}} При завантаженні файлу JSON в іншу систему обліку рекомендується завантажувати лише ті дані, які будуть використовуватися. Наприклад, розділ "Столи" можна не завантажувати, якщо об'єкт обліку не використовує столи (фаст-фуд, магазин). Бажано дотримуватись порядку завантаження, як у списку вище, тому що, наприклад, у документах є посилання на Товари, у Товарах є посилання на Постачальників. Тому спочатку виконується завантаження Групи довідників, потім Довідників, потім Документів. ===== Структура JSON файлу вивантаження ===== ==== [info] Інформація про JSON файл ==== У секції [info] представлена інформація про файл вивантаження. ^ Параметр ^ Тип ^ Опис ^ | ver | Ціле число| Версія JSON-формату вивантаження.| | jsondocdate| Рядок | Дата створення вивантаження у форматі: РРРРММДДччммсс | | sourceID| Рядок | Ідентифікатор бази даних, з якої робилося розвантаження. Можна використовувати, щоб випадково не завантажити дані з інших баз.| ==== [groups] Групи довідників ==== Більшість довідників мають свою структуру – групи. Це секції Це секції в JSON-файлі з іменами: - **[entitiesgroups]** - належить до довідника Організації. - **[stores]** - відноситься до довідника Склади. - **[partnersgroups]** - відноситься до довідника Партнери (контрагенти). - **[vatsgroups]** - відноситься до довідника Податкові групи. - **[itemscostgroups]** - відноситься до довідника Статті руху грошових коштів. - **[currenciesgroups]** - відноситься до довідника Валюти. - **[usersgroups]** - відноситься до довідника Користувачі. - **[tablesgroups]** - відноситься до довідника Столи. - **[goodsgroups]** - відноситься до довідника. ^ Параметр ^ Тип ^ Опис ^ | guid | Рядок | Унікальний глобальний ідентифікатор. Унікальний за всіма базами даних. Рекомендується використовувати його. Розмір рядка завжди однаковий.| | lid| Ціле число | Локальний ідентифікатор у межах однієї бази даних. НЕ рекомендується використовувати його. | | level| Ціле число | Рівень вкладеності групи: 1 - верхній рівень.| | name| Рядок | Назва групи. Наприклад: "Снеки"| | fullpath| Рядок | Повний шлях до групи, наприклад: "\Продукти\Снеки".| | children| Масив | Масив об'єктів – дочірні групи.| ==== [entities] Довідник Організацій ==== ^ Параметр ^ Тип ^ Опис ^ | guid | Рядок | Унікальний глобальний ідентифікатор. Унікальний за всіма базами даних. Рекомендується використовувати його. Розмір рядка завжди однаковий.| | lid| Ціле число | Локальний ідентифікатор у межах однієї бази даних. НЕ рекомендується використовувати його. | | group| Рядок | Посилання на guid Групи [entitiesgroups].| | code| Рядок | Внутрішній код Організації.| | name| Рядок | Коротке ім'я.| | namefull| Рядок | Повне ім'я.| | inn| Рядок | ІПН - індивідуальний податковий номер.| | edrpou| Рядок| ЄДРПОУ.| | nnds| Рядок | № свідоцтва ПДВ.| | tel1| Рядок | Телефон1 організації.| | tel2| Рядок | Телефон2 організації.| | tel3| Рядок | Телефон3 організації.| | adr1| Рядок | Адреса1 організації.| | adr2| Рядок | Адреса2 організації.| | adr3| Рядок | Адреса3 організації.| | visible| Ціле число| Якщо = 1, то Обмеження доступне для вибору користувачам.| ==== [goods] Довідник Товарів ==== ^ Параметр ^ Тип ^ Опис ^ | guid | Рядок | Унікальний глобальний ідентифікатор. Унікальний за всіма базами даних. Рекомендується використовувати його. Розмір рядка завжди однаковий.| | lid| Ціле число | Локальний ідентифікатор у межах однієї бази даних. НЕ рекомендується використовувати його. | | group| Рядок | Посилання на guid Групи в [goodsgroups].| | code| Рядок | Код товару.| | name| Рядок | Коротке ім'я.| | namefull| Рядок | Повне ім'я.| | qtty| Дробове число| Кількість на складі (для вивантаження в інтернет-магазин).| | barcode| Рядок | Основний штрих-код.| | barcode2| Рядок | Штрих код 1-ї додаткової одиниці виміру.| | barcode3| Рядок | Штрих код 2-ї додаткової одиниці виміру.| | barcodelist| Рядок | Список додаткових штрих-кодів товару записуються через ";", пример:";2930000000008;2932372939017;2930089785748;".| | pin| Дробове число| Ціна закупівельна.| | p0| Дробове число| Ціна продажна.| | p1..p10| Дробове число| Додаткові продажні ціни.| | unit1| Рядок | Основна одиниця виміру.| | unit2| Рядок | Додаткова 1-а одиниця виміру.| | unit3| Рядок | Додаткова 2-а одиниця виміру.| | coeff2| Дробове число| Коефіцієнт перетворення на 1-у дод. одиницю виміру.| | coeff3| Дробове число| Коефіцієнт перетворення на 2-у дод. одиницю виміру.| | visible| Ціле число| Доступність товару. 0-товар недоступний, 1-доступний і бек- та фронт-офіс (екран касира), 2-доступний тільки в бек-офіс.| | vendor| Рядок | Посилання на guid Постачальника в [partners].| | vat| Ціле число| Група податку (для касових апаратів) збігається з кодом податку "code" у секції [vats]. 1-'А', 2-'Б', 3-'В' тощо| | desc| Рядок | Додатковий опис товару.| | min| Дробове число| Управління складськими запасами: мінімальна кількість на складі.| | nom| Дробове число| Управління складськими запасами: номінальна кількість на складі.| | scs| Ціле число| Ваги з друком етикетки: Термін придатності на днях.| | plu| Ціле число| Ваги з друком етикетки: номер PLU на вагах. Якщо = 0, то номер PLU збігається з кодом "code". Якщо =-1, то товар на ваги не вивантажується.| | tare| Ціле число| Ваги з друком етикетки: вага тари у грамах.| | piece| Ціле число| Ваги з друком етикетки: якщо = 1, то товар на ваги вивантажується як штучний.| | type| Ціле число| Якщо = 1, то товар має рецепт, і може автоматично виробляється.| | lost| Дробове число| Відсоток втрат при обробці товару, якщо він виступає інгредієнтом у рецепті.| | outw| Дробове число| Вага порції якщо цей товар має рецепт. Використовується для друку технологічної карти.| ==== [docs] Документи список ==== ^ Параметр ^ Тип ^ Опис ^ | guid | Рядок | Унікальний глобальний ідентифікатор документа. Унікальний за всіма базами даних. Рекомендується використовувати його. Розмір рядка завжди однаковий.| | lid| Ціле число | Локальний ідентифікатор у межах однієї бази даних. НЕ рекомендується використовувати його. | | type| Ціле число | Тип документу:\\ 1-Прихід\\ 2-Продаж\\ 3-Прайс-лист ЕККА\\ 4-Надходження грошових коштів\\ 5-Витрата коштів \\ 6-Замовлення покупця\\ 7-Замовлення постачальнику\\ 8-Переміщення\\ 9-Списання\\ 10-Оприбуткування\\ 11-Повернення покупця\\ 12-Повернення постачальнику\\ 13-Виробництво\\ 14-Переоблік | | num| Ціле число | Номер документа. | | sum| Дробное число | Сума документа. | | date| Рядок | Дата документа у форматі: РРРРММДДччммсс | | entity| Рядок | Посилання на guid Організації у [entities].| | partner| Рядок | Посилання на guid Партнера в [partners].| | contract| Рядок | Посилання на guid Договору [contracts].| | store| Рядок | Посилання на guid [stores].| | storeto| Рядок | Посилання на guid Склад в [stores]. Є в документах type: 8 (Переміщення). Склад який переміщається товар.| | user| Рядок| Посилання на guid Користувача в [users].| | moneyaccid| Рядок | Посилання на guid Грошового рахунку в [moneyaccounts]. Присутня у документах type: 4, 5. | itemcostid| Рядок | Посилання на guid Статті витрати у [itemscost]. Присутня у документах type: 4, 5.| | state| Ціле число| Стан: 0-проведений, 1-не проведений, 2- помічений на видалення.| | desc| Рядок | Примітка.| | treeid| Ціле число| Ідентифікатор пов'язаних документів. Документи одного дерева мають один ідентифікатор treeid.| | innum| Рядок| Номер вхідного документа. Для документів type: 1, 7.| | indate| Рядок | Дата вхідного документа у форматі: РРРРММДДччммсс | | rrocnum| Ціле число | Номер чека надрукованого на фіскальному принтері (для type: 2, 11).| | rrodevnum| Рядок | Заводський номер фіскального принтера (для type: 2, 11). | | prodtype| Ціле число| Тільки для виробництва (type: 13).\\ 0-У кожного продукту свої інгредієнти.\\ 2-Список продуктів та інгредієнтів загальний: інгредієнти всі списуються зі складу, а продукти оприбутковуються (без конкретної прив'язки продукт-інгредієнт).| | docgoods| Масив | Список товарів у документі | ===== [docs.docgoods] Список товарів у документах ===== ^ Параметр ^ Тип ^ Опис ^ | guid | Рядок | Посилання на guid Товару в [goods].| | qtty| Дробове число| Кількість товару у рядку документа..| | sum| Дробове число| Сума - вартість товару у рядку документа з урахуванням знижки.| | disc| Дробове число| Знижка (у грошовому вимірі) на вартість товару у рядку документа.| | tindoc| Дробове число| Тільки для документа Виробництво (type: 13).\\ 1-продукт, 2-сировина/інгредієнт.| | posdoc| Ціле число| Тільки для документа Виробництво (type: 13).\\ За цим параметром у рамках документа порівнюється "Продукт" та його "Інгредієнти".\\ Кожен "Продукт" має свій номер **posdoc**, за цим номером потрібно знайти всі "Інгредієнти" (tindoc=2), у яких такий самий **posdoc**.\\ Якщо у документі prodtype = 2, то не потрібно порівнювати.|