Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Асинхронно извлекает потоки бизнес-процессов, включенные для таблицы, в которую текущий пользователь может переключаться.
Синтаксис
formContext.data.process.getEnabledProcesses(callbackFunction(enabledProcesses));
Параметр
| Имя | Тип | Обязательно | Description |
|---|---|---|---|
callbackFunction |
Функция | Да | Функция обратного вызова должна принимать параметр, содержащий объект со свойствами словаря, где имя свойства — идентификатор потока бизнес-процессов, а значение свойства — имя потока бизнес-процессов. Включенные процессы фильтруются в соответствии с привилегиями пользователя. Список включенных процессов совпадает с тем, что пользователь может видеть в пользовательском интерфейсе, если они хотят изменить процесс вручную. |
Example
Функция Sdk.formOnLoad в примере использует метод formContext.data.process.getEnabledProcesses для асинхронного извлечения сведений о потоках бизнес-процессов, включенных для таблицы. Пример передает анонимную функцию в качестве первого параметра. Эта функция выполняется асинхронно при возврате данных, а данные передаются в качестве параметра анонимной функции.
Сведения о включенном потоке бизнес-процессов предоставляются в виде объекта словаря, где идентификатор процесса — это имя свойства, а имя потока бизнес-процессов — значение свойства. Пример кода обрабатывает эти сведения и задает значения в глобальном массиве SDK.enabledProcesses для доступа к логике, которая выполняется позже. Пример также выполняет циклы по значениям в массиве Sdk.enabledProcesses и использует функцию Sdk.writeToConsole для записи сведений о полученных потоках бизнес-процессов в консоль.
Замечание
Функция Sdk.formOnLoad в примере библиотеки JavaScript должна быть задана в качестве обработчика событий OnLoad для формы, а контекст выполнения Pass должен быть установлен в диалоговом окне "Свойства обработчика ".
Кроме того, этот пример просто иллюстрирует использование некоторых методов в 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