====== Проверка значения в LOV ======
Как правило 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 будет передано один из двух значений:
* Если значение не будет найдено то: "Значение не соответствует значению LOV."
* Если значение будет найдено то результат будет "" (пусто).
--- //[[spec.later@gmail.com|wiki_admin]] 2014/10/28 15:29//