|
СКД, выбранные поля | ☑ | ||
---|---|---|---|---|
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).
Спасибо всем еще раз. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |