Questo script consente di visualizzare (ad esempio sugli ordini clienti o su un documento di vendita) a fianco di ogni riga, il prezzo praticato allo stesso cliente per lo stesso articolo, nell'ultimo documento di vendita emesso (ddt, fattura accompagnatoria e ricevute).
Nel caso in cui nell'ultimo documento l'articolo sia presente piu' volte viene visualizzata la dicitura Verificare:
Nel caso in cui nell'ultimo documento l'articolo sia presente piu' volte viene visualizzata la dicitura Verificare:
Option Explicit
Dim DataUltimoMovimento
Dim IdUltimoMovimento
Dim UltimoPrezzo
Dim RigaMovimento
Dim PrezzoDaUtilizzare
Dim PrezzoScontato
Dim Quantita
Dim MovimentiSuDocumento
DataUltimoMovimento = Empty
IdUltimoMovimento = 0
UltimoPrezzo = 0
If RowItem.Product.Id>0 Then ' Se la riga e' relativa ad un articolo
For Each RigaMovimento In RowItem.Product.SearchDocRows(,,RowItem.Doc.Anag.Id)
Select Case RigaMovimento.Doc.DocType
Case 1,2,3,14
PrezzoScontato = Rdy.toDouble(RigaMovimento.CustomField(49))
Quantita = Rdy.toDouble(RigaMovimento.CustomField(30))
If (PrezzoScontato>0)And(Quantita>0)And(RigaMovimento.Id<>RowItem.Id) Then
PrezzoDaUtilizzare = False
If IsDate(DataUltimoMovimento) Then
If DataUltimoMovimento < Rdy.toDate(RigaMovimento.Doc.CustomField(20)) Then
PrezzoDaUtilizzare = True
ElseIf DataUltimoMovimento = Rdy.toDate(RigaMovimento.Doc.CustomField(20)) Then
If IdUltimoMovimento < RigaMovimento.Id Then
PrezzoDaUtilizzare = True
End If
End If
Else
PrezzoDaUtilizzare = True
End If
If PrezzoDaUtilizzare Then
DataUltimoMovimento = Rdy.toDate(RigaMovimento.Doc.CustomField(20))
IdUltimoMovimento = RigaMovimento.Id
UltimoPrezzo = PrezzoScontato
End If
End If
End Select
Next
End If
If (UltimoPrezzo>0)And(IdUltimoMovimento>0) Then
' Controllo se nello stesso documento sono presenti piu' righe per lo stesso articolo
MovimentiSuDocumento = 0
For Each RigaMovimento In Rdy.DocRow(IdUltimoMovimento).Doc.DocRows
If RigaMovimento.Product.Id = RowItem.Product.Id Then
Quantita = Rdy.toDouble(RigaMovimento.CustomField(30))
If (Quantita>0) Then
MovimentiSuDocumento = MovimentiSuDocumento+1
End If
End If
Next
' Visualizzazione dei risultati
If MovimentiSuDocumento>1 Then
Response.Write("Verificare")
Else
Response.Write(Rdy.FormatCurrency(UltimoPrezzo))
End If
End If