Нотатка
Доступ до цієї сторінки потребує авторизації. Можна спробувати ввійти або змінити каталоги.
Доступ до цієї сторінки потребує авторизації. Можна спробувати змінити каталоги.
Асинхронно отримує потоки бізнес-процесів, увімкнуті для таблиці, до яких може перейти поточний користувач.
Синтаксис
formContext.data.process.getEnabledProcesses(callbackFunction(enabledProcesses));
Параметр
| Ім'я | Тип | Обов'язковий | Опис |
|---|---|---|---|
callbackFunction |
Function | Так | Функція зворотного виклику має приймати параметр, який містить об'єкт із властивостями словника, де ім'я властивості – ідентифікатор потоку бізнес-процесу, а значення властивості – це ім'я потоку бізнес-процесів. Увімкнуті процеси фільтруються відповідно до прав користувача. Список увімкнених процесів – це ті самі процеси, які користувач може бачити в інтерфейсі користувача, якщо він хоче змінити процес вручну. |
Приклад
Функція Sdk.formOnLoad у прикладі використовує метод formContext.data.process.getEnabledProcesses , щоб асинхронно отримувати відомості про потоки бізнес-процесів, активовані для таблиці. Зразок передає анонімну функцію як перший параметр. Ця функція виконується асинхронно, коли дані повертаються, а дані передаються як параметр анонімній функції.
Відомості про активний потік бізнес-процесів надаються як об'єкт словника, де ідентифікатор процесу – це ім'я властивості, а ім'я потоку бізнес-процесів – це значення властивості. Зразок коду обробляє ці відомості та встановлює значення в глобальному масиві Sdk.enabledProcesses для доступу за логікою, яка виконується пізніше. Зразок також циклізує значення в масиві Sdk.enabledProcesses і використовує функцію Sdk.writeToConsole , щоб записувати відомості про отримані потоки бізнес-процесів до консолі.
Нотатка
Функцію Sdk.formOnLoad у зразку бібліотеки JavaScript потрібно встановити як обробник подій OnLoad для форми, а в діалоговому вікні Властивості обробника слід установити прапорець Перед виконання як перший параметр.
Крім того, цей зразок просто ілюструє використання деяких методів у API formContext.data.process . Він не представляє використання цього API для задоволення бізнес-вимог; він призначений лише для демонстрації того, як ключові значення властивостей можуть бути доступні в коді.
//A namespace defined for SDK sample code
//You should define a unique namespace for your libraries
var Sdk = window.Sdk || {};
(function () {
//A global variable to store information about enabled business processes after they are retrieved asynchronously
this.enabledProcesses = [];
// A function to log messages while debugging only
this.writeToConsole = function (message) {
if (typeof console != 'undefined')
{ console.log(message); }
};
// Code to run in the OnLoad event
this.formOnLoad = function (executionContext) {
// Retrieve the formContext
var formContext = executionContext.getFormContext();
// Retrieve Enabled processes
formContext.data.process.getEnabledProcesses(function (processes) {
//Move processes to the global Sdk.enabledProcesses array;
for (var processId in processes) {
Sdk.enabledProcesses.push({ id: processId, name: processes[processId] })
}
Sdk.writeToConsole("Enabled business processes flows retrieved and added to Sdk.enabledProcesses array.");
//Write the values of the Sdk.enabledProcesses array to the console
if (Sdk.enabledProcesses.length < 0) {
Sdk.writeToConsole("There are no enabled business process flows for this table.");
}
else {
Sdk.writeToConsole("These are the enabled business process flows for this table:");
for (var i = 0; i < Sdk.enabledProcesses.length; i++) {
var enabledProcess = Sdk.enabledProcesses[i];
Sdk.writeToConsole("id: " + enabledProcess.id + " name: " + enabledProcess.name)
}
}
//Any code that depends on the Sdk.enabledProcesses array needs to be initiated here
});
};
}).call(Sdk);
Під час запуску цього зразка з відкритими інструментами розробника браузера нижче наведено приклад виходу, записаного на консоль для таблиці з увімкненими кількома потоками бізнес-процесів.
Enabled business processes flows retrieved and added to Sdk.enabledProcesses array.
These are the enabled business process flows for this table:
id: 7994be68-899e-4a40-8d18-f5c3b6940188 name: Sample Lead Process
id: 919e14d1-6489-4852-abd0-a63a6ecaac5d name: Lead to Opportunity Sales Process