Обработчик вызывается после создания версий, отдельным вызовом метода ВыполнитьОбработкуПослеЗаписиВерсий либо в рамках вызова ОбновитьИсторию при указании необходимости выполнения обработки. Обработчик выполняется с установленным безопасным режимом разделения для всех независимых разделителей конфигурации - переключение в другую область данных будет запрещено. Исключение в обработчике приводит к прерыванию выполнения обработки остальных версий в очереди, поэтому рекомендуется не допускать возникновения исключений. Элементы коллекции информации о записи версий отсортированы по возрастанию данных, по которым создаются версии, и номеров версий. В обработчик передается не более 1000 элементов. Рекомендуется обрабатывать исключения, возникающие в вызываемых механизмах, с целью не прерывать обработку после записи. Рекомендуется создать регламентное задание, удаляющее из обработки версии, созданные ранее определенной даты. Для этого в задании следует вызвать метод УдалитьИзОбработкиПослеЗаписиВерсий с указанием даты.
Синтаксис
ОбработкаПослеЗаписиВерсийИсторииДанных(<ИнформацияОЗаписиВерсий>)Полное описание, параметры и ограничения
ПланВидовХарактеристикМенеджер.<Имя плана видов характеристик>.ОбработкаПослеЗаписиВерсийИсторииДанных (ChartOfCharacteristicTypesManager.<Chart of characteristic types name>.AfterWriteDataHistoryVersionsProcessing)
ПланВидовХарактеристикМенеджер.<Имя плана видов характеристик> (ChartOfCharacteristicTypesManager.<Chart of characteristic types name>)
ОбработкаПослеЗаписиВерсийИсторииДанных (AfterWriteDataHistoryVersionsProcessing)
Доступен, начиная с версии 8.3.15.
Синтаксис:
ОбработкаПослеЗаписиВерсийИсторииДанных(<ИнформацияОЗаписиВерсий>)
Параметры:
<ИнформацияОЗаписиВерсий>
Тип: КоллекцияИнформацииОЗаписиВерсииИсторииДанных.
Содержит информацию о записи версий истории данных.
Описание:
Обработчик вызывается после создания версий, отдельным вызовом метода ВыполнитьОбработкуПослеЗаписиВерсий либо в рамках вызова ОбновитьИсторию при указании необходимости выполнения обработки.
Обработчик выполняется с установленным безопасным режимом разделения для всех независимых разделителей конфигурации - переключение в другую область данных будет запрещено.
Исключение в обработчике приводит к прерыванию выполнения обработки остальных версий в очереди, поэтому рекомендуется не допускать возникновения исключений.
Элементы коллекции информации о записи версий отсортированы по возрастанию данных, по которым создаются версии, и номеров версий.
В обработчик передается не более 1000 элементов.
Рекомендуется обрабатывать исключения, возникающие в вызываемых механизмах, с целью не прерывать обработку после записи.
Рекомендуется создать регламентное задание, удаляющее из обработки версии, созданные ранее определенной даты. Для этого в задании следует вызвать метод УдалитьИзОбработкиПослеЗаписиВерсий с указанием даты.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.3.15.
Методическая информация
Практические примеры
После записи версий: собственный журнал УчебныеСвойстваИстории
Точный контракт события истории данных и конкретный собственный объект, без ручного вызова процедуры вместо события платформы.
Где и как запускать
Собственный модуль менеджера / объекта / набора записей согласно подготовке; сервер / толстый клиент.
Подготовка
Только собственная отдельная учебная база. Создайте ПланыВидовХарактеристик → УчебныеСвойстваИстории. Свой ПВХ с типом значения Строка и реквизитом КомментарийИстории Строка 100. Создайте собственное описание Цвет и измените комментарий, а не значение характеристики товара.
У этого своего объекта включите ИсторияДанных; у дополнительного поля КомментарийИстории, если оно используется, также включите участие в истории. Подготовьте две версии только собственных данных; включение флага само не создаёт задним числом версии.
Дождитесь штатного обновления своей истории. Для ручного обновления выбирайте конкретные свои данные / свои метаданные и не вызывайте бесконтрольное ОбновитьИсторию() без отбора в рабочей базе.
Обработчик разместите в указанном модуле объекта / менеджера; директивы управляемой формы и первый параметр Элемент здесь не нужны. BSL, запись собственных данных и обновление истории при сборке HTML не выполнялись.
Модуль менеджера своего объекта. Штатная обработка после записи версий должна быть включена; обновление истории без этой обработки не обязано вызвать событие.
Для проверки откройте журнал регистрации своей учебной базы с отбором по УчебнаяИстория.УчебныеСвойстваИстории. Не внедряйте в такой обработчик сеть или намеренные исключения: исключение прерывает последующую обработку очереди.
Процедура ОбработкаПослеЗаписиВерсийИсторииДанных(ИнформацияОЗаписиВерсий)
ЧислоВерсий = ИнформацияОЗаписиВерсий.Количество();
Если ЧислоВерсий = 0 Тогда
Возврат;
КонецЕсли;
Комментарий = "Обработана партия собственных версий: " + Строка(ЧислоВерсий);
ЗаписьЖурналаРегистрации("УчебнаяИстория.УчебныеСвойстваИстории", УровеньЖурналаРегистрации.Информация,
, , Комментарий);
КонецПроцедурыРазбор по шагам
Подготовьте собственный объект и настоящие версии его истории.
Назначьте обработчик в точном модуле.
Выполните показанное штатное действие / дополнительный код и проверьте фактический журнал или маркер копии.
Как проверить результат
Одна запись собственного события на партию, без имён пользователей, содержимого версии и повторного сохранения объекта.
Количество относится к текущей переданной партии, не ко всей истории. В одном вызове не более 1000 элементов; чужие области данных не переключаются.
Ожидаемый результат
Показана прикладная реакция на реальную фазу истории данных, а не выдуманный номер версии.
На что обратить внимание
Не вызывайте обновление истории рекурсивно из её обработчиков.
Свойства безопасности разделения и права истории не обходятся.
BSL, обработка истории и запись журнала при сборке HTML не выполнялись.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.