Користувальницькі налаштування

Налаштування сайту


siebel_task:start_task_by_smartscript

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версійПопередня ревізія
Наступна ревізія
Попередня ревізія
siebel_task:start_task_by_smartscript [2022/06/08 15:51] wiki_adminsiebel_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 "Отправка Email"|AL Send Email SS|AL Send Email 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:invoke_siebel_task|]]
 +<code javascript>
 +function WebApplet_PreInvokeMethod (MethodName)
 +{
 + if (MethodName == "Drill"+"down")
 + {
 + var sSSRow_id=this.BusComp().GetFieldValue("Id");
 + var boCurrent=TheApplication().GetBusObject(TheApplication().ActiveBusObject().Name());
 + var bcCurrent=boCurrent.GetBusComp(this.BusComp().Name());
 +
 + bcCurrent.SetViewMode(AllView);
 +
 + bcCurrent.ActivateField("Path Id");
 + bcCurrent.ActivateField("Path Name");
 + bcCurrent.ActivateField("Language Code");
 +
 + bcCurrent.ClearToQuery();
 + bcCurrent.SetSearchSpec("Id",sSSRow_id);
 + bcCurrent.ExecuteQuery(ForwardOnly);
 +
 +
 + var vPathName = bcCurrent.GetFieldValue("Path Name");
 +
 + var taskName = GetSysParam(vPathName);
 + if (taskName !='' && taskName !=null)
 + {
 + var inputPropSet:PropertySet;
 + var outputPropSet:PropertySet;
 + var taskUIsvc:Service;
 + try 
 + {
 + inputPropSet = TheApplication().NewPropertySet();
 + outputPropSet = TheApplication().NewPropertySet();
 + taskUIsvc = TheApplication().GetService("Task UI Service (SWE)");
 + inputPropSet.SetProperty("TaskName",taskName);
 + //inputPropSet.SetProperty("Object Id", OptyId);
 + taskUIsvc.InvokeMethod("LaunchTaskFromScript",inputPropSet,outputPropSet);
 + }
 + catch(e)
 + {
 + TheApplication().RaiseErrorText("У Вас нет прав для запуска Задания!");
 + }
 + inputPropSet=null;
 + outputPropSet=null;
 + taskUIsvc=null;
 +
 + return(CancelOperation); 
 + }
 + }
 + return (ContinueOperation);
 +}
 +</code>
 +
 +<code javascript>
 +function GetSysParam(pField)
 +{
 + var boSysPref, bcSysPref, value="";
 + boSysPref = TheApplication().GetBusObject("System Preferences");
 + bcSysPref = boSysPref.GetBusComp("System Preferences");
 + bcSysPref.ActivateField("Name");
 + bcSysPref.ActivateField("Value");
 +
 + bcSysPref.ClearToQuery();
 + bcSysPref.SetSearchSpec("Name", pField);
 + bcSysPref.ExecuteQuery(1);
 +
 + if (bcSysPref.FirstRecord())
 + value=bcSysPref.GetFieldValue("Value");
 +
 + boSysPref=null;
 + bcSysPref=null;
 +
 + return(value);
 +
 +}
 +</code>
 +
 +
 +
 +Дальше добавляем этот applet на интерфейс, в результате получим вот такой вот список SmartScript с Drilldown при нажатии на ссылку у нас откроется Siebel Task
 +
 +{{:siebel_task:smartscript_list_applet.png?600|}}