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

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

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Система компоновки данных _ Возможно ли в СКД использовать вложенную схему как расшифровку

Автор: AnryMc 07.08.24, 13:53

Собственно вопрос: возможно ли в СКД использовать вложенную схему как расшифровку?

Если да, то как?

Автор: alex1c 07.08.24, 15:48

Доброго дня! Можна.
В ОбработкаРасшифровки отримуєте з даних розшифровки необхідні поля, і формуєте з новою схемою компоновки звіт.

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

взяв кусок коду зі свого.

Автор: AnryMc 08.08.24, 8:20

Цитата(alex1c @ 07.08.24, 16:48) *
Можна


А можно без программного кода (у меня нет формы) в самой схеме СКД?

Автор: alex1c 08.08.24, 21:13

Не знаю...

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