Имя: Пароль:
1C
 
Программное открытие отчёта с заполнением параметров.
0 РыбаАист
 
19.02.26
10:50
Добрый день. Хочу, чтоб отчёт открывался по кнопке.
Сделал общую команду, запихнул куда мне надо, а в команде такой код.


ДокДата = ПолучитьДату(ПараметрКоманды);
    
ФормаОтчета = ПолучитьФорму("Отчет.АРС_МойОтчет.ФормаОбъекта");
    
КомпоновщикНастроек = ФормаОтчета.Отчет.КомпоновщикНастроек;
    
УстановитьОтборСКД(КомпоновщикНастроек, "СдельныйНаряд", ПараметрКоманды);
    
СтПериод = Новый СтандартныйПериод(НачалоМесяца(ДокДата), КонецМесяца(ДокДата));
    
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Период_", СтПериод);    
    
ФормаОтчета.СкомпоноватьРезультат();
    
ФормаОтчета.Открыть();
    

И вот отбор (на сдельныйНаряд) работает, а вот параметр Период_ ни в какую не заполняется.
Отчёт открывается либо вообще без периода, либо период заполняется последний запомненный в этом отчете. И подозреваю что какие-то запомненные настройки как раз и перекрывают мой параметр при открытии отчёта, но не могу разобраться, где и в каком месте.
1 toypaul
 
гуру
19.02.26
11:10
Не уверен, что с отчетом сработает, но можно попробовать передать все через параметр "Отбор" в параметрах формы. Но только в том случае когда отборы на "равно" (одно значение) или "в списке".

Либо передавать через параметры формы сформированные "ПользовательскиеНастройки".
2 toypaul
 
гуру
19.02.26
11:12
3 РыбаАист
 
19.02.26
11:13
(1) Не, если пытаться передать через отбор, он там параметр не находит. Пишет, что поля "период_" нет, что очевидно. Это ведь не поле, чтоб отбор по нему делать.

Второе попробую.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший