Онлайн-обмен Mobile SMARTS с «1С: Предприятием» чаще всего происходит с помощью web-сервиса («WebConnector»), а не устаревшего COM-соединения. Обмен с помощью веб-коннектора обладает многими преимуществами по сравнению с COM-соединением.
При этом обработка 1С возвращает данные в формате json, а не сериализованные в xml объекты Mobile SMARTS (как в случае COM-соединения). Поэтому если у вас возникла необходимость возвращать из 1С не только номенклатуру и документы (для этого используются события сервера Mobile SMARTS), но и свои данные (например, коллекцию строк таблицы «RowCollection» или коллекцию товаров с упаковками «PackedProductCollection»), потребуется указать соответствующий тип объекта, чтобы сервер Mobile SMARTS мог десериализовать json.
Для этого используется функция «ГлЯдро_ПолучитьJSON». Она находится в модуле обработки «КлеверенсТСД_ОсновнаяОбработка.epf», которая входит в состав продуктов на платформе Mobile MARTS («Магазин 15», «Склад 15» и др).
Примеры:
Результат = ГлЯдро_ПолучитьJSON(Массив, "Cleverence.Warehouse.PackedProductCollection, Cleverence.MobileSMARTS", Истина);
Результат = ГлЯдро_ПолучитьJSON(КоллекцияСтруктур, "Cleverence.Warehouse.RowCollection, Cleverence.MobileSMARTS", Истина);
Полученные данные из «1С: Предприятия» в формате json:
{ "$type":"Cleverence.Warehouse.PackedProductCollection, Cleverence.MobileSMARTS", "$values":[ { "Product": { "Id": "54321", "Name": "Товар 1", "Barcode": "3333", "BasePackingId": "шт" }, "Packing": { "Id": "шт", "Name": "шт", "Barcode": "" }, "Quantity": 1 }, { "Product": { "Id": "12345", "Name": "Товар 2", "Barcode": "4444", "BasePackingId": "шт" }, "Packing": { "Id": "шт", "Name": "шт", "Barcode": "" }, "Quantity": 1 } ] }