ОтчетПоВерсииОбъекта (БСП)

Автор: 1С
ОбщийМодуль.ВерсионированиеОбъектов
БСП

Отчет по версии объекта. Возвращает табличный документ, заполненный данными объекта.

// Возвращает табличный документ, заполненный данными объекта.
// 
// Параметры:
//  СсылкаНаОбъект - ЛюбаяСсылка.
//
// Возвращаемое значение:
//  ТабличныйДокумент - печатная форма объекта.
//
Функция ОтчетПоВерсииОбъекта(СсылкаНаОбъект, Знач ВерсияОбъекта = Неопределено, ПользовательскийНомерВерсии = Неопределено) Экспорт
	
	НомерВерсии = Неопределено;
	СериализованныйОбъект = Неопределено;
	Если ТипЗнч(ВерсияОбъекта) = Тип("Число") Тогда
		НомерВерсии = ВерсияОбъекта;
	ИначеЕсли ТипЗнч(ВерсияОбъекта) = Тип("Строка") Тогда
		СериализованныйОбъект = ВерсияОбъекта;
	КонецЕсли;
	
	Если НомерВерсии = Неопределено Тогда
		Если СериализованныйОбъект = Неопределено Тогда
			СериализованныйОбъект = СериализоватьОбъект(СсылкаНаОбъект.ПолучитьОбъект());
		КонецЕсли;
		ОписаниеОбъекта = РазборПредставленияОбъектаXML(СериализованныйОбъект, СсылкаНаОбъект);
		ОписаниеОбъекта.Вставить("ИмяОбъекта",     Строка(СсылкаНаОбъект));
		ОписаниеОбъекта.Вставить("АвторИзменения", "");
		ОписаниеОбъекта.Вставить("ДатаИзменения",  ТекущаяДатаСеанса());
		ОписаниеОбъекта.Вставить("Комментарий", "");
		НомерВерсии = 0;
		
		ВерсионированиеОбъектовПереопределяемый.ПослеРазбораВерсииОбъекта(СсылкаНаОбъект, ОписаниеОбъекта);
	Иначе
		ОписаниеОбъекта = РазборВерсии(СсылкаНаОбъект, НомерВерсии);
	КонецЕсли;
	
	Если ПользовательскийНомерВерсии = Неопределено Тогда
		ПользовательскийНомерВерсии = НомерВерсииВИерархии(СсылкаНаОбъект, НомерВерсии);
	КонецЕсли;
	
	Описание = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '№ %1 / (%2) / %3'"), ПользовательскийНомерВерсии,
		Строка(ОписаниеОбъекта.ДатаИзменения), СокрЛП(Строка(ОписаниеОбъекта.АвторИзменения)));
		
	ОписаниеОбъекта.Вставить("Описание", Описание);
	ОписаниеОбъекта.Вставить("НомерВерсии", НомерВерсии);
	
	ТабличныйДокумент = Новый ТабличныйДокумент;
	СформироватьОтчетПоВерсииОбъекта(ТабличныйДокумент, ОписаниеОбъекта, СсылкаНаОбъект);
	
	Возврат ТабличныйДокумент;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ОткрытьОтчетПоВерсииОбъекта (БСП)

ОткрытьОтчетПоИзменениям (БСП)

ОткрытьОтчетСравненияВерсий (БСП)

ЗаписатьВерсиюОбъекта (БСП)

ИгнорироватьВерсиюОбъекта (БСП)

ПриПереходеНаВерсиюОбъекта (БСП)

ПодключитьОтчетИЗагрузитьНастройки (БСП)

ВыполнитьПроцедуруМодуляОбъектаОтчета (БСП)

ОбъектыСКомандамиОтчетов (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз