Имя: Пароль:
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)
А я рассчитывал, что данные уже получены, их просто надо скомпоновать, используя другие настройки, полученные из обработки расшифровки.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший