Перенос файлов / Форма отчета / Модуль формы

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

#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Если Параметры.Дедупликация Тогда
		Заголовок = НСтр("ru = 'Обнаружены некорректные данные при дедупликации файлов'");
	КонецЕсли;
	Пояснение = Параметры.Пояснение;
	
	ТабличныйДокумент = Новый ТабличныйДокумент;
	Макет = Обработки.ПереносФайлов.ПолучитьМакет("МакетОтчета");
	
	ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
	ТабличныйДокумент.Вывести(ОбластьЗаголовок);
	
	ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
	
	Для Каждого Ошибка Из Параметры.ФайлыСОшибками Цикл
		ОбластьСтрока.Параметры.Название = Ошибка.ИмяФайла;
		ОбластьСтрока.Параметры.Версия = Ошибка.Версия;
		ОбластьСтрока.Параметры.Ошибка = Ошибка.Ошибка;
		ОбластьСтрока.Параметры.Размещение = ПредставлениеВладельцаФайла(Ошибка.Версия);
		
		Область = ТабличныйДокумент.Вывести(ОбластьСтрока);
		Область.ВысотаСтроки = 0;
		Область.АвтоВысотаСтроки = Истина;
	КонецЦикла;
	
	Отчет.Вывести(ТабличныйДокумент);
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиСобытийЭлементовШапкиФормы

&НаКлиенте
Процедура ОтчетВыбор(Элемент, Область, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	
	Если Не ЗначениеЗаполнено(Область.Расшифровка) Тогда
		Возврат;
	КонецЕсли;
	ПоказатьЗначение(Неопределено, Область.Расшифровка);
	
КонецПроцедуры

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

&НаСервере
Функция ПредставлениеВладельцаФайла(Знач Файл)
	Если ТипЗнч(Файл) = Тип("СправочникСсылка.ВерсииФайлов") Тогда
		Файл = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Файл, "Владелец");
	КонецЕсли;
	
	ВладелецФайла = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Файл, "ВладелецФайла");
	Возврат ?(ВладелецФайла.Пустая(), 
		ОбщегоНазначения.ПредставлениеСписка(ВладелецФайла.Метаданные()),
		ОбщегоНазначения.ПредметСтрокой(ВладелецФайла));
КонецФункции	

#КонецОбласти

Связанные материалы