Creazione di un documento in una categoria (senza intervento dell’utente)

' Il seguente frammento di codice crea un documento in una categoria documentale senza intervento dell'utente dopo la creazione

' DW_Archivia(QWSess,pTipo,pTipo_Cont,pNumero,pInd_Rev,pTitolo,Campi,pPubblica,pNomeFile)
' QWSess -> Solo versione web: è la sessione di lavoro 
' pTipo -> Tipo del documento (codice categoria) 
' pTipo_Cont -> Tipo_Cont del documento 
' pNumero -> Numero del documento. Se viene passata una variabile dal valore Nothing, il progressivo verrà calcolato automaticamente in base al valore di pTipo_Cont e restituito nella variabile stessa
' pInd_rev -> Indice di revisione 
' pTitolo -> Titolo del documento 
' campi -> Array associativo contenente i valori degli altri campi del record di DOCUMENT 
' pPubblica -> True = il documento viene pubblicato 
' pNomefile -> Nome del file da aggiungere. Può essere il nome di un modello locale alla categoria di destinazione, senza il percorso. Nel caso la categoria sia di tipo FORM, ed esista un template di 
stampa HTML, questo parametro può essere lasciato vuoto.
' pSovrascrivi -> True = sostituisce il file se esiste una versione non pubblicata (opzionale, non specificato equivale a false)

dim campi as assocarray
dim msg as string

campi=new assocarray()
campi("CUSTOM1")= "Campo 1"

' Assegnamento delle righe
dim doc_rows as new DBArray()

doc_rows.add(new assocarray())
doc_rows(1)("CUSTOM1")="Riga 1"
doc_rows(1)("FLAG1")="True"
doc_rows(1)("NUMBER1")=100.2
doc_rows(1)("DATE1")=today()

doc_rows.add(new assocarray())
doc_rows(2)("CUSTOM1")="Riga 2"
doc_rows(2)("FLAG1")="True"
doc_rows(2)("NUMBER1")=101.2
doc_rows(2)("DATE1")=Today

campi("DOC_ROWS")=doc_rows ' L'array va assegnato ad un campo speciale denominato DOC_ROWS

dim tag as new DBArray()
tag.add("TAG1")
tag.add("TAG2")
campi("TAG")=tag ' L'array va assegnato ad un campo speciale denominato TAG

Dim Numero as String=nothing ' Se questa variabile viene lasciata vuota, la primitiva assegnerà il primo progressivo libero e lo restituirà nella variabile stessa

msg = DW_Archivia(form.Session("QWSess"),"P", "ARC", Numero, 0, "ProvaCreazione", campi, false, "MODELLO3.XLT")
if msg<>"" then
   form.alert(msg)
else
   form.alert("Creazione documento effettuata con successo. Numero progressivo: "+Numero)
end if