Инструменты пользователя

Инструменты сайта


siebel_task:start_task_by_smartscript

Запуск Siebel Task используя SmartScript

Создание аплета со списком скриптов

Для удобства вам нужно создать List Applet отображающий список SmartScrpts и их переводов например Smart Script Paths List Applet построить его на Business Components Call Script Path Translations И вывести на интерфейс поля

NameFieldDisplay Name
Description TextDescription TextОписание
Language CodeLanguage CodeКод языка
Language NameLanguage NameЯзык
NameLabelНаименование

System Preference

Добавляем новую запись в системных переменных

DescriptionSystem Preference NameSystem Preference Value
Связь SmartScript и Task «Отправка Email»AL Send Email SSAL Send Email Task

Drilldown Object

Для удобства создадим Drilldown Object

NameHyperlink FieldViewSource FieldBusiness Component
Run SmartscriptLabelSmart Script Path Language List View (eApps)IdSmart Script Path Language Translations (eApps)

Server Script

Воспользуемся Вызов Siebel Task

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);
}
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);
 
}

Дальше добавляем этот applet на интерфейс, в результате получим вот такой вот список SmartScript с Drilldown при нажатии на ссылку у нас откроется Siebel Task

siebel_task/start_task_by_smartscript.txt · Последние изменения: 2022/06/08 15:58 — wiki_admin