Имя: Пароль:
1C
 
УТ. Автоматически подставить параметры отчета
0 Dimarik_1
 
26.10.15
13:38
Никак не могу реализовать следующий функционал: " чтобы после выбора типа цены в реквизит «Валюта», расположенный в диалоге отчета, по умолчанию проставлялась валюта, указанная для выбранного типа цен."
Для этого я скопировал общую форму отчета и в процедуре Подключаемый_ПолеВвода_ПриИзменении написал следующий код:
    ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента);
    Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
        ПользовательскаяНастройкаКД.Значение = Значение;
        
        //> 26.10.2015
        Если ТипЗнч(Значение) = Тип("СправочникСсылка.ВидыЦен") Тогда
            Валюта = ПолучитьВалюту(Значение);
        
                Валютаформы = КомпоновкаДанныхКлиентСервер.ПолучитьПараметр(Отчет.КомпоновщикНастроек.ПользовательскиеНастройки, "Валюта");
                Если Валютаформы <> Неопределено Тогда
                    Валютаформы.Значение = Валюта;
                КонецЕсли;
                
    
        КонецЕсли;
        
        //<<26.10.2015
    Иначе
        ПользовательскаяНастройкаКД.ПравоеЗначение = Значение;
    КонецЕсли;

Вот функция
//>> 26.10.2015
&НаСервере
Функция ПолучитьВалюту(ВидЦены)
        //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ВидыЦен.ВалютаЦены КАК Валюта
        |ИЗ
        |    Справочник.ВидыЦен КАК ВидыЦен
        |ГДЕ
        |    ВидыЦен.Ссылка = &Ссылка";
    
    Запрос.УстановитьПараметр("Ссылка", ВидЦены);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Если ВыборкаДетальныеЗаписи.Следующий() Тогда
        // Вставить обработку выборки ВыборкаДетальныеЗаписи
        Возврат ВыборкаДетальныеЗаписи.Валюта;
    Иначе
        Возврат Справочники.Валюты.ПустаяСсылка();
    КонецЕсли;
    
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

КонецФункции
//<<26.10.2015

Когда шагаю отладчиком, у меня всё меняется как надо, а по факту - нет. Не могу понять. Или я не то меняю или же где-то дальше в другой процедуре изменения перезатируются.
1 Dimarik_1
 
26.10.15
13:38
вот внешний отчет сохранил http://rghost.ru/6tj82tM98
2 Dimarik_1
 
26.10.15
15:08
никто не подскажет, в чём тут дело может быть?
3 Dimarik_1
 
26.10.15
19:03
ап
4 Dimarik_1
 
27.10.15
10:37
апап