Версия для печати темы (https://pro1c.org.ua/index.php?s=ca8503fb5b774c0461c58d29ab234acb&showtopic=19049)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Система компоновки данных _ не стандартная расшифровка

Автор: alex040269 29.07.14, 11:56

    Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка,ВыполненноеДействие);
    Если ВыполненноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.Расшифровать Тогда
    КонецЕсли;


Как определить какое поле выбрал юзер?

Автор: Kashemir 14.08.14, 13:53

Если нужно текущее значение и имя поля тогда

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)

// достаем значения текущей группировки
ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля();
КонецПроцедуры



Если нужны все значения уровня (с учетом вышестоящих группировочных значений) то так:

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


Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)

// достаем значения текущей группировки
    ВыбратьЗначенияГруппы(СпсПолей, ДанныеРасшифровки, Расшифровка);
КонецПроцедуры

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua