Использование службы регистрации изменений

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

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

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

Опишем приблизительный сценарий подготовки данных для такой обработки:

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

Пример реализации

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

Копировать в буфер обмена
Процедура ОбработкаИзмененныхДанных(Цель) Экспорт

	Выборка = ПланыОбмена.ВыбратьИзменения(Цель, Цель.НомерОтправленного);

	// выполнение собственно обработки выбранных изменений данных
	ОбработкаДанных(Выборка);
	ПланыОбмена.УдалитьРегистрациюИзменений(Цель, Цель.НомерОтправленного);

КонецПроцедуры

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