Sfruttando il metodo SearchDocRows e' possibile creare report statistici anche complessi
Ad esempio il seguente script calcola la quantita' totale movimentata sui documenti con causale di tipo "Vendita", per un determinato articolo, nel mese di gennaio 2007.
Quindi utilizzando una formula come questa su piu' colonne, modificando la data di inizio e fine per ogni colonna, e' possibile generare un report statistico simile al seguente:
Ad esempio il seguente script calcola la quantita' totale movimentata sui documenti con causale di tipo "Vendita", per un determinato articolo, nel mese di gennaio 2007.
Option Explicit
Dim TotMovimenti
Dim DataInizioStatistica
Dim DataFineStatistica
Dim RigheMovimenti
Dim rigaDoc
TotMovimenti = 0
DataInizioStatistica = "01/01/2007"
DataFineStatistica = "31/01/2007"
Set RigheMovimenti = Product.SearchDocRows(Rdy.toDate(DataInizioStatistica), Rdy.toDate(DataFineStatistica))
For Each rigaDoc In RigheMovimenti
If rigaDoc.Doc.DocCause.IsSelling Then ' Considera solo causali di tipo VENDITA
TotMovimenti = TotMovimenti + rigaDoc.Quantity ' Somma la quantita'
End If
Next
Set RigheMovimenti = Nothing
Response.Write("" & TotMovimenti)
Quindi utilizzando una formula come questa su piu' colonne, modificando la data di inizio e fine per ogni colonna, e' possibile generare un report statistico simile al seguente:
VARIANTE 1
Questo script calcola le quantita' vendute negli ultimi 30 giorni (modificando il parametro -30 nella funzione DateAdd all'interno dello script e' possibile chiaramente calcolare il totale delle vendite anche per un periodo diverso).
Questo script calcola le quantita' vendute negli ultimi 30 giorni (modificando il parametro -30 nella funzione DateAdd all'interno dello script e' possibile chiaramente calcolare il totale delle vendite anche per un periodo diverso).
Option Explicit
Dim TotMovimenti
Dim DataInizioStatistica
Dim DataFineStatistica
Dim rigaDoc
Dim RigheMovimenti
TotMovimenti = 0
DataInizioStatistica = DateAdd("d",-30,Rdy.Today())
DataFineStatistica = Rdy.Today()
Set RigheMovimenti = Product.SearchDocRows(DataInizioStatistica, DataFineStatistica)
For Each rigaDoc In RigheMovimenti
If rigaDoc.Doc.DocCause.IsSelling Then ' Considera solo causali di tipo VENDITA
TotMovimenti = TotMovimenti + rigaDoc.Quantity ' Somma la quantita'
End If
Next
Set RigheMovimenti = Nothing
Response.Write("" & TotMovimenti)