Имя: Пароль:
1C
 
Расшифровка поля СКД
0 seraf
 
04.03.20
12:45
Привет, вот есть отчет на СКД, хочу чтобы при нажатии на ячейку выпадал список вариантов для открытия того же отчета, только с другими отборами.
Сейчас тупой код, беру вариант из владельца

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

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    
    //Если это расшифровка, установим период формы-владельца
    Если ВладелецФормы <> Неопределено Тогда
        Отчет.СтандартныйПериод.ДатаНачала = ВладелецФормы.Отчет.СтандартныйПериод.ДатаНачала;
        Отчет.СтандартныйПериод.ДатаОкончания = ВладелецФормы.Отчет.СтандартныйПериод.ДатаОкончания;
        Отчет.ТипОтчета = ВладелецФормы.Отчет.ТипОтчета;
        СкомпоноватьРезультат();

    КонецЕсли;
        
КонецПроцедуры