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

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

Полная регистрация изменений для выбранного узла производится с использованием одноименной процедуры, определенной в общем модуле ОбменСУдаленнымиСкладами.

У данной процедуры два параметра. В первый передается ссылка на узел, для которого необходимо выполнить регистрацию изменений. Во второй параметр передается значение типа Булево. Если это значение Истина, то для данного узла будет выполняться регистрация изменения всех объектов (невзирая на принадлежность данного узла к какому-либо определенному складу).

 

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

Достигается полная регистрация всех объектов вызовом метода ЗарегистрироватьИзменения() без указания второго параметра (его значение по умолчанию Неопределено).

Пример реализации универсального обмена в 1С

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

Рассмотрим пример реализации механизмов универсального обмена (фактически это выборочное описание механизмов, реализованных в демонстрационной конфигурации «Обмен данными», ее можно установить с диска «ИТС»).

 

Считаем, что в некой конфигурации определен план обмена УдаленныеСклады. У данного плана обмена определены следующие реквизиты:

•Склад (тип СправочникСсылка.Склады) - ссылка на склад, представляющий данный узел;

•Главный (тип Булево) - для реализации стратегии «главный - подчиненный»;

•АдресОбмена (строка) - для указания ресурса, куда выгружаются сформированные сообщения и откуда они загружаются.

•Описание (строка) - содержит описание участника обмена;

У плана обмена определены следующие узлы:

•Центральный офис (предопределенный узел, код ЦентрОфис);

•Склад розничный (код Розница);

•Склад оптовый (код Опт).

 

Использование возможностей работы с XML-документами в 1С

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

Использование возможностей работы с XML-документами в 1СДо данного момента рассматривались только механизмы регистрации и удаления регистрации изменений. Рассмотрим пример кода, реализующий (в рамках универсального обмена) полный цикл выгрузки данных (включает в себя выборку данных, для которых были зарегистрированы изменения). При этом в качестве файлов «носителей данных» будут использоваться документы XML.

 

Следует отметить, что обмен данными может выполняться через файлы других форматов, но создать объекты ЧтениеСообщения и ЗаписьСообщения без указания в качестве параметра объектов Чтение XML и Запись XML  нельзя:

Универсальный механизм обмена данными в 1С

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

Универсальный механизм обмена данными в 1СУниверсальный механизм обмена данными может использоваться как вместе с механизмом распределенных информационных баз, так и по отдельности (для решения задач организации обмена данными информационных баз «1С:Предприятия 8» с различными программными системами).

 

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

 

К универсальному механизму обмена данными могут быть отнесены:

•средства чтения и записи документов XML;

•XML-сериализация;

•планы обмена.

Инфраструктура сообщений в 1С

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

Инфраструктура сообщений в 1СВажнейшей составляющей инфраструктуры сообщений являются сами сообщения.

 

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

 

Рассмотрим, что такое сообщение. Сообщение оформляется как документ XML, имеющий определенную структуру.

 

Автоматическая регистрация изменений в 1С

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

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

«Ручная» регистрация изменений в 1С

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

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

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

Объект.ОбменДанными.Попучатели.ДобавитьУзел);

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

Принудительная регистрация изменений в 1С

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

В некоторых случаях может потребоваться принудительная регистрация изменений для какого-либо объекта, их списка (или всех объектов). Для этой цели может использоваться метод ЗарегистрироватьИзменения() объекта ПланыОбменаМенеджер. Данный метод позволяет выполнять регистрацию изменений одиночных элементов данных или целых групп для одного или нескольких узлов.

Первый параметр данного метода - ссылка на узел плана обмена или массив ссылок на узлы, для которых выполняется регистрация изменений. Если первый параметр представляет собой одиночную ссылку на узел, то второй параметр может быть опущен. При этом выполняется регистрация изменений всех элементов данных, которые на данный момент присутствуют в базе данных и изменения которых могут быть зарегистрированы для данного узла:
 Узел=ПланыОбмена.УдаленныеСклады.НайтиПоКоду("Новый");
ПланыОбмена.ЗарегистрироватьИзменения(Узел);
Данный вариант использования метода может быть полезен для организации начальной передачи данных вновь созданному узлу.

Управление регистрацией изменений в 1С

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

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

 

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

Управление регистрацией изменений в 1С

Служба регистрации изменений в 1С

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

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

 

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