API3 Типовые сценарии работы — различия между версиями
(→Импорт данных в СБИС) |
м (added Category:SBIS API3 using HotCat) |
||
Строка 13: | Строка 13: | ||
4. Работа в обратную сторону аналогична. Код отвечающий за обмен данными с конкретной системой называется коннектором и рекомедуется реализовать следующий набор методов (интерфейс) | 4. Работа в обратную сторону аналогична. Код отвечающий за обмен данными с конкретной системой называется коннектором и рекомедуется реализовать следующий набор методов (интерфейс) | ||
+ | |||
+ | [[Категория:SBIS API3]] |
Текущая версия на 13:30, 18 марта 2020
Импорт данных в СБИС
Концепция
Имеем внешнюю систему например 1С, которая хочет загрузить в СБИС список каких то объектов (документов или справочников), например 10 документов реализации и 5 документов перемещений товаров. С точки зрения сервиса интеграции это одна транзакция обмена (документ синхронизации - SyncDoc) в рамках которой требуется из одной системы (1С) экспортировать объекты (объекты синхронизации - SyncObj), а в другую систему (СБИС) эти объекты импортировать. Кроме этого, для успешного выполнения данной операции, в рамках данной транзакции в систему назначения должны быть импортированы все недостающие под объекты, например записи справочников Номенклатуры, складов, контрагентов и т.п. которые присутствуют в импортируемых объектах.
Алгоритм.
1. При помощи метода SyncDoc.Write создается транзакция обмена. С помощью этого же метода в созданный SyncDoc записывается список документов - в нашем случае 10 документов реализации и 5 документов перемещений (либо сразу объекты целиком, либо только идентификаторы этих документов).
2. После этого в цикле вызывается метод SyncDoc.Prepare. Данный метод возвращает список данных которые нужно дозагрузить в транзакцию, чтобы она смогла успешно отработать. В нашем случае метод переберет загруженные 15 документов и сообщит 1С какие объекты требуется до загрузить. В нашем случае например это будет 3 записи номенклатуры, и 1 запись Контрагента. Если бы на шаге 1 в SyncDoc были загружены только идентификаторы документов, то метод запросит данные этих документов, и после их получения дозапросит под объекты. Метод Prepare вызывается до тех пор, пока не будут получены все необходимые данные. Понять это можно когда количество подготовленных записей равно общему количеству записей и нет запрашиваемых объектов.
3. После окончания подготовки данных транзакции синхронизации она запускается на выполнение при помощи метода SyncDoc.Execute. В рамках данной операции данные будут приведены к требования системы назначения и импортированы. Узнать о результатах операции можно ... добавить чтение событий, пока чтение SyncDoc.
4. Работа в обратную сторону аналогична. Код отвечающий за обмен данными с конкретной системой называется коннектором и рекомедуется реализовать следующий набор методов (интерфейс)