Имя: Пароль:
1C
1С v8
СКД, ДанныеРасшифровкиКомпоновкиДанных передача с сервера на клиент, УФ
0 spiller26
 
07.10.15
11:14
Отчет. Формирование СКД происходит на сервере, затем передает на клиент структуру "ТабличныйДокумент" и "ДанныеРасшифровкиКомпоновкиДанных" (для своей реализации расшифровки по ячейкам в зависимости от данных строк, колонок и т.д.).
На "Толстом" всё срабатывает, но "Тонком" ругается на "ДанныеРасшифровкиКомпоновкиДанных" с выдачей ошибки:
"Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data-composition-system/details}DetailsInformation'";

Вопрос как передать с сервера в клиент "ДанныеРасшифровкиКомпоновкиДанных". Через временное хранилище или ...?
1 Timon1405
 
07.10.15
11:29
2 spiller26
 
07.10.15
11:42
(1) не то
Вот текст

&НаКлиенте
Процедура СформироватьОтчет(Команда)
    РезультатСтруктура = СформироватьОтчетНаСервере();
    Если ТипЗнч(РезультатСтруктура) = Тип("Структура") Тогда
        Результат = РезультатСтруктура.РезультатТД; //заполненный отчет СКД
        дДанныеРасшифровки     = РезультатСтруктура.дДанныеРасшифровки; //для расшифровки
    КонецЕсли;

&НаСервере
Функция СформироватьОтчетНаСервере()

    ОтчетОбъект = РеквизитФормыВЗначение("Отчет");

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

&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    ВыбранноеПоле = дДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0];
КонецПроцедуры
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс