Как правило Siebel CRM LOV используется для получения определенного значения из LOV. К примеру в Siebel CRM eScript получить значения LOV можно следующим примером (BoockShelf):
var mess = TheApplication.InvokeMethod("LookupValue", "AAG_ACCOUNT_TYPE", "Banking")
В таком исполнении мы получим значение из LOV. А что делать если необходимо проверить наличие значения в LOV? Я предлагаю использовать следующий вариант функции (Siebel CRM exists values in LOV):
function CheckLOV(LOV,text) { var bo = TheApplication().ActiveBusObject(); var bc = bo.GetBusComp("List Of Values"); var v_i1 = 0; var msgText = " Значение не соответствует значению LOV. "; if (text != "") { ActivField(bc, "Type","Value","Language"); bc.ActivateField("Type"); bc.ClearToQuery(); bc.SetViewMode(AllView); bc.SetSearchSpec("Type", LOV); bc.SetSearchSpec("Language", "RUS"); bc.ExecuteQuery(ForwardBackward); if (bc.FirstRecord()) { var rec = bc.FirstRecord(); while(rec) { if (text == bc.GetFieldValue("Value")) { msgText = ""; break; } rec = bc.NextRecord(); } } } else { msgText = " Обязательное к заполнению."; } bo = bc = v_i1 = null; return msgText; }
Вызов функции осуществляется следующим образом:
var Sex = CheckLOV("название LOV","переменная");
В результате в переменную Sex будет передано один из двух значений:
— wiki_admin 2014/10/28 15:29