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