Stampare insieme più ordini contemporaneamente

In questo esempio vedremo come realizzare una stampa che permetta di unire più ordini insieme utilizzando l’oggetto document.

Gruppo ScriptEvento
ProgrammaAzione
tabella = database.getsql("SELECT gguid FROM ordini WHERE eli=0")

Iniziamo a estrapolare quali sono gli ordini che andremo a stampare. In questo caso diciamo che li prenderemo tutti. Ovviamente è meglio inserire un sistema di filtro come per data o cliente.

Per eseguire le stampe comunque avremo bisogno solo del gguid di ogni ordine

righe = tabella.getrows()
stampa = nil
for i = 1,tabella.countrows() do
        if stampa == nil then
               stampa = database.createdocument("gguidstampa", "ordini",righe[i].getvalue("gguid"))
        else
               stampa2 = database.createdocument("gguidstampa", "ordini",righe[i].getvalue("gguid"))
               stampa.adddocument(stampa2)
        end
end
if stampa != nil then
        stampa.show()
end

Iniziamo girando tutte le righe della tabella. Abbiamo creato un oggetto stampa vuoto perchè abbiamo bisogno di creare un primo document che raccolga tutti gli altri.

Dopo avere impostato l’oggetto stampa tutti gli altri ordini verranno accodati a questo.

Alla fine se almeno una stampa è presente procederemo a mostrarla.