Имя: Пароль:
1C
1С v8
СКД, обычные формы расшифровка
0 Pechenuych_ka
 
20.02.13
18:38
У меня есть 2 отчет сделанный в СКД, с использованием макета. Не могу никак сделать расшифровку(что б с одного отчета выводило другой).
Я делаю в  обычных формах, использую процедуру РезультатОбработкаРасшифровки.Делаю все как пишет в книге Хрустальовой, но все равно не работает
1 vicof
 
20.02.13
18:40
без фотки не заработает)
2 Pechenuych_ka
 
20.02.13
19:31
фотки чего именно??
3 tulke
 
20.02.13
19:34
Вашего монитора
4 toypaul
 
гуру
20.02.13
20:21
наверное надо код привести, который не работает? и в чем заключается это "не работает".
5 Pechenuych_ka
 
21.02.13
18:15
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    Перем ВыполненноеДействие;

   // Запретим стандартную обработку расшифровки
   СтандартнаяОбработка = Ложь;

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

       Если ВыполненноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.Упорядочить Тогда
           
           ФормированиеПечатныхФорм.ПеренестиПорядокВОтчет(Настройки);
           
           // Если требется упорядочить - упорядочим в текущем отчете
           КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
           СформироватьОтчет(ЭтаФорма.ЭлементыФормы.Результат, ЭтаФорма.ДанныеРасшифровки);


       Иначе
           
             // При других действиях - создадим новый отчет, откроем форму, сформируем отчет в ней
           Отчет = Отчеты[Метаданные().Имя].Создать();
           Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
           Форма = Отчет.ПолучитьФорму();
           Форма.ОбновитьОтчет();
           Форма.Открыть();

       КонецЕсли;
   КонецЕсли;

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


// Формирует отчет в табличный документ
//
// Параметры:
//  Результат         - табличный документ куда будет сформирован отчет
//  ДанныеРасшифровки - данные расшифровки отчета схемы компоновки данных
//  ВыводВФормуОтчета - признак вывода отчета в форму  
//
Функция СформироватьОтчет(Результат = Неопределено, ДанныеРасшифровки = Неопределено, ВыводВФормуОтчета = Истина) Экспорт
   
   Возврат ТиповыеОтчеты.СформироватьТиповойОтчет(ЭтотОбъект, Результат, ДанныеРасшифровки, ВыводВФормуОтчета);
   
КонецФункции //СформироватьОтчет()
6 Pechenuych_ka
 
21.02.13
18:17
Я никогда не  работала в обычных формах, у меня даже если поставить  точку останова у процедуре расшифровка, если нажимаю два раза по отчету ничего не делает...Мне понять почему,не доходит до этого  момента
7 sanja26
 
21.02.13
18:18
(6) видимо защита стоит у макета
8 Pechenuych_ka
 
21.02.13
18:25
А как ее снять?
9 toypaul
 
гуру
21.02.13
19:36
есть мысль, что процедура не назначена обработчиком в свойстве у таблицы. потому что если лупа появляется, то в процедуру обязано заходить.
10 Pechenuych_ka
 
21.02.13
19:51
11 toypaul
 
гуру
21.02.13
21:02
обработчик есть, лупа на ячейке появляется ... интересно. большей идей нет.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший