README.md

OMOBUS slave data

В данном проекте описываются механизмы интеграции и структуры входящих/исходящих потоков данных, передаваемых между сервером OMOBUS и источником данных, в качестве которого выступает ERP (Корпоративная информационная система - КИС) дистрибьютора.


Описание процедуры обмена данными через web-службу OMOBUS

Обмен данными между КИС дистрибьютора и системой OMOBUS осуществляется по протоколу HTTPS через специализированную web-службу OMOBUS в формате JSON. Адрес web-службы для обмена данными данных можно получить, обратившись в службу технической поддержки OMOBUS.

ВНИМАНИЕ! Обмен данными выполняется только в кодировке UTF-8 без BOM.

Описание web-службы загрузки справочных данных

Web-служба загрузки справочных данных (/data) принимает следующие команды:

  • POST - загрузка справочных данных;
  • GET - получение ранее загруженных справочных данных;
  • DELETE — удаление ранее загруженных справочных данных.

Параметры запроса можно передавать либо в URI, либо в теле HTTP запроса. Параметры, указанные в теле HTTP запроса, имеют более высокий уровень приоритета. Необходимо указание двух параметров:

  • tid (в URI) или X-Tid (в теле HTTP сообщения) - Token ID (можно получить, обратившись в службу технической поддержки OMOBUS);
  • (опционально) ref (в URI) или X-Ref (в теле HTTP сообщения) - название одного или нескольких потоков справочных данных, перечисленных через запятую (см. описание потоков ниже); используется только для команд GET и DELETE.

Пример загрузки справочника warehouses (параметры передаются в теле HTTP запроса):

$ curl --verbose --request POST -H "Content-Type: application/json" -H "X-TID: 1" --data "@./warehouses.json" https://zdev.omobus.net/bridge/data

или то-же самое, но через параметры в URI:

$ curl --verbose --request POST -H "Content-Type: application/json" --data "@./warehouses.json" https://zdev.omobus.net/bridge/data?tid=1

Пример загрузки нескольких справочников за один запрос (параметры передаются в теле HTTP запроса):

$ curl --verbose --request POST -H "Content-Type: application/json" -H "X-TID: 1" --data "@./all.json" https://zdev.omobus.net/bridge/data

Пример получения данных ранее загруженных справочников warehouses и warech_stocks:

$ curl --verbose https://zdev.omobus.net/bridge/data?tid=1\&ref=warehouses,wareh_stocks

В случае успеха возвращается ответ с кодом 201 или 200. Данные принимаются только в кодировке UTF-8 без BOM.

Описание web-службы загрузки документов

Web-служба выгрузки сформированных на мобильных устройствах документов (/docs) принимает следующие команды:

  • GET - получение документов или справочных данных, выгружаемых из системы OMOBUS.

Параметры запроса можно передавать либо в URI либо в теле HTTP запроса. Параметры указанные в теле HTTP имеют более высокий уровень приоритета. Необходимо указание следующих параметров:

  • tid (в URI) или X-Tid (в теле HTTP сообщения) - Token ID (можно получить, обратившись в службу технической поддержки OMOBUS).
  • (опционально) ref (в URI) или X-Ref (в теле HTTP сообщения) - Название одного или нескольких потоков документов и/или справочных данных, перечисленных через запятую (см. описание потоков ниже).
  • (опционально) strip (в URI) или X-Strip (в теле HTTP сообщения) - Удалить пустые реквизиты из возвращаемого набора данных. Возможны значения: yes или no. По-умолчанию, если реквизит не задан, данные параметр принимает значение, равное yes.
  • (опционально) ttd (в URI) или X-TTD (в теле HTTP сообщения) - Список состояний документов, перечисляемых через запятую, которые будут выключены в возвращаемый набор данных. Разрешено использование следующих значений: delivered — документ доставлен до точки обмена, accepted — получено подтверждение получения документа. По-умолчанию, в том случае, если данный параметр не определен, возвращаемый набор данных будет включать только документы с состоянием delivered.

Порядок работы КИС в ходе приема документов состоит из следующих последовательно выполняемых запросов:

  1. GET - получить список всех необработанных на текущий момент времени документов. Под необработанными считаются все документы, по которым не передана в систему OMOBUS информация о том, что на их основании созданы документы в КИС дистрибьютора. Данная информация передается в потоке erp_docs. Пример запроса:

    $ curl --verbose https://zdev.omobus.net/bridge/docs?tid=1&ref=orders
    
  2. Сохранить документ(-ы) в КИС дистрибьютора.

  3. POST - загрузить в систему OMOBUS информацию о созданных в КИС дистрибьютора документах (erp_docs и erp_products). Пример запроса:

    $ curl --verbose --request POST -H "Content-Type: application/json" -H "X-TID: 1" --data "@./erp_docs2.json" https://zdev.omobus.net/bridge/data
    

Периодичность повтора загрузки документов рекомендуется установить в интервале от 5 до 45 мин.

ВНИМАНИЕ! Список загружаемых документов может содержать документы, которые уже были загружены в КИС дистрибьютора. Принимающая сторона должна корректно обрабатывать такие ситуации.

В случае успеха возвращается ответ с кодом 200. Данные возвращаются только в кодировке UTF-8 без BOM.


Примеры реализации протокола обмена

Реализация процедуры обмена данными для 1С:Предприятие 8.3 (8.3.21.1393), Конфигурация Управление торговлей, редакция 11 (11.4.6.207) ссылка.


Типы данных

Допустимо использование следующих типов данных:

  • address_t = VARCHAR(256) - Строка длиной 256 символов.
  • bool_t = INT2 - Целое число размером 1 или 2 байта (может принимать значение 0 или 1).
  • code_t = VARCHAR(24) - Строка длиной 24 символа.
  • currency_t = NUMERIC(18,4) - Число с дробной частью. В качестве десятичного разделителя используется точка. Разделитель групп разрядов не используется.
  • date_t = VARCHAR(10) - Строка длиной 10 символов, содержащая дату в формате ISO:8601.
  • datetime_t = VARCHAR(19) - Строка длиной 19 символов, содержащая дату и время в формате ISO:8601 с пробелом в качестве разделителя даты и времени.
  • descr_t = VARCHAR(256) - Строка длиной 256 символов.
  • ean13s_t = EAN13 ARRAY - Строковое представление штрихкодов в формате EAN13. В качестве разделителя между элементами выступает символ ‘,’.
  • int32_t = INT4 - Целое число размером 4 байта.
  • note_t = VARCHAR(1024) - Строка длиной 256 символов.
  • numeric_t = NUMERIC(16,4) - Число с дробной частью. В качестве десятичного разделителя используется точка. Разделитель групп разрядов не используется.
  • uid_t = VARCHAR(48) - Строка длиной 48 символов.
  • uids_t = VARCHAR(48) ARRAY - Строковое представление массива элементов типа uid_t. В качестве разделителя между элементами выступает символ ‘,’.

Входящие (относительно сервера OMOBUS) потоки данных

В потоках необходимо передавать только актуальные данные. Также должна обеспечиваться уникальность (неповторяемость) записей по первичному ключу (строки первичного ключа помечены PK). Обязательные поля отмечены значением M.

Все данные во входящих потоках формируются в кодах дистрибьютора. Преобразование кодов дистрибьютора в коды производителя осуществляется автоматически на стороне сервера OMOBUS.

ВНИМАНИЕ! Названия потоков регистрозависимые.

Требования к наличию потков данных:

  • [mandatory] - поток данных должен передаваться обязательно;
  • [recommended] - поток данных рекомендуется передавать.

accounts [mandatory]

Параметры клиента. В данном потоке в обязательном порядке указываются все клиенты, с которыми работают сотрудники дистрибьютора, перечисленные в потоке users.

Код Тип Ссылка Описание
PK account_id uid_t ID клиента
code code_t Код клиента.
M descr descr_t Название клиента.
M address address_t Адрес клиента.
group_price_id uid_t group_prices ID групповой цены (см. group_prices).
payment_delay int32_t Отсрочка платежа.
payment_method_id uid_t payment_methods ID метода оплаты.
wareh_ids uids_t warehouses Список ID складов или пустое значение.
user_ids uids_t users Список ID сотрудников (ответственных).
M locked bool_t Клиент заблокирован (0 или 1)).

В том случае, если реквизит code не проставлен, код клиента выставляется автоматически на стороне сервера OMOBUS™.

Список возможных значений метода оплаты (реквизит payment_method_id, поток payment_methods) определяется на стороне OMOBUS. По согласованию с дистрибьютором, данный список может быть расширен.

В реквизите wareh_ids определяется список ID складов (через ‘,’), с которых может осуществляться поставка продукции клиенту. Пустое значение означает, что поставка продукции осуществляется с любого склада дистрибутора.

В реквизите user_ids указывается список ID сотрудников (через ‘,’), которые работают с данным клиентом (ответственные сотрудники).

Для заблокированных клиентов (реквизит locked = 1) отключается возможность создания Заказа продукции.

account_prices

Персональные цены для клиента. Данный вид цен имеет наивысший приоритет по сравнению с ценами, заданными с помощью потоков group_prices и/или std_prices. Цена задается в базовой упаковке (минимально допустимая упаковка продукта с кратностью упаковки равной 1, как правило, шт.).

Код Тип Ссылка Описание
PK account_id uid_t accounts ID клиента.
PK prod_id uid_t products ID продукта.
M price currency_t Цена продукта.

Область применения: С помощью данного потока, можно жестко привязать цены к конкретному клиенту. Как правило, данный вид цен целесообразно использовать в качестве уточняющей цены при определенных ценах, задаваемых в потоках group_prices и/или std_prices. Другими словами, каждый клиент может иметь свой список цен, для части или для всех продуктов, по одной на каждый продукт.

balances [recommended]

Балансы счетов клиентов (остатоки кредитного лимита).

Код Тип Ссылка Описание
PK account_id uid_t accounts ID клиента.
M amount currency_t Баланс счета клиента.
M b_date date_t Дата актуальности информации.

blacklist

Заблокированные для заказа продукты. Указанные в данном потоке продукты будут показаны в документе Заказ продукции (при условии наличия цены), однако сотрудник не сможет их добавить в заказ.

Код Тип Ссылка Описание
PK account_id uid_t accounts ID клиента.
PK prod_id uid_t products ID продукта.

debts [recommended]

Просроченная дебиторская задолженность (ПДЗ). Фактичесик ПДЗ это долг, не оплаченный во-время.

Код Тип Ссылка Описание
PK_ account_id uid_t accounts ID клиента.
M debt currency_t Сумма просроченного долга.
M d_date date_t Дата актуальности информации.

discount_promos

Скидочные промо-акции, используемые в документе Заказ продукции. В рамках данного потока должны передаваться только действующие в текущий момент скидочные промо-акции, и те, которые запланированы к действию в ближайшие 15 дней.

ВНИМАНИЕ! В случае возникновения коллизии, при которой на одну дату действует несколько скидочных промо-акций с пересекающимся набором продуктов из акционного ассортимента, выбор скидочной промо-акции будет происходить случайным образом.

Код Тип Ссылка Описание
PK account_id uid_t accounts ID клиента.
PK promo_guid uid_t Уникальный идентификатор промо.
M discount int32_t Значение скидки в %.
PK b_date date_t Дата начала действия промо.
M e_date date_t Дата окончания действия промо.
M prod_ids uids_t Список ID промо продуктов (акционный ассортимент).
M items int32_t Минимальное количество акционных продуктов.
M packs int32_t Минимально допустимое количесво, выраженное в базовой упаковке.
amount currency_t Минимальная сумма документа, начиная с которой будет действоать скидка.
M subject varchar(64) Название промо.
M body note_t Полное описание промо.
applicability int32_t Количество уникальных продуктов, на которое будет действовать скидка.
covered_ids uids_t products Список ID продуктов, на которые будет действовать скидка.

Скидочная промо-акция действует в том случае, если в заказ добавлено минимально допустимое (реквизит items) количество продуктов из акционного ассортимента (реквизит prod_ids), при этом количество каждого добавленного продукта из акционного ассортимента должно быть не меньше значения, указанного в реквизите packs, а итоговая сумма документа (до применения скидки) не менее значения, указанного в реквизите amount.

В реквизитах items и packs разрешено указание только значений больше нуля.

Реквизит amount можно передавать пустым, в этом случае, скидочная промо-акция будет действовать на заказ любой суммы.

Реквизит applicability описывает область действия скидочной промо-акции. В случае указания пустого значения, скидочная промо-акция будет действовать на все продукты, указанные в реквизите covered_ids. В случае указания значения больше нуля, скидочная промо-акция будет действовать только на указанное количество продуктов из акционного ассортимента (реквизит prod_ids). Указание в реквизите applicability значений меньших или равных нулю не допускается.

В реквизите covered_ids содержится список продуктов, на которые будет действовать скидка. Пустое значение означает, что скидка будет действовать на любой продукт, добавленный в документ Заказ продукции.

Список доступного акционного ассортимента может динамически меняться в зависимости от доступности продуктов в конкретный момент времени.

В документе Заказ продукции скидочная промо-акция применяется по дате доставки продукции.

erp_docs [mandatory]

Документы, созданные в КИС на основании документов из OMOBUS. Необходимо выгружать документы, созданные на основании документов из OMOBUS, в течении последних 5 дней.

Код Тип Ссылка Описание
PK doc_id uid_t orders, reclamations ID документа OMOBUS.
PK erp_id uid_t ID документа в КИС.
pid uid_t erp_docs ID документа-основания в КИС.
M erp_no code_t Номер документа в КИС.
M erp_dt datetime_t Дата/время создания документа в КИС.
M amount currency_t Итоговая сумма документа с учетом всех скидок и НДС.
M status int32_t Статус документа.

В реквизите status возможно указание следующих значений:

  • 0 — введен в систему;
  • 1 — проведен (закрыт);
  • -1 — удален/отменен/аннулирован;
  • 2 — отгружен клиенту;
  • 3 — получен клиентом/доставлен клиенту.

erp_products [mandatory]

Детализация документов, созданных в КИС на основании документов из OMOBUS. Данный поток является детализацией потока erp_docs и должен содержать детализацию документов, перечисленных в erp_docs.

Код Тип Ссылка Описание
PK doc_id uid_t orders, reclamations ID документа OMOBUS.
PK erp_id uid_t erp_docs ID документа в КИС.
PK prod_id uid_t products ID продукта.
M pack int32_t Размерность упаковки.
M qty numeric_t Количество продукта (в упаковках с размерностью pack).
M amount currency_t Итоговая стоимость продукта.

floating_prices

Периодические цены. Данный вид цен имеет наивысший приоритет по сравнению с ценами, заданными с помощью потоков account_prices, group_prices и/или std_prices. В рамках данного потока, должны передаваться только действующие в текущий момент периодические цены и цены, которые запланированы к действию в ближайшие 15 дней. Цена задается в базовой упаковке (минимально допустимая упаковка продукта с кратностью упаковки равной 1, как правило, шт.)

ВНИМАНИЕ! В случае возникновения коллизии, при которой на одну дату действует несколько акционных цен, выбор используемой цены происходит случайным образом.

Код Тип Ссылка Описание
PK account_id uid_t accounts ID клиента.
PK prod_id uid_t products ID продукта.
M price currency_t Цена продукта.
PK b_date date_t Дата начала действия цены.
M e_date date_t Дата окончания действия цены.
promo bool_t Акционная цена (0 или 1).

В случае установки реквизита promo в 1, сотрудник информируется о том, что для данного продукта проводится акция с указанием периода ее проведения.

Область применения: С помощью данного потока можно определить цены периодического действия индивидуально для каждого клиента. При этом, необходимость использование данной цены определяется по дате доставки (что эквивалентно дате отгрузки) продукции, которая задается перед созданием документа «Заказ продукции». Данное правило можно проиллюстрировать следующим примером:

  • в потоке floating_prices определена цена с 15 февраля по 20 февраля равная 10 руб.;
  • обычная цена 15 руб.;
  • если заказ делается 13 февраля на 13 февраля, показывается цена 15 руб.;
  • если заказ делается 13 февраля на 15 февраля, показывается цена 10 руб.;
  • если заказ делается 15 февраля на 21 февраля, показывается цена 15 руб.

group_prices [mandatory]

Групповые цены (ценовые условия). Привязка групповой цены к конкретной т/точке выполняется в потоке account_params. Приоритет цен, заданных с помощью данного потока выше чем у цен, задаваемых с помощью потока std_prices. Цена задается в базовой упаковке (минимально допустимая упаковка продукта с кратностью упаковки равной 1, как правило, шт.)

Код Тип Ссылка Описание
PK group_price_id uid_t ID групповой цены (см. account_params).
PK prod_id uid_t products ID продукта.
M price currency_t Цена продукта.

