API3 Типовые сценарии работы

Материал из razgovorov.ru
Версия от 13:24, 18 марта 2020; Разговоров Михаил (обсуждение | вклад) (Новая страница: «== Импорт данных в СБИС == Концепция Имеем внешнюю систему например 1С, которая хочет загру…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Импорт данных в СБИС

Концепция Имеем внешнюю систему например 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. Работа в обратную сторону аналогична. Код отвечающий за обмен данными с конкретной системой называется коннектором и рекомедуется реализовать следующий набор методов (интерфейс)