Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 15:39

СКД снова расшифровка

Автор Urupa, 20 июл 2016, 13:07

0 Пользователей и 1 гость просматривают эту тему.

Urupa

Здравствуйте! Затертая до дыр тема: расшифровка скд. Но все же, может кто глянет, я чего-то не догоняю, укажите чего.

На произвольной форме есть табличный документ в который вывожу отчет. Отчет формируется на основе СКД, которую предварительно настроил в макете.

По сути что делаю:
1. При создании формы сразу все подготовил.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

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

ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
ХранилищеДанныхРасшифровки = ПоместитьВоВременноеХранилище(ДанныеРасшифровки, ЭтаФорма.УникальныйИдентификатор);

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

КомпоновщикНастроек - реквизит формы с соответствующим типом.

2. Формируем сам отчет
&НаСервере
Процедура ОбновитьНоменклатуруЗаказа(ВнутреннийЗаказ)

//Установим параметр
ПараметрВнутреннийЗаказ = Новый ПараметрКомпоновкиДанных("ВнутреннийЗаказ");
ЗначениеПараметраВнутреннийЗаказ = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрВнутреннийЗаказ);
ЗначениеПараметраВнутреннийЗаказ.Значение = ВнутреннийЗаказ;
ЗначениеПараметраВнутреннийЗаказ.Использование = Истина;

Настройки = КомпоновщикНастроек.Настройки;

//Вытащим из хранилища Схему и ДанныеРасшифровки
СхемаКомпановки = ПолучитьИзВременногоХранилища(ХранилищеСхемы);
ДанныеРасшифровки = ПолучитьИзВременногоХранилища(ХранилищеДанныхРасшифровки);

//Дальше все стандартно (вроде)
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпановки, Настройки, ДанныеРасшифровки);

ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ,ДанныеРасшифровки);

АнализЗаказа.Очистить();

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

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


3. Отчет работает, всё нормально, но вот когда пытаюсь получить расшифровку
&НаКлиенте
Процедура АнализЗаказаОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)

Перем ВыбранноеДействие, ПараметрыВыбранногоДействия;

СтандартнаяОбработка = Ложь;

ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ХранилищеДанныхРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(ХранилищеСхемы));
ОбработкаРасшифровки.ВыбратьДействие(Расшифровка, ВыбранноеДействие, ПараметрыВыбранногоДействия);

ДоступныеДействия=Новый СписокЗначений;
ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение, "Открыть");

ОбработкаРасшифровки.Выполнить(Расшифровка, ВыбранноеДействие, ПараметрыВыбранногоДействия, ДоступныеДействия);
ОткрытьЗначение(ПараметрыВыбранногоДействия);

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


Проблема: Ошибка информации расшифровки: не найден элемент расшифровки.
В отладчике вижу, что ЭлементыРасшифровкиКомпановкиДанных пустые, ничего нет. Подозреваю, что в этом причина ошибки. От чего зависит содержание элементов расшифровки. Настройки расшифровки кстати содержат адекватные данные. а вот элементов нет. Что делаю не так?

Похожие темы (5)

Рейтинг@Mail.ru

Поиск