Область применения: Данный вид цен позволяет «привязывать» одни и те же групповые цены к разным т/точкам. Фактически, в потоке group_prices задается список «ценовых условий». Ссылка из account_params дает возможность разным клиентам иметь один и тот же набор ценовых условий. В пределе, каждый клиент может иметь свой набор ценовых условий, что эквивалентно механизму, описанному в потоке account_prices. Клиент не может иметь более 1 набора ценовых условий. Другими словами, каждый т/точка может иметь свой список цен для части или всех продуктов, по одной на каждый продукт. Один список цен может использоваться разными клиентами. Другими словами, все цены, имеющие одинаковый group_price_id, можно трактовать как отдельный прайс-лист. Ссылка же из account_params (для конкретного account_id) на такой group_price_id, реализует привязку клиента, с этим конкретным account_id, к прайс-листу, указанному group_price_id.

mutuals [recommended]

Итоги взаиморасчетов.

Код Тип Ссылка Описание
PK account_id uid_t accounts ID клиента.
M mutual currency_t Итог взаиморасчетов с клиентом.
M m_date date_t Дата актуальности информации.

mutuals_history [recommended]

История взаиморасчетов. Данные передаются за 45 дней.

Код Тип Ссылка Описание
PK account_id uid_t accounts ID клиента.
PK erp_id uid_t ID документа в КИС дистрибьютора.
M erp_no code_t Код документа в КИС дистрибьютора.
M erp_dt datetime_t Дата или дата/время проведения документа в КИС дистрибьютора.
M amount currency_t Сумма документа
M incoming bool_t Входящий платеж (значения: 0 или 1).
M unpaid currency_t Неоплаченная сумма.

mutuals_history_products

Детализация документов истории взаиморасчётов. Данный поток связан с mutual_history и должен содержать данные только по тем документам, которые имеются в mutual_history.

Код Тип Ссылка Описание
PK erp_id uid_t erp_docs ID документа в КИС дистрибьютора .
PK prod_id uid_t products ID продукта.
M pack int32_t Размерность упаковки.
M qty numeric_t Количество продукта (в упаковках с размерностью pack).
M amount currency_t Итоговая стоимость продукта.

order_params

Дополнительные параметры заказа (отображаются на устройствах в виде флагов с двумя возможными состояниями: Да или Нет).

Код Тип Ссылка Описание
PK param_id uid_t ID параметра заказа.
descr descr_t Наименование параметра заказа.

permitted_returns

Продукция, разрешенная к возврату с помощью документа Возврат продукции. Данный поток обязателен для заполнения в том случае, если планируется формирование Возвратов продукции. Цена и ограничение на максимальное разрешенное к возврату количество задается в базовой упаковке (минимально допустимая упаковка продукта с кратностью упаковки равной 1, как правило, шт.).

Код Тип Ссылка Описание
PK account_id uid_t accounts ID клиента.
PK prod_id uid_t products ID продукта.
price currency_t Цена продукта.
max_qty numeric_t Максимально количество возвращаемой продукции.
locked bool_t Выбор продукта заблокирован (0 или 1).

В случае, если реквизит locked выставленв 1, продукт показывается при создании возврата, но выбрать его нельзя.

products [mandatory]

Продукты.

Код Тип Ссылка Описание
PK prod_id uid_t ID продукта.
code code_t Код продукта.
M descr descr_t Полное наименование продукта.
barcodes ean13s_t Список штрих кодов, связанных с продуктом.
M pack_name descr_t Название базовой упаковки.

В том случае, если реквизит code не проставлен, код продукта выставляется автоматически на стороне сервера OMOBUS™.

В реквизите pack_name указывается название базовой упаковки (минимально допустимая упаковка продукта с кратностью упаковки равной 1, как правило, ‘шт’.). В случае, если этот реквизит не задан, будет использовано значение по-умолчанию ‘pcs’.

restrictions

Ограничения, накладываемые на значение количества продукта в документе Заказ продукции. Все ограничения задаются в базовой упаковке (минимально допустимая упаковка продукта с кратностью упаковки равной 1, как правило, шт.).

