Бележка
Достъпът до тази страница изисква удостоверяване. Можете да опитате да влезете или да промените директориите.
Достъпът до тази страница изисква удостоверяване. Можете да опитате да промените директориите.
Асинхронно извлича потоците на бизнес процеса, разрешени за таблица, към която текущият потребител може да превключи.
Синтаксис
formContext.data.process.getEnabledProcesses(callbackFunction(enabledProcesses));
Параметър
| Име | Вид | Необходимо | Описание |
|---|---|---|---|
callbackFunction |
Function | Да | Функцията за обратно повикване трябва да приеме параметър, който съдържа обект със свойства на речника, където името на свойството е ИД на потока на бизнес процеса, а стойността на свойството е името на потока на бизнес процеса. Разрешените процеси се филтрират според привилегиите на потребителя. Списъкът с разрешени процеси е същият, който потребителят може да види в потребителския интерфейс, ако иска да промени процеса ръчно. |
Пример
Функцията Sdk.formOnLoad в примера използва метода formContext.data.process.getEnabledProcesses за асинхронно извличане на информация за потоците на бизнес процеси, които са разрешени за таблицата. Извадката предава анонимна функция като първи параметър. Тази функция се изпълнява асинхронно, когато се върнат данните и данните се подадат като параметър на анонимната функция.
Информацията за разрешен поток на бизнес процес се предоставя като обект речник, където ИД на процеса е името на свойството, а името на потока на бизнес процеса е стойността на свойството. Примерният код обработва тази информация и задава стойностите в глобалния масив Sdk.enabledProcesses да бъдат достъпни чрез логика, която се изпълнява по-късно. Извадката също така обхожда стойностите в масива Sdk.enabledProcesses и използва функцията Sdk.writeToConsole , за да запише информация за извлечените потоци на бизнес процеси в конзолата.
Бележка
Функцията Sdk.formOnLoad в примерната библиотека на JavaScript трябва да бъде зададена като манипулатор на събития OnLoad за формуляр и контекстът за изпълнение на Pass като първи параметър трябва да бъде отметнат в диалоговия прозорец Свойства на Handler .
Освен това тази извадка просто илюстрира използването на някои от методите в 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