|   |   | 
| 
 | СКД, выбранные поля | ☑ | ||
|---|---|---|---|---|
| 0
    
        QuestNew 20.05.15✎ 13:35 | 
        Доброго дня, уважаемые.
 Програмно считываю доступные к выбору для пользователя поля в настроках: Отчет.КомпоновщикНастроек.Настройки.Структура[0].Выбор.Элементы проверяя св-во "Использование". Вопрос: как определить, выбрал ли пользователь эти поля к выводу? | |||
| 1
    
        DirecTwiX 20.05.15✎ 14:02 | 
        "Использование" как раз и отвечает за вывод поля в отчет, емнип.     | |||
| 2
    
        QuestNew 21.05.15✎ 08:42 | 
        (1) Отладка на живом примере опровергает это утверждение.
 Св-во по указанному пути как бы регулирует доступность поля для выбора пользователем. А мне нужно увидеть, выбрал ли пользователь его в итоге. | |||
| 3
    
        LordCMEPTb 21.05.15✎ 09:15 | 
        (2) Свойство по указанному пути регулирует выбор/отсутствие данного поля в 1й группировке.
 Для самого отчета надо в настройках смотреть: КомпоновщикНастроек.Настройки.Выбор.Элементы | |||
| 4
    
        DirecTwiX 21.05.15✎ 09:18 | 
        (2) Не, фигня.
 ТаблицаКомпоновкиДанных.Выбор (DataCompositionTable.Selection) ТаблицаКомпоновкиДанных (DataCompositionTable) Выбор (Selection) Использование: Только чтение. Описание: Тип: ВыбранныеПоляКомпоновкиДанных. Содержит набор выбранных полей таблицы. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. | |||
| 5
    
        QuestNew 21.05.15✎ 11:43 | 
        (3) У меня получается пустое значение, что поля не выбраны вообще.
 Может быть это связано с тем, что данные состоят из трех таблиц и мне нужно выцепить настройку одной из них. В (0) выбор таблицы осуществляется через Структура[0] | |||
| 6
    
        QuestNew 21.05.15✎ 11:53 | 
        Хех, нашел в отладчике - КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[]
 Осталось придумать, как находить нужный элемент (( | |||
| 7
    
        DirecTwiX 21.05.15✎ 11:59 | 
        (6) Сделаешь скрин элементов в отладчике?
 Находить нужный элемент при работе с СКД почти всегда только перебором всех элементов. | |||
| 8
    
        QuestNew 21.05.15✎ 12:10 | 
        (7) https://drive.google.com/file/d/0B6wDpvMMiHnpaGVZbnlIVWJOaHM/view?usp=sharing
 Красным выделил то, что мне нужно. Но как понять и определить, что именно этот элемент - нужный мне программно, я пока не понимаю. | |||
| 9
    
        QuestNew 21.05.15✎ 12:14 | 
        Топорно обращаюсь КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[18].Элементы и нахожу все выбранные параметры, чего и требуется.
 Проблема "лишь" в том, что нет уверенности, что нужная настройка всегда будет иметь индекс 18. А как найти именно эту настройку... Получается, нужно как-то искать по идентификатору | |||
| 10
    
        DirecTwiX 21.05.15✎ 12:19 | 
        (9) По имени обычн     | |||
| 11
    
        QuestNew 21.05.15✎ 12:32 | 
        (10) Где же там имя?     | |||
| 12
    
        LordCMEPTb 21.05.15✎ 13:01 | 
        Могу предложить сначала получить настройки компоновки, а уже в них копаться, но все равно придется искать сначала по выбранным полям отчета, а затем по вложенным группам.
 Получить настройки можно методом "КомпоновщикНастроек.ПолучитьНастройки()" | |||
| 13
    
        QuestNew 21.05.15✎ 13:06 | 
        (12) Попробую, спасибо     | |||
| 14
    
        QuestNew 21.05.15✎ 13:20 | 
        (12) Забавно, если я получаю настройки и смотрю их, то Структура[0].Выбор.Элементы дает мне ответ на мой вопрос и показывает, что выбрано, а не только доступно для выбора!
 Т.е. для "полученных" настроек справедливо (1) и (4), в то время как для непосредственного обращения к настройкам компоновщика способ (1) и (4) не работает. | |||
| 15
    
        DirecTwiX 21.05.15✎ 13:23 | 
        (11) Последняя колонка, поместившаяся на скрине) Но судя по скрину, там лежит что-то странное.
 Можно получать элемент типа ПолеКомпоновкиДанных (их как раз по имени ищут), а потом использовать Элементы.Найти(Поле) | |||
| 16
    
        QuestNew 21.05.15✎ 13:26 | 
        (15) Положение спасло "ПолучитьНастройку()" в переменную, относительно которой уже работает метода (1) и (4).
 Спасибо всем еще раз. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |