Меню


Курсы СтимулСправочникПолезные материалы1С:Предприятие 8.2РазработчикамРеализация обмена данными

1С:Предприятие 8.2 /
Разработчикам /
Реализация обмена данными

Оглавление

Разработка планов обмена с отборами

Рекомендация (полезный совет)

1.1. Как правило, для синхронизации данных между различными конфигурациями и для организации распределенной информационной базы (РИБ) используется технология планов обмена. В этом случае часто возникает задача организации обмена не всеми данными информационной базы, а только частью данных. Например, данные могут быть отобраны для отправки в другие узлы в разрезе организаций, складов, подразделений и пр.

Для определения узлов-получателей для отправки данных следует использовать события ПередЗаписью и ПередУдалением объектов информационной базы, в которых предусмотреть логику регистрации изменений данных на узлах планов обмена (далее – логика регистрации).

При использовании в конфигурации подсистемы «Обмен данными» Библиотеки стандартных подсистем логика регистрации может быть задана декларативно в правилах регистрации объектов (ПРО), которые разрабатываются в конфигурации «Конвертация данных». Подробнее см. документацию к подсистеме «Обмен данными».

1.2. Кроме того, при проектировании логики регистрации необходимо учитывать следующие особенности:

  • данные из сообщения обмена загружаются в произвольном порядке, поэтому на момент выполнения логики регистрации необходимые ей данные могут быть еще не загружены;
  • логика регистрации в том числе выполняется в контексте загрузки данных в транзакции записи объекта, при этом признак ОбменДанными.Загрузка игнорируется. Поэтому любые ошибки логики регистрации приведут к аварийному завершению загрузки данных из сообщения обмена;
  • в обмене в распределенной информационной базе (РИБ) могут участвовать не все данные, например, движения в регистрах мигрируют между узлами, а регистраторы (документы) – нет;
  • обращение к полям связанных таблиц "через точку" приводит к неявному соединению с дополнительными таблицами, что снижает производительность обмена.

2. С учетом перечисленных особенностей рекомендуется придерживаться следующих правил.

2.1. Обеспечить самодостаточность данных, участвующих в обмене. Таблицы данных (справочники, документы, регистры и пр.), участвующие в обмене, должны содержать все необходимые данные для выполнения логики регистрации. Логика регистрации не должна обращаться к полям связанных таблиц, она должна оперировать только данными основной таблицы, регистрацию изменений данных которой необходимо выполнить.

Пример:

  • Данные регистрируются в разрезе организаций.
  • В обмене участвует две таблицы: документ и регистр накопления , в котором содержатся движения документа. И документ, и регистр накопления являются самодостаточными, т.к. содержат ссылку на организацию.
  • При записи данных пользователем или при загрузке данных, логика регистрации отрабатывает независимо для документа и для набора записей регистра.

См. также: Самодостаточность регистров, Разыменование ссылочных полей составного типа в языке запросов

Если требование самодостаточности данных нельзя поддержать по другим соображениям, то нужно рассмотреть следующие варианты.

2.2. Исключить из обмена вторичные данные. Данные, которые могут быть вычислены независимо в каждой из информационных баз, участвующих в обмене, следует исключить из состава плана обмена. Тем самым, более не требуется логика регистрации этих данных, которая могла обращаться к полям связанных таблиц, участвующих в обмене.

Пример:

  • Данные регистрируются в разрезе организаций.
  • В обмене участвует только одна таблица – документы поступления товаров .
  • Есть регистр сведений, который используется для определения прав доступа пользователей к документам поступления товаров . Этот регистр не является самодостаточным, т.к. не содержит ссылку на организацию, поэтому он не участвует в обмене данными.
  • Данные регистра вычисляются независимо в каждом узле распределенной информационной базы при загрузке документов поступления товаров.

2.3. Регистрировать изменения связанных данных. Если в обмене участвуют несколько логически взаимосвязанных таблиц данных, то логика регистрации должна регистрировать к выгрузке данные всех взаимосвязанных таблиц вне зависимости от того, для какой таблицы данных выполняется логика регистрации. При этом логика регистрации не должна аварийно прерываться в случае, когда необходимые для логики регистрации данные отсутствуют.

Пример:

  • Данные регистрируются в разрезе организаций.
  • В обмене участвует две таблицы: справочник "Основные средства" и регистр сведений "Основные средства организаций". В регистре сведений хранится связь основного средства и организации, которой принадлежит основное средство.
  • При записи элемента справочника, и при записи набора записей регистра к выгрузке регистрируются как элемент справочника, так и набор записей регистра.
  • Если при загрузке данных из сообщения обмена сначала выполняется загрузка элемента справочника, то он записывается в базу данных, но не регистрируется к выгрузке на другие узлы планов обмена, т.к. логика регистрации проверяет, что набор записей регистра еще не загружен.
  • При последующей загрузке набора записей регистра выполняется регистрация изменений как самого набора записей, так и соответствующего элемента справочника.

Нас находят: планы обмена 1с 8 2 инструкция, планы обмена 1с 8 2, _some_qunique_referrer_placeholder_, регистрация изменений для обмена по регистрам сведений, регистр Связь объектов обмена, план обмена между различными конфигурациями, https://stimul kiev ua/materialy htm?a=razrabotka_planov_obmena_s_otborami, планы обмена 1с, обмен между различными конфигурациями 1с, Средства обмена данными


Подписка на новости RSS

Мы на Facebook