Condividi tramite


Xrm.Page.data.process (riferimento lato client)

 

Data di pubblicazione: gennaio 2017

Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Lo spazio dei nomi Xrm.Page.data.process fornisce eventi, metodi e oggetti per interagire con i dati del processo aziendale in un modulo.

Vedere Xrm.Page.ui.process (riferimento lato client) affinché i metodi interagiscano con il processo aziendale nel modulo.

Metodi di Xrm.Page.data.process

  • Metodi ActiveProcess
    Utilizzare getActiveProcess per recuperare informazioni sul processo attivo e setActiveProcess per impostare un processo diverso come il processo attivo.

  • Metodi di ProcessInstance
    Utilizza getProcessInstances per recuperare informazioni su tutte le istanze di processo per un record di entità e setActiveProcessInstance per impostare come attiva un'istanza di processo.

  • Metodi ActiveStage
    Utilizzare getActiveStage per recuperare informazioni sulla fase attiva e setActiveStage per impostare una fase completata come fase attiva.

    È possibile utilizzare setActiveStage in una fase in un'entità diversa.

  • getActivePath
    Utilizzare questo metodo per ottenere una raccolta di fasi al momento nel percorso attivo con i metodi per l'interazione con le fasi visualizzare nel controllo del flusso aziendale.

    Il percorso attivo rappresenta le fasi di cui al momento è stato eseguito il rendering nel controllo dei processi in base alle regole di diramazione e ai dati correnti nel record.

  • getEnabledProcesses
    Utilizzare questo metodo per recuperare in modalità asincrona i flussi aziendale attivati a cui l'utente può passare per un'entità.

  • getSelectedStage
    Utilizzare il metodo per accedere alla fase attualmente selezionata.

  • Metodi per gestire i gestori eventi
    Utilizza i metodi addOnStageChange, removeOnStageChange, addOnStageSelected, removeOnStageSelected, addOnProcessStatusChange e removeOnProcessStatusChange per aggiungere o rimuovere i gestori evento per il controllo del processo aziendale.

  • Metodi di navigazione
    Utilizzare moveNext per passare alla fase successiva e movePrevious per passare alla fase precedente.

    È possibile utilizzare movePrevious in una fase precedente in un'entità diversa.

  • Metodi di processo
    Utilizzare i metodi del processo per accedere alle proprietà del processo.

  • Metodi di istanza
    Utilizza i metodi dell'istanza di processo per accedere alle proprietà dell'istanza di processo corrente.

  • Metodi di fase
    Utilizzare i metodi della fase per accedere alle proprietà della fase in un processo aziendale.

  • Metodi del passaggio
    Utilizzare i metodi della fase per accedere alle proprietà della fase in una fase del processo aziendale.

Metodi ActiveProcess

Utilizzare getActiveProcess per recuperare informazioni sul processo attivo e setActiveProcess per impostare un processo diverso come il processo attivo.

getActiveProcess

Restituisce un oggetto Process che rappresenta il processo attivo.

var activeProcess = Xrm.Page.data.process.getActiveProcess();
  • Valore restituito
    Tipo: processo

    Note: Vedere Metodi di processo per i metodi che accedono alle proprietà del processo restituito.

setActiveProcess

Impostare Process come processo attivo.

Se è disponibile un'istanza attiva del processo, il record dell'entità viene caricato con l'ID istanza. Se non è disponibile alcuna istanza attiva del processo corrente, viene creata una nuova istanza del processo e viene caricato il record dell'entità con l'ID istanza. Se sono presenti più istanze del processo corrente, il record viene caricato con la prima istanza del processo attivo secondo la logica alla base dell'impostazione predefinita, ossia l'istanza del processo utilizzata più di recente per ogni utente.

Xrm.Page.data.process.setActiveProcess(processId, callbackFunction);

Parametri:

  • processId
    Tipo:String

    Note: l'ID del processo per eseguire il processo attivo.

  • callbackFunction
    Tipo:Function

    Note: una funzione da chiamare quando l'operazione è completa. Alla funzione di callback viene passato uno dei seguenti valori stringa per verificare se l'operazione è stata completata.

    Valore

    Descrizione

    completato

    L'operazione è stata completata.

    non valido

    processId non è valido o il processo non è abilitato.

Metodi di ProcessInstance

Utilizza getProcessInstances per recuperare informazioni su tutte le istanze di processo per un record di entità e setActiveProcessInstance per impostare come attiva un'istanza di processo.

Nota

Questi metodi sono stati introdotti in Aggiornamento di dicembre 2016 per Dynamics 365 (online e locale).

getProcessInstances

Restituisce tutte le istanze del processo per il record dell'entità a cui l'utente chiamante ha accesso.

Xrm.Page.data.process.getProcessInstances(callbackFunction(object));
  • Parametro
    Tipo:Function

    Nota: la funzione di richiamata ha passato un oggetto con i seguenti attributi e i relativi valori corrispondenti come coppia chiave-valore.

    • CreatedOn

    • ProcessDefinitionID

    • ProcessDefinitionName

    • ProcessInstanceID

    • ProcessInstanceName

    • StatusCodeName

    Le istanze del processo sono filtrate in base ai privilegi dell'utente.

setActiveProcessInstance

Imposta un'istanza del processo come istanza attiva.

Xrm.Page.data.process.setActiveProcessInstance(processInstanceId, callbackFunction);

Parametri:

  • processInstanceId
    Tipo:String

    Note: l'ID dell'istanza del processo da impostare come istanza attiva.

  • callbackFunction
    Tipo:Function

    Note: una funzione da chiamare quando l'operazione è completa. Alla funzione di callback viene passato uno dei seguenti valori stringa per verificare se l'operazione è stata completata.

    Valore

    Descrizione

    completato

    L'operazione è stata completata.

    non valido

    processInstanceId non è valido o il processo non è abilitato.

Metodi ActiveStage

Utilizzare getActiveStage per recuperare informazioni sulla fase attiva e setActiveStage per impostare una fase diversa come fase attiva.

getActiveStage

Restituisce un oggetto Stage che rappresenta la fase attiva.

var activeStage = Xrm.Page.data.process.getActiveStage();
  • Valore restituito
    Tipo: fase

    Note: vedere Metodi di fase per i metodi che accedono alle proprietà della fase restituita.

setActiveStage

Imposta una fase completata come fase attiva.

Nota

Dopo Aggiornamento 1 di Microsoft Dynamics CRM Online 2015 puoi utilizzare questo metodo per impostare una fase in un'entità diversa.

Solo una fase completata per l'entità può essere impostata tramite questo metodo.

Xrm.Page.data.process.setActiveStage(stageId, callbackFunction);

Parametri:

  • stageId
    Tipo:String

    Note: L'ID della fase completata per l'entità per eseguire la fase attiva.

  • callbackFunction
    Tipo:Function

    Note: una funzione facoltativa da chiamare quando l'operazione è completa.

    Alla funzione di callback verrà passata il valore di stringa "success se l'operazione viene completata.

    Se stageId rappresenta una fase che non è valida, la fase non verrà resa attiva e alla funzione di callback verrà passato un valore di stringa indicante il motivo. Nella tabella seguente sono elencati i valori che possono essere restituiti.

    Valore

    Motivo

    invalid

    Esistono tre motivi per cui questo valore può essere restituito:

    • Il parametro stageId è un valore ID fase inesistente.

    • La fase attiva non è la fase selezionata.

    • Il record non è stato ancora salvato.

    unreachable

    La fase è presente in un percorso diverso.

    dirtyForm

    Questo valore verrà restituito se i dati della pagina non vengono salvate.

    Importante

    Questo metodo può essere utilizzato solo quando la fase selezionata e la fase attiva sono uguali. Quando il codice viene avviato da d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange, verrà selezionata la fase corrente. Quando il codice viene avviato da d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected, è necessario utilizzare Xrm.Page.data.process.getActiveStage per verificare che la fase selezionata sia anche la fase attiva. Per ogni altro evento di modulo, non è possibile determinare la fase attualmente selezionata. Per conseguire i migliori risultati, questo metodo può essere utilizzato solo nel codice che viene chiamato nelle funzioni avviate da eventi OnStageSelected e OnStageChange.

getActivePath

Utilizzare questo metodo per ottenere una raccolta di fasi al momento nel percorso attivo con i metodi per l'interazione con le fasi visualizzare nel controllo del flusso aziendale.

Il percorso attivo rappresenta le fasi di cui al momento è stato eseguito il rendering nel controllo dei processi in base alle regole di diramazione e ai dati correnti nel record.

var stageCollection = Xrm.Page.data.process.getActivePath();

Esempio:

Vedere Esempio: Xrm.Page.data.process.getActivePath per un esempio di utilizzo di questo metodo.

  • Valore restituito
    Tipo: raccolta

    Remarks: una raccolta di tutte le fasi completate, la fase al momento attiva e il set previsto di fasi successive basate sulle condizioni soddisfatte nella regola di creazione di rami. Si può trattare di un sottoinsieme delle fasi restituite con Xrm.Page.data.process.getActiveProcess poiché includerà solo le fasi che rappresentano una transizione valida dalla fase corrente basata sulla creazione di rami che è avvenuta nel processo.

getEnabledProcesses

Utilizzare questo metodo per recuperare in modalità asincrona i flussi aziendale attivati a cui l'utente può passare per un'entità.

Xrm.Page.data.process.getEnabledProcesses(callbackFunction(enabledProcesses));
  • Parametro
    Tipo:Function

    Nota: la funzione di richiamata deve accettare un parametro che contiene un oggetto con proprietà dictionary in cui il nome della proprietà è l'ID del processo aziendale e il valore della proprietà è il nome del processo aziendale.

    I processi abilitati sono filtrati in base ai privilegi dell'utente. L'elenco dei processi abilitati è lo stesso che un utente può visualizzare nell'interfaccia utente se desidera modificare il processo manualmente.

    Esempio:

    Vedere Esempio: Xrm.Page.data.process.getEnabledProcesses per un esempio di utilizzo di questo metodo.

getSelectedStage

Utilizza il metodo per ottenere alla fase attualmente selezionata.

Xrm.Page.data.process.getSelectedStage()
  • Valore restituito
    Tipo: fase

    Fase attualmente selezionata.

  • Note
    Vedi Metodi di fase per i metodi che accedono alle proprietà della fase restituita.

Metodi per gestire i gestori eventi

Utilizzare questi metodi per aggiungere o rimuovere i gestori evento per il controllo del processo aziendale.

addOnStageChange

Utilizzare questa opzione per aggiungere una funzione come un gestore eventi per d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange in modo che verrà chiamato quando cambia la fase del flusso aziendale.

Xrm.Page.data.process.addOnStageChange(handler);
  • Parametro
    Tipo: riferimento a funzione.

    Remarks: la funzione sarà aggiunta in fondo alla pipeline del gestore eventi. Il contesto di esecuzione viene impostato automaticamente come primo parametro passato al gestore eventi. Per ulteriori informazioni, vedere Contesto di esecuzione (riferimento sul lato client).

    Si consiglia di utilizzare un riferimento a una funzione denominata anziché a una funzione anonima se è possibile che successivamente venga rimosso il gestore eventi.

removeOnStageChange

Utilizzarlo per rimuovere una funzione come gestore eventi per d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange.

Xrm.Page.data.process.removeOnStageChange(handler);
  • Parametro
    Tipo: riferimento a funzione.

    Remarks: se una funzione anonima è impostata utilizzando il metodo addOnStageChange non può essere rimossa con questo metodo.

addOnStageSelected

Utilizzare questa opzione per aggiungere una funzione come un gestore eventi per d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected in modo che verrà chiamato quando viene selezionata la fase del flusso aziendale.

Xrm.Page.data.process.addOnStageSelected(handler);
  • Parametro
    Tipo: riferimento a funzione.

    Remarks: la funzione sarà aggiunta in fondo alla pipeline del gestore eventi. Il contesto di esecuzione viene impostato automaticamente come primo parametro passato al gestore eventi. Per ulteriori informazioni, vedere Contesto di esecuzione (riferimento sul lato client).

    Si consiglia di utilizzare un riferimento a una funzione denominata anziché a una funzione anonima se è possibile che successivamente venga rimosso il gestore eventi.

removeOnStageSelected

Utilizzarlo per rimuovere una funzione come gestore eventi per d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected.

Xrm.Page.data.process.removeOnStageSelected(function reference);
  • Parametro
    Tipo: riferimento a funzione.

    Remarks: se una funzione anonima è impostata utilizzando il metodo addOnStageSelected non può essere rimossa con questo metodo.

addOnProcessStatusChange

Utilizza questa opzione per aggiungere una funzione come un gestore eventi per l'evento d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnProcessStatusChange in modo che verrà chiamato quando cambia lo stato del flusso aziendale.

Xrm.Page.data.process.addOnProcessStatusChange(handler);
  • Parametro
    Tipo: riferimento a funzione.

    Remarks: la funzione sarà aggiunta in fondo alla pipeline del gestore eventi. Il contesto di esecuzione viene impostato automaticamente come primo parametro passato al gestore eventi. Per ulteriori informazioni, vedere Contesto di esecuzione (riferimento sul lato client).

    Si consiglia di utilizzare un riferimento a una funzione denominata anziché a una funzione anonima se è possibile che successivamente venga rimosso il gestore eventi.

    Questo metodo è stato introdotto in Aggiornamento di dicembre 2016 per Dynamics 365 (online e locale).

removeOnProcessStatusChange

Utilizza per rimuovere una funzione come gestore eventi per l'evento d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnProcessStatusChange.

Xrm.Page.data.process.removeOnProcessStatusChange(handler);
  • Parametro
    Tipo: riferimento a funzione.

    Remarks: se una funzione anonima è impostata utilizzando il metodo addOnProcessStatusChange non può essere rimossa con questo metodo.

    Questo metodo è stato introdotto in Aggiornamento di dicembre 2016 per Dynamics 365 (online e locale).

Metodi di navigazione

Utilizzare moveNext per passare alla fase successiva e movePrevious per passare alla fase precedente. Con entrambi i metodi si verificherà d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange.

moveNext

Avanza alla fase successiva.

Xrm.Page.data.process.moveNext(callbackFunction);
  • Parametro
    Tipo:: funzione

    Note: una funzione facoltativa da chiamare quando l'operazione è completa. Alla funzione di callback viene passato uno dei seguenti valori stringa per verificare se l'operazione è stata completata.

    Valore

    Descrizione

    completato

    L'operazione è stata completata.

    crossEntity

    La fase successiva è per un'entità diversa.

    end

    La fase attiva è l'ultima fase del percorso attivo.

    non valido

    L'operazione è non riuscita perché la fase selezionata non corrisponde alla fase attiva.

    dirtyForm

    Questo valore verrà restituito se i dati della pagina non vengono salvate.

Importante

Questo metodo può essere utilizzato solo quando la fase selezionata e la fase attiva sono uguali. Quando il codice viene avviato da d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange, verrà selezionata la fase corrente. Quando il codice viene avviato da d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected, è necessario utilizzare Xrm.Page.data.process.getActiveStage per verificare che la fase selezionata sia anche la fase attiva. Per ogni altro evento di modulo, non è possibile determinare la fase attualmente selezionata. Per conseguire i migliori risultati, questo metodo può essere utilizzato solo nel codice che viene chiamato nelle funzioni avviate da eventi OnStageSelected e OnStageChange.

movePrevious

Esegue lo spostamento alla fase precedente. È possibile utilizzare movePrevious in una fase precedente in un'entità diversa.

Xrm.Page.data.process.movePrevious(callbackFunction);
  • Parametro
    Tipo:: funzione

    Note: una funzione facoltativa da chiamare quando l'operazione è completa. Alla funzione di callback viene passato uno dei seguenti valori stringa per verificare se l'operazione è stata completata.

    Valore

    Descrizione

    completato

    L'operazione è stata completata.

    crossEntity

    La fase precedente è per un'entità diversa.

    beginning

    La fase attiva è la prima fase del percorso attivo.

    non valido

    L'operazione è non riuscita perché la fase selezionata non corrisponde alla fase attiva.

    dirtyForm

    Questo valore verrà restituito se i dati della pagina non vengono salvate.

Importante

Questo metodo può essere utilizzato solo quando la fase selezionata e la fase attiva sono uguali. Quando il codice viene avviato da d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange, verrà selezionata la fase corrente. Quando il codice viene avviato da d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected, è necessario utilizzare Xrm.Page.data.process.getActiveStage per verificare che la fase selezionata sia anche la fase attiva. Per ogni altro evento di modulo, non è possibile determinare la fase attualmente selezionata. Per conseguire i migliori risultati, questo metodo può essere utilizzato solo nel codice che viene chiamato nelle funzioni avviate da eventi OnStageSelected e OnStageChange.

Nota

È possibile utilizzare questo metodo da restituire a una fase precedente per un'entità diversa.

Metodi di processo

Un processo contiene i dati per un processo aziendale. Utilizzare i metodi per accedere alle proprietà del processo.

getId

Restituisce l'identificatore univoco del processo

var processId = procObj.getId();
  • Valore restituito
    Tipo:String

    Nota: valore rappresenta la stringa di rappresentazione di un valore GUID.

getName

Restituisce il nome del processo.

var processName = procObj.getName();
  • Valore restituito
    Tipo:String

getStages

Restituisce una raccolta di fasi nel processo

