escript:mass_activation_fields
Розбіжності
Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версійПопередня ревізіяНаступна ревізія | Попередня ревізія | ||
| escript:mass_activation_fields [2014/10/27 21:55] – wiki_admin | escript:mass_activation_fields [2022/05/23 15:26] (поточний) – зовнішнє редагування 127.0.0.1 | ||
|---|---|---|---|
| Рядок 1: | Рядок 1: | ||
| + | ====== Массовая активация полей ====== | ||
| + | Любой человек который когда либо пробовал писать скрипт в Siebel CRM [[eScript: | ||
| + | |||
| + | Объявляем необходимый бизнес компонент и активируем необходимые нам поля (Siebel CRM eScript examples): | ||
| + | <code javascript> | ||
| + | var bo = TheApplication().ActiveBusObject(); | ||
| + | var bc = bo.GetBusComp(" | ||
| + | bc.ActivateField(" | ||
| + | bc.ActivateField(" | ||
| + | bc.ActivateField(" | ||
| + | </ | ||
| + | |||
| + | Так выглядит Siebel CRM eScript | ||
| + | |||
| + | Но этот вариант является не всегда удобным поскольку в больших скриптах бывает необходимость в активации 20 и более полей. В результате код очень быстро вырастает в размере. | ||
| + | |||
| + | Я предлагаю использовать следующий вариант. | ||
| + | |||
| + | ===== Функция активации полей Вариант №1: ===== | ||
| + | <file javascript myexample.js> | ||
| + | function ActivField() | ||
| + | { | ||
| + | for (var ssk = 1; ssk < arguments.length; | ||
| + | {arguments[0].ActivateField(arguments[ssk]); | ||
| + | return; | ||
| + | } | ||
| + | |||
| + | var bo = TheApplication().ActiveBusObject(); | ||
| + | var bc = bo.GetBusComp(" | ||
| + | ActivField(bc, | ||
| + | </ | ||
| + | |||
| + | |||
| + | Итак теперь немного подробней. О функции Массовой активации полей в Siebel CRM (Massive ActivateField in Siebel CRM) | ||
| + | |||
| + | Как говорится в BoockShelf property arguments[] это массив аргументов вставленных в функцию. Первая переменная начинается с arguments[0], | ||
| + | |||
| + | Начинаем цикл по аргументам (поля в бизнес компоненте) которые начинаются с arguments.[1]-го значения и до arguments.[n] аргумента. Напомню в arguments.[0]-м аргументе содержится бизнес компонент | ||
| + | |||
| + | |||
| + | |||
| + | ===== Функция активации полей Вариант №2: ===== | ||
| + | <file javascript myexample.js> | ||
| + | var ContactBO = TheApplication().GetBusObject(«Contact»); | ||
| + | var ContactBC = ContactBO.GetBusComp(«Contact»); | ||
| + | with (ContactBC) | ||
| + | { | ||
| + | SetViewMode(AllView); | ||
| + | var fieldsPS = TheApplication().NewPropertySet(); | ||
| + | var valuesPS = TheApplication().NewPropertySet(); | ||
| + | fieldsPS.SetProperty(" | ||
| + | fieldsPS.SetProperty(" | ||
| + | ActivateMultipleFields(fieldsPS); | ||
| + | ClearToQuery(); | ||
| + | ExecuteQuery(ForwardBackward); | ||
| + | if (FirstRecord()) | ||
| + | { | ||
| + | GetMultipleFieldValues(fieldsPS, | ||
| + | var slName = valuesPS.GetProperty(" | ||
| + | var sfName = valuesPS.GetProperty(" | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | Вариант №2 [[http:// | ||
