Imprimir múltiples pedidos juntos a la vez

En este ejemplo, veremos cómo realizar una impresión que le permita unir varios pedidos mediante el objeto document.

Grupo ScriptEvento
ProgramaAcción
table_rows = database.getsql("SELECT gguid FROM orders WHERE eli=0")

Comenzamos a extrapolar qué órdenes vamos a imprimir. En este caso decimos que los tomaremos todos. Obviamente, es mejor insertar un sistema de filtro según la fecha o el cliente.

Sin embargo, para realizar las impresiones solo necesitaremos el gguid de cada pedido.

rows = table_rows.getrows()
print = nil
for i = 1,table_rows.countrows() do
        if print == nil then
               print = database.createdocument("gguidprint", "orders",rows[i].getvalue("gguid"))
        else
               print2 = database.createdocument("gguidprint", "orders",rows[i].getvalue("gguid"))
               print.adddocument(print2)
        end
end
if print != nil then
        print.show()
end

Empezamos girando todas las líneas de la tabla. Creamos un objeto impresión vacío porque necesitamos crear un primer document que recopile todos los demás.

Después de configurar el objeto impresión, todas los demás órdenes se agregarán a esto.

Al final, si al menos una impresión está presente, procederemos a mostrarla.