|
8.2 расшифровка в скд, как получить значение вышестоящей группировки |
☑ |
0
ботаникус
23.09.11
✎
12:19
|
с расшифровкой в скд раньше не работал
в отчете есть две группировки , товар и регистратор
если пользователь кликает по регистратору, я могу получить значение регистратора так
Поля = Данные.Элементы.Получить(Расшифровка).ПолучитьПоля();
ПолеДокумента = Поля.найти("Документ");
Если ПолеДокумента <> Неопределено Тогда
Док = ПолеДокумента.Значение;
Если ТипЗнч(Док) = Тип("ДокументСсылка.Расходная")Тогда
а как получить значение вышестоящей группировки (товара)?
|
|
1
Axel2009
23.09.11
✎
12:20
|
родитель
|
|
2
ботаникус
23.09.11
✎
12:28
|
(1) можно подробнее, что то не могу понять
|
|
3
Axel2009
23.09.11
✎
12:34
|
Функция ДобавитьРодителей(ЭлементРасшифровки, ТекущийОтчет, МассивПолейРасшифровки, ВключатьРесурсы = Ложь) Экспорт
Если ТипЗнч(ЭлементРасшифровки) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
Для каждого Поле Из ЭлементРасшифровки.ПолучитьПоля() Цикл
ДоступноеПоле = ПолучитьДоступноеПолеПоПолюКомпоновкиДанных(Новый ПолеКомпоновкиДанных(Поле.Поле), ТекущийОтчет);
Если ДоступноеПоле = Неопределено Тогда
Продолжить;
КонецЕсли;
Если Не ВключатьРесурсы И ДоступноеПоле.Ресурс Тогда
Продолжить;
КонецЕсли;
МассивПолейРасшифровки.Добавить(Поле);
КонецЦикла;
КонецЕсли;
Для каждого Родитель Из ЭлементРасшифровки.ПолучитьРодителей() Цикл
ДобавитьРодителей(Родитель, ТекущийОтчет, МассивПолейРасшифровки, ВключатьРесурсы);
КонецЦикла;
КонецФункции
|
|
4
ботаникус
23.09.11
✎
12:43
|
спасибо, попробую
|
|
5
ботаникус
23.09.11
✎
12:45
|
эээ... а можно узнать что есть
ПолучитьДоступноеПолеПоПолюКомпоновкиДанных(Новый ПолеКомпоновкиДанных(Поле.Поле), ТекущийОтчет)
|
|
6
Axel2009
23.09.11
✎
12:48
|
Функция ПолучитьДоступноеПолеПоПолюКомпоновкиДанных(ПолеКомпоновкиДанных, ОбластьПоиска) Экспорт
Если ТипЗнч(ПолеКомпоновкиДанных) = Тип("Строка") Тогда
ПолеПоиска = Новый ПолеКомпоновкиДанных(ПолеКомпоновкиДанных);
Иначе
ПолеПоиска = ПолеКомпоновкиДанных;
КонецЕсли;
Если ТипЗнч(ОбластьПоиска) = Тип("КомпоновщикНастроекКомпоновкиДанных")
ИЛИ ТипЗнч(ОбластьПоиска) = Тип("ДанныеРасшифровкиКомпоновкиДанных")
ИЛИ ТипЗнч(ОбластьПоиска) = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда
Возврат ОбластьПоиска.Настройки.ДоступныеПоляВыбора.НайтиПоле(ПолеПоиска);
Иначе
Возврат ОбластьПоиска.НайтиПоле(ПолеПоиска);
КонецЕсли;
КонецФункции
весь модуль СтандартныеОтчеты из Бухгалтерии сюда постить будем?
|
|