Имя: Пароль:
1C
1С v8
Расшифровка в СКД при использовании внешних НД
0 Sewace
 
07.05.14
09:11
Добрый день!

Код формирования отчета:

...
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

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


Процедура обработки события "ОбработкаРасшифровки":


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

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


Формирую отчет, при попытке расшифровать появляется список полей, по которым доступна расшифровка, при выборе поля - ошибка:


Ошибка исполнения отчета
по причине:
Ошибка инициализации
по причине:
Ошибка создания набора данных "ТЗ"
по причине:
Не найден внешний набор данных "ТЗ"

Подскажите, пожалуйста, как можно повторно передать внешний набор данных?
1 barrgand
 
07.05.14
09:39
(0) Так если ты программно формируешь отчет, то при расшифровке тоже программно формируй.
2 Sewace
 
07.05.14
09:48
(1)
А я рассчитывал, что данные уже получены, их просто надо скомпоновать, используя другие настройки, полученные из обработки расшифровки.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший