Поделитесь в соцсетях

Просмотр версий удаленного объекта

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

Для получения всех версий удаленных объектов используется запрос


ВЫБРАТЬ
    ВерсииОбъектов.Объект КАК ОбъектСсылка,
    ВерсииОбъектов.Объект.Код КАК ОбъектКод,
    ВерсииОбъектов.ДатаВерсии КАК ДатаВерсии
ИЗ
    РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
ГДЕ
    ВерсииОбъектов.Объект ССЫЛКА Справочник.Номенклатура
    И ВерсииОбъектов.Объект.Код ЕСТЬ NULL
    упорядочить по ДатаВерсии
 

Далее обрабатывая каждую строку можно получить текст в формате XML


Отбор = Новый Структура;
Отбор.Вставить("Объект", ОбъектСсылка);
Выборка = РегистрыСведений.ВерсииОбъектов.Выбрать(Отбор);
Рез = Новый Массив;

Пока Выборка.Следующий() Цикл
    СтруктураХранилища = Выборка.ВерсияОбъекта.Получить();
    Если СтруктураХранилища = Неопределено Тогда 
        Продолжить;
    КонецЕсли;
    ДД = СтруктураХранилища.Объект;
       
    ЧтениеXML = Новый ЧтениеFastInfoSet;
    ЧтениеXML.УстановитьДвоичныеДанные(ДД);
    ЗаписьXML = Новый ЗаписьXML;
    ЗаписьXML.УстановитьСтроку();
    Пока ЧтениеXML.Прочитать() Цикл
        ЗаписьXML.ЗаписатьТекущий(ЧтениеXML);
    КонецЦикла;
    СтрокаXML = ЗаписьXML.Закрыть();
    Рез.Добавить(СтрокаXML);
    
КонецЦикла;
 

В итоге получаем массив "Рез" со списком версий объектов в формате XML