Код Тип Ссылка Описание
PK account_id uid_t accounts ID клиента.
PK prod_id uid_t products ID продукта.
min_qty numeric_t (min_qty >= 0) Минимально допустимое к заказу количество.
max_qty numeric_t (max_qty >=0) Максимально допустимое к заказу количество.
quantum int32_t (quantum > 0) Кратность заказываемого количества.

shipments

Предписанный календарь доставок продукции клиенту. В том случае, если данный поток не заполнен, календарь доставок формируется автоматически на десять календарных дней.

Код Тип Ссылка Описание
PK account_id uid_t accounts ID клиента.
PK d_date date_t Дата доставки.

std_prices [mandatory]

Базовая цена. Используется в том случае, если не заданы групповые group_prices или персональные цены account_prices. Цена задается в базовой упаковке (минимально допустимая упаковка продукта с кратностью упаковки равной 1, как правило, шт.)

Код Тип Ссылка Описание
PK prod_id uid_t products ID продукта.
M price currency_t Цена продукта.

Область применения: Данный вариант цены можно оценивать как цены по-умолчанию, которые используются в том случае, если не заданы персонализированные цены следующих уровней (с помощью потоков group_prices и/или account_prices).

symlinks [mandatory]

Таблица соответствия кодов производителя соответствующим кодам дистрибьютора.

Для обеспечения передачи в Заказе/Возврате продукции кодов сотрудников из КИС дистрибьютора, необходимо сформировать связку кодов сотрудников (реквизит obj_code = user) в системе OMOBUS и КИС дистрибьютора. Для управления даннои связкой, например, в «Карточке Сотрудника», можно обеспечить наличие текстового поля размером до 48 символов, в котором операторы могут в дальнейшем вводить № маршрута или уникальный идентификатор сотрудника в OMOBUS. Указанные реквизиты (dev_login, user_id) можно получить командой /docs?ref=users&tid=TokenID или через web-console OMOBUS.

Во всех остальных случаях, symlinks заполняется только если таблица соответствия кодов формируется и поддерживается на стороне дистрибьютора.

Код Тип Ссылка Описание
PK obj_code code_t Код объекта.
PK f_id uid_t ID объекта в системе дистрибьютора.
M t_id uid_t ID объекта в системе производителя.

Реквизит obj_code может принимать одно из следующих значений: product, account, user.

users [mandatory]

Сотрудники. В данном потоке возвращаются только сотрудники, которые работают с OMOBUS в рамках текущего проекта.

Код Тип Ссылка Описание
PK user_id uid_t ID сотрудника.
M descr descr_t ФИО сотрудника.

wareh_stocks [mandatory]

Оперативные остатки продукции на складе (актуальные остатки на момент формирования потока). Остатки задаются в базовой упаковке (минимально допустимая упаковка продукта, как правило, шт.).

Код Тип Ссылка Описание
PK wareh_id uid_t warehouses ID склада.
PK prod_id uid_t products ID продукта.
M qty int32_t Остаток в базовой упаковке.

warehouses [mandatory]

Склады.

Код Тип Ссылка Описание
PK wareh_id uid_t ID склада.
M descr descr_t Название склада.

Исходящие (относительно сервера OMOBUS) потоки данных

Данные в потоке передаются за 5 последних календарных дней (если о порядке передачи данных в потоке не указана дополнительная информация) с момента их внесения в систему, или с момента последнего их изменения на сервере OMOBUS. Поэтому, принимающая сторона должна обеспечить гарантированный прием данных минимум 1 раз в 4 дня. В противном случае, часть данных будет утеряна. В свою очередь, сервер OMOBUS обновляет весь массив данных на общем ресурсе с шагом 150 секунд (через каждые 150 секунд после предыдущей выгрузки + время, затрачиваемое на подготовку данных).

Дата и время, если не сделано специального уточнения, представляют собой локальные дату и время фактической фиксации данных на устройстве (терминале сбора данных).

delivery_types

Типы доставки продукции.

Код Тип Ссылка Описание
PK delivery_type_id uid_t ID типа доставки продукции.
M descr descr_t Наименование типа доставки.

order_types

Виды заказов.

Код Тип Ссылка Описание
PK order_type_id uid_t ID вида заказа.
M descr descr_t Наименование вида заказа.

orders

Документ Заказ продукции.

