|
Получить все правые значения поля компоновки данных | ☑ | ||
---|---|---|---|---|
0
rowvg
naïve
20.09.21
✎
15:35
|
Вид сравнения с полем компоновки данных может быть самый разнообразный: равно, в списке, в списке по иерархии. Можно как - то универсально получить все правые значения поля компоновки данных не разбирая каждый случай в отдельности? То есть не применяя такой код
Если ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно Тогда ИначеЕсли ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке Тогда ... |
|||
1
rowvg
naïve
20.09.21
✎
15:55
|
Или можно как - то узнать представляет из себя правое значение коллекцию или это единичное значение?
|
|||
2
acht
20.09.21
✎
16:26
|
(1) ТипЗнч(ЭлементОтбора.ПравоеЗначение)
Но так как есть виды сравнения без правого значения, например ВидСравненияКомпоновкиДанных.Заполнено, то я бы проверял все-таки вид сравнения. Ну и не забыть, что в правом поле внезапнно может оказатся поле компоновки, а не значение. |
|||
3
runoff_runoff
20.09.21
✎
16:30
|
на самом деле вопрос должен звучать так: зачем?
|
|||
4
acht
20.09.21
✎
16:36
|
(3) Во славу сатане? =)
|
|||
5
rowvg
naïve
20.09.21
✎
16:40
|
(3) Пользователи в своих настройках могут выбирать самые разные виды сравнения, которые вернут из базы данных фиксированные наборы данных. Например, набор, состоящий из элементов справочника. Мне не хочется вручную анализировать все возможные варианты пользовательских настроек. Я просто хочу универсальным методом получить текущий набор, соответствующий конкретной пользовательской настройке. То есть что - то типа такого:
ФактическиеНастройкиКомпоновки = КомпоновщикНастроек.ПолучитьНастройки(); ПолеКомпоновкиНазваниеМоегоПоля = Новый ПолеКомпоновкиДанных("НазваниеМоегоПоля"); НаборДанных = ФактическиеНастройкиКомпоновки.ПолучитьНаборДанных(ПолеКомпоновкиНазваниеМоегоПоля ); |
|||
6
1Сергей
20.09.21
✎
16:42
|
(5) не отменяет вопроса "Зачем?"
|
|||
7
rowvg
naïve
20.09.21
✎
16:43
|
(6) В моем случае мне нужно выводить разную структуру отчета в зависимости от того входят в отбор элементы справочника с тем или иным значением некоторого реквизита.
|
|||
8
rowvg
naïve
20.09.21
✎
16:45
|
7+ То есть если в набор для отбора вошли элементы с одним значением реквизита, то выводим такую структуру отчета, если с другим - то другую. Если и с тем и с другим, то выводим сообщение об ошибке.
|
|||
9
hhhh
20.09.21
✎
17:03
|
(8) а в чем проблема? ну получайте в настройках отбор и смотрте значения.
|
|||
10
runoff_runoff
20.09.21
✎
17:06
|
Режимы отчета можно сделать вариантами..
а можно сделать перечислимым параметром (т.н. Установлены значения), и анализировать значение параметра.. |
|||
11
АнализДанных
20.09.21
✎
18:15
|
(0) ПриКомановкеРезультата программно выгружаешь все данные в плоскую таблицу, где получаешь только те значения, которые удовлетворяют отборам пользователя ("твои правые значения"). Дальше анализируешь значения и программно меняшь на нужный вариант отчета или программно меняешь его под свои условия, чтобы вывести эту информацию пользователю.
Т.е. пользователь нажимает кнопку "Сформировать", а внутри этот отчет формируется 2 раза: 1) получает данные, которые подходят под отбор (плоская таблица из одной колонки) 2) на основании данных из п.1 формирует конечный отчет для пользователя (меняешь вариант отчета итд...) |
|||
12
rowvg
naïve
21.09.21
✎
08:15
|
(11) Спасибо огромное! Я очень хотел сделать красиво, но не знал как.
|
|||
13
rowvg
naïve
21.09.21
✎
08:17
|
(10) Там проблема в том. что с отчетом работает очень много пользователей и не удастся всем объяснить про варианты отчета и так далее. Поэтому решили строить разные варианты в зависимости от настроек.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |