Invio di un messaggio ai redattori e agli utenti coinvolti in altre fasi (BPM)

' Questo script invia mail di notifica ai redattori del documento (fase R), o agli utenti coinvolti in altre fasi.
' NB Tali fasi devono essere iniziate o concluse, non da cominciare

dim tipo, tipo_cont, numero as string
dim ind_rev as integer

Unpackcode("DW",CODDOC,tipo,tipo_cont,numero,ind_rev)

Dim par1 As AssocArray = New AssocArray
dim q1 as qwtable
Dim msg1,sql1 as String
dim QWSess As QWSession = DB.QWSession
dim dest as new dbarray()
dim URL AS string
url = QWSess.DESCRITT.Rowset.Fields("QWS_URL").value+"/redirect.aspx?DOC=DW|"+CODDOC

' Va a cercare i redattori : si può inviare agli utenti di altra fase sostituendo il suo codice nel parametro CODFASE
par1("T")=tipo
par1("TC")=tipo_cont
par1("N")=numero
par1("IR")=ind_rev
par1("CODFASE")="R"
sql1="select p.mail from doc_reve dr join person p on dr.nome=p.codice where tipo=:T and tipo_cont=:TC and numero=:N and ind_rev=:IR and tipo_p=:CODFASE and p.mail is not null"

‘Per aggiungere un'altra fase alla notifica, commentare la riga precedente (sql1=…) e abilitare le due successive
'par1("CODFASE2")="V"
'sql1="select p.mail from doc_reve dr join person p on dr.nome=p.codice where tipo=:T and tipo_cont=:TC and numero=:N and ind_rev=:IR and (tipo_p=:CODFASE or tipo_p=:CODFASE2) and p.mail is not null"

‘Per aggiungere due altre fasi alla notifica, commentare la riga precedente (sql1=…) e abilitare le tre successive
'par1("CODFASE2")="V"
'par1("CODFASE3")="X"
'sql1="select p.mail from doc_reve dr join person p on dr.nome=p.codice where tipo=:T and tipo_cont=:TC and numero=:N and ind_rev=:IR and (tipo_p=:CODFASE or tipo_p=:CODFASE2 or tipo_p=:CODFASE3) and p.mail is not null"

q1=OpenTable(DB,sql1,par1,false,false,msg1)

if empty(msg1) and q1.rowset.first()
                do while not q1.rowset.endofset()
                               dest.add(q1.rowset.fields(1).value)
                               q1.rowset.next()
                loop       

‘ Nel quanto argomento si può indicare l’oggetto della mail inviata; nel quinto il testo; possono contenere due variabili con codice univoco del documento (CODDOC) e il link ad esso (url)
   BPMSendMail(DB,CODDOC,dest,"OGGETTO MAIL "+CODDOC,"Testo mail <a href='"+url+"'>link</a>",false)
end if
CloseTable(q1)