Le funzionalita' descritte in questa pagina fanno riferimento ad una versione minima di Ready Pro v2025.8
Questo script genera del testo nel formato utilizzabile con la funzionalita' "Stampa speciale come griglia" in modo da consentire la stampa di una griglia riepilogativa dei codici doganali utilizzati su un documento
Option Explicit
Dim RigaDoc
Dim ChiaveRaggruppamento
Dim CodiceDoganale
Dim CodicePaese
Dim NomePaese
Dim UM
Dim Quantita
Dim Valore
Dim Peso
Dim trovato
Dim i
Dim numElementi
Dim aChiave()
Dim aCodiceDoganale()
Dim aCodicePaese()
Dim aNomePaese()
Dim aUM()
Dim aQuantita()
Dim aValore()
Dim aPeso()
numElementi = 0
' raggruppamento valori del corpo
For Each RigaDoc In Doc.DocRows
CodiceDoganale = RigaDoc.CustomField(595)
CodicePaese = RigaDoc.CustomField(592)
NomePaese = RigaDoc.CustomField(593)
UM = RigaDoc.CustomField(25)
Quantita = RigaDoc.Quantity
Valore = Rdy.toDouble(RigaDoc.CustomField(61)) ' Totale scontato senza IVA
Peso = Rdy.toDouble(RigaDoc.CustomField(501)) ' peso netto totale
If CodiceDoganale<>"" Then
' raggruppamento per codice doganale, paese ed unita' di misura
ChiaveRaggruppamento = CodiceDoganale & "-" & CodicePaese & "-" & UM
trovato = 0
For i = 1 to numElementi
If ChiaveRaggruppamento = aChiave(i) Then
trovato = i
End If
Next
If trovato>0 Then
' trovato un elemento con stessa chiave su cui cumulare i valori
aQuantita(trovato) = aQuantita(trovato) + Quantita
aValore(trovato) = aValore(trovato) + Valore
aPeso(trovato) = aPeso(trovato) + Peso
Else
' nuovo elemento
numElementi = numElementi +1
Redim Preserve aChiave(numElementi)
Redim Preserve aCodiceDoganale(numElementi)
Redim Preserve aCodicePaese(numElementi)
Redim Preserve aNomePaese(numElementi)
Redim Preserve aUM(numElementi)
Redim Preserve aQuantita(numElementi)
Redim Preserve aValore(numElementi)
Redim Preserve aPeso(numElementi)
aChiave(numElementi)=ChiaveRaggruppamento
aCodiceDoganale(numElementi) = CodiceDoganale
aCodicePaese(numElementi) = CodicePaese
aNomePaese(numElementi) = NomePaese
aUM(numElementi) = UM
aQuantita(numElementi) = Quantita
aValore(numElementi) = Valore
aPeso(numElementi) = Peso
End If
End If
Next
If numElementi>0 Then
' Stampa la griglia solo se ci sono elementi
' intestazione griglia
Response.Write("Codice|Paese|UM|Quantita|Valore|Peso" & vbCrLf)
For i = 1 to numElementi
Response.Write(aCodiceDoganale(i) & "|" & aCodicePaese(i) & " " & aNomePaese(i) & "|" & aUM(i) & "|" & Rdy.FormatDecimalPoint(aQuantita(i),3) & "|" & Rdy.FormatCurrency(aValore(i)) & "|" & Rdy.FormatDecimalPoint(aPeso(i)) & vbCrLf)
Next
End If
Sul modello di stampa andranno poi adattate le dimensioni e allineamento delle colonne, la stampa dei bordi delle celle, ecc.
Personalizzando lo script e' inoltre possibile decidere quali valori stampare (ad esempio se stampare i pesi e/o il valore) ed il metodo di raggruppamento
Personalizzando lo script e' inoltre possibile decidere quali valori stampare (ad esempio se stampare i pesi e/o il valore) ed il metodo di raggruppamento