Имя: Пароль:
1C
 
В несуществующую форму отчета СКД добавить реквизит формы и обработчик
0 Прохожий
 
28.12.23
10:55
Никогда так не делал, но. Есть отчет СКД, в нем два ОсновнаяСхемаКомпоновкиДанных1 и ОсновнаяСхемаКомпоновкиДанных2, по умолчанию ОсновнаяСхемаКомпоновкиДанных1. Не хочу создавать в отчете форму, но хочу при открытии  программно создать реквизит формы типа булево, вывести на форму и менять схему компоновки этим переключателем. И чтобы параметры включались в пользовательские настройки из выбранного СКД (они в обоих одинаковые ДатаНачала и ДатаОкончания), и чтобы значения дат не стирались при изменении ОсновнаяСхемаКомпоновкиДанных. Это совершенно не возможно и надо форму делать все равно?
1 unenu
 
28.12.23
10:59
(0) в расширении можно общую форму "покурочить"
2 Шурик71
 
28.12.23
13:19
(0) Если БСП - то см.:

модуль отчета

Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт

    Настройки.События.ПриСозданииНаСервере = Истина;
    
КонецПроцедуры

Процедура ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка) Экспорт

    // тут можно программно создавать реквизиты и т.п.
    
КонецПроцедуры
3 Caber
 
28.12.23
13:21
Это делается не разными схемами компоновки данных, а вариантами настроек скд
4 Шурик71
 
28.12.23
13:26
(3) А ты каким-то образом смог догадаться, что у автора в первой и второй схеме - одинаковый источник данных? Откуда?
5 Donkey_hot
 
28.12.23
13:30
(4) Два набора данных в одной схеме вроде никто не запрещает иметь.
6 Прохожий
 
28.12.23
15:41
Разный источник
7 Прохожий
 
28.12.23
15:42
Хочу две схемы и менять. Тогда и с другого скд можно взять
8 Kigo_Kigo
 
28.12.23
15:44
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    ДобавляемыеРеквизиты = Новый Массив();
    РеквизитТестовый = Новый РеквизитФормы("НазваниеРеквизита",Новый ОписаниеТипов("Булево"));
    ДобавляемыеРеквизиты.Добавить(РеквизитТестовый);
    ЭтаФорма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
    НовЭлемент = Элементы.Добавить("Тест", Тип("ПолеФормы"));
    НовЭлемент.Вид = ВидПоляФормы.ПолеФлажка;    
    НовЭлемент.Заголовок = "Получилось!";
    НовЭлемент.ПутьКДанным = "НазваниеРеквизита";  
    НовЭлемент.Видимость = Истина;
КонецПроцедуры
9 Kigo_Kigo
 
28.12.23
15:47
Ессно в расширении, с директивой до,после или вместо