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