siebel_task:start_task_by_smartscript
Розбіжності
Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версійПопередня ревізіяНаступна ревізія | Попередня ревізія | ||
| siebel_task:start_task_by_smartscript [2022/06/08 15:48] – wiki_admin | siebel_task:start_task_by_smartscript [2022/06/08 15:58] (поточний) – wiki_admin | ||
|---|---|---|---|
| Рядок 1: | Рядок 1: | ||
| + | ====== Запуск Siebel Task используя SmartScript ====== | ||
| + | ===== Создание аплета со списком скриптов ===== | ||
| + | |||
| + | Для удобства вам нужно создать List Applet отображающий список SmartScrpts и их переводов | ||
| + | например **Smart Script Paths List Applet** построить его на Business Components **Call Script Path Translations** | ||
| + | И вывести на интерфейс поля | ||
| + | |||
| + | ^Name^Field^Display Name^ | ||
| + | |Description Text|Description Text|Описание| | ||
| + | |Language Code|Language Code|Код языка| | ||
| + | |Language Name|Language Name|Язык| | ||
| + | |Name|Label|Наименование| | ||
| + | |||
| + | ===== System Preference ===== | ||
| + | Добавляем новую запись в системных переменных | ||
| + | ^Description^System Preference Name^System Preference Value^ | ||
| + | |Связь SmartScript и Task " | ||
| + | |||
| + | |||
| + | |||
| + | ===== Drilldown Object ===== | ||
| + | Для удобства создадим Drilldown Object | ||
| + | ^Name^Hyperlink Field^View^Source Field^Business Component^ | ||
| + | |Run Smartscript|Label|Smart Script Path Language List View (eApps)|Id|Smart Script Path Language Translations (eApps)| | ||
| + | |||
| + | ===== Server Script ===== | ||
| + | Воспользуемся [[siebel_task: | ||
| + | <code javascript> | ||
| + | function WebApplet_PreInvokeMethod (MethodName) | ||
| + | { | ||
| + | if (MethodName == " | ||
| + | { | ||
| + | var sSSRow_id=this.BusComp().GetFieldValue(" | ||
| + | var boCurrent=TheApplication().GetBusObject(TheApplication().ActiveBusObject().Name()); | ||
| + | var bcCurrent=boCurrent.GetBusComp(this.BusComp().Name()); | ||
| + | |||
| + | bcCurrent.SetViewMode(AllView); | ||
| + | |||
| + | bcCurrent.ActivateField(" | ||
| + | bcCurrent.ActivateField(" | ||
| + | bcCurrent.ActivateField(" | ||
| + | |||
| + | bcCurrent.ClearToQuery(); | ||
| + | bcCurrent.SetSearchSpec(" | ||
| + | bcCurrent.ExecuteQuery(ForwardOnly); | ||
| + | |||
| + | |||
| + | var vPathName = bcCurrent.GetFieldValue(" | ||
| + | |||
| + | var taskName = GetSysParam(vPathName); | ||
| + | if (taskName !='' | ||
| + | { | ||
| + | var inputPropSet: | ||
| + | var outputPropSet: | ||
| + | var taskUIsvc: | ||
| + | try | ||
| + | { | ||
| + | inputPropSet = TheApplication().NewPropertySet(); | ||
| + | outputPropSet = TheApplication().NewPropertySet(); | ||
| + | taskUIsvc = TheApplication().GetService(" | ||
| + | inputPropSet.SetProperty(" | ||
| + | // | ||
| + | taskUIsvc.InvokeMethod(" | ||
| + | } | ||
| + | catch(e) | ||
| + | { | ||
| + | TheApplication().RaiseErrorText(" | ||
| + | } | ||
| + | inputPropSet=null; | ||
| + | outputPropSet=null; | ||
| + | taskUIsvc=null; | ||
| + | |||
| + | return(CancelOperation); | ||
| + | } | ||
| + | } | ||
| + | return (ContinueOperation); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <code javascript> | ||
| + | function GetSysParam(pField) | ||
| + | { | ||
| + | var boSysPref, bcSysPref, value=""; | ||
| + | boSysPref = TheApplication().GetBusObject(" | ||
| + | bcSysPref = boSysPref.GetBusComp(" | ||
| + | bcSysPref.ActivateField(" | ||
| + | bcSysPref.ActivateField(" | ||
| + | |||
| + | bcSysPref.ClearToQuery(); | ||
| + | bcSysPref.SetSearchSpec(" | ||
| + | bcSysPref.ExecuteQuery(1); | ||
| + | |||
| + | if (bcSysPref.FirstRecord()) | ||
| + | value=bcSysPref.GetFieldValue(" | ||
| + | |||
| + | boSysPref=null; | ||
| + | bcSysPref=null; | ||
| + | |||
| + | return(value); | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | Дальше добавляем этот applet на интерфейс, | ||
| + | |||
| + | {{: | ||
