Задать период при открытии формы отчета

1. Fristayla 14.04.21 09:55 Сейчас в теме
Коллеги, добрый день! Прошу помочь решить вопрос. Есть необходимость открывать отчет из общей команды с заданным периодом. Подскажите как передать значение периода в отчет?
Пробовал так не получается, отбор работает период нет.
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	
	Менеджер = ПолучитьСотрудника();
	Период = Новый СтандартныйПериод;
	Период.ДатаНачала = НачалоНедели(ТекущаяДата());
	Период.ДатаОкончания = КонецНедели(ТекущаяДата());
	
	ПараметрыФормы = Новый Структура("Период",Период);
	
	ПараметрыОтбор = Новый Структура("Менеджер",Менеджер);
		
	СтруктураФорма = Новый Структура("Отбор",ПараметрыОтбор);
	СтруктураФорма.Вставить("СформироватьПриОткрытии",Истина);
	СтруктураФорма.Вставить("КлючВарианта","ЗаНеделю");
	СтруктураФорма.Вставить("Параметры",ПараметрыФормы);
	ОткрытьФорму("Отчет.РеестрЗаявокПоДатеЗагрузки.Форма",СтруктураФорма,);
	ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка);
КонецПроцедуры
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Nubsdale 14.04.21 10:27 Сейчас в теме
Период и Менеджер - откуда берутся значения?
3. Fristayla 14.04.21 10:33 Сейчас в теме
(2Период
Период = Новый СтандартныйПериод;
Период.ДатаНачала = НачалоНедели(ТекущаяДата());
Период.ДатаОкончания = КонецНедели(ТекущаяДата());

Менеджер из процедуры. Отбор по Менеджеру работает, по периоду нет
4. user1302499 14.04.21 13:58 Сейчас в теме
(3) у меня похожая задача тоже проблема была передать. Вот код:

&НаСервере
Процедура ПриОткрытииНаСервере()
    ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
    Макет = ОтчетОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    Если НЕ РольДоступна("ПолныеПрава") Тогда
        Запрос = Новый Запрос;
        Запрос.Текст = 
        "ВЫБРАТЬ ПЕРВЫЕ 1
        |    СотрудникиПользователя.Сотрудник КАК Сотрудник,
        |    СотрудникиПользователя.Пользователь КАК Пользователь
        |ИЗ
        |    РегистрСведений.СотрудникиПользователя КАК СотрудникиПользователя
        |ГДЕ
        |    СотрудникиПользователя.Пользователь.Ссылка = &Ссылка";
        
        Запрос.УстановитьПараметр("Ссылка", Пользователи.ТекущийПользователь());
        
        РезультатЗапроса = Запрос.Выполнить();
        
        Выборка = РезультатЗапроса.Выбрать();
        
        Если Выборка.Следующий() Тогда
            Сотрудник = Выборка.Сотрудник;
        КонецЕсли;

        
        Настройки = ОтчетОбъект.КомпоновщикНастроек.ПолучитьНастройки();
        
        Вариант = ОтчетОбъект.СхемаКомпоновкиДанных.ВариантыНастроек.СводныйОтчетПоПродажам;
        
        Для Каждого Элемент ИЗ Вариант.Настройки.Отбор.Элементы Цикл
            Если Строка(Элемент.ЛевоеЗначение) = "Контрагент.Ответственный"  Тогда
                Элемент.Использование = Истина;
                Элемент.ПравоеЗначение = Сотрудник;
            Иначе
                Элемент.Использование = Ложь;
            КонецЕсли;
        КонецЦикла;    
        
        
        ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(Вариант.Настройки);    
    Иначе        
        //Вариант = ОтчетОбъект.СхемаКомпоновкиДанных.ВариантыНастроек.СводныйОтчетПоПродажам1;
                
        ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(Вариант.Настройки);
    КонецЕсли;    
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Для Каждого Элемент ИЗ ЭтаФорма.Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл
        Если Строка(Элемент.Параметр) = "Период1" Тогда
            Элемент.Значение.ДатаНачала = Дата('20200101000000'); 
            Элемент.Значение.ДатаОкончания = ДобавитьМесяц(ТекущаяДата(),-12);
        ИначеЕсли Строка(Элемент.Параметр) = "Период2" Тогда
            Элемент.Значение.ДатаНачала = Дата('20210101000000');
            Элемент.Значение.ДатаОкончания = ТекущаяДата();
            Прервать;
        КонецЕсли;    
    КонецЦикла;    
    ПриОткрытииНаСервере();
КонецПроцедуры
Показать



Правда у меня вот такая беда при открытии настроек: https://forum.infostart.ru/forum9/topic260310/#message2634408
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот