Описание
протокола обмена данными ПО Мобильный агент 3.9.1
Передача данных на устройство осуществляется несколькими видами обмена, обмен через сервер FTP/SFTP, обмен посредством Dropbox, HTTP сервиса или электронной почтой.
Файл загрузки на устройство является текстом XML кодировки UTF-8 запакованным архиватором ZIP. Имя файла XML всегда должно иметь вид «УникальныйКодПользователя(UUID).xml», имя запакованного файла может быть разным в зависимости от вариантов необходимых действий:
А) Создание начальной загрузки
на «чистое» устройство:
- имя файла (уже запакованного) может быть любым (как правило имя файла = ФИО пользователя) и иметь расширение «mbsi», именно по данному расширению устройство будет искать файл начальной выгрузки, т.к. уникальный идентификатор еще неизвестен.
- при загрузке начальной выгрузки, устройство очистит все таблицы, и данные которые там могли быть
Пример наименования файла начальной выгрузки «Петров Иван.mbsi»
Б) Последующий обмен с
устройством:
- после создания начальной выгрузки загрузка данным на устройство осуществляется файлом с именем: Уникальный идентификатор пользователя (UUID) + расширение «mbsl»
- номер сообщения должен быть равен номеру последнего сообщения, принятому с устройства (если передаются только измененные данные)
Пример имени файла последующего обмена «1f262d8c-7047-11e2-8085-0018fe7ab10e.mbsl»
Формат файлов для начального и последующего обмена
одинаковый, разница только в имени и расширении файла.
Объявления XML
<?xml version="1.0" encoding="UTF-8"?>
Заголовок
<mobile_sales version_code="1" message_number="0"
last_time_coords="1363620203036"
count="13">
versoin_code – код версии протокола, int должен быть «1»
message_number – номер сообщения, int, при начальной выгрузке должен быть «0»
· если номер сообщения равен «0», база данных очищается полностью, удаляются все документы и справочники.
·
если номер сообщения равен «-1», устройство не будет увеличивать номер
сообщения (используется, например, когда передаются данные без загрузки с
устройства)
·
если номер сообщения равен «-2», устройство не будет увеличивать номер
сообщения и очистит все справочные данные: номенклатура, клиенты, долги,
договора, ассортимент Документы и другие данные внесенные пользователем на
устройстве не удаляются.
last_time_coords – последнее принятых координат в базе данных, long
count – количество всех элементов передаваемых в сообщении, int
version_name – версия программы, string
root – признак того что устройство рутировано, boolean
fake_location – признак того что пользователь
использовал фиктивные местоположения, boolean
<settings>
<user_name>Василий</user_name> - ФИО пользователя, string
<user_guid>49a6ceda-643a-11e1-b890-1c4bd69d8841</user_guid> - GUID, string
<control_of_packaging>1</control_of_packaging> Контроль фасовки, 0 или 1
<control_of_receivables>0</control_of_receivables>Контроль задолженности, 0 или 1
<control_of_store_check>0</control_of_store_check> Контроль снятия сторчека,
0 или 1
<control_of_price>0</control_of_price> запрет изменения цены, 0 или 1
<control_of_location>1</control_of_location> снятие координат, 0 или 1
<track_interval>7</track_interval>интервал снятия координат в секундах, int
<track_start_time>245404800000</track_start_time>время начала трека 24*Часы*Минуты*60*1000, long
<track_end_time>245448000000</track_end_time> время окончания трека 24*Часы*Минуты*60*1000, long
<track_day_of_week>12345</track_day_of_week> дни недели для снятия трека 1-понедельник, 2-вторник и т.д., string
<control_of_settings>0</control_of_settings> запрет на изменение настроек, 1 или 0
<text_currency>руб</text_currency> название валюты, string
<ftp_server_name>xxx.xxx.dp.ua</ftp_server_name> имя сервера FTP, string
<ftp_server_login>xxx</ftp_server_login> имя пользователя
FTP, string
<ftp_server_password>xxx</ftp_server_password> пароль пользователя FTP, string
<ftp_directory>Тест</ftp_directory> директория FTP, string
<bussines_name>Наша фирма</bussines_name>наименование фирмы для вывода в PDF, string
<control_price_change
>0</control_price_change >запретить ручное изменение цен, 0 или 1
<control_discount>0</control_discount>запретить ручное изменение скидки, 0 или 1
<blocking_priority>0</blocking_priority>блокирующий приоритет, 0 или 1 (обязательная приоритетная позиция в заказе)
<control_upload_documents>10</control_upload_documents>максимальное количество невыгруженных заказов, после которого будет запрещено оформление новых, 0 – неограниченно, integer
<livetime_archive>3</livetime_archive>максимальное время жизни архивных копий базы данных в днях, 0 – неограниченно, integer
<easy_storecheck >0</ easy_storecheck > снимать сторчек в одно касание , 1 или 0
<disable_new_client>0</disable_new_client> запретить создание новых контрагентов , 0 или 1
<barcode_title>0</barcode_title> показывать штрих код в названии номенклатуры , 0 или 1
<control_price_change
>0</control_price_change >запретить ручное изменение цен, 0 или 1
<control_balance>0</control_balance> пропускать номенклатуру без остатка, 0 или 1
< bind_nomenclature_warehouse>0</ bind_nomenclature_warehouse> привязывать номенклатуру к складу, 0 или 1
<disable_ordering_on_the_couch>0</disable_ordering_on_the_couch> запретить оформлять заказы находясь не в торговой точке, 0 или 1
<disable_change_coord>0</disable_change_coord> запретить изменять координаты торговой точки, 0 или 1
<disable_edit_client>0</disable_edit_client> запретить изменять данные торговой точки, 0 или 1
<minimum_balance>10</minimum_balance>остаток меньше которого отображать количество красным, int
<option_sort_hierarchy>0</ option_sort_hierarchy>сортировать номенклатуру на устройстве, 0 или 1
<messages_server_name>127.0.0.1
</messages_server_name> имя сервера сообщений , string
<messages_server_port>4444</messages_server_port> порт сервера сообщений,
integer
<email_address>example@mail.com</email_address> адрес почты куда отправится выгрузка в случае недоступности сервера FTP , string
<user_group>Общая</user_group> имя сервера сообщений , string
<one_reason_return>1</one_reason_return> использовать одну причину возврата на документ: 1 или использовать причину возврата для каждой номенклатуры: 0
<guaranteed_delivery>1</ guaranteed_delivery>гарантированная доставка (документы будут выгружаться программой постоянно, пока не будет подтверждения по каждому документу, 0 или 1
<support_email>sir.chegal@gmail.com</ support_email> электронный адрес поддержки приложения
<support_tel+123456789</support_tel> телефон поддержки приложения
<support_skype>chegal_serg </support_skypel> скайп поддержки приложения
<changes_remnants>1</ changes_remnants> разрешить акту инвентаризации менять остатки на складе , 0 или 1
<change_the_document_date>0</change_the_document_date> разрешить изменять дату документа , 0 или 1
<control_check_print>1</ control_check_print> запретить изменять или удалять документы на которые распечатан чек, 0 или 1
<track_buzzler>1</ track_buzzler> подавать звуковой сигнал при отключении GPS, 0 или
<storecheck_bbd>1</storecheck_bbd>Возможность заполнять дату изготовления в сторчеке и инвентаризации, 0 или 1
<disable_returns_without_base>1</disable_returns_without_base>Запретить возвраты без основания, 0 или 1
<show_number_keyboard_on_scan>1</ show_number_keyboard_on_scan >Показывать ввод количества при сканировании IR сканером, 0 или 1 (если 0 – просто добавляется +1)
Так же есть возможность устанавливать доступность настроек путем передачи значения состоящего из имени настройки и слова “enabled”
Например, необходимо скрыть настройку «control_of_price», для этого передаем значение
<control_of_price_enabled>0</control_of_price_enabled>
Аналогично можно разрешить редактирование одной опции из группы «Контроль» при запрете изменения настроек:
<control_of_settings>1</control_of_settings>
<control_of_price_enabled>1</control_of_price_enabled>
different_types_of_prices_for_rows
<different_types_of_prices_for_rows>1</different_types_of_prices_for_rows>
Использовать отдельный прайс для каждой строки номенклатуры в заказе
<control_selling>1</control_selling> Возможность оформлять оплаты в заказе
<control_multiple_choice>1</control_multiple_choice>Возможность использовать множественный выбор в заказе, 0 или 1
<control_free_sales>1</control_free_sales>Возможность продавать товар бесплатно, 0 или 1<ftp_load_pictures>1</ftp_load_pictures>Загружать изображения номенклатуры во время обмена, 0 или 1 (по умолчанию – выключено)
<user_logo>https://img2.freepng.ru/20180329/jtq/kisspng-face-desktop-wallpaper-woman-clip-art-faces-5abce416074bc7.4470254215223285980299.jpg</user_logo> Ссылка на изображение пользователя
<user_background>https://img2.freepng.ru/20180329/jtq/kisspng-face-desktop-wallpaper-woman-clip-art-faces-5abce416074bc7.4470254215223285980299.jpg</user_background> Ссылка на изображение фона экрана
<company_logo>https://clipart-best.com/img/intel/intel-clip-art-10.png</company_logo> Ссылка на изображение логотипа компании (используется при печати накладных)
<print_page_font_size>12</print_page_font_size> Размер шрифта при печати
<print_page_height>297</print_page_height> Высота страницы печати в миллиметрах
<print_page_width>210</print_page_width> Ширина страницы печати в миллиметрах
<print_page_padding>5</print_page_padding> Отступы по краям страницы печати в миллиметрах
<last_order_number>1</last_order_number> Количество суммируемых последних документов для показа в поле «Последний документ» (1 по умолчанию)
<last_order_date>1</last_order_date > Показывать дату последнего заказа и возврата в поле «Последний документ» (0 или 1) по умолчанию - 1
<default_price_id>000-1212-1221</default_price_id> идентификатор
прайса, который будет первым в списке выбора
</settings>
Так же в настройках
можно передавать свойство <clear_table>Имя
таблицы</clear_table>
Данное свойство
приводит к очищению соответствующей таблицы, например инструкция, <clear_table>T_NOMENCLATURE</clear_table> очистит
таблицу номенклатуры.
Данное действие
необходимо в том случает, если в устройство передается каждый раз полный набор
данных.
Т.е. для того чтобы
очистить справочники перед повторной загрузкой необходимо перед тегом </settings>
добавить строки:
<clear_table>T_NOMENCLATURE</clear_table>
<clear_table>T_CLIENT</clear_table>
<clear_table>T_PRICE_NAME</clear_table>
<clear_table>T_PRICE</clear_table>
<clear_table>T_CONTRACT</clear_table>
<clear_table>T_DEBTS</clear_table>
Действие может быть
отложенным, если передать параметр delayed =
“1”, отложенное действие будет выполнятся не при загрузке данных, а после
выгрузки.
Например инструкция <clear_table delayed =
“1”>T_CASH_ORDERS</clear_table> удалит все
документы типа «ПКО» после того как данные будут выгружены на сервер из КПК.
Таблица передается последовательно, для соблюдения иерархии необходимо в запросе 1С ставить условие «УПОРЯДОЧИТЬ ПО Наименование ИЕРАРХИЯ»
<T_NOMENCLATURE>
<N_ID>000000003</N_ID> Уникальный код номенклатуры, string
<N_NAME>Товары</N_NAME> Наименование, string
<N_ISGROUP>1</N_ISGROUP> это группа, 1 или 0
<N_PARENTID></N_PARENTID> Уникальный код родителя в иерархии, string
<N_BARCODE >4820078773691</N_BARCODE > Шрих код, string
<N_PACKING>5</N_PACKING> Количество номенклатуры в 1-й упаковке, float
<N_BALANCE>100</N_BALANCE>Количество номенклатуры на остатке, float (используется если не ведется учет по разным складам)
<N_SORTORDER>1</N_SORTORDER> Значение упорядочивания, int
<N_ASSORTMENTID>000000001</N_ASSORTMENTID> Уникальный код таблицы «Ассортимент», string
<N_BASIC_UNIT_NAME>шт.</N_BASIC_UNIT_NAME>Наименование базовой единицы, string
<N_SHOWCASE>3.5</ N_SHOWCASE>Рекомендуемая цена продажи, float
<N_HIDE_IN_ORDER>1</N_HIDE_IN_ORDER >Не показывать в заказах, 0 или 1
<N_HIDE_IN_STORECHEK>0</N_HIDE_IN_STORECHEK >Не показывать
в сторчеке, 0 или 1
<N_HIDE_IN_RETURN>0</N_HIDE_IN_RETURN>Не показывать
в возвратах, 0 или 1
<N_BG_COLOR>1</N_BG_COLOR> Цвет фона номенклатуры, int
<N_TEXT_COLOR>1</N_TEXT_COLOR> Цвет текста номенклатуры, int
<N_TOP_LIST>1</N_TOP_LIST>Показывать в разделе «Приоритет», 0 или 1
<N_TYPE>RETURNABLE</N_TYPE>Тип номенклатуры, не обязательное, может принимать значение RETURNABLE, если номенклатура относится к типу «Возвратная тара», string
<N_CHARACTER_NAME>Состав: 40 гр муки, 10 гр. сахара</N_CHARACTER_NAME> Дополнительное поле для информации по номенклатуре, string
</T_NOMENCLATURE>
Таблица клиенты может иметь структуру подчинения Контрагент – Торговая точка в том случае, если у одного контрагента в базе данных может быть несколько адресов доставки
<T_CLIENT>
<N_ID>000000001</N_ID> Уникальный код торговой точки (адреса доставки), string
<N_PARENTID>000000001</N_PARENTID> Уникальный код контрагента, string
<N_NAME>ЧП Иванова</N_NAME> Наименование клиента, string
<N_GROUP_NAME>Покупатели</N_GROUP_NAME> Наименование группы клиента, string
<N_OBJECT>ресторан</N_OBJECT> Объект, string
<N_ADDRESS>ул. Кирова 101</N_ADDRESS> Адрес доставки, string
<N_CONTACT>Светлана</N_CONTACT>Контактное лицо, string
<N_DEFAULT_PRICEID>000000001</N_DEFAULT_PRICEID>Уникальный код таблицы «Тип цен» подставляемый по умолчанию для клиента, string
<N_DEFAULT_CONTRACTID>000000002</N_DEFAULT_CONTRACTID>Уникальный код таблицы «Договора» подставляемый по умолчанию для клиента, string
<N_DEFAULT_UNITID>000000002</N_DEFAULT_UNITID>Уникальный код таблицы «Единицы» подставляемый по умолчанию для клиента, string
<N_LOGISTICID>Розница</N_LOGISTICID>Тип торговой точки по логистике, string
<N_SORTORDER></N_SORTORDER> Порядок сортировки, int
<N_CLIENTTYPEID>Магазин А</N_CLIENTTYPEID>Тип клиента, string
<N_DAYS_OF_WEEK>001000000000000000000</N_DAYS_OF_WEEK>Дни недели и порядок для маршрута,
string
Дни
недели поделены на триады чисел, т.е. 000 000 000 000 000 000 000
Каждая
триада соответствует одному дню недели, по порядку начиная с понедельника, в
качестве числа триады передается порядок обхода торговой точки
с
выравниванием до 3-х символов. Например, шифр 001003000000000000000 будет
обработан как: торговая точка участвует в маршруте в понедельник и
вторник,
причем в понедельник она будет первой по порядку, а во вторник третьей, в
другие дни недели торговая точка не обходится
<N_TASK></N_TASK>Задача торговому представителю, string
<N_LNG>45.332455</N_LNG>Долгота расположения торговой точки, double
<N_LAT>30.324321</N_LAT>Широта расположения торговой точки, double
<N_PRIORITY></N_PRIORITY>Коды приоритетной номенклатуры, string
<N_EXCEPTIONS></N_EXCEPTIONS>Коды номенклатуры которая должна быть недоступна для данного клиента, string
<N_PHONE>911</N_PHONE>Телефон, string
<N_EMAIL>testmail.ru</N_EMAIL> электронная почта, string
<N_ADVANCED>Лицензия №1232137</N_ADVANCED> дополнительная информация по клиенту, string
<N_EVEN_WEEK>0120000</ N_EVEN_WEEK > порядок посещений по неделям (четная/нечетная) в дни недели, string
<N_DEFAULT_ASSORTMENT>00001</N_DEFAULT_ASSORTMENT>
Код ассортимента по умолчанию, string
<N_MAX_DEBT>100.99</ N_MAX_DEBT> Максимальный долг клиента после которого нельзя создавать заказы, float
</T_CLIENT>
<T_ASSORTMENT>
<N_ID>000000001</N_ID> Уникальный код ассортимента, string
<N_NAME>Общий</N_NAME>Наименование,
string
</T_ASSORTMENT>
<T_PRICE_NAME>
<N_ID>000000001</N_ID>Уникальный код типа цены, string
<N_NAME>Розница</N_NAME>Наименование типы цена, string
</T_PRICE_NAME>
<T_PRICE>
<N_PRICEID>000000002</N_PRICEID>Уникальный код типа цены, string
<N_NOMENID>000000002</N_NOMENID>Уникальный код номенклатуры, string
<N_PRICE>4</N_PRICE>Цена номенклатуры, float
<N_PROFIT>2</N_PRICE>Разница между приходной и ценой продажи, float (необязательно)
</T_PRICE>
<T_MANUAL_PRICE>
<N_CLIENT_ID>000002122</N_CLIENT_ID>Уникальный код клиента, string
<N_NOMENID>000000002</N_NOMENID>Уникальный код номенклатуры,
string
<N_PRICE>1</N_PRICE>Цена номенклатуры,
float
<N_PROFIT>2</N_PRICE>Разница между приходной и ценой продажи, float (необязательно)
</T_MANUAL_PRICE>
<T_CONTRACT>
<N_ID>83903aba-8fb5-11e2-8411-005056c00008</N_ID> Уникальный код договора, string
<N_PARENTID>000000001</N_PARENTID> Уникальный код таблицы «Контрагенты», string
<N_NAME>Договор</ N_NAME > Наименование договора, string
<N_NUMBER>1</N_NUMBER> Номер договора, stringN_FORMID
<N_FORMID>1</N_FORMID>Форма договора, 1 или 2, string
<N_DAY_OF_DELAY>12</N_DAY_OF_DELAY> Дней отсрочки платежа, int
<N_DAY_OF_CONTRACT>1362096000000</N_DAY_OF_CONTRACT> Дата заключения, long
<N_DAY_OF_TERMINATION>1363910400000</N_DAY_OF_TERMINATION>Дата окончания, long
<N_PRICEID>12131</N_PRICEID>Уникальный код типа цен, string
<N_DEFAULT_ASSORTMENT>00001</N_DEFAULT_ASSORTMENT>
Код ассортимента по умолчанию, string
</T_CONTRACT>
<T_DEBTS>
<N_PARENTID>AC0000004913</N_PARENTID>Уникальный код таблицы «Контрагенты», string
<N_TYPE>Расходная накладная</N_TYPE>Тип документа, string
<N_BASE_ID>3203aba-23b5-13e2-8411-005056c00008</N_BASE_ID>Уникальный код кредитового документа, string
<N_NUMBER>AC0000141721</N_NUMBER>Номер кредитового документа, string
<N_DATE>1356321600000</N_DATE>Дата документа, long
<N_SUM>59.4</N_SUM>Сумма документа, float
<N_SUM_OVERDUE>59.4</N_SUM_OVERDUE>Сумма просроченного долга по документу, float
<N_FORMID>1</N_FORMID>Форма долга 1 или 2, string
</T_DEBTS>
< T_UNITS>
<N_ID>3203aba-23b5-13e2-8411-005056c00008</N_ID>Уникальный код единицы, string
< N_NAME>кг.</ N_NAME>Наименование единицы измерения, string
</ T_UNITS>
Таблица «Единицы измерения по
номенклатуре» (T_NOMEN_UNITS)
< T_NOMEN_UNITS>
< N_NOMEN_ID>3203aba-23b5-13e2-8411-005056c00008</N_NOMEN_ID>Уникальный код номенклатуры,
string
< N_UNIT_ID>3203aba-23b5-13e2-2411-005056c00018.</N_UNIT_ID>
Уникальный код единицы, string
< N_FACTOR>1.5</ N_FACTOR> Коэффициент пересчета от базовой единицы, float
</ T_NOMEN_UNITS>
< T_RETURN_REASON>
<N_ID>3203aba-23b5-13e2-8411-005056c00008</N_ID>Уникальный код причины возврата, string
< N_NAME>Брак продукции</ N_NAME>Наименование причины возврата, string
</ T_RETURN_REASON>
< T_PRICE_LIMIT>
< N_CLIENT_ID>3203aba-23b5-13e2-8411-005056c00008</
N_CLIENT_ID>Уникальный код клиента, string
< N_PRICE_ID>3103aba-23b5-13e2-8410-205056c00007</
N_PRICE_ID> Уникальный код прайса, string
</ T_PRICE_LIMIT>
< T_ALLOWED_PRICE>
<N_NOMENID>3203aba-23b5-13e2-8411-005056c00008</N_NOMENID>Уникальный код номенклатуры,
string
<N_CLIENT_ID>3203aba-23b5-13e2-8411-005056c00008</ N_CLIENT_ID>Уникальный код клиента, string
<N_PRICE_ID>3103aba-23b5-13e2-8410-205056c00007</
N_PRICE_ID> Уникальный код прайса, string
</ T_ALLOWED_PRICE>
<T_DISCOUNT>
<N_CLIENT_ID>3203aba-23b5-13e2-8411-005056c00008</ N_CLIENT_ID>Уникальный код клиента (если значение «ALL»
– то по всем клиентам),
string
<N_PRICE_ID>3103aba-23b5-13e2-8410-205056c00007</ N_PRICE_ID> Уникальный код прайса, (если значение «ALL» – то по всем прайсам) string
< N_NOMEN_ID>3103aba-23b5-13e2-8410-205056c00007</ N_NOMEN_ID> Уникальный код номенклатуры, (если значение «ALL» или не заполнено – то по всей номенклатуре) string
<N_PERCENT>10.0</ N_PERCENT> Процент скидки контрагенту, float
<N_MAX_PERCENT>20.0</ N_MAX_PERCENT> Максимальный процент скидки контрагенту, float
</ T_DISCOUNT>
< T_STANDART>
< N_ID>3203aba-23b5-13e2-8411-005056c00008</
N_ID >Уникальный код стандарта, string
< N_LOGISTICID >Розница</N_LOGISTICID > Тип логистики клиента, string
< N_CLIENTTYPEID >Оптовый</ N_CLIENTTYPEID > Тип клиента, string
</ T_STANDART>
< T_SKU >
< N_ID>3203aba-23b5-13e2-8411-005056c00008</
N_ID >Уникальный код СКЮ, string
< N_NAME >Фасованная рыба</N_NAME > Наименование СКЮ, string
</ T_SKU >
< T_STANDART_SKU >
< N_STANDART_ID
>3203aba-23b5-13e2-8411-005056c00008</ N_STANDART_ID >Уникальный код стандарта, string
< N_SKU_ID
>3203aba-23b5-13e2-8411-005056c00108</N_SKU_ID > Уникальный код СКЮ, string
< N_SKU >Фасованная рыба</N_SKU >Количество СКЮ необходимое для выполнения стандарта, int
</ T_STANDART_SKU >
< T_STANDART_NOMEN >
< N_NOMEN_ID
>3203aba-23b5-13e2-8411-005056c00008</ N_NOMEN_ID >Уникальный код номенклатуры, string
< N_SKU_ID
>3203aba-23b5-13e2-8411-005056c00108< N_SKU_ID > Уникальный код СКЮ, string
</ T_STANDART_NOMEN >
<T_APPROVED_ORDERS>
<N_ID>3203aba-23b5-13e2-8411-005056c00008</N_ID>Уникальный код документа,
string UUID
<N_BB_NUMBER>AC0021332</ N_BB_NUMBER>Номер документа присвоенный базой, string
</T_APPROVED_ORDERS>
<T_APPROVED_PURCHASES>
<N_ID>3203aba-23b5-13e2-8411-005056c00008</N_ID>Уникальный код документа,
string UUID
<N_BB_NUMBER>AC0021332</ N_BB_NUMBER>Номер документа присвоенный базой, string
</T_APPROVED_PURCHAES>
<T_APPROVED_CASH_ORDERS>
<N_ID>32213aba-23b5-13e2-8411-005056c00008</N_ID>Уникальный код документа,
string UUID
<N_BB_NUMBER>AC0021332</ N_BB_NUMBER>Номер документа присвоенный базой, string
</T_APPROVED_CASH_ORDERS>
<T_APPROVED_STORECHECK>
<N_ID>2303aba-23b5-13e2-8411-005056c00008</N_ID>Уникальный код документа,
string UUID
<N_BB_NUMBER>AC0021332</ N_BB_NUMBER>Номер документа присвоенный базой, string
</T_APPROVED_STORECHECK>
< T_APPROVED_PHOTOS>
<N_ID>2333aba-23b5-13e2-8411-005056c00008</N_ID>Уникальный код фотографии,
string UUID
</ T_APPROVED_PHOTOS>
<T_APPROVED_RETURNS>
<N_ID>3203aba-21b5-13e2-8411-005056c00008</N_ID>Уникальный код документа,
string UUID
<N_BB_NUMBER>AC0021332</ N_BB_NUMBER>Номер документа присвоенный базой, string
</T_APPROVED_RETURNS >
<T_APPROVED_CLIENTS>
<N_ID>3203aba-21b5-13e2-8411-005056c00008</N_ID>Уникальный код клиента, string
UUID
</T_APPROVED_CLIENTS>
<T_APPROVED_TASK_EXECUTION>
<N_ID>3203aba-21b5-13e2-8411-005056c00009</N_ID>Уникальный код задачи, string
UUID
</T_APPROVED_TASK_EXECUTION>
<T_APPROVED_ANSWERS>
<N_ID>3203aba-21b5-13e2-8411-005056c00009</N_ID>Уникальный код ответа, string
UUID
<N_BB_NUMBER>AC0011332</ N_BB_NUMBER>Номер документа присвоенный базой, string
</T_APPROVED_ANSWERS >
<T_EXTERNAL>
<N_ID>1203aba-21b5-13e2-8411-005056c00008</N_ID>Уникальный код клиента, string
UUID
<N_NAME>Отчет зп период с 10 по 20</N_NAME>Наименование, string
<N_DESCRIPTION>Взаиморасчеты с контрагентами</N_DESCRIPTION>Описание, string
<N_BODY_BASE64>kldioKIALKl3JDsdj3dnod[ki9032Nnkndiwh23nd</N_BODY_BASE64>Тело документа HTML закодированное в строку Base64, string
<N_BEGIN_DATE>10432432423432</ N_BEGIN_DATE>Дата начала действия документа, long (Unix date)
<N_END_DATE>10432432423432</ N_END_DATE>Дата окончания действия документа, long (Unix date)
<N_PARENT_ID>1103aba-21b5-13e2-8411-005056c00008</N_PARENT_ID>Уникальный код родителя,
string UUID
<N_IS_GROUP>0</N_IS_GROUP> Признак группы (0 или 1)
<N_CLIENT_ID>1103aba-21b5-13e2-8411-005056c00008</N_CLIENT_ID>Уникальный код клиента, string
UUID
</T_EXTERNAL>
<T_WAREHOUSE >
<N_ID>3203aba-23b5-13e2-8411-005056c00008</ N_ID
>Уникальный код склада, string
<N_NAME >Склад основной<N_NAME > Наименование склада, string
<N_PRICEID>1203aba-23b5-13e2-8411-005056c00008</N_PRICEID >Уникальный код цен номенклатуры, string
<N_ASSORTMENTID>2203aba-23b5-13e2-8411-005056c00008</N_ASSORTMENTID
>Уникальный код ассортимента, string
</T_WAREHOUSE
>
<T_REMAINS
>
<N_NOMENID>00123</ N_NOMENID >Уникальный код номенклатуры, string
<N_WAREHOUSEID>3203aba-23b5-13e2-8411-005056c00008<N_WAREHOUSEID> Уникальный код склада, string
<N_NUMBER>10</ N_NUMBER
>Остаток, float
</T_ REMAINS>
<T_NOMEN_CLIENT>
<N_ID>231231231</N_ID >Уникальный идентификатор записи, обязательное, string
<N_NOMEN_ID>3203aba-23b5-13e2-8411-005056c00008<N_NOMEN_ID > Уникальный код номенклатуры, string
<N_CLIENT_ID>6203aba-23b5-13e2-8411-005056c01009<N_CLIENT_ID
> Уникальный код клиента, string
<N_NUMBER>10</ N_NUMBER
>Остаток, количество, float
<N_SUM>100.00</N_SUM>Остаток, сумма, float
<N_UNIT_NAME>100.00</N_UNIT_NAME>Наименование единицы измерения,
string
</T_ NOMEN_CLIENT>
<T_QUESTION_TITLE>
<N_ID>00123</ N_ID>Уникальный код анкетирования, string
<N_NAME>Маркетинговые исследования<N_NAME> Наименование опроса, string
<N_BEGIN_DATE>10432432423432</ N_BEGIN_DATE>Дата начала опроса, long
(Unix date)
<N_END_DATE>10432432423432</ N_END_DATE>Дата окончания опроса, long
(Unix date)
<N_BG_COLOR>-8411393</<N_BG_COLOR>Цвет фона, integer
</T_QUESTION_TITLE>
<T_QUESTION_TABLE>
<N_NAME>Сколько Вам лет?<N_NAME> Наименование вопроса, string
<N_ORDER>1</N_ORDER>Номер по порядку, integer
<N_TITLE_ID>00123</N_TITLE_ID> Уникальный код анкетирования (T_QUESTION_TITLE), string
<N_VALUE_TYPE>2</N_VALUE_TYPE>Тип ответа, integer, может принимать значения
· если ответ «Да/Нет» тогда 1
·
если ответ «Число» тогда 2
· если ответ «Текст» тогда 3
· если ответ необходимо выбрать из списка тогда 4
<N_VALUES>Один;Два;Три;</N_VALUES>Список для выбора ответа, строки разделенные точкой с запятой, string, (используется в том случае если тип ответа установлен в «4»
<N_DEFAULT >Один;Два;Три;</N_DEFAULT >Значение по умолчанию, string
</T_QUESTION_TABLE>
<T_TASK>
<N_ID>123213213<N_ID> Уникальный код задачи, string
<N_NAME>Снять координаты<N_NAME> Наименование задачи, string
<N_DESCRIPTION>установить координаты торговой точки<N_DESCRIPTION> Описание задачи задачи, string
<N_CLIENTID>Снять координаты<N_CLIENTID> Уникальные коды клиентов одной строкой для которых создана задачи (если не указывать, то задача распространяется для всех клиентов), string
<N_BEGIN_DATE>10432432423432</ N_BEGIN_DATE>Дата начала задачи, long
(Unix date)
<N_END_DATE>10432432423432</ N_END_DATE>Дата окончания задачи, long
(Unix date)
<N_ORDER>1</N_ORDER> Номер по порядку,
integer
<N_BLOCKING>1</N_BLOCKING> Блокирующая задача, 1 или 0. Если значение 1, тогда будет запрещено создавать документы пока задача не выполнена
<N_ITERATION>5</N_ITERATION> Количество повторений задачи после которого она считается выполненной, integer,
· если используется задача под конкретных клиентов количество повторений должно быть равно количеству клиентов
· если значение количества повторений равно нулю – задача не завершается на всем промежутке времени
· если значение больше нуля и не заполнены коды клиентов – задача будет выполняться для любых клиентов указанное количество
<N_OBJECT_ID>00123<N_OBJECT_ID> Уникальный код объекта задачи, string (имеет смысл заполнять, например, при наличии разных опросов клиентов в одно время, т.е. если необходимо, чтобы данная задача была привязана только к одному анкетированию, то сюда необходимо записать его уникальный код, в других случаях не используется)
<N_TO_DO>1</N_TO_DO> Действие которое привязано к выполнению задачи, integer, может принимать значения
0 – задача свободная, не требует действий (например, напоминание)
1 – для выполнения задачи необходимо оформить заказ
2 – для выполнения задачи необходимо оформить возврат
3 – для выполнения задачи необходимо оформить кассовый ордер
4 – для выполнения задачи необходимо оформить сторчек
5 – для выполнения задачи необходимо произвести анкетирование
6 - для выполнения задачи необходимо снять фотографию
7 – для выполнения задачи необходимо установить координаты
<N_ALERT_TIME>10432432423432</N_ALERT_TIME> Время напоминания о задачи средствами системы, long (Unix date)
</T_TASK>
<QUERY>DELETE FROM T_DISCOUNT WHERE N_CLIENT_ID
= “123”</QUERY>
Инструкция позволяет выполнить произвольный запрос к базе данных.
Данное действие может быть отложенное, если передать параметр delayed = “1”, отложенное действие будет выполнено не в момент загрузки, а после выгрузки данных на сервер из КПК
Например, <QUERY
delayed = “1”>DELETE FROM T_DISCOUNT WHERE N_CLIENT_ID = “123”</QUERY>
Пример полного файла выгрузки:
Имя архива: Иванов Иван.mbsi или 6a19533e-c4b7-11e0-b644-0015172808f3.mbsl
Имя файла в архиве: 6a19533e-c4b7-11e0-b644-0015172808f3.xml
<?xml version="1.0"
encoding="UTF-8"?>
<mobile_sales
version_code="1" message_number="0"
last_time_coords="1363620203036"
count="13">
<settings>
<user_name>Василий</user_name>
<user_guid>49a6ceda-643a-11e1-b890-1c4bd69d8841</user_guid>
<control_of_packaging>1</control_of_packaging>
<control_of_receivables>0</control_of_receivables>
<control_of_store_check>0</control_of_store_check>
<control_of_price>0</control_of_price>
<control_of_location>1</control_of_location>
<track_start_time>245404800000</track_start_time>
<track_end_time>245448000000</track_end_time>
<track_day_of_week>12345</track_day_of_week>
<control_of_settings>0</control_of_settings>
<text_currency>руб</text_currency>
<ftp_server_name>ftp.test.dp.ua</ftp_server_name>
<ftp_server_login>test</ftp_server_login>
<ftp_server_password>test</ftp_server_password>
<ftp_directory>Тест</ftp_directory>
</settings>
<T_NOMENCLATURE>
<N_ID>000000003</N_ID>
<N_NAME>Товары</N_NAME>
<N_ISGROUP>1</N_ISGROUP>
<N_PARENTID></N_PARENTID>
<N_PACKING></N_PACKING>
<N_BALANCE></N_BALANCE>
<N_SORTORDER>1</N_SORTORDER>
<N_ASSORTMENTID>000000001</N_ASSORTMENTID>
</T_NOMENCLATURE>
<T_NOMENCLATURE>
<N_ID>000000001</N_ID>
<N_NAME>Водка</N_NAME>
<N_ISGROUP>0</N_ISGROUP>
<N_PARENTID>000000003</N_PARENTID>
<N_PACKING></N_PACKING>
<N_BALANCE></N_BALANCE>
<N_SORTORDER>2</N_SORTORDER>
<N_ASSORTMENTID>000000001</N_ASSORTMENTID>
</T_NOMENCLATURE>
<T_NOMENCLATURE>
<N_ID>000000002</N_ID>
<N_NAME>Пиво</N_NAME>
<N_ISGROUP>0</N_ISGROUP>
<N_PARENTID>000000003</N_PARENTID>
<N_PACKING></N_PACKING>
<N_BALANCE></N_BALANCE>
<N_SORTORDER>3</N_SORTORDER>
<N_ASSORTMENTID>000000001</N_ASSORTMENTID>
</T_NOMENCLATURE>
<T_CLIENT>
<N_ID>000000001</N_ID>
<N_PARENTID>000000001</N_PARENTID>
<N_NAME>ЧП Иванова</N_NAME>
<N_OBJECT>ресторан</N_OBJECT>
<N_ADDRESS>ул. Кирова 101</N_ADDRESS>
<N_CONTACT>911</N_CONTACT>
<N_DEFAULT_PRICEID>000000001</N_DEFAULT_PRICEID>
<N_LOGISTICID>Розница</N_LOGISTICID>
<N_SORTORDER></N_SORTORDER>
<N_CLIENTTYPEID>Магазин А</N_CLIENTTYPEID>
<N_DAYS_OF_WEEK>001000000000000000000</N_DAYS_OF_WEEK>
<N_TASK></N_TASK>
<N_LNG></N_LNG>
<N_LAT></N_LAT>
<N_PRIORITY></N_PRIORITY>
</T_CLIENT>
<T_ASSORTMENT>
<N_ID>000000001</N_ID>
<N_NAME>Общий</N_NAME>
</T_ASSORTMENT>
<T_PRICE_NAME>
<N_ID>000000001</N_ID>
<N_NAME>Розница</N_NAME>
</T_PRICE_NAME>
<T_PRICE_NAME>
<N_ID>000000002</N_ID>
<N_NAME>Отсрочка</N_NAME>
</T_PRICE_NAME>
<T_PRICE>
<N_PRICEID>000000001</N_PRICEID>
<N_NOMENID>000000001</N_NOMENID>
<N_PRICE>1</N_PRICE>
</T_PRICE>
<T_PRICE>
<N_PRICEID>000000002</N_PRICEID>
<N_NOMENID>000000001</N_NOMENID>
<N_PRICE>2</N_PRICE>
</T_PRICE>
<T_PRICE>
<N_PRICEID>000000001</N_PRICEID>
<N_NOMENID>000000002</N_NOMENID>
<N_PRICE>3</N_PRICE>
</T_PRICE>
<T_PRICE>
<N_PRICEID>000000002</N_PRICEID>
<N_NOMENID>000000002</N_NOMENID>
<N_PRICE>4</N_PRICE>
</T_PRICE>
<T_CONTRACT>
<N_ID>83903aba-8fb5-11e2-8411-005056c00008</N_ID>
<N_PARENTID>000000001</N_PARENTID>
<N_NUMBER>1</N_NUMBER>
<N_FORM>Ф1</N_FORM>
<N_DAY_OF_DELAY>12</N_DAY_OF_DELAY>
<N_DAY_OF_CONTRACT>1362096000000</N_DAY_OF_CONTRACT>
<N_DAY_OF_TERMINATION>1363910400000</N_DAY_OF_TERMINATION>
</T_CONTRACT>
<T_CONTRACT>
<N_ID>b4c8a6bc-8fb5-11e2-8411-005056c00008</N_ID>
<N_PARENTID>000000001</N_PARENTID>
<N_NUMBER>2</N_NUMBER>
<N_FORM>Ф2</N_FORM>
<N_DAY_OF_DELAY>0</N_DAY_OF_DELAY>
<N_DAY_OF_CONTRACT>1362096000000</N_DAY_OF_CONTRACT>
<N_DAY_OF_TERMINATION>1364515200000</N_DAY_OF_TERMINATION>
</T_CONTRACT>
</mobile_sales>
Данный файл записывает в кодировке UTF-8.
Имя данного файла должно содержать уникальный код (UUID) пользователя устройства, расширение «xml»
После создания файл пакуется архиватором ZIP и запакованному файлу устанавливается расширение и имя в зависимости от того начальная это загрузка или обновление.
Прием данных с устройства осуществляется двумя способами, по кабелю USB, с сервера FTP. Прием по кабелю USB возможен только в том случае, если установлены драйвера на устройство и включен режим «Отладка USB»
Файл данных, которое передает устройство, имеет имя «UUID.mbsu» где UUID уникальный идентификатор устройства. Файл представляет собой архив ZIP, содержащий в свою очередь файл UUID.xml UTF-8, который имеет формат:
Объявления XML:
<?xml version="1.0"
encoding="UTF-8"?>
Заголовок:
<mobile_sales version_code="1" message_number="2"
count="3">
versoin_code – код версии протокола, int должен быть «1»
message_number – номер сообщения, int
count – количество всех элементов передаваемых в сообщении, int
<T_ORDER_TITLE>
<N_BB_NUMBER></N_BB_NUMBER>Номер заказ базы данных, string (не используется)
<N_CLIENTID>AC00001236</N_CLIENTID>Уникальный код торговой точки (адреса доставки), string
<N_COMMENT></N_COMMENT>Комментарий к заказу, string
<N_PRICEID>ЦБ0001100000</N_PRICEID>Уникальный код типа цены, string
<N_PARENTID>AC0000001056</N_PARENTID>Уникальный код контрагента,
string
<N_CONTRACTID>0000002053</N_CONTRACTID>Уникальный код договора,
string
<N_FORMID>2</N_FORMID>Код формы документа, 2-Ф2, 1-Ф1, int
<N_ID>9c9dc6f6-d12d-42a7-a9d8-ba3c6527ef64</N_ID>Уникальный код документа, string UUID
<N_UPLOAD>false</N_UPLOAD>флаг выгрузки, boolean (не используется)
<N_LNG>0.0</N_LNG>Долгота местоположения снятия заказа, double
<N_LAT>0.0</N_LAT>Широта местоположения снятия заказа, double
<N_DATE>1363686675015</N_DATE>Дата заказа, long
<N_SAVE_DATE>1363686675015</N_SAVE_DATE>Дата сохранения заказа, long
<N_CREATE_DATE>1363636675015</N_CREATE_DATE>Дата создания заказа, long
<N_DELAY>true</N_DELAY>Отсрочка или факт, boolean
<N_SUM>20.0</N_SUM>Сумма заказа, float
<N_SHIPMENT_DATE>1363686675015</N_SHIPMENT_DATE>Дата отгрузки, long
<N_WAREHOUSE_ID
>9c9dc6f6-d12d-42a7-a9d8-ba3c6527ef64</N_WAREHOUSE_ID>Код места хранения (склада), string
UUID
<N_HAVE_DISCOUNT>false</N_HAVE_DISCOUNT>Есть ли в заказе скидки, Boolean
<N_GEOADDRESS>проспект Кирова
10</N_GEOADDRESS>Адрес, где оформлен документ, string
<N_CHECK_NUMBER>20161011094532</N_CHECK_NUMBER>Номер чека при печати, string
<N_PERIOD>1363686675015</N_ PERIOD> Время работы с документом, long
<N_BG_COLOR>-8411393</<N_BG_COLOR>Цвет фона, integer
<N_SHIPPED>-1</<N_SHIPPED>Признак того что заказ отгружен, 1 или 0
<N_CASH_SUM>-100.00</<N_CASH_SUM>Сумма оплаты, float
<N_CASH_ID>-9c12c6f6-d12d-42a7-a9d8-ba3c6527ef64</<N_CASH_ID>Идентификатор ПКО, string
UUID
</T_ORDER_TITLE>
<T_ORDER_TABLE>
<N_ID>9c9dc6f6-d12d-42a7-a9d8-ba3c6527ef64ЦБ03084</N_ID>Уникальный код документа,
string UUID
<N_NOMENID>ЦБ03084</N_NOMENID>Уникальный код номенклатуры,
string
<N_TITLEID>9c9dc6f6-d12d-42a7-a9d8-ba3c6527ef64</N_TITLEID>Уникальный код шапки, string
UUID
<N_NUMBER>10.0</N_NUMBER>Количество номенклатуры, float
<N_UNIT_ID>10.0</N_UNIT_ID>Код единицы измерения,
string
<N_FACTOR>1.5</N_FACTOR>Коэффициент пересчета от базовой единицы, float
<N_MANUAL_PRICE>false</N_MANUAL_PRICE>Признак установки цен вручную, boolean
<N_PRICE_ID>21321-321323-343-123</N_PRICE_ID>Уникальный идентификатор типа цен (если используется раздельный тип цен, иначе null)
<N_PRICE_NAME>Розница факт</N_PRICE_NAME>Наименование типа цены, String (если используется раздельный тип цен, иначе null)
<N_DISCOUNT_PERCENT>3.0</N_DISCOUNT_PERCENT>Процент скидки, float
<N_COMMENT>ЦБ03084</N_COMMENT>Комментарий к данной строке номенклатуры, string
</T_ORDER_TABLE>
<T_PURCHASE_TITLE>
<N_BB_NUMBER></N_BB_NUMBER>Номер базы данных, string
(не используется)
<N_CLIENTID>AC00001236</N_CLIENTID>Уникальный код торговой точки (адреса доставки), string
<N_COMMENT></N_COMMENT>Комментарий ,
string
<N_PRICEID>ЦБ0001100000</N_PRICEID>Уникальный код типа цены, string
<N_PARENTID>AC0000001056</N_PARENTID>Уникальный код контрагента,
string
<N_CONTRACTID>0000002053</N_CONTRACTID>Уникальный код договора,
string
<N_FORMID>2</N_FORMID>Код формы документа, 2-Ф2, 1-Ф1, int
<N_ID>9c9dc6f6-d12d-42a7-a9d8-ba3c6527ef64</N_ID>Уникальный код документа, string UUID
<N_UPLOAD>false</N_UPLOAD>флаг выгрузки, boolean (не используется)
<N_LNG>0.0</N_LNG>Долгота местоположения снятия заказа, double
<N_LAT>0.0</N_LAT>Широта местоположения снятия заказа, double
<N_DATE>1363686675015</N_DATE>Дата заказа, long
<N_SAVE_DATE>1363686675015</N_SAVE_DATE>Дата сохранения заказа, long
<N_CREATE_DATE>1363636675015</N_CREATE_DATE>Дата создания заказа, long
<N_DELAY>true</N_DELAY>Отсрочка или факт, boolean
<N_SUM>20.0</N_SUM>Сумма, float
<N_SHIPMENT_DATE>1363686675015</N_SHIPMENT_DATE>Дата отгрузки, long
<N_WAREHOUSE_ID
>9c9dc6f6-d12d-42a7-a9d8-ba3c6527ef64</N_WAREHOUSE_ID>Код места хранения (склада), string
UUID
<N_GEOADDRESS>проспект Кирова
10</N_GEOADDRESS>Адрес, где оформлен документ, string
<N_PERIOD>1363686675015</N_ PERIOD> Время работы с документом, long
<N_BG_COLOR>-8411393</<N_BG_COLOR>Цвет фона, integer
</T_ORDER_TITLE>
<T_PURCHASE_TABLE>
<N_ID>9c9dc6f6-d12d-42a7-a9d8-ba3c6527ef64ЦБ03084</N_ID>Уникальный код документа,
string UUID
<N_NOMENID>ЦБ03084</N_NOMENID>Уникальный код номенклатуры,
string
<N_TITLEID>9c9dc6f6-d12d-42a7-a9d8-ba3c6527ef64</N_TITLEID>Уникальный код шапки, string
UUID
<N_NUMBER>10.0</N_NUMBER>Количество номенклатуры, float
<N_UNIT_ID>10.0</N_UNIT_ID>Код единицы измерения,
string
<N_FACTOR>1.5</N_FACTOR>Коэффициент пересчета от базовой единицы, float
<N_MANUAL_PRICE>false</N_MANUAL_PRICE>Признак установки цен вручную, boolean
<N_PRICE_ID>21321-321323-343-123</N_PRICE_ID>Уникальный идентификатор типа цен (если используется раздельный тип цен, иначе null)
<N_PRICE_NAME>Розница факт</N_PRICE_NAME>Наименование типа цены, String (если используется раздельный тип цен, иначе null)
<N_COMMENT>ЦБ03084</N_COMMENT>Комментарий к данной строке номенклатуры, string
</T_PURCHASE_TABLE>
Таблица шапки возврата
<T_RETURN_TITLE>
<N_BB_NUMBER></N_BB_NUMBER>Номер заказ базы данных, string (не используется)
<N_CLIENTID>AC00001236</N_CLIENTID>Уникальный код торговой точки (адреса доставки), string
<N_COMMENT></N_COMMENT>Комментарий к возврату, string
<N_PARENTID>AC0000001056</N_PARENTID>Уникальный код контрагента, string
<N_ID>9c9dc6f6-d12d-42a7-a9d8-ba3c6527ef64</N_ID>Уникальный код документа, string UUID
<N_LNG>0.0</N_LNG>Долгота местоположения возврата, double
<N_LAT>0.0</N_LAT>Широта местоположения возврата, double
<N_DATE>1363686675015</N_DATE>Дата возврата, long
<N_SAVE_DATE>1363686675015</N_SAVE_DATE>Дата сохранения,
long
<N_CREATE_DATE>1363636675015</N_CREATE_DATE>Дата создания возврата, long
<N_SHIPMENT_DATE>1363686675015</N_SHIPMENT_DATE>Дата отгрузки, long
<N_REASON_ID>NF001</N_REASON_ID>Код причины возврата,
string
<N_CONTRACTID>9c9dc6f6-d12d-42a7-a9d8-ba3c6527ef64</N_CONTRACTID>Уникальный идентификатор договора договора возврата, string
<N_FORMID>1</N_FORMID>Код формы возврата,
string
<N_WAREHOUSE_ID
>9c9dc6f6-d12d-42a7-a9d8-ba3c6527ef64</N_WAREHOUSE_ID>Код места отгрузки,
string UUID
<N_GEOADDRESS>проспект Кирова
10</N_GEOADDRESS>Адрес, где оформлен документ, string
<N_BASE_ID>9c9dc6f6-d12d-42a5-a9d8-ba3c6527ef64</N_BASE_ID>Уникальный код основания,
string
<N_PERIOD>1363686675015</N_ PERIOD> Время работы с документом, long
<N_BG_COLOR>-8411393</<N_BG_COLOR>Цвет фона, integer
</T_RETURN_