Имя: Пароль:
1C
1С v8
СКД УФ ,как програмно задать параметры в отчете на СКД ?
0 lite777
 
14.12.21
11:12
СКД УФ ,как програмно задать параметры в отчете на СКД ? Есть пример ? УФ
1 lite777
 
14.12.21
11:16
Всем привет, забыл поздороваться )
2 DrShad
 
14.12.21
11:18
так же как и на ОФ
3 Ненавижу 1С
 
гуру
14.12.21
11:18
зависит какой сценарий
4 lite777
 
14.12.21
11:20
&НаСервере
Процедура ПриСозданииНаСервере(Отказ,   СтандартнаяОбработка)
                  
    Параметр1    = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Дата1"));
    Параметр2    = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Дата2"));
    Параметр3    = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Дата2"));

    
    Параметр2.Значение   = Параметр1.Значение-60*60*24*60 ;  //дата2- 60
    Параметр2.Использование = Истина;
    
    Параметр3.Значение   = Параметр1.Значение-60*60*24*365 ;  //дата2-365
    Параметр3.Использование = Истина;

    
КонецПроцедуры
5 lite777
 
14.12.21
11:20
Пробую так ? вроде не работает
6 Kassern
 
14.12.21
11:21
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(ПараметрСКД, ЗначениеПараметрСКД);
7 Kassern
 
14.12.21
11:22
где :
ПараметрСКД         = Новый ПараметрКомпоновкиДанных("ИмяПараметра");
ЗначениеПараметрСКД = ЗначениеПараметра;
8 Kassern
 
14.12.21
11:22
и все это дело ПриКомпоновкеРезультата
9 lite777
 
14.12.21
11:24
Попробую.
10 lite777
 
14.12.21
11:27
Спасибо. Если есть примеры киньте
11 Kassern
 
14.12.21
11:30
я же кинул пример:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    МассивГруппДляВыгрузки=ПолучитьМассивГрупп();
    ПараметрСКД         = Новый ПараметрКомпоновкиДанных("МассивГрупп");    
    КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(ПараметрСКД, МассивГруппДляВыгрузки);    
КонецПроцедуры
12 Kassern
 
14.12.21
11:31
тут ничего сложного нет, просто указываете какой параметр нужен и какое для него значение присвоить, куда еще проще?
13 Ненавижу 1С
 
гуру
14.12.21
11:35
(0) и все так зачем?
14 Kassern
 
14.12.21
11:39
(13) зачем устанавливают параметры СКД программно?))
15 Kassern
 
14.12.21
11:40
(13) или зачем это понадобилось ТС?
16 Ненавижу 1С
 
гуру
14.12.21
11:42
(14) (15) часть параметров можно задать "программно" прямо в СКД, тогда код вообще может быть не нужен
17 lite777
 
14.12.21
11:45
(13) Имееш ввиду поставить в значение прямо ?
18 Ненавижу 1С
 
гуру
14.12.21
11:54
(17) выражение
19 Kassern
 
14.12.21
12:05
(16) Судя по (4) У него параметр2 и параметр3 заполняется на основании параметра1. В выражении так не получится сделать, если только параметр1 не предопределен, к примеру ТекущаяДата(), но тогда и в других параметрах нужно будет ссылаться именно на нее, а не на сам параметр.
20 Ненавижу 1С
 
гуру
14.12.21
13:08
(19) как раз получится
скрываем рассчитываемые параметры от пользователя и пишем формулу в выражение: ДОБАВИТЬКДАТЕ(&ПервыйПараметр,-60,"ДЕНЬ")
21 Kassern
 
14.12.21
13:10
(20) Вы сами так пробовали?
22 Kassern
 
14.12.21
13:12
(20) вот вам простой пример:
ВЫБРАТЬ
    &Дата КАК Дата,
    &Дата2 КАК Дата2

Параметры СКД:
"Дата"  Выражение: ТекущаяДата()
"Дата2" Выражение: ДобавитьКДате(&Дата,"День",-60)

И посмотрите результат...
23 Ненавижу 1С
 
гуру
14.12.21
13:20
(22) первый параметр не надо делать расчетным, достаточно указать "Сегодня" в настройках, но можно скрыть

если же хотите расчетными то только так:
"Дата"  Выражение: ТекущаяДата()
"Дата2" Выражение: ДобавитьКДате(ТекущаяДата(), -60, "День")
24 lite777
 
14.12.21
14:00
Ок попробую