Scrivere gli script per i processi aziendali

 

Data di pubblicazione: gennaio 2017

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

Con Microsoft Dynamics 365 (online e locale) c'è un oggetto sul lato client che è possibile utilizzare per l'interazione con i processi aziendale negli script. Lo spazio dei nomi Xrm.Page.data è esteso per includere i metodi in Xrm.Page.data.process. Lo spazio dei nomi Xrm.Page.ui è esteso per includere i metodi in Xrm.Page.ui.process.

In questo argomento

Struttura dei processi aziendali

Azioni che possono essere automatizzate

Eventi per i processi aziendali

Struttura dei processi aziendali

I processi aziendali consistono in una serie di fasi, ognuna contenente una serie di passaggi. Solo una fase è quella attiva. Quando i passaggi obbligatori in ogni fase sono completi, il processo può passare alla fase successiva e diventa la fase attiva. La fase successiva può essere definita in base alle condizioni nel processo aziendale come illustrato nella figura seguente.

Oggetti del processo aziendale

Le fasi possono essere associate a entità correlate specifiche, in questo modo un processo aziendali può estendersi su più entità. Il processo aziendale rimane lo stesso e porta l'utente a una conclusione desiderata.

A partire da Aggiornamento di dicembre 2016 per Dynamics 365 (online e locale), diverse definizioni dei processi aziendali possono essere associate a diversi ruoli e le istanze possono essere eseguite simultaneamente sullo stesso record di entità. Gli utenti possono passare tra le varie istanze dei processi aziendali simultanei e riprendere il lavoro a una fase corrente del processo.

Ulteriori informazioni:TechNet: Processi aziendali

Azioni che possono essere automatizzate

In genere, l'avanzamento con il processo aziendale dipende dall'input dell'utente. Come sviluppatore, è possibile eseguire le stesse azioni a livello di programmazione in script dei moduli.

  • Modificare il processo quando ci sono più processi disponibili per l'entità.
    Utilizzare Xrm.Page.data.process.getEnabledProcesses per recuperare le informazioni sui processi attivati che l'individuo può scegliere per l'entità. Pertanto utilizza Xrm.Page.data.process.setActiveProcess per rendere attiva una delle istanze di processo abilitate o creare una nuova istanza di processo.

  • Modificare l'istanza del processo per un record di entità
    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.

  • Passare alla fase successiva quando tutti i passaggi obbligatori vengono compilati per renderla la fase attiva corrente.
    Utilizzare le Xrm.Page.data.process.moveNext.

  • Passare alla fase precedente e renderla la fase attiva corrente.
    Utilizzare le Xrm.Page.data.process.movePrevious.

  • Selezionare una fase per visualizzare lo stato dei passaggi nella fase.
    Utilizzare Xrm.Page.data.process.getActivePath per recuperare le informazioni sulle fasi completate, la fase corrente attiva e le fasi valide disponibili dalla fase attiva corrente. Esaminare i passaggi inclusi in tale fase e confrontare i valori di attributo del modulo corrispondenti per verificare se sono completati.

  • Completare un passaggio
    I passaggi vengono completati quando vengono immessi i dati corrispondenti nel modulo. È possibile determinare l'attributo utilizzando il metodo getAttribute del passaggio. Ciò restituirà il nome logico dell'attributo. Utilizzare quindi Xrm.Page.getAttribute per recuperare l'attributo dalla raccolta Xrm.Page.data.entity.attributes e quindi utilizzare il metodo 6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_setValue dell'attributo per impostare il valore.

  • Rilevare se è obbligatorio un passaggio
    Utilizzare il metodo isRequired del passaggio per determinare se un passaggio è richiesto dal flusso aziendale.

  • Espandere o comprimere il controllo del processo aziendale
    Utilizzare le Xrm.Page.ui.process.setDisplayState.

  • Passare a una fase valida completata.
    Utilizzare Xrm.Page.data.process.setActiveStage per impostare una delle fasi completate valide per l'entità corrente.

Esistono inoltre alcune operazioni consentite per gli sviluppatori che un utente non può eseguire.

  • Nascondere il controllo del processo
    Utilizzare Xrm.Page.ui.process.setVisible, è possibile controllare se visualizzare il controllo del flusso aziendale.

  • Eseguire una query della definizione di processo incluse le fasi non al momento visibili
    Utilizzare Xrm.Page.data.process.getActiveProcess per eseguire la query della definizione del processo aziendale, incluse le fasi che potrebbero non essere visibili a causa della logica di creazione di rami nel processo.

Eventi per i processi aziendali

Puoi interagire con qualsiasi evento fornito dal modulo con i flussi aziendale, ma i seguenti nuovi eventi ti consentono di eseguire il codice in base agli eventi solo per il controllo del processo aziendale.

  • È possibile eseguire il codice quando la fase attiva di un processo aziendale cambia (d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange) o quando una fase è selezionata (d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected).

  • Puoi eseguire il codice quando lo stato di un'istanza di processo aziendale cambia (d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnProcessStatusChange). Un'istanza di processo aziendale può avere uno dei due seguenti stati: Active, Finished o Aborted.

Nessuno di questi nuovi eventi offre un'interfaccia utente per registrare i gestori eventi. È necessario utilizzare i metodi forniti per aggiungere o rimuovere i gestori per tali eventi nell'evento OnLoad del modulo.Ulteriori informazioni:f451f339-bcee-4260-9904-abc8c0efa153#BKMK_BPFControl

Vedere anche

Utilizzare il modello a oggetti Xrm.Page
Xrm.Page.data.process (riferimento lato client)
Esempio: Xrm.Page.data.process.getEnabledProcesses
Esempio: Xrm.Page.data.process.getActivePath
f451f339-bcee-4260-9904-abc8c0efa153#BKMK_BPFControl
TechNet: Processi aziendali

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright