applet:drilldown_object
Розбіжності
Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Наступна ревізія | Попередня ревізія | ||
| applet:drilldown_object [2022/05/23 15:26] – внешнее изменение 127.0.0.1 | applet:drilldown_object [2022/12/05 17:17] (поточний) – [Manifest File] wiki_admin | ||
|---|---|---|---|
| Рядок 1: | Рядок 1: | ||
| + | ====== DrillDown Object на Form Applet ====== | ||
| + | Первоисточник [[https:// | ||
| + | |||
| + | DrillDown Object предоставляет пользователю возможность создать на поле List Applet Hyperlink при нажатии на который произойдет переход на другой View.\\ | ||
| + | Важной оговоркой является что **You can configure Drilldown objects for list applets only.**\\ | ||
| + | Но не стоит унывать, | ||
| + | |||
| + | **Properties** | ||
| + | ^Property^Description/ | ||
| + | |Business Component|Название BC((Business Component)) в который будет проваливаться пользователь| | ||
| + | |Destination Field|Название Field в Destination BC ((Business Component)) значение которого должно быть равно значению в Source BC ((Business Component)). Если не указано никакого значение значит указано значение Id.| | ||
| + | |Hyperlink Field|Filed в BC ((Business Component)) на котором появится Drilldown.| | ||
| + | |Menu Text|**Не используется**| | ||
| + | |Name|Название Drilldown objects.| | ||
| + | |Sequence|Числовое значение определяющее последовательность сортировки| | ||
| + | |Source Field|Название поля, значение которого используется как Search Specification Destination Field.\\ **Если вы не указываете business component Property не указывайте Source Field**| | ||
| + | |View|View которое отобразиться после того как пользователь перейдет по Hyperlink| | ||
| + | |Visibility Type|A property that, when row ID-based drilldown is employed from an applet to a specific destination record, specifies a different visibility type (All, Sales Rep, Manager, or Personal) than the default visibility for the destination business component.| | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Создание Drilldown Object ===== | ||
| + | Прежде чем создать Drilldown Object на Form Applet необходимо добавить следующие Control: | ||
| + | |||
| + | ^Name^Field^Caption - String Override^HTML Type^Method Invoked^ | ||
| + | |Campaign Name|Campaign Name|Маркетинговое предложение|Text| | | ||
| + | |Campaign Name2|Campaign Name|Маркетинговое предложение|Link|Drilldown| | ||
| + | |||
| + | Создаем Drilldown Object: | ||
| + | |||
| + | ^Name^Hiperlink Field^View^ | ||
| + | |Campaign Name|Campaign Name|Call Center View| | ||
| + | |||
| + | Добавляем Control на Web Template и все компилируем.\\ | ||
| + | При нажатии на Hyperlink " | ||
| + | |||
| + | {{drilldown01.png? | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Создание нескольких Drilldown Object ===== | ||
| + | |||
| + | Для создания двух Drilldown object добавляем следующие Control: | ||
| + | |||
| + | ^Name^Field^Caption - String Override^HTML Type^Method Invoked^ | ||
| + | |Campaign Name|Campaign Name|Маркетинговое предложение|Text| | | ||
| + | |Campaign Name2|Campaign Name|Маркетинговое предложение|Link|Drilldown| | ||
| + | |BCC Quote Name|BCC Quote Name|Коммерческое предложение|Text| | | ||
| + | |BCC Quote Name2|BCC Quote Name|Коммерческое предложение|Link|Drilldown| | ||
| + | |||
| + | === Без обработки Server Script === | ||
| + | |||
| + | Далее создаем необходимые нам Drilldown Object на соответствующие Field: | ||
| + | ^Name^Hiperlink Field^View^ | ||
| + | |Campaign Name|Campaign Name|Call Center View| | ||
| + | |BCC Quote Name|BCC Quote Name|Last Call Center View| | ||
| + | //При необходимости надо указать дополнительные Property// | ||
| + | |||
| + | |||
| + | === При необходимости обработки Server Script === | ||
| + | ==== Browser Script ==== | ||
| + | <code javascript> | ||
| + | function Applet_PreInvokeMethod (name, inputPropSet) | ||
| + | { | ||
| + | if(name==" | ||
| + | | ||
| + | var SWEFieldParts = inputPropSet.GetProperty(" | ||
| + | theApplication().SetProfileAttr(" | ||
| + | // | ||
| + | } | ||
| + | |||
| + | return (" | ||
| + | } | ||
| + | </ | ||
| + | ====Manifest File==== | ||
| + | На примере AL Service Request List Applet With Navigation | ||
| + | <code javascript> | ||
| + | // | ||
| + | if (typeof(SiebelAppFacade.ALServiceRequestListAppletWithNavigationPM) === " | ||
| + | |||
| + | | ||
| + | | ||
| + | function () { | ||
| + | | ||
| + | |||
| + | function ALServiceRequestListAppletWithNavigationPM(pm) { | ||
| + | | ||
| + | } | ||
| + | |||
| + | SiebelJS.Extend(ALServiceRequestListAppletWithNavigationPM, | ||
| + | |||
| + | ALServiceRequestListAppletWithNavigationPM.prototype.Init = function () { | ||
| + | // Init is called each time the object is initialised. | ||
| + | // Add code here that should happen before default processing | ||
| + | | ||
| + | // Add code here that should happen after default processing | ||
| + | this.AddMethod(" | ||
| + | } | ||
| + | |||
| + | ALServiceRequestListAppletWithNavigationPM.prototype.Setup = function (propSet) { | ||
| + | // Setup is called each time the object is initialised. | ||
| + | // Add code here that should happen before default processing | ||
| + | | ||
| + | // Add code here that should happen after default processing | ||
| + | } | ||
| + | |||
| + | function PreInvokeMethod(methodName, | ||
| + | // | ||
| + | // | ||
| + | // | ||
| + | |||
| + | if(methodName==" | ||
| + | var SWEFieldParts = psInp.GetProperty(" | ||
| + | theApplication().SetProfileAttr(" | ||
| + | |||
| + | SiebelApp.S_App.uiStatus.Free(); | ||
| + | returnStructure[" | ||
| + | } | ||
| + | } | ||
| + | return ALServiceRequestListAppletWithNavigationPM; | ||
| + | }() | ||
| + | ); | ||
| + | return " | ||
| + | }) | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | 1. Скопировать файл ' | ||
| + | 2. Администрирование - Приложения -> Manifest Files - добавить новую запись | ||
| + | - Inactive Flag = false | ||
| + | - Наименование ' | ||
| + | 3. Администрирование - Приложения -> Manifest Administration - добавить новую запись | ||
| + | - Inactive Flag = false | ||
| + | - Type = Applet | ||
| + | - Usage Type = Presentation Model | ||
| + | - Наименование = 'AL Service Request List Applet With Navigation' | ||
| + | |||
| + | 4. Администрирование - Приложения -> Object Expression | ||
| + | - Inactive Flag = false | ||
| + | - Level = 1 | ||
| + | 4. Администрирование - Приложения -> Files | ||
| + | - Inactive Flag = false | ||
| + | - Последовательность = 1 | ||
| + | - Наименование = ' | ||
| + | |||
| + | |||
| + | Создаем необходимые нам Drilldown Object на соответствующие Field: | ||
| + | ^Name^Hiperlink Field^View^ | ||
| + | |Campaign Name|Campaign Name| | | ||
| + | |BCC Quote Name|BCC Quote Name| | | ||
| + | //Property View оставляем пустым// | ||
| + | |||
| + | Создаем Server script в котором используем [[escript: | ||
| + | |||
| + | <code javascript> | ||
| + | if (MethodName==" | ||
| + | { | ||
| + | switch (TheApplication().GetProfileAttr(" | ||
| + | { | ||
| + | case " | ||
| + | | ||
| + | case " | ||
| + | | ||
| + | default: | ||
| + | | ||
| + | | ||
| + | } return (CancelOperation); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | {{drilldown02.png? | ||
| + | |||
| + | |||
| + | --- // | ||
| + | {{tag> | ||
| + | |||
| + | |||
| + | |||
