API3 Типовые сценарии работы — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
(Новая страница: «== Импорт данных в СБИС == Концепция Имеем внешнюю систему например 1С, которая хочет загру…»)
 
(Импорт данных в СБИС)
Строка 1: Строка 1:
 
== Импорт данных в СБИС ==
 
== Импорт данных в СБИС ==
 
Концепция
 
Концепция
 +
 
Имеем внешнюю систему например 1С, которая хочет загрузить в СБИС список каких то объектов (документов или справочников), например 10 документов реализации и 5 документов перемещений товаров. С точки зрения сервиса интеграции это одна транзакция обмена (документ синхронизации - SyncDoc) в рамках которой требуется из одной системы (1С) экспортировать объекты (объекты синхронизации - SyncObj), а в другую систему (СБИС) эти объекты импортировать. Кроме этого, для успешного выполнения данной операции, в рамках данной транзакции в систему назначения должны быть импортированы все недостающие под объекты, например записи справочников Номенклатуры, складов, контрагентов и т.п. которые присутствуют в импортируемых объектах.  
 
Имеем внешнюю систему например 1С, которая хочет загрузить в СБИС список каких то объектов (документов или справочников), например 10 документов реализации и 5 документов перемещений товаров. С точки зрения сервиса интеграции это одна транзакция обмена (документ синхронизации - SyncDoc) в рамках которой требуется из одной системы (1С) экспортировать объекты (объекты синхронизации - SyncObj), а в другую систему (СБИС) эти объекты импортировать. Кроме этого, для успешного выполнения данной операции, в рамках данной транзакции в систему назначения должны быть импортированы все недостающие под объекты, например записи справочников Номенклатуры, складов, контрагентов и т.п. которые присутствуют в импортируемых объектах.  
 +
 
Алгоритм.
 
Алгоритм.
 +
 
1. При помощи метода SyncDoc.Write создается транзакция обмена. С помощью этого же метода в созданный SyncDoc записывается список документов - в нашем случае 10 документов реализации и 5 документов перемещений (либо сразу объекты целиком, либо только идентификаторы этих документов).
 
1. При помощи метода SyncDoc.Write создается транзакция обмена. С помощью этого же метода в созданный SyncDoc записывается список документов - в нашем случае 10 документов реализации и 5 документов перемещений (либо сразу объекты целиком, либо только идентификаторы этих документов).
 +
 
2. После этого в цикле вызывается метод SyncDoc.Prepare. Данный метод возвращает список данных которые нужно дозагрузить в транзакцию, чтобы она смогла успешно отработать. В нашем случае метод переберет загруженные 15 документов и сообщит 1С какие объекты требуется до загрузить. В нашем случае например это будет 3 записи номенклатуры, и 1 запись Контрагента. Если бы на шаге 1 в SyncDoc были загружены только идентификаторы документов, то метод запросит данные этих документов, и после их получения дозапросит под объекты.  Метод Prepare вызывается до тех пор, пока не будут получены все необходимые данные. Понять это можно когда количество подготовленных записей равно общему количеству записей и нет запрашиваемых объектов.  
 
2. После этого в цикле вызывается метод SyncDoc.Prepare. Данный метод возвращает список данных которые нужно дозагрузить в транзакцию, чтобы она смогла успешно отработать. В нашем случае метод переберет загруженные 15 документов и сообщит 1С какие объекты требуется до загрузить. В нашем случае например это будет 3 записи номенклатуры, и 1 запись Контрагента. Если бы на шаге 1 в SyncDoc были загружены только идентификаторы документов, то метод запросит данные этих документов, и после их получения дозапросит под объекты.  Метод Prepare вызывается до тех пор, пока не будут получены все необходимые данные. Понять это можно когда количество подготовленных записей равно общему количеству записей и нет запрашиваемых объектов.  
 +
 
3. После окончания подготовки данных транзакции синхронизации она запускается на выполнение при помощи метода SyncDoc.Execute. В рамках данной операции данные будут приведены к требования системы назначения и импортированы.  Узнать о результатах операции можно ... добавить чтение событий, пока чтение SyncDoc.
 
3. После окончания подготовки данных транзакции синхронизации она запускается на выполнение при помощи метода SyncDoc.Execute. В рамках данной операции данные будут приведены к требования системы назначения и импортированы.  Узнать о результатах операции можно ... добавить чтение событий, пока чтение SyncDoc.
 +
 
4. Работа в обратную сторону аналогична. Код отвечающий за обмен данными с конкретной системой называется коннектором и рекомедуется реализовать следующий набор методов (интерфейс)
 
4. Работа в обратную сторону аналогична. Код отвечающий за обмен данными с конкретной системой называется коннектором и рекомедуется реализовать следующий набор методов (интерфейс)

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