====== Scripting Framework ======
Универсальный бизнес сервис для работы с Siebel.\\
Содержит в себе ряд универсальных функций.
Author: Igor Tereshchenko\\
Contact: hucster@gmail.com\\
{{ :bs:scripting_framework.sif |}}
===== AssociateBySearchExpr =====
==== Описание ====
function AssociateBySearchExpr(bc: BusComp, fieldname: chars, SearchExpr: chars){
try{
var oMVGBC: BusComp = bc.GetMVGBusComp(fieldname);
if (!QueryBC(oMVGBC,SearchExpr,ForwardOnly)){
var oAssocBC: BusComp = bc.GetMVGBusComp(fieldname).GetAssocBusComp();
if (QueryBC(oAssocBC,SearchExpr,ForwardOnly)){
oAssocBC.Associate(NewBefore);
}
}
}
catch(e){
throw e;
}
finally{
oAssocBC=null;oMVGBC=null;
}
}
==== Пример вызова ====
bs = TheApplication().GetService("Scripting Framework");
ipPS = TheApplication().NewPropertySet();
outPS = TheApplication().NewPropertySet();
ipPS.SetProperty("bc", "Contact");
ipPS.SetProperty("fieldname", email);
ipPS.SetProperty("SearchExpr", "[Id]='1-REWQEWQ'");
bs.InvokeMethod("AssociateBySearchExpr", ipPS, outPS);
===== BusCompActivateFields =====
==== Описание ====
Активация полей Siebel\\
Так же есть альтернативный вариант [[escript:mass_activation_fields|активации полей]]
==== Пример вызова ====
function BusCompActivateFields(bc: BusComp, fieldNames: Array)
{
for (var i:float=0; i < fieldNames.length; i++)
{
try{ bc.ActivateField(fieldNames[i]); }
catch(e){ throw e;}
}
}
===== QueryBC=====
function QueryBC(bc: BusComp, SearchExpr: chars, FWDMode: float): bool{
var isRecord: bool = false;
if (bc != null){
try{
if (SearchExpr != ""){
bc.ClearToQuery();
bc.SetSearchExpr(SearchExpr);
}
bc.ExecuteQuery(FWDMode);
isRecord = bc.FirstRecord();
}
catch(e){
throw e;
}
}
return isRecord;
}
==== Пример вызова ====
bs = TheApplication().GetService("Scripting Framework");
ipPS = TheApplication().NewPropertySet();
outPS = TheApplication().NewPropertySet();
ipPS.SetProperty("bc", "Contact");
ipPS.SetProperty("SearchExpr", "[Id]='1-REWQEWQ'");
ipPS.SetProperty("FWDMode", "ForwardOnly"); //ForwardOnly / ForwardBackward
bs.InvokeMethod("AssociateBySearchExpr", ipPS, outPS);
--- //[[e.zhevak@gmail.com|wiki_admin]] 2019/09/06 14:21//