8
0
2024-01-24 16:42:38 +01:00

70 lines
2.9 KiB
Plaintext

' TransferGridData()
' ----------------------------------------------------------------------------
' Überführt die Gescannten Daten aus dem Grid in die Datenstruktur
'
' Returns: TransferGridData: Boolean
' ----------------------------------------------------------------------------
' Copyright (c) 2021 by Digital Data GmbH
'
' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
' Tel.: 0641/202360 • E-Mail: info-flow(at)digitaldata.works
' ----------------------------------------------------------------------------
' Creation Date / Author: 01.09.2021 / JJ
' Version Date / Editor: 25.03.2021 / MP
' Version Number: 4.0.0.0
Function TransferGridData()
Set mywin = CWLStart.CurrentModule.Windows.Item(WINDOW_ID)
Set Grid = mywin.Controls.Item(GRID_ID).Grid
For GridIndex = 1 To Grid.LineCount: Do
Total = Cint(Grid.GetCellValue(GridIndex, COLUMN_TOTAL))
Scanned = Cint(Grid.GetCellValue(GridIndex, COLUMN_SCANNED))
ChargeFlag = Cint(Grid.GetCellValue(GridIndex, COLUMN_CHARGE_FLAG)) ' Checkbox-Werte = 0 oder 1
' Zeilennummer aus Auftrag
LineNumber = Cint(Grid.GetCellValue(GridIndex, COLUMN_LINE_NUMBER))
SerialNumber = Grid.GetCellValue(GridIndex, COLUMN_SERIALNUMBER)
MacroFlag = Grid.GetCellValue(GridIndex, COLUMN_MACRO_FLAG)
If Scanned = 0 Then
Exit Do
End If
For OrderArrayIndex = 0 To Ubound(ORDER_ARTICLE_DATA, 2)
If ORDER_ARTICLE_DATA(INDEX_IS_VISIBLE, OrderArrayIndex) = True Then
If ORDER_ARTICLE_DATA(INDEX_LINE_NUMBER, OrderArrayIndex) = LineNumber Then
ArraySerialNumber = ORDER_ARTICLE_DATA(INDEX_SERIAL_NUMBER, OrderArrayIndex)
If MacroFlag = 1 Then
For MacroArrayIndex = 0 To UBound(MACRO_ARTICLE_LIST)
If (MACRO_ARTICLE_LIST(COLUMN_MACRO_ARTICLE_LINE_NUMBER, MacroArrayIndex) = LineNumber) Then
If (MACRO_ARTICLE_LIST(COLUMN_MACRO_ARTICLE_COMPLETE, MacroArrayIndex) = True) Then
ORDER_ARTICLE_DATA(INDEX_AMOUNT_SCANNED, OrderArrayIndex) = MACRO_ARTICLE_LIST(COLUMN_MACRO_ARTICLE_AMOUNT_REMAINING, MacroArrayIndex)
Else
ORDER_ARTICLE_DATA(INDEX_AMOUNT_SCANNED, OrderArrayIndex) = MACRO_ARTICLE_LIST(COLUMN_MACRO_ARTICLE_AMOUNT_COMPLETED, MacroArrayIndex)
End If
Exit For
End If
Next
ElseIf ChargeFlag = 1 And (Len(ArraySerialNumber) = 0 Or ArraySerialNumber = SerialNumber) Then
' Wenn in der Zeile noch keine Seriennummer existiert ODER
' Wenn in der Zeile schon die selbe Seriennummer existiert
ORDER_ARTICLE_DATA(INDEX_SERIAL_NUMBER, OrderArrayIndex) = SerialNumber
ORDER_ARTICLE_DATA(INDEX_AMOUNT_SCANNED, OrderArrayIndex) = Scanned
Exit For
ElseIf ChargeFlag = 0 Then
ORDER_ARTICLE_DATA(INDEX_AMOUNT_SCANNED, OrderArrayIndex) = Scanned
Exit For
End If
End If
End If
Next
Loop While False: Next
TransferGridData = True
End Function