' ResetValuesByLineIndex(LineIndex : INT) ' ---------------------------------------------------------------------------- ' Setzt die Werte in einer bestimmten Zeile auf ihre ' Ausgangswerte zurück. ' ' Returns: - ' ---------------------------------------------------------------------------- ' 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: 15.03.2021 / MP ' Version Date / Editor: 15.03.2021 / MP ' Version Number: 4.0.0.0 Sub ResetValues(GridLineIndexToReset) Set myWin = CWLStart.CurrentModule.Windows.Item(WINDOW_ID) Set Grid = myWin.Controls.Item(GRID_ID).Grid For GridIndex = 1 To Grid.LineCount If GridIndex = GridLineIndexToReset Then Grid.SetCellValue GridIndex, COLUMN_SCANNED, 0 Grid.SetCellValue GridIndex, COLUMN_SERIALNUMBER, "" If (Grid.GetCellValue(GridIndex, COLUMN_MACRO_FLAG) = 2) Then Grid.SetLineColor GridIndex, COLOR_PACKAGE_RED Else Grid.SetLineColor GridIndex, COLOR_RED End If Exit For End If Next End Sub Sub ResetValuesByMacroLineNumber(MacroArticleLineNumber) Set myWin = CWLStart.CurrentModule.Windows.Item(WINDOW_ID) Set Grid = myWin.Controls.Item(GRID_ID).Grid For GridIndex = 1 To Grid.LineCount MacroLineNumber = Cint(Grid.GetCellValue(GridIndex, COLUMN_MACRO_LINE_NUMBER)) If MacroLineNumber = MacroArticleLineNumber Then Grid.SetCellValue GridIndex, COLUMN_SCANNED, 0 Grid.SetCellValue GridIndex, COLUMN_SERIALNUMBER, "" Grid.SetLineColor GridIndex, COLOR_PACKAGE_RED End If Next End Sub Sub ResetValuesByLineIndex(LineIndex) Set myWin = CWLStart.CurrentModule.Windows.Item(WINDOW_ID) Set Grid = myWin.Controls.Item(GRID_ID).Grid If (Grid.LineCount <= 0) Then MsgBox "Bitte scannen Sie zuerst eine Auftragsnummer!", vbOKOnly + vbInformation, DEFAULT_TITLE Exit Sub End If Dim LineIndexToReset : LineIndexToReset = 0 If (LineIndex = -1) Then InputBoxHeaderText = "Zeile zurücksetzen" If (Grid.LineCount = 1) Then InputBoxText = "Zeilennummer:" InputBoxDefault = "1" Else InputBoxText = "Zeilennummer (Zeile [1 - " & Grid.LineCount & "]):" InputBoxDefault = "0" End If LineIndexInputBox = InputBox(InputBoxText, InputBoxHeaderText, InputBoxDefault) Select Case True Case IsEmpty(LineIndexInputBox) ' Abbruch der Box Exit Sub Case "" = Trim(LineIndexInputBox) ' Kein Wert eingegeben = Abbruch Exit Sub Case Else ' Wert eingegeben und OK geklickt If Len(LineIndexInputBox) > 0 Then LineIndexToReset = Cint(LineIndexInputBox) Else LineIndexToReset = 0 End If End Select Else LineIndexToReset = LineIndex End If If (LineIndexToReset <= 0 OR LineIndexToReset > Grid.LineCount) Then MsgBox "Keine gültige Zeile ausgewählt!", vbOKOnly + vbInformation, DEFAULT_TITLE ElseIf (Grid.GetCellValue(LineIndexToReset, COLUMN_RESETABLE_FLAG) = 0) Then MsgBox "Die Zeile [" & LineIndexToReset & "] ist nicht änderbar!", vbOKOnly + vbInformation, DEFAULT_TITLE ElseIf (LineIndexToReset > 0 And LineIndexToReset <= Grid.LineCount) Then Answer = MsgBox("Sollen die Werte in Zeile [" & LineIndexToReset & "] zurückgesetzt werden?", vbYesno + vbQuestion, DEFAULT_TITLE) If Answer = vbYes Then ResetValues LineIndexToReset CURRENT_GRID_LINE_INDEX = 0 End If Else MsgBox "Diese Zeilennummer gibt es nicht!" End If End Sub