====== 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//