Как вывести в колонку представления произвольную коллекцию?
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
ulge Участник со стажем
Вступление в Клуб: 02.11.2015
|
Чт Апр 14, 2022 09:48  Как вывести в колонку представления произвольную коллекцию? |
|
Полезность: Нет оценки
|
Представление PL-plus. Если в селект-списке запроса представления указываешь реквизит-массив, то навигатор сам организовывает удобную навигацию (auto) в представление, показывающее элементы массива. С реквизитом-ссылкой тоже автопереход удобный предоставляется автоматически. Как организовать колонку для произвольной коллекции? Допустим в селект-списке представления о клиентах будет вызов функции, которая возвращает коллекцию счетов для клиента, а в результате в навигаторе будет переход в представление на типе Счета, в котором отображается результат этой функции. Есть конечно переход по условию на тип Счета, но тогда содержимое функции надо прописывать вместо этого условия, что не хотелось бы. Вопросы: 1) Можно ли организовать автоматический переход в тип Счета для колонки-коллекции. 2) Если нельзя, то как удобнее реализовать, чтобы в переходе по условию использовался бы результат функции, а не ее содержимое. Вызов функции нежелательно повторять дважды, так как ее параметром является список масок счетов, а его дублировать не хотелось бы. Кроме того, желательно было бы в самой колонке отображать количество элементов в коллекции (не повторяя запроса функции). Желательно бы, чтобы не создавать вспомогательную невидимую колонку, а обойтись как-то одной. Короче конкурс на самое изящное решение для отображения произвольной коллекции в колонке представления. Если реализовать колонку как текстовый список номеров счетов с разделителем CHR(10), то как как бы описать ее тип, чтобы при просмотре ее она выглядела бы как мемо поле, чтобы список номеров счетов отображался столбиком. |
|
 |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Чт Апр 14, 2022 16:35   |
|
Полезность: Нет оценки
|
Цитата: | на типе Счета, в котором отображается результат этой функции |
М.б. картинками проиллюстрируете? |
|
 |
Эмиралька Эксперт
Вступление в Клуб: 09.11.2015
|
Пт Апр 15, 2022 10:54   |
|
Полезность: Нет оценки
|
вывести массив с переходом на произвольный тип...
Мне пришло в голову использовать массив обобщённых ссылок. Но экспериментировать лень.... |
|
 |
ulge Участник со стажем
Вступление в Клуб: 02.11.2015
|
Ср Апр 20, 2022 10:53   |
|
Полезность: Нет оценки
|
Volod пишет: | Цитата: | на типе Счета, в котором отображается результат этой функции |
М.б. картинками проиллюстрируете? |
Не умею картинками.
Да и что тут можно проиллюстрировать картинкой?
1.Есть клиенты. Для отображения информации о них требуется создать представление
2.В одной из колонок надо вывести список номеров счетов клиента.
3.Сложность: логика определения набора счетов сложная и хотелось бы ее спрятать в функцию, а не вываливать в текст представления или тем более в условие перехода (Если реализовать так что в колонке отображается допустим кол-во счетов, а при навигации в колонку осуществляется переход в представление со списком счетов).
4.Вопрос как при навигации в условии передать информацию о списке счетов? По нынешним нормам с ориентацией на DBI запрещено в условии навигации указывать пакетные функции или переменные.
5.Если организовать служебную колонку с коллекцией ид счетов, то какой тип она могла бы иметь? Если это будет текстовый список ид, то как его использовать в условии навигации, так чтобы пакетные объекты не упоминать, и в то же время попасть в индекс по ид счетов. Если использовать INSTR('список', <поле ID счета>)>0, то очень медленно - индекс не используется.
6.Если функция возвращает коллекцию типа Type_number_table ид счетов, то ее использовать нельзя по нормам DBI, а то можно было бы использовать id is member of Arr1. |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|