Aggiunta di persone al workflow (BPM)

' La primitiva BPMWorkflowAddPersons inserisce uno o più utenti all'interno di una specificata attività di workflow di un qualsiasi documento QualiWare appartenente ad una categoria BPM. 
' È quindi possibile, partendo da una categoria documentale X di tipo BPM, inserire persone all'interno del workflow di un documento ad essa appartenente.
' 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à alla quale aggiungere le persone. 
' PERSONS -> Array ad una sola dimensione che contiene l'elenco dei CODICI univoci degli utenti QualiWare da inserire nella fase di workflow. 
' GG_RIT -> Giorni da aggiungere alla data corrente per calcolare la data di richiesta di completamento dell'attività.

' NOTA: DB, CODDOC, FORMFIELDS e ACTIVITY sono variabili già definite se il codice viene usato negli script di pre e post-esecuzione di un'attività nel WORKFLOW designer
if not empty(formfields("CUSTOM1").value) 
   ' viene assegnato il responsabile dell'ente TM alle fasi TMM (T) e Chiusura (A), ID 30 e 99)
   Dim par As AssocArray = New AssocArray
   dim msg as string
   dim q1 as qwtable
   par("CODUT")=left(formfields("CUSTOM1").value,5) 
   q1=OpenTable(DB,"select codice from person where (ENTE=:CODUT and RESP=1) or (ENTE2=:CODUT and RESP2=1) or (ENTE3=:CODUT and RESP3=1) or (ENTE4=:CODUT and RESP4=1) or (ENTE5=:CODUT and RESP5=1) and(DATAFINE is null)",par,false,false,msg) 
  
   dim tipo, tipo_cont, numero as string
   dim ind_rev as integer
 
   UnPackCode("DW",CODDOC,tipo,tipo_cont,numero,ind_rev)
 
   if empty(msg) then
      dim codam = New DBArray
      do
         codam.add(q1.rowset.fields(1).value)
      loop until not q1.rowset.next()
    
      dim esito as String
      esito=BPMWorkflowAddPersons(DB,tipo,tipo_cont,numero,ind_rev,30,codam,0)
      esito=BPMWorkflowAddPersons(DB,tipo,tipo_cont,numero,ind_rev,99,codam,0)
   end if

   CloseTable(q1)
end if