[РЕШЕНО] Программное управление выбранными полями СКД

Тема в разделе "Система компоновки данных (СКД)", создана пользователем IceBeerG, 28 янв 2016.

  1. TopicStarter Overlay
    IceBeerG
    Offline

    IceBeerG Опытный в 1С

    Регистрация:
    15 дек 2012
    Сообщения:
    193
    Симпатии:
    11
    Баллы:
    29
    Добрый день.
    Такая ситуация: сделал отчет на СКД (неупр. приложение), нарисовал форму, добавил на нее отборы, указал какие поля должны выводится в отчете.
    А теперь мне нужно в зависимости от указанных на форме отборов включить/отключить выводимые поля (программно).
    Если кто сталкивался подскажите как это можно сделать.

    Как я понял нужно использовать "КомпоновщикНастроекКомпоновкиДанных", но где и в каком месте?
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Обсуждали уже на форуме.
    Тут просто вопрос какой
    у Вас етсь уже вариант и там выведены эти поля и вы просто в зависимости от оботора снимаете галочку или ставите.
    Или второй вариант это как бы программно перетаскиваете нужные поля.
    Первый он легче и уже обсуждался как проверить стот галка или нет и как поставить
    IceBeerG нравится это.
  3. TopicStarter Overlay
    IceBeerG
    Offline

    IceBeerG Опытный в 1С

    Регистрация:
    15 дек 2012
    Сообщения:
    193
    Симпатии:
    11
    Баллы:
    29
    С этой проблемой справился, если кому интересно вот код из модуля объекта "ПриКомпоновкеРезультата"
    Код:
    Для Каждого Строка Из ЭтотОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы  Цикл
            Если Строка.ЛевоеЗначение = ЭтотОбъект.КомпоновщикНастроек.Настройки.ДоступныеПоляОтбора.Элементы.Найти("ОбъектОтправки").Поле  Тогда
                Если НЕ Строка.Использование Тогда
                    Для каждого СтрокаЭлементов из ЭтотОбъект.КомпоновщикНастроек.Настройки.Выбор.Элементы    Цикл                                   
                        Попытка
                            Для каждого СтрокаЭлементовВГруппе из СтрокаЭлементов.Элементы    Цикл                   
                                Если СтрокаЭлементовВГруппе.Заголовок = "Наименование" Тогда
                                    СтрокаЭлементовВГруппе.Использование = Ложь;
                                КонецЕсли;
                            КонецЦикла;
                        Исключение;
                        КонецПопытки;               
                    КонецЦикла;
                КонецЕсли;   
            КонецЕсли;   
        КонецЦикла;

Поделиться этой страницей