Calcolo delle quantita' vendute in uno specifico periodo

Creato il: 12.04.2016
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.

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).

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)

Login