Cancellazione delle persone coinvolte nel workflow (BPM)

' Questa funzione effettua l'eliminazione dell'elenco degli utenti specificato dalla attività di workflow specificata. Se il dettaglio degli utenti non viene invece specificato, è possibile cancellare da una fase solo coloro i quali non hanno ancora espresso il proprio benestare o rifiuto. 
' Se il parametro ALL_NOT_SIGNED che per default è FALSE viene impostato a TRUE, l'array dei CODICI utente non sarò in alcun modo preso in considerazione. 
' La funzione restituisce il messaggio d'errore in caso di fallimento, stringa vuota altrimenti
' Parametri: 
' DB -> Oggetto database. 
' TIPO -> Codice della Categoria Documentale di QualiWare in cui risiede il documento target. 
' TIPO_CONT -> Codice del documento target. 
' NUMERO -> Numero del documento target. 
' IND_REV -> Indice di Revisione del documento target. 
' ACTIVITYID -> ID Attività dalla quale eliminare le persone coinvolte. 
' PERSONS -> Array ad una sola dimensione contenente i CODICI univoci degli utenti QualiWare da cancellare. 
' ALL_NOT_SIGNED -> Di default è impostato a FALSE e così viene utilizzato l'array PERSONS. 
'                  Può essere impostato a TRUE nel caso in cui si voglia cancellare tutti gli utenti che, come detto, ancora non hanno espresso alcuna preferenza.

' NOTA: DB, CODDOC e ACTIVITY sono variabili già definite se il codice viene usato negli script di pre e post-esecuzione di un'attività nel WORKFLOW designer
dim esito as string
dim codam as dbarray=new dbarray()
codam.add("AM1") ' Codici dell'utenti da rimuovere

dim tipo, tipo_cont, numero as string
dim ind_rev as integer
 
UnPackCode("DW",CODDOC,tipo,tipo_cont,numero,ind_rev)
 
esito=BPMWorkflowDeletePersons(DB,tipo,tipo_cont,numero,ind_rev,ACTIVITY,codam,false)

' se si desidera rimuovere solo gli utenti che non hanno nè firmato nè rifiutato
esito=BPMWorkflowDeletePersons(DB,tipo,tipo_cont,numero,ind_rev,ACTIVITY,nothing,true)