1С: Вызов СКД отчета с отбором

Пример вызова СКД отчета.

	стОтбора	= Новый Структура("ФизЛицо", СсылкаНаФизЛицо);
	стПараметры = Новый Структура("СформироватьПриОткрытии, Отбор", Истина,стОтбора);
	ФормаОтчета = ПолучитьФорму("Отчет.СправкаПоКадрам.Форма", стПараметры);
	ФормаОтчета.Открыть();

Если надо отобрать в пользовательских параметрах.

	стПараметры = Новый Структура("ФизЛицо", Истина,СсылкаНаФизЛицо);
	ФормаОтчета = ПолучитьФорму("Отчет.СправкаПоКадрам.Форма", стПараметры);
	ФормаОтчета.Открыть();	

в форме:

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

1С: Вызов СКД отчета с отбором: 1 комментарий

  1. Xrianavkt

    Огромное спасибо автору статьи! Много полезного у Вас! Добавил в избранное теперь буду почаще заглядывать.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *