CftClub.ru
Клуб специалистов ЦФТ-Банк

Как вывести в колонку представления произвольную коллекцию?

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих
Предыдущая тема :: Следующая тема  
Автор Сообщение
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.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru