МенеджерИсторииДанных.ПолучитьРазличияВерсий (DataHistoryManager.GetVersionDiff)

МенеджерИсторииДанных (DataHistoryManager)

ПолучитьРазличияВерсий (GetVersionDiff)

Доступен, начиная с версии 8.3.11.

Синтаксис:

ПолучитьРазличияВерсий(<Данные>, <НомерВерсииПослеИзменения>, <НомерВерсииДоИзменения>)

Параметры:

<Данные> (обязательный)

Тип: СправочникСсылка.<Имя справочника>, ДокументСсылка.<Имя документа>, РегистрСведенийКлючЗаписи.<Имя регистра сведений>, БизнесПроцессСсылка.<Имя бизнес-процесса>, ЗадачаСсылка.<Имя задачи>, ПланВидовХарактеристикСсылка.<Имя плана видов характеристик>, ПланСчетовСсылка.<Имя плана счетов>, ПланОбменаСсылка.<Имя плана обмена>, ПланВидовРасчетаСсылка.<Имя плана видов расчета>, КонстантаКлючЗначения.<Имя константы>.
Ссылка на объект или ключ записи регистра сведений, по которым создана версия.

<НомерВерсииПослеИзменения> (обязательный)

Тип: Число.
Номер версии после изменения.

<НомерВерсииДоИзменения> (необязательный)

Тип: Число, Неопределено.
Номер версии до изменения. Если указано значение Неопределено, сравнение выполняется с предыдущей версией.
Значение по умолчанию: Неопределено.

Возвращаемое значение:

Тип: Структура, Неопределено.
Неопределено - если версия создана по удалению данных.
Структура - если версия создана по изменению или добавлению данных. Содержит измененные поля версии после изменения. Ключ структуры - имя реквизита. Значение содержит структуру со значениями полей до и после изменения. Данная структура не содержит независимые разделители и их значения. Если объект содержит табличные части, то ключом является имя табличной части, а значением - массив, каждый элемент которого представляет собой фиксированную структуру информации об измененной записи табличной части.
Структура изменения поля:Структура изменения для табличной части:Структура для ссылок:

Описание:

Получает набор изменений между версиями.

Доступность:

Сервер, толстый клиент, внешнее соединение.

Пример:

// Вывод в консоль названий добавленных, 

// удаленных позиций, изменений цены позиции


РазличиеЗаказов = ИсторияДанных.ПолучитьРазличияВерсий(
    Документы.Заказ.НайтиПоНомеру("0000001"), 2, 1);
Для 
Каждого Позиция Из РазличиеЗаказов.ПозицииЗаказа Цикл
     Если Позиция.ВидИзмененияСтрокиДанных
         = ВидИзмененияСтрокиДанных.Добавление Тогда
        Сообщить("Добавлена позиция " + Позиция.Продукция);
     Иначе 
Если Позиция.ВидИзмененияСтрокиДанных 
        = ВидИзмененияСтрокиДанных.Удаление Тогда
        Сообщить("Удалена позиция " + Позиция.Продукция);
     Иначе 
Если Позиция.ВидИзмененияСтрокиДанных 
        = ВидИзмененияСтрокиДанных.Изменение Тогда
        Сообщить("Изменена позиция."
            +  " Старая цена = " + Позиция.Цена.СтароеЗначение 
            +  " Новая цена = " + Позиция.Цена.НовоеЗначение);
     КонецЕсли
;
КонецЦикла
;

Использование в версии:

Доступен, начиная с версии 8.3.11.


     Методическая информация