Код Тип Ссылка Описание
PK doc_id uid_t ID документа.
M fix_dt datetime_t Дата создания документа на устройстве.
M doc_no uid_t Номер документа на устройстве.
M user_id uid_t users ID сотрудника.
M dev_login uid_t Код устройства OMOBUS.
M account_id uid_t accounts ID клиента.
order_type_id uid_t order_types ID вида заказа.
group_price_id uid_t group_prices ID групповой цены.
wareh_id uid_t warehouses ID склада.
M delivery_date date_t Дата доставки.
delivery_type_id uid_t delivery_types ID типа доставки.
doc_note note_t Комментарий сотрудника.
payment_method_id uid_t payment_methods ID типа оплаты.
payment_delay int32_t Отсрочка платежа (по данным из account_params).
order_param_ids uids_t order_params
M rows int32_t Количество строк в документе.
PK prod_id uid_t products ID продукта.
M row_no int32_t Номер строки в документе.
M pack int32_t Размерность упаковки.
M qty numeric_t Количество заказанного продукта (в упаковках с размерностью pack).
M unit_price currency_t Цена.
discount int32_t Значение скидки в %.
M amount currency_t Сумма строки с учетом скидки.
weight numeric_t Вес.
volume numeric_t Объём.
promo_guid uid_t discount_promos Уникальный идентификатор промо.
ttd varchar(9) Статус обработки документа.
erp_ids uids_t erp_docs Список ID документов (через ‘,’), созданных в КИС.

Значения, передаваемые в реквизите doc_no, уникальны только в рамках одной инсталляции приложения на одном мобильном устройстве. Уникальный номер заказа хранится в реквизите doc_id.

Поле user_id может содержать идентификатор пользователя в нотации производителя в том случае, если в OMOBUS не загружена таблица сваимосвязи между идентификаторами сотрудников в системе дистрибьютора и производителя (см. поток symlinks).

Поле dev_login содержит код устройства, на котором сформированы данные, в нотации OMOBUS.

Поле pack содержит размерность упаковки относительно базовой упаковки, которая определяется в штуках. Размерность базовой упаковки всегда равна 1.

Поле ttd может слдержать одно из следующих значений: delivered — документ доставлен до точки обмена, accepted — получено подтверждение получения документа.

payment_methods

Типы оплаты.

Код Тип Ссылка Описание
PK payment_method_id uid_t ID типа оплаты.
M descr descr_t Наименование типа оплаты.

reclamation_types

Причины возврата продукции.

Код Тип Ссылка Описание
PK reclamation_type_id uid_t ID причины возврата.
M descr descr_t Наименование причины возврата продукции.

reclamations

Документ Возврат продукции.

Код Тип Ссылка Описание
PK doc_id uid_t ID документа.
M fix_dt datetime_t Дата создания документа на устройстве.
M doc_no uid_t Номер документа на устройстве.
M user_id uid_t users ID сотрудника.
M dev_login uid_t Код устройства OMOBUS.
M account_id uid_t accounts ID клиента.
doc_note note_t Комментарий.
M rows int32_t Количество строк в документе.
PK prod_id uid_t products ID продукта.
M row_no int32_t Номер строки в документе.
M reclamation_type_id uid_t reclamation_types ID причины возврата.
M pack int32_t Размерность упаковки
M qty numeric_t Количество возвращаемого продукта (в упаковках с размерностью pack).
M unit_price currency_t Цена.
M amount currency_t Сумма строки.
weight numeric_t Вес.
volume numeric_t Объём.
ttd varchar(9) Статус обработки документа.
erp_ids uids_t erp_docs Список ID документов (через ‘,’), созданных в КИС.

Поле user_id может содержать идентификатор пользователя в нотации производителя в том случае, если в OMOBUS не загружена таблица сваимосвязи между идентификаторами сотрудников в системе дистрибьютора и производителя (см. поток symlinks).

Поле dev_login содержит код устройства, на котором сформированы данные, в нотации OMOBUS.

Поле ttd может слдержать одно из следующих значений: delivered — документ доставлен до точки обмена, accepted — получено подтверждение получения документа.


COPYRIGHT

Разрешено распространение и использование исходного кода с модификациями или без модификаций, с учетом ограничений, указанных в файле COPYRIGHT.

Описание

Описание протокола обмена данными дистрибьютор ↔ OMOBUS

Конвейеры
0 успешных
0 с ошибкой