Универсальный бизнес сервис для работы с Siebel.
Содержит в себе ряд универсальных функций.
Author: Igor Tereshchenko
Contact: hucster@gmail.com
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);
Активация полей Siebel
Так же есть альтернативный вариант активации полей
function BusCompActivateFields(bc: BusComp, fieldNames: Array) { for (var i:float=0; i < fieldNames.length; i++) { try{ bc.ActivateField(fieldNames[i]); } catch(e){ throw e;} } }
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);
— wiki_admin 2019/09/06 14:21