Оглавление | Родительский раздел

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

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

Синтаксис:

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

Параметры:

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

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

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

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

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

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

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

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

Описание:

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

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

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

Пример:

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

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


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


Оглавление | Родительский раздел Платформа 8.3.13.1809