|
Расшифровка на СКД с группировкой | ☑ | ||
|---|---|---|---|---|
|
0
Meskon
18.11.12
✎
14:30
|
Добрый день. Делаю свою расшифровку:
Если ВыполненноеДействие = "По документам" Тогда КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.ВариантыНастроек["Расшифровка"].Настройки); Настройки = КомпоновщикНастроек.Настройки;// СхемаКомпоновкиДанных.ВариантыНастроек[ВыборВарианта].Настройки; Номенклатура = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Значение; Родитель = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьРодителей()[0].ПолучитьПоля()[0].Значение; В Родителе у меня появляется то же значение что и в Номенклатуре, а должен быть Склад - поле группировки над номенклатурой. Как его получить? |
|||
|
1
Пеппи
18.11.12
✎
15:57
|
ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьРодителей()[1].ПолучитьПоля()[0].Значение;
|
|||
|
2
Meskon
18.11.12
✎
20:06
|
Индекс находится за границами массива пишет
|
|||
|
3
vmv
19.11.12
✎
01:53
|
(2) проверяй на количество коллекции, потом получай по индексу - аксиома
|
|||
|
4
mistеr
19.11.12
✎
03:08
|
(0) Я сделал универсальную процедуру, которая собирает все доступные значения со всех родителей.
Процедура ЗаполнитьЗначенияПолейРасшифровки(ЭлементРасшифровки, ЗначенияПолей) Перем Элемент; Если ТипЗнч(ЭлементРасшифровки) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда Для каждого Элемент Из ЭлементРасшифровки.ПолучитьПоля() Цикл Если НЕ Элемент.Иерархия Тогда ЗначенияПолей.Вставить(Элемент.Поле, Элемент.Значение); КонецЕсли; КонецЦикла; КонецЕсли; Родители = ЭлементРасшифровки.ПолучитьРодителей(); Для каждого Элемент Из Родители Цикл ЗаполнитьЗначенияПолейРасшифровки(Элемент, ЗначенияПолей); КонецЦикла; КонецПроцедуры // ЗаполнитьЗначенияПолейРасшифровки() Вызываю так: ЭлементРасшифровки = ДанныеРасшифровки.Элементы[Число(Расшифровка)]; ЗначенияПолей = Новый Структура; ЗаполнитьЗначенияПолейРасшифровки(ЭлементРасшифровки, ЗначенияПолей); Если в результате в структуре есть нужные поля - делаю расшифровку. |
|||
|
5
Meskon
19.11.12
✎
09:16
|
Спасибо, mister, помогло!
|
| Форум | Правила | Описание | Секции | Поиск |