Имя: Пароль:
1C
1С v8
Расшифровка СКД при использовании нескольких схем
0 konst1231
 
12.02.13
09:02
Здравсвуйте,
Подскажите, целый день бился:
1. Есть отчет на СКД, у которого две схемы комп. дан-х, и 2-е формы (одна для первого отчета, 2-ая для второго).
2. 2-ой отчет является расшифровкой для первого (назовем его "ОтчетРасшифровка")
3. У "ОтчетРасшифровка" расшифровка стандартная.
4. При вызове расшифроки из 1-го отчета, отркывается форма отчета "ОтчетРасшифровка".

Не получается после вызова расшифровки в "ОтчетРасшифровка", перейти в 1-ый отчет и вызвать в нем расшифроку повторно, т.к. в переменной ДанныеРасшифровки содержатся данные расшифровки 2-го отчета.


Процедура ОбработатьРасшифровку(ТабДокумент, Расшифровка, ДополнительноеМеню=истина, СхемаКомпоновки) экспорт
   Перем выбДействие, Настройки;

   
   ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновки));
   
   ДополнительныеДействия=Новый СписокЗначений;
   
   Если  ДополнительноеМеню Тогда    
       ДополнительныеДействия.Добавить("1","п.1");  // добавляем свое действие
       ДополнительныеДействия.Добавить("2","п.2");  // добавляем свое действие
   КонецЕсли;
   
   
   Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка, выбДействие,,ДополнительныеДействия);
   Если Настройки <> Неопределено тогда
       История.Добавить(КомпоновщикНастроек.ПолучитьНастройки());
       КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
       Сформировать(ТабДокумент);
   ИначеЕсли ДополнительныеДействия.НайтиПоЗначению(выбДействие)<>Неопределено Тогда
       НоваяФорма=ПолучитьФорму("Расшифовка");
       НоваяФорма.СхемаРасшифровки= ПолучитьМакет(выбДействие);
       Расшифровать(Расшифровка, выбДействие, ДанныеРасшифровки, НоваяФорма.ЭлементыФормы.ПолеОтчета);       // процедура выполняемая при выборе пункта меню "Дополнительное действие 1"
       НоваяФорма.Открыть();
   КонецЕсли;
КонецПроцедуры
1 konst1231
 
12.02.13
09:39
Ругается на:
Ошибка при вызове метода контекста (Выполнить)
   Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка, выбДействие,,ДополнительныеДействия);
по причине:
Ошибка информации расшифровки: не найден элемент расшифровки
2 konst1231
 
12.02.13
10:07
?
3 newfantom
 
12.02.13
10:10
А вот так?

ДоступныеДействия = Новый Массив();
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Упорядочить);
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Расшифровать);
4 konst1231
 
12.02.13
10:20
(3) Не понял причем здесь это?
5 newfantom
 
12.02.13
10:22
Так ошибок не выдает
6 konst1231
 
12.02.13
10:32
Выдает