Перейти к основному содержимому

Руководство по настройке обмена данными при самостоятельной интеграции с 1С

Варианты интеграции

При установке любой конфигурации Mobile SMARTS на компьютер доступны четыре способа организации обмена информацией между учетной системой пользователя и сервером платформы Mobile SMARTS.

установка магазина 15 на ТСД

Далее рассмотрим различия между этими вариантами и принципы их функционирования.

Обмен с базой данных «1С: Предприятия» и собственная интеграция через OLE/COM

Данные два метода во многом схожи, так как в обоих случаях для взаимодействия между учетной системой и Mobile SMARTS применяются специальные COM-компоненты. Их установка и регистрация происходит автоматически при инсталляции Mobile SMARTS из дистрибутива. В первом случае используется компонент, адаптированная специально для «1С:Предприятия» и некоторых других продуктов 1С (в зависимости от конкретной конфигурации). Во втором варианте применяется универсальная COM-компонента, которая может работать с любой учетной системой. Подробности доступны здесь.

В обоих случаях взаимодействие с внешней системой происходит следующим образом:

установка магазина 15 на ТСД

Обмен данными через файлы Excel/CSV

Кроме интеграции с учетными системами, платформа Mobile SMARTS включает инструменты для обмена данными посредством файлов CSV и Excel.

После установки платформы и настройки базы Mobile SMARTS становятся доступными следующие способы обмена через CSV и Excel:

Суть обмена в обоих случаях такова:

  1. Формируются файлы-шаблоны с заголовками полей, по которым производится разбор файлов с данными. Эти шаблоны должны соответствовать формату, который предполагается использовать.
  2. В папку обмена (по умолчанию «На терминал») помещаются файлы Excel или CSV с номенклатурой, документами, таблицами и прочим, при этом структура файлов должна совпадать с шаблонами.
  3. Выполняется синхронизация с мобильным устройством или базой Mobile SMARTS (зависит от режима работы базы). В процессе на устройство или сервер выгружается номенклатура и документы из папки «На терминал», а обратно загружаются обработанные документы.
  4. Обработанные документы при загрузке разбираются по шаблонам и конвертируются в Excel или CSV.

Дополнительную информацию об этом способе обмена можно получить здесь.

Обмен через REST API

API (Application Programming Interface) — программный интерфейс, позволяющий удаленно обращаться к функциям приложения и выполнять определённые операции. Наиболее часто применяется для получения данных мобильными приложениями, веб-порталами и интеграции с внешними сервисами (например, интернет-магазинами).

В нашей платформе используется REST API, основанный на протоколе OData, который охватывает основные методы работы с данными через HTTP-запросы (GET, POST, PUT, PATCH). Более подробная документация по OData (4.0) доступна по ссылке.

Преимущество REST API — возможность проверки данных напрямую в браузере или с помощью стандартных приложений для HTTP-запросов, таких как Advanced REST Client (ARC).

установка магазина 15 на ТСД

В системе предусмотрен инструмент для просмотра структуры API и выполнения простых запросов через Swagger.

Полную информацию о данном способе обмена можно найти по ссылке.

Структура документа и ключевые переменные

Для примера возьмем документ «Приход на склад».

Документ «Приход на склад» применяется в следующих процессах:

  • Приемка товаров и услуг (контроль документа на ТСД)
  • Приемка товаров и услуг на основе «Заказа поставщику»
  • Приходный ордер на товары (по «Заказу поставщику»)
  • Приходный ордер на товары (по «Поступлению товаров»)
  • Приходный ордер на товары (контроль на ТСД)

Файл документа «Приход на склад» представляет собой XML-документ, хранящийся на сервере Mobile SMARTS с данными, определяемыми конфигурацией сервера для данного типа документа.

установка магазина 15 на ТСД

При файловом обмене документ представлен в виде XLS, CSV, XML и т. д., который загружается и выгружается между учетной системой и папками обмена, расположенными в директории «…\XlsCsv» базы Mobile SMARTS. Для обмена предусмотрены следующие папки с содержимым:

Имя папки/ подпапкиНазначение
На терминалФайлы Excel и CSV для отправки на терминал
На терминал/АрхивАрхив успешно обработанных файлов Excel и CSV. Если файл исчез, ищите здесь
С терминалаФайлы, полученные с терминала и конвертированные в Excel или CSV по шаблону
TemplatesПапка с шаблонами конвертации. Для «Магазин 15» и «Склад 15» шаблоны добавляются автоматически при установке
Templates/UploadШаблоны для разбора файлов, предназначенных для терминала
Templates/DownloadШаблоны для формирования файлов, выгружаемых с терминала. Для получения документов в нужном формате сюда помещается файл-шаблон с именем типа документа

При использовании других способов обмена (например, COM-коннектор) данные папки и шаблоны не применяются, поскольку обмен происходит напрямую с учетной системой, а структура и поля определяются на стороне самой системы.

Структура документа «Приход на склад»

Документ Mobile SMARTS состоит из двух основных частей: шапки и табличной части.

Шапка документа содержит общую информацию и настройки обработки документа. В конфигурации Mobile SMARTS это поля объекта {Document} (например, {Document.Name}).

Табличная часть содержит информацию о товарах: плановую (декларативную) часть {Document.DeclaredItems} и фактическую {Document.CurrentItems} — обе являются коллекциями типа DocumentItemCollection, связанных с документом. Также табличная часть может включать дополнительные таблицы (RowCollection) и вычисляемые поля, например, для характеристик, остатков, серий и т.п.

установка магазина 15 на ТСД

Особенности документа «Приход на склад» при обмене данными

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

установка магазина 15 на ТСД

В шапке документа «Приход на склад» при выгрузке из учетной системы применяются следующие поля:

ПолеОписаниеТип
{Name}Название документа в учетной системеString
{Barcode}Штрихкод или номер документаString
{ВыдаватьАвтоматически}Автоматическое назначение документаBoolean
{ПоЯчейкам}Работа по ячейкамBoolean
{ИсполняемыйНаСервере}Коллективная работа на сервереBoolean
{КонтрольКолва}Контроль планового количестваBoolean
{КонтрольЯчеек}Контроль ячеекBoolean
{РежимУпаковок}Режим упаковок («коробки», «палеты» и т.п.)String

При выгрузке из Mobile SMARTS в учетную систему состав полей шапки меняется:

ПолеОписаниеТип
{Name}Название документаString
{UserName}Имя пользователя, завершившего документString
{DeviceId}Идентификатор устройства, на котором завершён документString
{DeviceIP}IP-адрес устройства (IPv4/IPv6)String

В конфигурации Mobile SMARTS существует гораздо больше полей, чем используется при обмене. Они нужны для внутренней логики и могут отличаться в разных конфигурациях.

При выгрузке из учетной системы на сервер используется таблица плановой товарной части документа {Document.DeclaredItems}. При выгрузке завершенного документа из Mobile SMARTS обратно — объединённые данные из плановой и фактической частей {Document.CombinedItems}.

Ниже представлен список полей документа «Приход на склад», которые участвуют в обмене (на примере конфигурации «Склад 15»):

ПолеОписаниеТип
{НомерСтрокиДокумента}Номер строкиInt32
{ШК}ШтрихкодString
{Product.Marking}АртикулString
{Product.Name}НаименованиеString
{ИмяХарактеристики}Имя характеристикиString
{ИдХарактеристики}Идентификатор характеристикиString
{ИдСерии}Идентификатор серииString
{ИдЕдиницыИзмерения}Идентификатор единицы измеренияString
{ИмяСерии}Название серииString
{ИмяНеизвестного}ОписаниеString
{DeclaredQuantity}Заявленное количествоDecimal
{CurrentQuantity}Фактическое количествоDecimal
{ЦенаПриемки}Цена приемкиDecimal
{АлкоНаим}Название алкогольного напиткаString
{АлкоОбъем}ОбъемDecimal
{АлкоКрепость}КрепостьDecimal
{Производитель}ПроизводительString
{ПроизвИНН}ИНН производителяString
{ПроизвКПП}КПП производителяString
{АлкоКод}Код алкогольного напиткаString
{АлкоПДФ}Поле для хранения PDF417 (синоним поля {Марка})-
{АлкоСН}Серийный номер алкогольного напиткаString
{СН}Серийный номерString
{ДатаРозлива}Дата розливаDateTime
{АлкоЕстьВФормах}Наличие в «формах А» (описание производителя/импортера и диапазона серийных номеров)Boolean
{КодФормыА}Код формы АString
{МаркаИСМП}Марка ИСМП («01» + GTIN + «21» + СН)String
{Марка}Контрольная марка товараString
{ИдКоробки}Штрихкод коробкиString
{SSCC}Штрихкод палетыString
{FirstStorageId}Ячейка храненияString
{МаркаБлока}Марка блока сигаретString
{МаркаСтандарт}Стандартная марка с управляющими кодамиString
{GS1Марка}Марка в формате GS1String
{ПолнаяМаркаHRI}Марка в формате HRIString
{ПолнаяМаркаBase64}Марка в формате Base64String

Некоторые поля, присутствующие в конфигурации документа, не используются при обмене, но необходимы для внутренней логики Mobile SMARTS.