Добрый день уважаемые читатели хочу напомнить/рассказать Вам о удобном функционале который многие знают но к сожалению не всегда используют в работе с Siebel CRM, а именно InList (BookShelf). Также вы можете прочитать статью Использование inlist Средствами escript
Итак что делает InList? Все просто он возвращает значение True при нахождении значение в списке. Пример: InList(«foo», «abc,boo,foo»). InList Вернет значение True.
Зачем он нужен? Как один из основных вариантов которые я использую это установка Search Specification. Это удобно использовать если Ваш Search Specification построен на значениях из LOV.
Рассмотрим пример: Допустим на нашем Applet установлен Search Specification следующий
[Payment Type] = LookupValue("PAYMENT_TYPE_CODE","Money1") or [Payment Type] = LookupValue("PAYMENT_TYPE_CODE","Money2")
Все выглядит достаточно обычно и нормально до момента пока ваш вам не понадобится добавить еще три значения из LOV и тогда Ваш Search Specification не перерастет 255 символов. :(
[Payment Type] = LookupValue("PAYMENT_TYPE_CODE","Money1") or [Payment Type] = LookupValue("PAYMENT_TYPE_CODE","Money2") or [Payment Type] = LookupValue("PAYMENT_TYPE_CODE","Money3") or [Payment Type] = LookupValue("PAYMENT_TYPE_CODE","Money4") or [Payment Type] = LookupValue("PAYMENT_TYPE_CODE","Money5")
В таком случае предлагаю сделать следующее:
Field [Calc 01] Calculate Value = LookupValue("PAYMENT_TYPE_CODE","Money1") Field [Calc 02] Calculate Value = LookupValue("PAYMENT_TYPE_CODE","Money2") Field [Calc 03] Calculate Value = LookupValue("PAYMENT_TYPE_CODE","Money3") Field [Calc 04] Calculate Value = LookupValue("PAYMENT_TYPE_CODE","Money4") Field [Calc 05] Calculate Value = LookupValue("PAYMENT_TYPE_CODE","Money5")
Field [Calc List] Calculate Value = [Calc 01]+","+ [Calc 02]+","+ [Calc 03]+","+ [Calc 04]+","+ [Calc 05])
InList([Payment Type],[Calc List])
Так же InList можно строить с такой схемой
InList([Value],GetProfileAttr("ProffileAttribut"))
Такую конструкцию можно использовать напрямую в Search Specification но в следующем виде:
InList([Field Name],'Value 1,Value 2')
Необходимо учитывать что значения будут проверяться по разделителю «,».
— wiki_admin 2014/10/29 10:30