Domanda

Il problema che sto cercando di risolvere il problema è che non siamo in grado di riferire su approvazioni in sospeso.

Ho visto la raccomandazione che aggiorniamo i campi sull'oggetto che viene instradato nell'azione che viene eseguito dopo ogni passo -. Tuttavia questo non funziona quando il passo è per le approvazioni parallele

non sono stato in grado di trovare un oggetto che è possibile allegare un grilletto per sparare dopo che ogni persona approva.

Alla fine della giornata ho bisogno di essere in grado di prodotto un report di chi ha bisogno di approvare quello che (mi rendo conto che ogni persona vedrà che cosa hanno bisogno per l'approvazione sulla loro homepage, ho bisogno di altri di essere in grado di tirare una relazione su tutte le approvazioni in sospeso).

Tutte le idee?

È stato utile?

Soluzione

Da quando ho davvero bisogno per chiunque di essere in grado di controllare tutte le approvazioni in sospeso o approvazioni in sospeso per un particolare gli utenti in qualsiasi momento ho creato una pagina Visualforce e usato il seguito query seconda alla ricerca di ogni attesa di approvazione o di quelli per un utente .

Per tutte le approvazioni in sospeso:

[SELECT Status, TargetObject.Name, TargetObjectId, TargetObject.Type, (SELECT Actor.Id, Actor.Name, Actor.Email, CreatedDate FROM WorkItems)
                                    FROM ProcessInstance
                                    WHERE TargetObject.Type = 'ObjectICareAbout__c' and Status='Pending']

Per le approvazioni per un determinato utente in attesa:

[SELECT ActorId, Actor.Name, Actor.Email, CreatedDate, ProcessInstance.Status, ProcessInstance.TargetObjectId, ProcessInstance.TargetObject.Name
                                            FROM ProcessInstanceWorkitem
                                            WHERE ActorId = :user AND ProcessInstance.Status = 'Pending' AND ProcessInstance.TargetObject.Type = 'ObjectICareAbout__c']

Questi vengono quindi mappati ad una vista del modello comune per visualizzato nella pagina VF.

Altri suggerimenti

In primo luogo - andare a Rapporti -> Rapporti amministrativi -.> Tutte le richieste di approvazione in sospeso

Check it out e vedere se può essere messo a punto per soddisfare le vostre esigenze. Se avete bisogno di essere in grado di condividere con i non amministratori - considerare la possibilità di un cruscotto fuori di esso (può essere Table) e ne programmi la corsa quotidiana e l'invio di email ...

Se ti senti ancora bisogno di una soluzione - possiamo certamente sperimentare con

tuttavia questo non funziona quando il passo è per omologazioni parallele

Hai provato utilizzando formule nell'aggiornamento? Roba come lavoro someHiddenNumberField +1 forza (non posso provarlo in mia edizione Dev al momento); se non direttamente come quello poi con un po 'di zucchero sintattico come PRIORVALUE(). O forse anche meglio - con un campo di testo e aggiungendo in essa data / ora + che ha approvato. Poi nell'ultimo passaggio si cancella il "contatore" e finito.

Se trucco con gli aggiornamenti basati su formule non funziona (nessuna promessa, è solo un'idea) allora forse mantenere il vecchio modo di impostare campo speciale, ma definisce anche un trigger "prima di aggiornamento" su questo oggetto ( o del flusso di lavoro ? ma questo è ancora una volta una formula ) che verifica il valore, l'aggiornamento "contatore" e impostare la schiena campo nascosto al valore originale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top