0
seraf
04.03.20
✎
12:45
|
Привет, вот есть отчет на СКД, хочу чтобы при нажатии на ячейку выпадал список вариантов для открытия того же отчета, только с другими отборами.
Сейчас тупой код, беру вариант из владельца
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
Перем ВыбранноеДействие, ПараметрДействия;
СтандартнаяОбработка = Ложь;
ЗначениеРасшифровки = ПолучитьЗначениеРасшифровки(Расшифровка);
НастройкиВладельца = Отчет.КомпоновщикНастроек.Настройки;
Если ТипЗнч(ЗначениеРасшифровки) = Тип("СправочникСсылка.Номенклатура") Тогда
Отбор = Новый Структура("Номенклатура", ЗначениеРасшифровки);
ИначеЕсли ТипЗнч(ЗначениеРасшифровки) = Тип("СправочникСсылка.Контрагенты") Тогда
Отбор = Новый Структура("Контрагент", ЗначениеРасшифровки);
ИначеЕсли ТипЗнч(ЗначениеРасшифровки) = Тип("СправочникСсылка.Подразделения") Тогда
Отбор = Новый Структура("Подразделение", ЗначениеРасшифровки);
ИначеЕсли ТипЗнч(ЗначениеРасшифровки) = Тип("СправочникСсылка.СтатьиЗатрат") Тогда
Отбор = Новый Структура("СтатьяЗатрат", ЗначениеРасшифровки);
КонецЕсли;
Если Отбор = Неопределено Тогда
ОткрытьЗначение(ЗначениеРасшифровки);
Иначе
ПараметрыОтчета = Новый Структура("СформироватьПриОткрытии, Отбор, КлючВариант, ПользовательскиеНастройки", Истина, Отбор, "Полный", НастройкиВладельца);
ОткрытьФорму("Отчет.АнализЗатрат.Форма", ПараметрыОтчета, ЭтаФорма);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
//Если это расшифровка, установим период формы-владельца
Если ВладелецФормы <> Неопределено Тогда
Отчет.СтандартныйПериод.ДатаНачала = ВладелецФормы.Отчет.СтандартныйПериод.ДатаНачала;
Отчет.СтандартныйПериод.ДатаОкончания = ВладелецФормы.Отчет.СтандартныйПериод.ДатаОкончания;
Отчет.ТипОтчета = ВладелецФормы.Отчет.ТипОтчета;
СкомпоноватьРезультат();
КонецЕсли;
КонецПроцедуры
|
|