60 lines
2.1 KiB
Plaintext
60 lines
2.1 KiB
Plaintext
' UpdateArticleRow(RowNumber: Integer)
|
|
' ---------------------------------------------------------
|
|
' Trägt die gescannte Menge eines Artikel in das Grid ein
|
|
' - Ändert die Farbe, abhängig von Gesamtmenge und Gescannte Menge
|
|
' - Überprüft, ob Artikel in der Gescannten Menge auf Lager liegt
|
|
'
|
|
' Rückgabewert: Keiner
|
|
' ---------------------------------------------------------
|
|
' Version Date: 03.12.2020
|
|
Sub UpdateArticleRow(RowNumber)
|
|
Set mywin = CWLStart.CurrentModule.Windows.Item(WINDOW_ID)
|
|
Set Grid = mywin.Controls.Item(GRID_ID).Grid
|
|
Set amountBox = mywin.Controls.Item(AMOUNT_INPUT)
|
|
DebugMessage = ""
|
|
|
|
' Bereits gescannte, Gesamt und Anzahl zu Scannen auslesen
|
|
ProductNumber = Grid.GetCellValue(RowNumber, COLUMN_ARTICLENUMBER)
|
|
Total = Cint(Grid.GetCellValue(RowNumber, COLUMN_TOTAL))
|
|
Scanned = Cint(Grid.GetCellValue(RowNumber, COLUMN_SCANNED))
|
|
ScannedAmount = Cint(amountBox.Contents)
|
|
|
|
' Aktuellen Lagerstand abfragen
|
|
StockedAmount = GetWinLineStockedAmount(ProductNumber, False)
|
|
|
|
' Neue bereits gescannte berechnen
|
|
NewScanned = Scanned + ScannedAmount
|
|
|
|
If DEBUG_ON = True Then
|
|
AddDebugLine "Total " & Total
|
|
AddDebugLine "Scanned: " & Scanned
|
|
AddDebugLine "NewScanned: " & NewScanned
|
|
AddDebugLine "StockedAmount: " & StockedAmount
|
|
|
|
ShowDebugBox "UpdateArticleRow"
|
|
End If
|
|
|
|
' Zeilenfarbe anpassen:
|
|
' GRÜN: Komplett gescannt
|
|
' GELB: Teilweise gescannt
|
|
If NewScanned > StockedAmount Then
|
|
Message = ""
|
|
Message = Message & "Der Artikel ist nur in der Menge " & StockedAmount & " vorhanden." & vbNewline
|
|
Message = Message & "Der Scan wird abgebrochen!"
|
|
Msgbox Message, vbExclamation, DEFAULT_TITLE
|
|
|
|
Elseif NewScanned = Total Then
|
|
Grid.SetLineColor RowNumber, COLOR_GREEN
|
|
Grid.SetCellValue RowNumber, COLUMN_SCANNED, NewScanned
|
|
|
|
Elseif NewScanned < Total Then
|
|
Grid.SetLineColor RowNumber, COLOR_YELLOW
|
|
Grid.SetCellValue RowNumber, COLUMN_SCANNED, NewScanned
|
|
|
|
Else
|
|
Message = ""
|
|
Message = Message & "Eingegebene Menge überschreitet die Gesamt-Anzahl oder" & vbNewline
|
|
Message = Message & "Artikel wurde bereits vollständig gescannt!"
|
|
Msgbox Message, vbExclamation, DEFAULT_TITLE
|
|
End If
|
|
End Sub |