Имя: Пароль:
1C
1С v8
Расшифровка СКД
0 мистер игрек
 
25.07.12
13:22
Как сделать так, чтоб отчет пере сформировался согласно отбору? У меня не получается



Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   Перем ВыполненноеДействие;  
   СтандартнаяОбработка    = Ложь;                                            
   ОбработкаРасшифровки     = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
   ДоступныеДействия = Новый Массив();
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
   
   //реализация дополнительных действий

   ДополнительныеДействия=Новый СписокЗначений;
   ДополнительныеДействия.Добавить("Действие1","Расшифровать");  // добавляем свое действие

   Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка, ВыполненноеДействие, ДоступныеДействия,ДополнительныеДействия);
КонецПроцедуры
1 IronDemon
 
25.07.12
13:33
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   Перем ВыполненноеДействие;
   
   // Запретим стандартную обработку расшифровки
   СтандартнаяОбработка = Ложь;
   // Создадим и инициализируем обработчик расшифровки
   ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
   
   ДоступныеДействия = Новый Массив();
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Упорядочить);
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Расшифровать);
   
   // Осуществим выбор действия расшифровки пользователем
   Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка, ВыполненноеДействие, ДоступныеДействия);
   Если Настройки <> Неопределено Тогда
       // Пользователь выбрал действие, для которого нужно менять настройки
       
       Если ВыполненноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.Упорядочить Тогда
           КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
           СформироватьОтчет();
       Иначе
           // При других действиях - создадим новый отчет, откроем форму, сформируем отчет в ней
           Отчет = Отчеты.СборкаСистемныхБлоков.Создать();
           Форма = Отчет.ПолучитьФорму("ФормаОтчета");
           Форма.Открыть();
           Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
           Форма.СформироватьОтчет();
       КонецЕсли;
   КонецЕсли;
КонецПроцедуры
2 мистер игрек
 
25.07.12
14:17
почему здесь у меня "Настройка" получается неопределено?



Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   Перем ВыполненноеДействие;  
   СтандартнаяОбработка    = Ложь;                                            
   ОбластьРасш = ЭлементыФормы.Результат;
   ТекстРасш = ДанныеРасшифровки.Элементы[расшифровка].ПолучитьПоля()[0].Значение;
   СтандартнаяОбработка    = Ложь;                                            
   ОбработкаРасшифровки     = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
   ДоступныеДействия = Новый Массив();
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
   
   //реализация дополнительных действий
   
   ДополнительныеДействия=Новый СписокЗначений;
   ДополнительныеДействия.Добавить("Действие1","Расшифровать");  // добавляем свое действие
   
   Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка, ВыполненноеДействие, ДоступныеДействия,ДополнительныеДействия);
   
   Если Настройки <> Неопределено Тогда
       Если ВыполненноеДействие = "Действие1" Тогда
           Отб = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
           Отб.Использование = Истина;
           Отб.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Дата");
           Отб.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
           Отб.ПравоеЗначение = ТекстРасш;
           КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
           ЭлементыФормы.Результат.Очистить();
            ОбновитьОтчет();
           //СкомпоноватьРезультат(ЭлементыФормы.Результат, ДанныеРасшифровки);
       КонецЕсли;
   КонецЕсли;    
КонецПроцедуры
3 мистер игрек
 
25.07.12
14:33
верх
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.