|
U0
la parte di codice in questione è la seguente:
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
Rdy.ResponseWrite("Verificare")
Else
Rdy.ResponseWrite(Rdy.FormatCurrency(UltimoPrezzo))
End If
End If
|