Имя: Пароль:
1C
1С v8
Программно получить данные первой версии объекта
0 synapce
 
11.07.22
09:19
Всем привет!
Народ, подскажите, как получить первую версию документа по версионированию? (программно).
Грубо говоря, необходимо присвоить данные версии в переменную и оттуда выдернуть реквизит.

Заранее спасибо всем!

1с Документооборот 8 КОРП 2.1
1 DimVad
 
11.07.22
09:25
По поводу ДО точно не скажу, но вообще может быть что-о типа :

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ ПЕРВЫЕ 1
    |    ВерсииОбъектов.Объект,
    |    ВерсииОбъектов.НомерВерсии,
    |    ВерсииОбъектов.ВерсияОбъекта
    |ИЗ
    |    РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
    |ГДЕ
    |    ВерсииОбъектов.Объект = &Объект
    |    И ВерсииОбъектов.НомерВерсии = &НомерВерсии";
    
    Запрос.УстановитьПараметр("Объект",            СсылкаНаОбъект);
    Запрос.УстановитьПараметр("НомерВерсии",    Число(ТД.НомерВерсии));
    
    Рез = Запрос.Выполнить();
    Если Рез.Пустой() Тогда
        Возврат;
    КонецЕсли;
    
    Выборка = Рез.Выбрать();
    Выборка.Следующий();
    
    ХранилищеОбъекта = Выборка.ВерсияОбъекта;
    ДвоичныеДанные = ХранилищеОбъекта.Получить();
    
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
    ДвоичныеДанные.Записать(ИмяВременногоФайла);
    
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.ОткрытьФайл(ИмяВременногоФайла);
    Объектик=ПрочитатьXML(ЧтениеXML);
    ЧтениеXML.Закрыть();
2 СеменовСемен
 
11.07.22
09:28
Прочитать xml может не сработать, если были изменения мд
3 DimVad
 
11.07.22
09:29
(2) Это да.