<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://siebel.web-box.com.ua/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Siebel CRM - escript</title>
        <description></description>
        <link>https://siebel.web-box.com.ua/</link>
        <lastBuildDate>Sun, 07 Jun 2026 19:38:24 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://siebel.web-box.com.ua/_media/wiki:dokuwiki.svg</url>
            <title>Siebel CRM</title>
            <link>https://siebel.web-box.com.ua/</link>
        </image>
        <item>
            <title>Associate</title>
            <link>https://siebel.web-box.com.ua/escript:associate?rev=1708680122&amp;do=diff</link>
            <description>Associate


var mvgBC = accBC.GetMVGBusComp(&quot;Position&quot;);
mvgBC.ActivateField(&quot;AL SubGroup Id&quot;);
var srcBC = mvgBC.GetAssocBusComp();
//TheApplication().Trace(accBC.GetFieldValue(&quot;Id&quot;));
mvgBC.SetViewMode(3);
srcBC.SetViewMode(3);
mvgBC.ClearToQuery();
mvgBC.SetSearchExpr(&quot;[Id]='&quot;+this.GetFieldValue(&quot;Id&quot;)+&quot;'&quot;);
//TheApplication().Trace(&quot;mvgBC.SetSearchExpr:&quot;+mvgBC.GetSearchExpr());
mvgBC.ExecuteQuery(ForwardBackward);
if (!mvgBC.FirstRecord())
{
	srcBC.ClearToQuery();
	srcBC.SetSearchExpr(&quot;[Id]='…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 23 Feb 2024 09:22:02 +0000</pubDate>
        </item>
        <item>
            <title>Проверка значения в LOV</title>
            <link>https://siebel.web-box.com.ua/escript:check_values_lov?rev=1653308765&amp;do=diff</link>
            <description>Проверка значения в LOV

Как правило Siebel CRM LOV используется для получения определенного значения из LOV. К примеру в  Siebel CRM eScript получить значения</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 23 May 2022 12:26:05 +0000</pubDate>
        </item>
        <item>
            <title></title>
            <link>https://siebel.web-box.com.ua/escript:countrecords?rev=1653308765&amp;do=diff</link>
            <description>&lt;https://docs.oracle.com/cd/B40099_02/books/OIRef/OIRefInterfaceRef90.html&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 23 May 2022 12:26:05 +0000</pubDate>
        </item>
        <item>
            <title>Игры с датами в eScript</title>
            <link>https://siebel.web-box.com.ua/escript:date?rev=1775644039&amp;do=diff</link>
            <description>Игры с датами в eScript

Форматирование Siebel даты

Готовая функция по форматированию Siebel даты в любую другую

Пример вызова


  var msg =&quot;&quot;;
  
  msg = getSiebelDate(bc.GetFieldValue(&quot;Created&quot;), &quot;%Y-%d-%m %H:%M:%S&quot;);</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 08 Apr 2026 10:27:19 +0000</pubDate>
        </item>
        <item>
            <title>Правила хорошего тона в eScript</title>
            <link>https://siebel.web-box.com.ua/escript:escript_rules?rev=1653308765&amp;do=diff</link>
            <description>Правила хорошего тона в eScript

Обнуление переменных

Самое первое правило при написании скриптов которого стоит придерживаться, если есть возможность не писать скрипты не пишите их. 
При написании любого кода в eScript как правило будут использоваться переменные. 
И очень часто можно встретить код с использованием цикла внутри которого циклически объявляются переменные. Которые нигде и никогда больше не обнуляются.…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 23 May 2022 12:26:05 +0000</pubDate>
        </item>
        <item>
            <title>Як отримати Property Set by name Siebel eScript</title>
            <link>https://siebel.web-box.com.ua/escript:findpropertybyname?rev=1694001579&amp;do=diff</link>
            <description>Як отримати Property Set by name Siebel eScript


function findPropertyByName(pInputs, propertyName, wholeWord) {
// пошук по структурі PropertySet
// pInputs - структура PropertySet, в якій шукаємо
// propertyName - ім'я Child PS, яке шукаємо
// wholeWord - пошук по повній назві true, чи false
// Результат: знайдена Child PS
    
    if ((!wholeWord &amp;&amp; pInputs.GetType().indexOf(propertyName) &gt; -1) ||
        (wholeWord &amp;&amp; pInputs.GetType() == propertyName)) {
        return pInputs;
    }

    …</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 06 Sep 2023 11:59:39 +0000</pubDate>
        </item>
        <item>
            <title>Читання файлів у мережевій папці використовуючи ...</title>
            <link>https://siebel.web-box.com.ua/escript:getfilenames?rev=1681750771&amp;do=diff</link>
            <description>Читання файлів у мережевій папці використовуючи Siebel eScript

List of files in a network folder using Siebel eScript

	*  Поперше для отпимання переліку файлів у мережевій папці треба обов'язково зробити mount мережевої папки до файлової системи siebel.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 17 Apr 2023 16:59:31 +0000</pubDate>
        </item>
        <item>
            <title>Получение значения Description LOV средствами eScript</title>
            <link>https://siebel.web-box.com.ua/escript:getlovdesc?rev=1653308765&amp;do=diff</link>
            <description>Получение значения Description LOV средствами eScript


function GetLOVDesc(lic,type) {
 var ClientField = &quot;&quot;;
    var BCLSTofVal = TheApplication().GetBusObject(&quot;List Of Values&quot;).GetBusComp(&quot;List Of Values&quot;);
    BCLSTofVal.ActivateField(&quot;Description&quot;);
    BCLSTofVal.SetViewMode(AllView);
    BCLSTofVal.ClearToQuery();
    BCLSTofVal.SetSearchExpr(&quot;Name = '&quot; + lic + &quot;' AND Type = '&quot;+type+&quot;'&quot;);
    BCLSTofVal.ExecuteQuery(ForwardOnly);
    if (BCLSTofVal.FirstRecord()) {
        ClientField = B…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 23 May 2022 12:26:05 +0000</pubDate>
        </item>
        <item>
            <title>Как получить значение поиска</title>
            <link>https://siebel.web-box.com.ua/escript:getsearchevalue?rev=1655543166&amp;do=diff</link>
            <description>Как получить значение поиска

На примере поля MVG поля 'AL Termid For Search' 


function getSearchValue(text){
	//EXISTS ( = P0024320)
	var flend = text.indexOf(&quot;=&quot;);
	var szend = text.indexOf(&quot;)&quot;)
	var value = text.substring(flend+2,szend);
	return (value);
}

 //поиск по Terminal ID
var pTermId = this.GetSearchSpec(&quot;AL Termid For Search&quot;);
if(pTermId != &quot;&quot; &amp;&amp; pTermId != null ){
	//TheApplication().SetProfileAttr(&quot;AccountTermId&quot;, pTermId);
	//Сохранённое значение будет использоваться в 
	TheAp…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 18 Jun 2022 09:06:06 +0000</pubDate>
        </item>
        <item>
            <title>GotoView Method</title>
            <link>https://siebel.web-box.com.ua/escript:gotoview_method?rev=1653308765&amp;do=diff</link>
            <description>GotoView Method

BoocShelf

GotoView метод активирует view по его названию.
Синтаксис:


TheApplication().GotoView(&quot;ViewName&quot;[,BusinessObjectName]);

АгрументОписаниеViewNameНазвание Вида который должен быть отображен</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 23 May 2022 12:26:05 +0000</pubDate>
        </item>
        <item>
            <title></title>
            <link>https://siebel.web-box.com.ua/escript:ifnull?rev=1653308765&amp;do=diff</link>
            <description>Использование ifnull cредствами escript


function ifnull(Value, Default)
{
 if (Value == &quot;&quot; || Value == null || Value == &quot;null&quot; )
  return Default
 else return Value;	 
}



--- wiki_admin 2014/11/12 15:23</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 23 May 2022 12:26:05 +0000</pubDate>
        </item>
        <item>
            <title>Использование InList в Siebel CRM средствами eScript</title>
            <link>https://siebel.web-box.com.ua/escript:inlist_in_escript?rev=1653308765&amp;do=diff</link>
            <description>Использование InList в Siebel CRM средствами eScript

В статье Использование Inlist в Siebel Tools мы рассмотрели стандартную функцию Siebel Tools.

Использование функции Inlist достаточно удобное и простое, но есть небольшие не удобства.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 23 May 2022 12:26:05 +0000</pubDate>
        </item>
        <item>
            <title>Массовая активация полей</title>
            <link>https://siebel.web-box.com.ua/escript:mass_activation_fields?rev=1653308765&amp;do=diff</link>
            <description>Массовая активация полей

Любой человек который когда либо пробовал писать скрипт в Siebel CRM eScript сталкивался с необходимостью массовой активации полей в определенном бизнес компоненте (Bussines Component) как правило это выглядит следующим образом:</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 23 May 2022 12:26:05 +0000</pubDate>
        </item>
        <item>
            <title>Pick Record</title>
            <link>https://siebel.web-box.com.ua/escript:pick?rev=1695727317&amp;do=diff</link>
            <description>Pick Record


function pick(BusComp,Field,Value){
	try {	
	    var oBCPick = BusComp.GetPicklistBusComp(Field);
		oBCPick.ClearToQuery();
		oBCPick.SetSearchSpec(&quot;Value&quot;, Value);
		oBCPick.ExecuteQuery(ForwardOnly);
		if(oBCPick.FirstRecord()){
			oBCPick.Pick();
		}
		oBCPick = null;
	} catch(e) {
            TheApplication().SetProfileAttr(&quot;pickError&quot;,e.errText); 
	}
}


pick(oBC,&quot;Contact Full Name&quot;,ContactId);</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 26 Sep 2023 11:21:57 +0000</pubDate>
        </item>
        <item>
            <title>Регулярные выражения в Siebel eScript пример использования.</title>
            <link>https://siebel.web-box.com.ua/escript:regular_expressions?rev=1653308765&amp;do=diff</link>
            <description>Регулярные выражения в Siebel eScript пример использования.

Наша задача написать функцию которая будет возвращать ошибку в случаи если в поле ИНН клиента содержится любой символ кроме числа.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 23 May 2022 12:26:05 +0000</pubDate>
        </item>
        <item>
            <title>Установка SetSearchSpec</title>
            <link>https://siebel.web-box.com.ua/escript:setsearchspec?rev=1655543145&amp;do=diff</link>
            <description>Установка SetSearchSpec

Как получить значение поиска


function BusComp_PreQuery ()
{
//CRM-3273 2022.06.18 zhevak end
	if(	TheApplication().GetProfileAttr(&quot;AccountTermIdValue&quot;) !=&quot;&quot;){
		var TermId = TheApplication().GetProfileAttr(&quot;AccountTermIdValue&quot;)
		this.SetSearchSpec(&quot;AL Termid&quot;,&quot;=&quot;+TermId);
		//this.SetSearchExpr(&quot;[AL Termid] = '&quot; + TermId + &quot;'&quot;);
		TheApplication().SetProfileAttr(&quot;AccountTermIdValue&quot;,&quot;&quot;)
	}
//CRM-3273 2022.06.18 zhevak end

	return (ContinueOperation);
}…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 18 Jun 2022 09:05:45 +0000</pubDate>
        </item>
        <item>
            <title>eScript</title>
            <link>https://siebel.web-box.com.ua/escript:start?rev=1695726600&amp;do=diff</link>
            <description>eScript

Проверка значения в LOV

Массовая активация полей

Регулярные выражения в Siebel eScript пример использования.

Использование inlist средствами escript

Игры с датами

Использование ifnull средствами escript

Правила хорошего тона в eScript

Метод GotoView

Метод CountRecords

Значение Description LOV

Trace()

WritePropertySet в файл

Получение значения System Preferences используя eScript

Pick Record…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 26 Sep 2023 11:10:00 +0000</pubDate>
        </item>
        <item>
            <title>Подавление кода ошибки SBL-EXL-*</title>
            <link>https://siebel.web-box.com.ua/escript:suppressscriptingerrorcode?rev=1709011847&amp;do=diff</link>
            <description>Подавление кода ошибки SBL-EXL-*

Если Вас напрягает код ошибки SBL-EXL-* Вы можете отключить отображение кода ошибки.

Для этого достаточно изменить стандартное значение System Preferences</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 27 Feb 2024 05:30:47 +0000</pubDate>
        </item>
        <item>
            <title>Получение значения System Preferences используя eScript</title>
            <link>https://siebel.web-box.com.ua/escript:systempreferences?rev=1653308765&amp;do=diff</link>
            <description>Получение значения System Preferences используя eScript

Как получить значение System Preferences используя eScript. Очень просто. Пример ниже.

Вариант 1

Более универсальный, есть возможность поставить значение по умолчанию</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 23 May 2022 12:26:05 +0000</pubDate>
        </item>
        <item>
            <title>Trace()</title>
            <link>https://siebel.web-box.com.ua/escript:trace?rev=1653308765&amp;do=diff</link>
            <description>Trace()

В процессе разработки может быть очень полезно.


TheApplication().TraceOn(&quot;C:\\temp\\trace.txt&quot;,&quot;Allocation&quot;,&quot;All&quot;);

TheApplication().Trace(&quot;Start!&quot;);

TheApplication().TraceOff();</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 23 May 2022 12:26:05 +0000</pubDate>
        </item>
        <item>
            <title>WritePropertySet в файл</title>
            <link>https://siebel.web-box.com.ua/escript:writepropertyset?rev=1653308765&amp;do=diff</link>
            <description>WritePropertySet в файл

В процессе разработки может быть очень полезно.



var fileName = &quot;C:\\temp\\trace.txt&quot;;

function WritePropertySet(inputPS, fileName)
{
	var fileSvc = TheApplication().GetService(&quot;EAI XML Write to File&quot;);
	var outPS = TheApplication().NewPropertySet();
	var tmpProp = inputPS.Copy();
	
	tmpProp.SetProperty(&quot;FileName&quot;, fileName);
	fileSvc.InvokeMethod(&quot;WritePropSet&quot;, tmpProp, outPS);
	
	outPS = null;
	fileSvc = null;
	tmpProp = null;
}…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 23 May 2022 12:26:05 +0000</pubDate>
        </item>
    </channel>
</rss>
