Меню Закрыть

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

Содержание

В платформе 1С:Предприятие 8 реализовано два механизма обмена данными: универсальный механизм обмена данными и механизм распределенной информационной базы. Оба эти механизма базируются на одних тех же технологиях. Одной из этих технологий является служба регистрации изменений данных.

Изменения данных могут регистрироваться в автоматическом режиме. Для этого необходимо при включении объекта метаданных в состав плана обмена разрешить автоматическую регистрацию: установить признак Авторегистрация в значение Разрешить .

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

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

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

Пример. Регистрация изменения всех данных для узла Узел :

Регистрация изменений всех данных одного типа

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

Пример: регистрация изменения всех элементов справочника Номенклатура для узла Узел :

Регистрация изменений конкретных данных различных типов

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

Регистрация изменений данных объектных типов

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

Регистрация изменений наборов записей

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

Регистрация изменений наборов записей регистров, подчиненных регистратору

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

Читайте также:  Можно ли заваркой поливать комнатные цветы

Регистрация изменений наборов записей независимых регистров

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

Для регистрации данных регистра сведений, отбираемых по некоторому критерию, необходимо:

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

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

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

По выбранному узлу обмена:

  • Просмотр списка метаданных, участвующих в обмене.
  • Просмотр списка объектов, для которых зарегистрированы изменения.
  • Удаление и регистрация изменений для объектов:
  • изменение регистрации для объектов по одному.
  • изменение регистрации для списка объектов как результата отбора.
  • использование запросов для выбора данных для регистрации.
  • изменение регистрация объектов указанием их типа с учетом флага авторегистрации.
  • Изменение номеров принятых, отправленных сообщений
  • Просмотр количества зарегистрированных и выгруженных изменений для всех типов объектов.
  • Просмотр XML стандартной выгрузки произвольного объекта
  • Опциональное изменение регистрации обмена для движений документов при изменении регистрации обмена документа.
  • Опциональное изменение регистрации обмена для последовательности документов при изменении регистрации обмена документа.
  • При работе в составе конфигурации с интегрированной БСП изменение регистрации обмена производится с учетом анализа существующих настроек обмена для этого узла.
  • Использование типовой обработки "Консоль запросов" для регистрации или отмены регистрации по результатам запроса.
  • Фильтрация отображаемых данных по номерам отправленных сообщений.
  • По выбранному объекту:

    • Редактирование текущей регистрации на различных узлах.
    • Изменение номеров принятых, отправленных сообщений
    Читайте также:  Как открыть сд ром без кнопки

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

    Обработка РегистрацияИзмененийДляОбмена.epf для запуска в "1С:Предприятии" версии 8.2 находится в каталоге:
    EXE/EXTREPS/UNIREPS82/RegistrationChangeForDataExchangeManaged

    Внешняя обработка РегистрацияИзмененийДляОбмена .epf для запуска в "1С:Предприятии" версии 8.3 находится в каталоге EXE/EXTREPS/UNIREPS83/RegistrationChangeForDataExchangeManaged

    Если в конфигурации используется Библиотека стандартных подсистем, то эти операции можно выполнить в подсистеме «Обмен данными».

    Механизм регистрации изменений используется для обмена данными. При выполнении обмена из базы-источника в базу-приемник передаются не все данные, а только те, для которых были зарегистрированы изменения. В 1С регистрация изменений доступна для следующих объектов:

    • константа;
    • справочник;
    • документ;
    • план счетов;
    • план видов характеристик;
    • план видов расчета;
    • бизнес процесс;
    • задача.

    А так же для наборов записей:

    • регистра сведений;
    • регистра бухгалтерии;
    • регистра накопления;
    • регистра расчета;
    • перерасчета.

    Где хранится информация о зарегистрированных изменениях

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

    Структура таблицы изменений подобна для всех объектов:

    • ключ элемента данных, для которого регистрируются изменения;
    • ссылка на узел, для которого регистрируется изменение;
    • номер сообщения, в котором было передано изменение.

    Запись в таблице изменений проходит следующие преобразования:

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

    Как сделать запрос к таблице изменений

    Таблицы изменений по умолчанию не видны в конструкторе запросов. Но их можно вывести с помощью кнопки Отображать таблицы изменений.

    Пример запроса к таблице изменений:

    Как зарегистрировать изменение объекта в 1С

    Для ручной регистрации изменений объектов существует обработка Регистрация изменений для обмена.

    Изменения данных могут регистрироваться в автоматическом режиме. Для этого необходимо при включении объекта метаданных в состав плана обмена разрешить автоматическую регистрацию: установить для свойства Авторегистрация значение Разрешить.

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

    Читайте также:  Как пользоваться pdf24 creator

    Как зарегистрировать все изменения для узла

    Для того, чтобы зарегистрировать все изменения для конкретного узла, нужно в первом параметре передать ссылку на узел, а во втором — значение Неопределено.

    Как зарегистрировать все изменения объектов определенного типа

    Для того, чтобы зарегистрировать изменения объектов определенного типа, нужно в первом параметре передать ссылку на узел, а во втором — объект описания метаданных.

    Как зарегистрировать все изменения конкретных объектов

    Для того, чтобы зарегистрировать изменение конкретного объекта, нужно в первом параметре передать ссылку на узел, а во втором — ссылку на объект.

    Для того, чтобы зарегистрировать изменение конкретного объекта, нужно в первом параметре передать ссылку на узел, а во втором — ссылку на объект.

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

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

    Набор = РегистрыСведений . КомплектующиеНоменклатуры . СоздатьНаборЗаписей ( ) ;
    Набор . Отбор . Номенклатура . Значение = Номенклатура ;
    Набор . Отбор . Номенклатура . Использование = Истина ;
    Набор . Отбор . ХарактеристикаНоменклатуры . Значение = ХарактеристикаНоменклатуры ;
    Набор . Отбор . ХарактеристикаНоменклатуры . Использование = Истина ;

    ПланыОбмена . ЗарегистрироватьИзменения ( Узел , Набор ) ;

    Как удалить регистрацию изменений

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

    Как удалить регистрацию изменений полностью

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

    Как удалить регистрацию изменений с номером сообщения не больше заданного

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

    Например, если номер сообщения равен 2, то из таблиц изменений будут удалены все записи с номерами 1 и 2.

    Рекомендуем к прочтению

    Добавить комментарий

    Ваш адрес email не будет опубликован.