var stageCollection = procObj.getStages();
  • Valore restituito
    Tipo: raccolta

    Vedere Metodi di fase per i metodi che accedono alle proprietà delle fasi restituite.

isRendered

Restituisce true se è stato eseguito il rendering del processo, in caso contrario false

var processRendered = procObj.isRendered();

Metodi di istanza

Un'istanza del processo contiene i dati per un'istanza del processo aziendale. Utilizza i metodi per accedere alle proprietà dell'istanza del processo.

Nota

Questi metodi di istanza sono stati introdotti in Aggiornamento di dicembre 2016 per Dynamics 365 (online e locale).

getInstanceId

Restituisce l'identificatore univoco dell'istanza del processo.

Xrm.Page.data.process.getInstanceId();
  • Valore restituito
    Tipo:String

    Nota: valore rappresenta la stringa di rappresentazione di un valore GUID.

getInstanceName

Restituisce il nome dell'istanza del processo.

Xrm.Page.data.process.getInstanceName();
  • Valore restituito
    Tipo:String

getStatus

Restituisce lo stato corrente dell'istanza del processo.

Xrm.Page.data.process.getStatus();
  • Valore restituito
    Tipo:String

    Note: questo metodo restituirà uno dei valori seguenti: active, aborted o finished.

setStatus

Imposta lo stato corrente dell'istanza del processo attiva.

Xrm.Page.data.process.setStatus(status, callbackFunction);

Parametri:

  • status
    Tipo:String

    Nota: i valori possibili sono active, aborted o finished.

  • callbackFunction
    Tipo:Function

    Note: una funzione facoltativa da chiamare quando l'operazione è completa. Questa funzione di richiamata passa il nuovo stato come valore stringa.

Metodi di fase

Una fase contiene i dati per una fase in un processo aziendale. Utilizzare i metodi per accedere alle proprietà della fase.

getCategory

Restituisce un oggetto con un metodo getValue che restituirà il valore intero della categoria del processo aziendale.

var stageCategoryNumber = stageObj.getCategory().getValue();
  • Valore restituito
    Tipo:Number

    Note: vedere afe17a4a-fdca-44b4-8c14-a19ba327662e#BKMK_StageCategory per l'elenco di possibili valori.

getEntityName

Restituisce il nome logico dell'entità associata alla fase.

var stageEntityName = stageObj.getEntityName();
  • Valore restituito
    Tipo:String

getId

Restituisce l'identificatore univoco della fase

var stageId = stageObj.getId();
  • Valore restituito
    Tipo:String

getName

Restituisce il nome della fase

var stageName = stageObj.getName();
  • Valore restituito
    Tipo:String

getStatus

Restituisce lo stato della fase

var stageStatus = stageObj.getStatus();
  • Valore restituito
    Tipo:String

    Nota: questo metodo restituirà active o inactive.

getSteps

Restituisce una raccolta di fasi nella fase,

var stepsCollection = stageObj.getSteps();
  • Valore restituito
    Tipo:Array

    Vedere Metodi del passaggio affinché i metodi accedano ai valori della proprietà del passaggio.

Metodi del passaggio

Un passaggio contiene i dati per un passaggio in una fase in un processo aziendale. Utilizzare i metodi per accedere alle proprietà del passaggio.

getAttribute

Restituisce il nome logico dell'attributo associato al passaggio.

var stepAttributeName = stepObj.getAttribute();
  • Valore restituito
    Tipo:String

    Nota: alcuni passaggi non contengono un valore di attributo.

getName

Restituisce il nome del passaggio.

var stepName = stepObj.getName();
  • Valore restituito
    Tipo:String

isRequired

Restituisce se il passaggio è obbligatorio nel processo aziendale.

var stepIsRequired = stepObj.isRequired();
  • Valore restituito
    Tipo:Boolean

    Note: restituisce true se il passaggio è contrassegnato come obbligatorio nell'editor del processo aziendale; in caso contrario false. Non esiste una connessione tra questo valore e i valori che è possibile modificare nei metodi 6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_RequiredLevel dell'attributo Xrm.Page.data.entity.

Vedere anche

Scrivere gli script per i processi aziendali
Xrm.Page.ui.process (riferimento lato client)
Riferimento programmazione sul lato client
Riferimento rapido dello scripting dei moduli
Creare il codice per moduli di Microsoft Dynamics 365
Utilizzare il modello a oggetti Xrm.Page
Esempio: Xrm.Page.data.process.getEnabledProcesses
Esempio: Xrm.Page.data.process.getActivePath

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright