Представление на родительском типе 
	   
	     | 
   
 
	
		| Предыдущая тема :: Следующая тема   | 
	 
	
	
		| Автор | 
		Сообщение | 
	 
	
		ulge Участник со стажем
 
  Вступление в Клуб: 02.11.2015
  | 
		
			
				 Пт Сен 23, 2022 10:04   Представление на родительском типе | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				| Представление определено на родительском типе CLIENT. Как заставить его в навигаторе при выборе типа Физлица показывать только физлиц, при выборе типа Организации - только организации? Оно показывает всех. Что надо настроить, может колонки добавить? Есть фирменное представление  Полный список - оно показывает именно так. Возможно сложность в том, что в представлении используется конструкция WITH, которая извлекает данные из клиентов, обрабатывает его по шагам, но итоговый select делается уже из временной промежуточной таблицы. Хотя в ней есть и поле ID и поле CLASS_ID именно от клиента, но что то это не помогает. Чтобы не усложнять, можно упростить задачу: Пусть представление определено на типе  Клиенты, но select делается не из типа CLIENT, хотя в итоге возвращает именно реквизиты клиентов. Как в этом случае обеспечить нужное поведение на дочерних типах? | 
			 
		  | 
	 
	
		  | 
	 
	
		Эмиралька Эксперт
 
  Вступление в Клуб: 09.11.2015
  | 
		
			
				 Вт Сен 27, 2022 10:15   Re: Представление на родительском типе | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | ulge пишет: | 	 		  | Представление определено на родительском типе CLIENT. Как заставить его в навигаторе при выборе типа Физлица показывать только физлиц, при выборе типа Организации - только организации? Оно показывает всех. Что надо настроить, может колонки добавить? Есть фирменное представление  Полный список - оно показывает именно так. Возможно сложность в том, что в представлении используется конструкция WITH, которая извлекает данные из клиентов, обрабатывает его по шагам, но итоговый select делается уже из временной промежуточной таблицы. Хотя в ней есть и поле ID и поле CLASS_ID именно от клиента, но что то это не помогает. Чтобы не усложнять, можно упростить задачу: Пусть представление определено на типе  Клиенты, но select делается не из типа CLIENT, хотя в итоге возвращает именно реквизиты клиентов. Как в этом случае обеспечить нужное поведение на дочерних типах? | 	  
 
 
В клиентах просто в каждом дочернем типе есть своё собственное представление "Полный список". | 
			 
		  | 
	 
	
		  | 
	 
	
		ulge Участник со стажем
 
  Вступление в Клуб: 02.11.2015
  | 
		
			
				 Ср Сен 28, 2022 07:44    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				| С колонками разобрался. В конструкции WITH надо на последней в цепочке обработке таблице обеспечить наличие колонки ID. В финальный SELECT конструкции системные колонки добавлять руками не надо. Тогда представление само добавит колонки ID, CLASS_ID в финальный SELECT (если включена аннотация @add_columns(id:=true,system:=true)). Операции на представлении (вроде EDIT_ANKETA) будут работать нормально. Однако остается проблема, как сделать, чтобы в Навигаторе на типе Физлица отображались бы только физлица, а на типе Организации - только организации. Пока что они все отображаются при любом типе. Причем, если тип клиента и тип в навигаторе не совпадают, то операции не работают. | 
			 
		  | 
	 
	
		  | 
	 
	
		Volod Эксперт
 
  Вступление в Клуб: 19.09.2007
  | 
		
			
				 Вт Окт 04, 2022 14:02    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Не понятна постановка задачи - где в навигаторе при выборе типа Физлица показывать только физлиц, при выборе типа Организации - только организации? 
 
Где это представление вызываете, в операции? В представлении родительского класса можно выбрать нужный тип и соответствующее представление класса.
 
Если нужно, чтобы представление показывало записи из того класса , где запущена операция, можно добавить фильтр по текущему классу. | 
			 
		  | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
  | 
   
 
		 |