Сведения версии объекта. Возвращает структуру, содержащую версию объекта и дополнительную информацию.
// Возвращает структуру, содержащую версию объекта и дополнительную информацию.
//
// Параметры:
// Ссылка - Ссылка - ссылка версионируемый объект;
// НомерВерсии - Число - номер версии объекта.
//
// Возвращаемое значение - Структура:
// ВерсияОбъекта - ДвоичныеДанные - сохраненная версия объекта информационной базы;
// АвторВерсии - Справочник.Пользователи, Справочник.ВнешниеПользователи -
// пользователь, записавший версию объекта.
// ДатаВерсии - Дата - дата записи версии объекта.
//
// Примечание:
// Функция может вызвать исключение, если запись не содержит данных.
// Функцию требуется вызвать в привилегированном режиме.
//
Функция СведенияОВерсииОбъекта(Знач Ссылка, Знач НомерВерсии) Экспорт
СообщениеНеУдалосьПолучитьВерсию = НСтр("ru = 'Не удалось получить предыдущую версию объекта.'");
Если Не ЕстьПравоЧтенияДанныхВерсийОбъектов() Тогда
ВызватьИсключение СообщениеНеУдалосьПолучитьВерсию;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВерсииОбъектов.АвторВерсии КАК АвторВерсии,
| ВерсииОбъектов.ДатаВерсии КАК ДатаВерсии,
| ВерсииОбъектов.Комментарий КАК Комментарий,
| ВерсииОбъектов.ВерсияОбъекта,
| ВерсииОбъектов.КонтрольнаяСумма
|ИЗ
| РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
|ГДЕ
| ВерсииОбъектов.Объект = &Ссылка
| И ВерсииОбъектов.НомерВерсии = &НомерВерсии";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("НомерВерсии", Число(НомерВерсии));
Результат = Новый Структура("ВерсияОбъекта, АвторВерсии, ДатаВерсии, Комментарий");
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ЗаполнитьЗначенияСвойств(Результат, Выборка);
Результат.ВерсияОбъекта = Результат.ВерсияОбъекта.Получить();
Если Результат.ВерсияОбъекта = Неопределено Тогда
Результат.ВерсияОбъекта = ДанныеВерсииОбъекта(Ссылка, НомерВерсии, Выборка.КонтрольнаяСумма);
КонецЕсли;
КонецЕсли;
Если Результат.ВерсияОбъекта = Неопределено Тогда
ВызватьИсключение НСтр("ru = 'Выбранная версия объекта отсутствует в программе.'");
КонецЕсли;
Возврат Результат;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
СведенияОБлокируемыхОбъектах (БСП)
ИгнорироватьВерсиюОбъекта (БСП)
ПриПереходеНаВерсиюОбъекта (БСП)