Имя: Пароль:
1C
1С v8
Как установить отбор во внешнем отчете в тонком клиенте
0 Romas81
 
23.05.14
10:55
Открываю на тонком клиенте отчет внешний примерно таким образом:

&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

        ВнешнийОтчет=ОткрытьФормуОтчета(Элемент.ТекущиеДанные.Ссылка);
        Если ЗначениеЗаполнено(ВнешнийОтчет) Тогда
            ОткрытьФорму("ВнешняяОбработка."+ ВнешнийОтчет +".Форма");
        КонецЕсли;        

КонецПроцедуры

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

А как перед открытием этого отчета в нем установить отбор??
1 eeeio
 
23.05.14
11:26
ФиксированныеНастройки             = Новый НастройкиКомпоновкиДанных;    
        ЭлементОтбора                     = ФиксированныеНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЭлементОтбора.ЛевоеЗначение     = Новый ПолеКомпоновкиДанных("Партнер");
        ЭлементОтбора.ВидСравнения         = ВидСравненияКомпоновкиДанных.Равно;
        ЭлементОтбора.ПравоеЗначение     = Объект.Партнер;
        ЭлементОтбора.Использование     = Истина;        
        
        СтруктураПараметров = Новый Структура;
        СтруктураПараметров.Вставить("ФиксированныеНастройки",         ФиксированныеНастройки);    
        //СтруктураПараметров.Вставить("КлючНазначенияИспользования", "_ЗадолженностьПоДокументам");    
        СтруктураПараметров.Вставить("КлючВарианта",                 "_ЗадолженностьПоДокументам");    
        СтруктураПараметров.Вставить("СформироватьПриОткрытии",     Истина);    
        
        ОткрытьФорму("Отчет.РасчетыСПартнерами.Форма", СтруктураПараметров, ЭтаФорма, Истина); //, ПараметрыВыполненияКоманды.Окно);
2 eeeio
 
23.05.14
11:28
если отбор не должен быть жестким, то вместо "фиксированныеНастройки.Отбор" нужно использовать просто "отбор"
Основная теорема систематики: Новые системы плодят новые проблемы.