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

Как передать объекты Mobile SMARTS из 1С в формате JSON

В онлайн-взаимодействии между Mobile SMARTS и «1С: Предприятием» чаще всего используется веб-сервис через «WebConnector», а не устаревшее COM-взаимодействие. WebConnector обладает рядом преимуществ по сравнению с COM-обменом.

При обмене через WebConnector обработка в 1С возвращает данные в формате JSON, а не в виде XML-объектов, как это происходило при использовании COM. Поэтому если необходимо передавать из 1С не только стандартные данные (такие как документы или номенклатуру, отправляемые через события на сервере Mobile SMARTS), но и собственные структуры — например, таблицы строк (RowCollection) или товарные коллекции с упаковкой (PackedProductCollection), нужно правильно указать тип, чтобы сервер мог корректно десериализовать полученный JSON.

Для этого применяется функция ГлЯдро_ПолучитьJSON, которая расположена в модуле обработки КлеверенсТСД_ОсновнаяОбработка.epf, входящей в состав решений на платформе Mobile SMARTS («Склад 15», «Магазин 15» и др.).

Примеры вызова:

Примеры:

Результат = ГлЯдро_ПолучитьJSON(Массив, "Cleverence.Warehouse.PackedProductCollection, Cleverence.MobileSMARTS", Истина);

Результат = ГлЯдро_ПолучитьJSON(КоллекцияСтруктур, "Cleverence.Warehouse.RowCollection, Cleverence.MobileSMARTS", Истина);

Полученные данные из «1С: Предприятия» в формате json:

	 {
"":"Cleverence.Warehouse.PackedProductCollection, Cleverence.MobileSMARTS",
"":[
{
"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
}
]
}