new
This commit is contained in:
parent
a530729b4b
commit
d186d5b43e
@ -0,0 +1,120 @@
|
|||||||
|
---
|
||||||
|
title: Программно открыть отчтет с параметрами и отборами
|
||||||
|
slug: общие-скд-и-отчеты/программно-открыть-отчтет-с-параметрами-и-отборами
|
||||||
|
---
|
||||||
|
|
||||||
|
```bsl
|
||||||
|
#Область ОбработчикиКомандФормы
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ОткрытьОтчетАнализНоменклатурыПоПлануЗакупок(Команда)
|
||||||
|
|
||||||
|
ФормаОтчета =
|
||||||
|
ПолучитьФорму("Отчет.АнализНоменклатурыПоПлануЗакупок.Форма");
|
||||||
|
КомпоновщикНастроек = ФормаОтчета.Отчет.КомпоновщикНастроек;
|
||||||
|
|
||||||
|
// Устанавливаем параметры
|
||||||
|
Период = Новый СтандартныйПериод;
|
||||||
|
Период.ДатаНачала = Объект.НачалоПериода;
|
||||||
|
Период.ДатаОкончания = Объект.ОкончаниеПериода;
|
||||||
|
УстановитьПользовательскийПараметрСКД(КомпоновщикНастроек,
|
||||||
|
"Период", Период);
|
||||||
|
|
||||||
|
// Устанавливаем отборы
|
||||||
|
Если ЗначениеЗаполнено(Объект.Назначение) Тогда
|
||||||
|
ГруппаНаправлений =
|
||||||
|
ОбщегоНазначенияУТВызовСервера.ЗначениеРеквизитаОбъекта(Объект.Назначение,
|
||||||
|
"НаправлениеДеятельности.Родитель");
|
||||||
|
УстановитьПользовательскийОтборСКД(КомпоновщикНастроек,
|
||||||
|
"ГруппаНаправлений", ГруппаНаправлений);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ТекДанн = Элементы.ТоварыПоПериодам.ТекущиеДанные;
|
||||||
|
Если ТекДанн <> Неопределено Тогда
|
||||||
|
УстановитьПользовательскийОтборСКД(КомпоновщикНастроек,
|
||||||
|
"Номенклатура", ТекДанн.Номенклатура);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// Открываем форму
|
||||||
|
ПараметрыФормы = Новый Структура();
|
||||||
|
ПараметрыФормы.Вставить("СформироватьПриОткрытии", Истина);
|
||||||
|
ПараметрыФормы.Вставить("КлючВарианта", "Основной");
|
||||||
|
ПараметрыФормы.Вставить("ПользовательскиеНастройки",
|
||||||
|
КомпоновщикНастроек.ПользовательскиеНастройки);
|
||||||
|
|
||||||
|
ОткрытьФорму("Отчет.АнализНоменклатурыПоПлануЗакупок.Форма",
|
||||||
|
ПараметрыФормы, ЭтотОбъект);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура УстановитьПользовательскийПараметрСКД(КомпоновщикНастроек,
|
||||||
|
ИмяПараметра, Значение)
|
||||||
|
|
||||||
|
Настройки = КомпоновщикНастроек.Настройки;
|
||||||
|
|
||||||
|
ПараметрДанных =
|
||||||
|
Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра);
|
||||||
|
|
||||||
|
Если
|
||||||
|
ЗначениеЗаполнено(ПараметрДанных.ИдентификаторПользовательскойНастройки)
|
||||||
|
Тогда
|
||||||
|
|
||||||
|
ПользовательскиеНастройки =
|
||||||
|
КомпоновщикНастроек.ПользовательскиеНастройки;
|
||||||
|
ПользовательскийПараметр =
|
||||||
|
ПользовательскиеНастройки.Элементы.Найти(ПараметрДанных.ИдентификаторПользовательскойНастройки);
|
||||||
|
ПользовательскийПараметр.Использование = Истина;
|
||||||
|
ПользовательскийПараметр.Значение = Значение;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура УстановитьПользовательскийОтборСКД(КомпоновщикНастроек,
|
||||||
|
ИмяОтбора, Значение, ВидСравнения = Неопределено)
|
||||||
|
|
||||||
|
Настройки = КомпоновщикНастроек.Настройки;
|
||||||
|
|
||||||
|
ПолеКД = Новый ПолеКомпоновкиДанных(ИмяОтбора);
|
||||||
|
|
||||||
|
Для Каждого Элемент Из Настройки.Отбор.Элементы Цикл
|
||||||
|
|
||||||
|
Если Элем.ЛевоеЗначение = ПолеКД Тогда
|
||||||
|
ЭлементОтбора = Элемент;
|
||||||
|
Прервать;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Если ЭлементОтбора = Неопределено Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если
|
||||||
|
ЗначениеЗаполнено(ЭлементОтбора.ИдентификаторПользовательскойНастройки)
|
||||||
|
Тогда
|
||||||
|
|
||||||
|
ПользовательскиеНастройки =
|
||||||
|
КомпоновщикНастроек.ПользовательскиеНастройки;
|
||||||
|
ПользовательскийОтбор =
|
||||||
|
ПользовательскиеНастройки.Элементы.Найти(ЭлементОтбора.ИдентификаторПользовательскойНастройки);
|
||||||
|
ПользовательскийОтбор.Использование = (Значение <> Неопределено);
|
||||||
|
ПользовательскийОтбор.ВидСравнения = ?(ВидСравнения <>
|
||||||
|
Неопределено, ВидСравнения, ВидСравненияКомпоновкиДанных.Равно);
|
||||||
|
ПользовательскийОтбор.ПравоеЗначение = Значение;
|
||||||
|
ПользовательскийОтбор.РежимОтображения =
|
||||||
|
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
```
|
Loading…
x
Reference in New Issue
Block a user