Имя: Пароль:
1C
1С v8
отчет СКД формируется на основании набора данных
0 tank68
 
29.06.22
09:29
Добрый день.
Вопрос такой, отчет СКД формируется на основании набора данных
https://ibb.co/tM9LgXb
Как сделать чтобы в сформированном отчете СКД при нажатии на регистратор открывался документ по ссылке как в обычном запросе СКД?
1 RomaH
 
naïve
29.06.22
10:19
а типа не открывается?
2 unenu
 
29.06.22
10:25
Если форма отчета не из общих форм (не типовая), то в свойствах формы отчета необходимо установить в свойство "Данные расшифровки" реквизит этой формы типа строка, например "ОтчетДанныеРасшифровки".
3 youalex
 
29.06.22
10:26
смотри в сторону
КомпоновщикМакетаКомпоновкиДанных (DataCompositionTemplateComposer)
Выполнить (Execute)
Синтаксис:
Выполнить(<Схема>, <Настройки>, <ДанныеРасшифровки>, <МакетОформления>, <ТипГенератора>, <ПроверятьДоступностьПолей>, <ПараметрыФункциональныхОпций>)

<ДанныеРасшифровки> (необязательный)
Тип: ДанныеРасшифровкиКомпоновкиДанных.
Содержит переменную, в которую будут помещены данные расшифровки. Если параметр не указан, расшифровка заполняться не будет.
4 tank68
 
29.06.22
12:15
Нашел ошибку
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;

//НастройкиКомпоновки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
НастройкиКомпоновки = КомпоновщикНастроек.ПолучитьНастройки();

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновки,);

ВидДеятельности = НастройкиКомпоновки.ПараметрыДанных.Элементы.Найти(“ВидДеятельности”);
ВыбранныеСтратегии = НастройкиКомпоновки.ПараметрыДанных.Элементы.Найти(“СтратегияДУ”);
ПериодОтчета = НастройкиКомпоновки.ПараметрыДанных.Элементы.Найти(“ПериодОтчета”);

ПараметрыЗаполнения = Новый Структура(“ДатаНачала,ДатаОкончания,ВидДеятельности,ВыбранныеСтратегии”,
ПериодОтчета.Значение.ДатаНачала,
ПериодОтчета.Значение.ДатаОкончания,
ВидДеятельности.Значение,
ВыбранныеСтратегии.Значение);

ДанныеРасчетДоходности = уа_РасчетСЧА.РассчитатьДоходность(ПараметрыЗаполнения,Истина);

ВнешнийНаборДанных = Новый Структура(“ДанныеДоходность”, ДанныеРасчетДоходности.ТЗ_РасчетДоходности);

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных);

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);

КонецПроцедуры

Потерял в процедуре выполнить и инициализировать ДанныеРасшифровки

Код ниже расшифровка работает

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;

//НастройкиКомпоновки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
НастройкиКомпоновки = КомпоновщикНастроек.ПолучитьНастройки();

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновки, ДанныеРасшифровки);

ВидДеятельности = НастройкиКомпоновки.ПараметрыДанных.Элементы.Найти(“ВидДеятельности”);
ВыбранныеСтратегии = НастройкиКомпоновки.ПараметрыДанных.Элементы.Найти(“СтратегияДУ”);
ПериодОтчета = НастройкиКомпоновки.ПараметрыДанных.Элементы.Найти(“ПериодОтчета”);

ПараметрыЗаполнения = Новый Структура(“ДатаНачала,ДатаОкончания,ВидДеятельности,ВыбранныеСтратегии”,
ПериодОтчета.Значение.ДатаНачала,
ПериодОтчета.Значение.ДатаОкончания,
ВидДеятельности.Значение,
ВыбранныеСтратегии.Значение);

ДанныеРасчетДоходности = уа_РасчетСЧА.РассчитатьДоходность(ПараметрыЗаполнения,Истина);

ВнешнийНаборДанных = Новый Структура(“ДанныеДоходность”, ДанныеРасчетДоходности.ТЗ_РасчетДоходности);

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных, ДанныеРасшифровки);

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);

КонецПроцедуры
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.