Использование транзакций при организации обмена в 1С Предприятии

Категория: Учебники по 1С » Технологии интеграции 1С Предприятия 8.2

При реализации обмена, как посредством универсального механизма обмена, так и с использованием механизма распределенных информационных баз, одна из задач, которые требуют решения, - это обеспечение целостности и согласованности данных.

Данная задача при использовании универсального обмена может решаться с использованием транзакций:

НачатьТранзакцию();

//обработка данных

...

ЗафиксироватьТранзакцию();

При выгрузке данных в механизме распределенных информационных баз используется метод ЗаписатьЙзменения() менеджера планов обмена:
ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения,0);

Восстановление узла распределенной информационной базы из резервной копии в 1С Предприятии

Категория: Учебники по 1С » Технологии интеграции 1С Предприятия 8.2

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

Процедура восстановления информационной базы корневого узла

Напомним, что корневым узлом считается информационная база, у которой свойство ГлавныйУзел содержит значение Неопределено. Восстановление корневого узла сводится к восстановлению резервной копии информационной базы.

 

После восстановления информационной базы корневого узла необходимо восстановить обмен данными в распределенной информационной базе. Для этого над всеми информационными базами - узлами распределенной информационной базы - необходимо выполнить действия, аналогичные рекомендуемым при восстановлении информационной базы подчиненного узла.

 

Разрешение коллизий в 1С

Категория: Учебники по 1С » Технологии интеграции 1С Предприятия 8.2

На основе отношения «главный - подчиненный» в распределенной информационной базе организована типовая процедура разрешения коллизий, автоматически выполняемая при приеме сообщения. Считается, что изменение элемента данных, произведенное в главном узле, имеет высший приоритет по отношению к изменению, произведенному в подчиненном узле.

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

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

Сценарии обмена данными в распределенной информационной базе 1С

Категория: Учебники по 1С » Технологии интеграции 1С Предприятия 8.2

Обработчики событий ПриОтправкеДанныхПодчиненному, ПриОтправкеДанныхГлавному, ПриПолученииДанныхОтПодчиненного, ПриПолученииДанныхОтГлавного в модуле плана обмена позволяют достаточно гибко управлять обменом данными в распределенной информационной базе. С использованием этих обработчиков может быть построено большое разнообразие сценариев обмена данными. В этом разделе в качестве примера будет рассмотрена организация нескольких сценариев.

Пример работы обмена данными в распределенной информационной базе

Категория: Учебники по 1С » Технологии интеграции 1С Предприятия 8.2

Пример работы обмена данными в распределенной информационной базеЧтобы проверить работу обмена данными в распределенной информационной базе на реальном примере, необходимо выполнить следующие шаги:

  • В центральной базе, в списке плана обмена, поддерживающего обмен данными в распределенной информационной базе (в нашем примере Магазины), создать центральный узел плана обмена, установить его код и заполнить все необходимые для него реквизиты.
  • Создать подчиненный узел обмена (путем создания начального образа)

Подготовка конфигурации к работе в распределенной информационной базе 1С

Категория: Учебники по 1С » Технологии интеграции 1С Предприятия 8.2

Конфигурация, разработанная для обычной информационной базы, в большинстве случаев требует адаптации для работы в распределенной информационной базе. В этом разделе мы рассмотрим основные методы адаптации конфигурации к работе в распределенной информационной базе. Описанные методы не являются исчерпывающими, ими можно ограничиться, когда необ-ходимо обеспечить простой обмен данными. Например, разделение на два офиса с полным дублированием информации в них.

 

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

 

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

 

Запись и чтение сообщений обмена в 1С Предпрятии

Категория: Учебники по 1С » Технологии интеграции 1С Предприятия 8.2

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

Запись и чтение сообщений обмена в 1С Предпрятии 

Создание узла из копии информационной базы в 1С Предприятии

Категория: Учебники по 1С » Технологии интеграции 1С Предприятия 8.2

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

  • В оригинале информационной базы - узле распределенной информационной базы, для которой необходимо создать подчиненный узел, создаем узел плана обмена, устанавливаем его код и заполняем все необходимые для него реквизиты. В случае если узел, для которого необходимо создать информационную базу, уже существует, данный пункт можно пропустить.
  • В копии информационной базы удаляем все непредопределенные узлы соответствующего плана обмена.
  • Заполняем данные предопределенного узла ЭтотУзел значениями, аналогичными содержащимся в узле, созданном в первом пункте. Значения кодов узлов должны совпадать.
  • Создаем узел плана обмена, который будет соответствовать информационной базе главного узла, и заполняем его данными, соответствующими данным узла ЭтотУзел в базе оригинала. Коды указанных узлов должны совпадать.
  • При помощи метода УстановитьГлавныйУзел () менеджера планов обмена устанавливаем свойство ГлавныйУзел в значение ссылки на узел, созданный в предыдущем пункте (листинг 2.52).

ГлавныйУзел = ПланыОбмена.Мзгазины.НайтиПоКоду("ЦентрОфис");

ПланыОбмена.УстановитьГлавныйУзел(ГлавныйУзел);

После выполнения последнего пункта создание узла распределенной информационной базы считается законченным. Созданная информационная база может участвовать в обмене данными в рамках распределенной информационной базы.

 

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

Создание узла из конфигурации в 1С

Категория: Учебники по 1С » Технологии интеграции 1С Предприятия 8.2

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

данным способом, совпадают с операциями, выполняемыми платформой «1С:Предприятие» при создании начального образа. Опишем данный способ подробнее:

  • В информационной базе - узле распределенной информационной базы, для которой необходимо создать подчиненный узел, создаем узел плана обмена, устанавливаем его код и заполняем все необходимые для него реквизиты. В случае если узел, для которого необходимо создать информационную базу, уже существует, данный пункт можно пропустить.
  • Сохраняем конфигурацию данной информационной базы в файл.
  • Создаем пустую информационную базу там, где необходимо создание узла распределенной информационной базы.
  • Загружаем конфигурацию из файла, созданную в пункте 2, во вновь созданную информационную базу.
  • Обновляем конфигурацию базы данных.
  • В режиме «1С:Предприятие» заполняем данные предопределенного узла ЭтотУзел плана обмена данными, соответствующими данным узла, для которого создается узел распределенной информационной базы, в исходной информационной базе (информационной базе главного узла). Коды указанных узлов должны совпадать.
  • Создаем узел плана обмена, который будет соответствовать информационной базе главного узла, и заполняем его данными, соответствующими данным узла ЭтотУзел в исходной информационной базе. Коды указанных узлов должны совпадать.
  • При помощи метода УстановитьГлавныйУзел() менеджера планов обмена устанавливаем свойство ГлавныйУзел в значение ссылки на узел, созданный в предыдущем пункте (листинг 2.50).

Создание начального образа из встроенного языка в 1С

Категория: Учебники по 1С » Технологии интеграции 1С Предприятия 8.2

Процесс создания начального образа при помощи метода СоздатьНачальныйОбраз() менеджера планов обмена аналогичен интерактивной процедуре, за исключением того, что все параметры новой информационной базы, а также узел, для которого необходимо создать начальный образ, должны быть переданы в качестве параметров при вызове указанной процедуры:

Узел = ПланыОбмена.Магазины.НайтиПоКоду("Оптовый“);

ПланыОбмена.СоздатьНачальныйОбраз(Узел, СтрокаСоединения);