Как вывести в колонку представления произвольную коллекцию? 
	   
	     | 
   
 
	
		| Предыдущая тема :: Следующая тема   | 
	 
	
	
		| Автор | 
		Сообщение | 
	 
	
		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. | 
			 
		  | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
  | 
   
 
		 |