Можно ли динамически отключить детализацию в Siebel 7.8?

У меня есть апплет списка с детализацией в одном из столбцов, и я хочу включить или отключить его на основе значения другого поля. Что-то вроде динамической детализации, но вместо выбора другого просмотра, я хочу отключить навигацию для некоторых записей.

Можно ли это сделать в Siebel 7.8?

В идеале без серверных скриптов... и уж точно без уродливых браузерных скриптов, пожалуйста.

Я попытался создать динамическую развертку, но это не работает, потому что мне нужно указать целевое представление в моей родительской развертке по умолчанию. Если я использую для этого неактивное представление, то вся динамическая развертка игнорируется, и Siebel просто использует представление со следующим порядковым номером.

Я могу придумать пару способов реализовать это, но оба далеки от идеала:

  • Написание некоторого серверного сценария для обнаружения события детализации до того, как оно произойдет, и его прерывания, если это необходимо, с помощью сообщения RaiseErrorText. Это должно быть выполнимо ... но я бы предпочел отключить детализацию, чем выдавать уродливую ошибку своим пользователям.

  • Поместите детализацию в вычисляемое поле и сделайте его без текста, когда не должно быть навигации. Если текста нет, пользователям нечего щелкнуть для детализации, верно? Но мне пришлось бы добавить новый столбец только для детализации, что сбило бы пользователей с толку.


person AJPerez    schedule 01.10.2019    source источник
comment
На первый взгляд кажется, что ваше второе возможное решение должно работать, но, возможно, я неправильно понимаю. Несколько уточняющих вопросов: 1) В зависимости от значения Поля A, Поле B может или не может иметь (разрешать) детализацию? 2) Если Поле B не разрешено детализировать, имеет ли оно (или может ли оно) по-прежнему значение (только не буримый)? [РЕДАКТИРОВАТЬ: Может быть, мне нужно уточнить, как правильно написать комментарий....]   -  person Moonpie    schedule 01.10.2019
comment
@Moonpie, это экран «Контакты», и в настоящее время развертка находится в поле «Имя». Я хочу разрешить детализацию только в том случае, если другое поле имеет определенное значение... например, только когда возраст > 50. И да, оба поля всегда будут иметь значение. Поэтому я подумал о создании детализации в новом вычисляемом поле, что-то вроде IIF([Age]>50, 'Click here to drilldown', ''). Но это уродливое решение.   -  person AJPerez    schedule 01.10.2019
comment
Я не могу проверить это в Siebel, и я не могу вспомнить эту информацию: если вы сделаете поле только для чтения и у него есть детализация, вы все равно сможете детализировать?   -  person Moonpie    schedule 01.10.2019
comment
Да, можно развернуть. Поле «Имя» с моей детализацией фактически читается только в моем апплете (хотя доступно для записи на уровне BC).   -  person AJPerez    schedule 01.10.2019
comment
Ну, вот и мои блестящие идеи! :^) Мне нужно больше подумать об этом.   -  person Moonpie    schedule 01.10.2019


Ответы (1)


Если вы не хотите никакого сценария. Есть 2 способа. Первый способ — использовать апплет-переключатель. 1. Основной апплет будет иметь объект детализации. А апплет Toggle не будет иметь объектов детализации. 2.Создайте поле в BC, чтобы использовать его в условии Toggle Applet. Toggle Applet будет отображаться, когда детализация не требуется.

Второй способ добиться этого — использовать атрибут «Тип видимости» в объекте детализации, а также атрибут «Тип апплета видимости» на уровне представления.

person sharad gupta    schedule 18.08.2020