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

Представление на родительском типе

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

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