Имя: Пароль:
1C
1С v8
Знатокам СКД. Расшифровка. В поле ресурса при расшифровке выдает NULL.
0 SerGa
 
05.02.13
15:30
Есть отчет на СКД вида  

Группировка1/Группировка2/

и несколько полей ресурсов
Сумма1
Сумма2


Делаю нестандартную расшифровку в отчете на СКД в УФ, считывая значения группировок и ресурсов в той строке по которой я кликнул...

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


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

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



Значения полей группировок читает нормально, а вот в ресурсах считывает NULL  хотя в отчете все ресурсы не пустые...

Что я делаю не так???
1 Wobland
 
05.02.13
15:36
АдресРасшифровки - что это?
2 SerGa
 
05.02.13
16:02
АдресРасшифровки и АдресСхемы - это то что я записал в хранилище при формировании отчета

При открытии

Функция СформироватьСервер()
   СхемаКомпоновкиДанных = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   

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

   Элементы.Результат.ОтображениеСостояния.Видимость = Ложь;
   Элементы.Результат.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.НеИспользовать;
КонецФункции
3 SerGa
 
05.02.13
16:03
в этих переменных сидят объекты ОсновнаяСхемаКомпоновкиДанных и ДанныеРасшифровкиКомпоновкиДанных
4 SerGa
 
05.02.13
16:25
up