fixed barcode scanning focus issues

This commit is contained in:
Infineon\StieberD 2024-09-10 18:14:46 -07:00
parent 31f9796cff
commit 5fdcfdafb4
4 changed files with 150 additions and 136 deletions

View File

@ -597,8 +597,6 @@ ToggleLotHold:
WOMatKey = WONo:'*':CassNo WOMatKey = WONo:'*':CassNo
CtrlEntID = False$ ;* Control checked/unchecked CtrlEntID = False$ ;* Control checked/unchecked
OriginFlag = 'PTO' ;* Flag to indicate a hold initiated from the packagaing form OriginFlag = 'PTO' ;* Flag to indicate a hold initiated from the packagaing form
//Parms = WOMatKey:@RM:HoldEntity:@RM:HoldEntityID:@RM:CtrlEntID:@RM:OriginFlag:@RM:OperatorID
//obj_WO_Mat('ToggleHold', Parms)
Hold_Services('ToggleHold', WOMatKey, HoldEntity, HoldEntityID, CtrlEntID, OriginFlag, '', OperatorID) Hold_Services('ToggleHold', WOMatKey, HoldEntity, HoldEntityID, CtrlEntID, OriginFlag, '', OperatorID)
// Check if second cassette ID is a valid RDS or WM_OUT key // Check if second cassette ID is a valid RDS or WM_OUT key
@ -625,9 +623,6 @@ ToggleLotHold:
End Case End Case
* testCass2 = Cassette2
* Convert '*' to '.' in testCass2
// Write fail packaging record in material log for second cassette ID // Write fail packaging record in material log for second cassette ID
If ValidCass EQ True$ then If ValidCass EQ True$ then
LogFile = 'WO_MAT' LogFile = 'WO_MAT'
@ -662,7 +657,6 @@ ToggleLotHold:
CtrlEntID = False$ ;* Control checked/unchecked CtrlEntID = False$ ;* Control checked/unchecked
OriginFlag = 'PTO' ;* Flag to indicate a hold initiated from the packaging form OriginFlag = 'PTO' ;* Flag to indicate a hold initiated from the packaging form
Parms = WOMatKey:@RM:HoldEntity:@RM:HoldEntityID:@RM:CtrlEntID:@RM:OriginFlag:@RM:OperatorID Parms = WOMatKey:@RM:HoldEntity:@RM:HoldEntityID:@RM:CtrlEntID:@RM:OriginFlag:@RM:OperatorID
//obj_WO_Mat('ToggleHold', Parms)
Hold_Services('ToggleHold', WOMatKey, HoldEntity, HoldEntityID, CtrlEntID, OriginFlag, '', OperatorID) Hold_Services('ToggleHold', WOMatKey, HoldEntity, HoldEntityID, CtrlEntID, OriginFlag, '', OperatorID)
end end
@ -697,3 +691,4 @@ return

View File

@ -90,6 +90,7 @@ Event EDL_USER_ID_SCAN.LOSTFOCUS(Flag, FocusID)
MsgStruct = "" MsgStruct = ""
MsgStruct<MTEXTWIDTH$> = MSG_WIDTH$ MsgStruct<MTEXTWIDTH$> = MSG_WIDTH$
Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage)
Set_Property(CtrlEntId, 'FOCUS', True$)
end end
end end
end end
@ -114,7 +115,8 @@ Event EDL_CASS_SCAN_1.LOSTFOCUS(Flag, FocusID)
ErrorMessage = Error_Services('GetMessage') ErrorMessage = Error_Services('GetMessage')
MsgStruct = "" MsgStruct = ""
MsgStruct<MTEXTWIDTH$> = MSG_WIDTH$ MsgStruct<MTEXTWIDTH$> = MSG_WIDTH$
Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage)
Set_Property(@Window:'.EDL_USER_ID_SCAN', 'FOCUS', True$)
end end
end end
end end
@ -141,7 +143,8 @@ Event EDL_CASS_SCAN_2.LOSTFOCUS(Flag, FocusID)
ErrorMessage = Error_Services('GetMessage') ErrorMessage = Error_Services('GetMessage')
MsgStruct = "" MsgStruct = ""
MsgStruct<MTEXTWIDTH$> = MSG_WIDTH$ MsgStruct<MTEXTWIDTH$> = MSG_WIDTH$
Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage)
Set_Property(@Window:'.EDL_USER_ID_SCAN', 'FOCUS', True$)
end end
end end
end end
@ -229,7 +232,6 @@ Event EDL_PASSWORD_SCAN.LOSTFOCUS(Flag, FocusID)
MsgStruct<MTEXTWIDTH$> = MSG_WIDTH$ MsgStruct<MTEXTWIDTH$> = MSG_WIDTH$
Msg(@Window, MsgStruct, 'PROCESS_COMPLETE', '', SuccessMessage) Msg(@Window, MsgStruct, 'PROCESS_COMPLETE', '', SuccessMessage)
end else end else
* ErrorMessage = Error_Services('GetMessage')
ErrorMessage = 'An internal error occurred. Please retry the pack scan.' ErrorMessage = 'An internal error occurred. Please retry the pack scan.'
MsgStruct = "" MsgStruct = ""
MsgStruct<MTEXTWIDTH$> = MSG_WIDTH$ MsgStruct<MTEXTWIDTH$> = MSG_WIDTH$
@ -254,7 +256,9 @@ end event
Event PUB_CLEAR_FORM.CLICK() Event PUB_CLEAR_FORM.CLICK()
GoSub ClearForm GoSub ClearForm
end event end event
@ -263,6 +267,7 @@ end event
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ClearForm: ClearForm:
Set_Property(@Window:'.EDL_SEQUENCE1' , 'TEXT' , '') Set_Property(@Window:'.EDL_SEQUENCE1' , 'TEXT' , '')
Set_Property(@Window:'.EDL_USER_ID_SCAN' , 'TEXT' , '') Set_Property(@Window:'.EDL_USER_ID_SCAN' , 'TEXT' , '')
Set_Property(@Window:'.EDL_CASS_SCAN_1' , 'TEXT' , '') Set_Property(@Window:'.EDL_CASS_SCAN_1' , 'TEXT' , '')
@ -295,3 +300,4 @@ return

View File

@ -52,19 +52,19 @@ Declare function Popup, obj_WO_Mat, Database_Services, Utility, Rds_Services, Me
// Update the arguments so that the OpenInsight OLE event will treate the ActiveX event as a native event handler. // Update the arguments so that the OpenInsight OLE event will treate the ActiveX event as a native event handler.
If Event EQ 'OLE' then If Event EQ 'OLE' then
Transfer Event to OIEvent Transfer Event to OIEvent
Transfer Param1 to Event Transfer Param1 to Event
Transfer Param2 to Param1 Transfer Param2 to Param1
Transfer Param3 to Param2 Transfer Param3 to Param2
Transfer Param4 to Param3 Transfer Param4 to Param3
Transfer Param5 to Param4 Transfer Param5 to Param4
Transfer Param6 to Param5 Transfer Param6 to Param5
Transfer Param7 to Param6 Transfer Param7 to Param6
Transfer Param8 to Param7 Transfer Param8 to Param7
end end
GoToEvent Event for CtrlEntId else GoToEvent Event for CtrlEntId else
// Event not implemented // Event not implemented
end end
Return EventFlow or 1 Return EventFlow or 1
@ -77,28 +77,28 @@ ScanField = ''
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Event WINDOW.CREATE(CreateParam) Event WINDOW.CREATE(CreateParam)
CurrVer = Xlate('APP_INFO', 'LSL2_VERSION', '', 'X') CurrVer = Xlate('APP_INFO', 'LSL2_VERSION', '', 'X')
UserVer = Xlate('LSL_USERS', @User4, 'LSL2_VERSION', 'X') UserVer = Xlate('LSL_USERS', @User4, 'LSL2_VERSION', 'X')
If UserVer NE CurrVer then If UserVer NE CurrVer then
// Error message and close form // Error message and close form
ErrMsg = 'OpenInsight Version Error':@FM:'You are running an outdated version of OpenInsight and cannot release material until you restart your session.' ErrMsg = 'OpenInsight Version Error':@FM:'You are running an outdated version of OpenInsight and cannot release material until you restart your session.'
Msg(@Window, '', 'OK', '', ErrMsg) Msg(@Window, '', 'OK', '', ErrMsg)
Post_Event(@Window, 'CLOSE') Post_Event(@Window, 'CLOSE')
end else end else
GoSub SetupOLEControls GoSub SetupOLEControls
GoSub ResetForm GoSub ResetForm
SRP_Show_Window(@Window, '', 'C', 'C', 1, '', False$, False$, FormSize) SRP_Show_Window(@Window, '', 'C', 'C', 1, '', False$, False$, FormSize)
MsgStruct = '' MsgStruct = ''
MsgStruct<MTEXTWIDTH$> = MSG_WIDTH$ MsgStruct<MTEXTWIDTH$> = MSG_WIDTH$
end end
end event end event
Event OLE_BTN_CLEAR.OnClick(Point, Button, Shift, Ctrl) Event OLE_BTN_CLEAR.OnClick(Point, Button, Shift, Ctrl)
*get count of unprocessed records
*get count of unprocessed records
allCompleted = True$ allCompleted = True$
resp = '' resp = ''
Data = Get_Property(EditTable$, "OLE.ARRAY") Data = Get_Property(EditTable$, "OLE.ARRAY")
@ -120,90 +120,102 @@ Event OLE_BTN_CLEAR.OnClick(Point, Button, Shift, Ctrl)
GoSub ResetForm GoSub ResetForm
end end
end end
end event end event
Event OLE_BTN_SAVE.OnClick(Point, Button, Shift, Ctrl) Event OLE_BTN_SAVE.OnClick(Point, Button, Shift, Ctrl)
*check for unfinished scan *check for unfinished scan
F1 = Get_Property(Cassette1$, 'TEXT') F1 = Get_Property(Cassette1$, 'TEXT')
F2 = Get_Property(Cassette2$, 'TEXT') F2 = Get_Property(Cassette2$, 'TEXT')
F3 = Get_Property(Supplier$, 'TEXT') F3 = Get_Property(Supplier$, 'TEXT')
resp = True$ resp = True$
If F1 NE '' OR F2 NE '' OR F3 NE '' then If F1 NE '' OR F2 NE '' OR F3 NE '' then
resp = Message_Box(@Window, 'You have an unfinished scan (not in grid) - continue?', 'Confirm Save', MSG_BTN_OKCAN$ + MSG_DEFAULT2$) resp = Message_Box(@Window, 'You have an unfinished scan (not in grid) - continue?', 'Confirm Save', MSG_BTN_OKCAN$ + MSG_DEFAULT2$)
end end
if resp EQ True$ Then if resp EQ True$ Then
Warehouse = '1K' Warehouse = '1K'
Location = 'PTI' Location = 'PTI'
Gosub SaveRecords Gosub SaveRecords
end end
end event end event
Event EDL_CASSETTE1_SCAN.LOSTFOCUS(Flag, FocusID) Event EDL_CASSETTE1_SCAN.LOSTFOCUS(Flag, FocusID)
ScanField = 'Cassette1' ScanField = 'Cassette1'
If Flag EQ 1 then If Flag EQ 1 then
ScanData = Get_Property(CtrlEntID, 'TEXT') ScanData = Get_Property(CtrlEntID, 'TEXT')
If ScanData NE '' then If ScanData NE '' then
ScanData = Material_Movement_Services('ProcessPTIScanData', ScanData, 'CASSETTE1') ScanData = Material_Movement_Services('ProcessPTIScanData', ScanData, 'CASSETTE1')
If Error_Services('NoError') then If Error_Services('NoError') then
Set_Property(CtrlEntID, 'TEXT', ScanData) Set_Property(CtrlEntID, 'TEXT', ScanData)
Set_Property(Cassette2$, 'ENABLED', True$) Set_Property(Cassette2$, 'ENABLED', True$)
Set_Property(Cassette2$, 'FOCUS', True$) Set_Property(Cassette2$, 'FOCUS', True$)
Set_Property(CtrlEntID, 'ENABLED', False$) Set_Property(CtrlEntID, 'ENABLED', False$)
Gosub ValidateGrid Gosub ValidateGrid
end else end else
GoSub ResetForm GoSub ResetForm
ErrorMessage = Error_Services('GetMessage') ErrorMessage = Error_Services('GetMessage')
Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage)
end Set_Property(@Window:'.EDL_CASSETTE1_SCAN', 'FOCUS', True$)
end end
end end
end
end event end event
Event EDL_CASSETTE2_SCAN.LOSTFOCUS(Flag, FocusID) Event EDL_CASSETTE2_SCAN.LOSTFOCUS(Flag, FocusID)
ScanField = 'Cassette2' ScanField = 'Cassette2'
If Flag EQ 1 then If Flag EQ 1 then
ScanData = Get_Property(CtrlEntID, 'TEXT') ScanData = Get_Property(CtrlEntID, 'TEXT')
Cass1 = Get_Property(Cassette1$, 'TEXT') Cass1 = Get_Property(Cassette1$, 'TEXT')
If ScanData NE '' then If ScanData NE '' then
ScanData = Material_Movement_Services('ProcessPTIScanData', ScanData, 'CASSETTE2', Cass1) ScanData = Material_Movement_Services('ProcessPTIScanData', ScanData, 'CASSETTE2', Cass1)
If Error_Services('NoError') then If Error_Services('NoError') then
Set_Property(CtrlEntID, 'TEXT', ScanData) Set_Property(CtrlEntID, 'TEXT', ScanData)
Gosub ValidateGrid Gosub ValidateGrid
Set_Property(Supplier$, 'ENABLED', True$) Set_Property(Supplier$, 'ENABLED', True$)
Set_Property(Supplier$, 'FOCUS', True$) Set_Property(Supplier$, 'FOCUS', True$)
Set_Property(CtrlEntID, 'ENABLED', False$) Set_Property(CtrlEntID, 'ENABLED', False$)
Gosub ValidateGrid Gosub ValidateGrid
end else end else
GoSub ResetForm GoSub ResetForm
ErrorMessage = Error_Services('GetMessage') ErrorMessage = Error_Services('GetMessage')
Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage)
end Set_Property(@Window:'.EDL_CASSETTE1_SCAN', 'FOCUS', True$)
end end
end end
end
end event end event
Event EDL_SUPPLIER_SCAN.LOSTFOCUS(Flag, FocusID) Event EDL_SUPPLIER_SCAN.LOSTFOCUS(Flag, FocusID)
ScanField = 'Lot' ScanField = 'Lot'
If Flag EQ 1 then If Flag EQ 1 then
Cassette1 = Get_Property(Cassette1$, 'TEXT') Cassette1 = Get_Property(Cassette1$, 'TEXT')
ScanData = Get_Property(CtrlEntID, 'TEXT') ScanData = Get_Property(CtrlEntID, 'TEXT')
If ScanData NE '' then If ScanData NE '' then
ScanData = Material_Movement_Services('ProcessPTIScanData', ScanData, 'SUPPLIER', Cassette1) ScanData = Material_Movement_Services('ProcessPTIScanData', ScanData, 'SUPPLIER', Cassette1)
If Error_Services('NoError') then If Error_Services('NoError') then
Set_Property(CtrlEntID, 'TEXT', ScanData) Set_Property(CtrlEntID, 'TEXT', ScanData)
Set_Property(CtrlEntID, 'ENABLED', False$) Set_Property(CtrlEntID, 'ENABLED', False$)
Gosub ValidateGrid Gosub ValidateGrid
end else end else
GoSub ResetForm GoSub ResetForm
ErrorMessage = Error_Services('GetMessage') ErrorMessage = Error_Services('GetMessage')
Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage)
end Set_Property(@Window:'.EDL_CASSETTE1_SCAN', 'FOCUS', True$)
end end
end end
end
end event end event
@ -212,7 +224,8 @@ end event
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SaveRecords: SaveRecords:
*iterate thround all records in the grid, saving them and updating the status and location
*iterate through all records in the grid, saving them and updating the status and location
Data = Get_Property(EditTable$, "OLE.ARRAY") Data = Get_Property(EditTable$, "OLE.ARRAY")
cnt = count(Data<1>, @VM) + (Data<1># '') cnt = count(Data<1>, @VM) + (Data<1># '')
MsgStruct = '' MsgStruct = ''
@ -228,12 +241,12 @@ SaveRecords:
Loc = '1K*PTI' Loc = '1K*PTI'
Set_Property(EditTable$, 'OLE.CellColors[ALL;':i:']', 'Auto':@FM:'Auto') Set_Property(EditTable$, 'OLE.CellColors[ALL;':i:']', 'Auto':@FM:'Auto')
cntProc += 1 cntProc += 1
end else end else
Status = 'Error' Status = 'Error'
Set_Property(EditTable$, 'OLE.CellColors[ALL;':i:']', 'Auto':@FM:'Red') Set_Property(EditTable$, 'OLE.CellColors[ALL;':i:']', 'Auto':@FM:'Red')
end end
Set_Property(EditTable$, 'OLE.CELLTEXT[4;':i:']', Status) Set_Property(EditTable$, 'OLE.CELLTEXT[4;':i:']', Status)
Set_Property(EditTable$, 'OLE.CELLTEXT[5;':i:']', Loc) Set_Property(EditTable$, 'OLE.CELLTEXT[5;':i:']', Loc)
end end
Next i Next i
@ -254,11 +267,12 @@ SaveRecords:
end end
Gosub DisableFormControls Gosub DisableFormControls
return return
ValidateGrid: ValidateGrid:
F1 = Get_Property(Cassette1$, 'TEXT') F1 = Get_Property(Cassette1$, 'TEXT')
F2 = Get_Property(Cassette2$, 'TEXT') F2 = Get_Property(Cassette2$, 'TEXT')
F3 = Get_Property(Supplier$, 'TEXT') F3 = Get_Property(Supplier$, 'TEXT')
@ -270,11 +284,6 @@ ValidateGrid:
result = 1 result = 1
end end
end end
* if ScanField = 'Lot' then ; * do not look for duplicates
* result = 0
* end else
* result = InList(Data, ScanData, @VM) OR InList(Data, ScanData, @FM)
* end
If INDEX(F1,'.',2) then If INDEX(F1,'.',2) then
RDSType = 'EPP' RDSType = 'EPP'
@ -295,12 +304,12 @@ ValidateGrid:
Case RDSType EQ 'GAN' Case RDSType EQ 'GAN'
WOMatKey = F1 WOMatKey = F1
Location = XLATE('WO_MAT', WOMatKey, 'CURR_LOCATION', '', '') Location = XLATE('WO_MAT', WOMatKey, 'CURR_LOCATION', '', '')
End Case End Case
if result EQ 1 then if result EQ 1 then
ErrorMessage = 'Value already exists in grid: ':ScanData ErrorMessage = 'Value already exists in grid: ':ScanData
Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage)
Gosub ResetForm Gosub ResetForm
end else if F1 NE '' AND F2 NE '' AND F3 NE '' then end else if F1 NE '' AND F2 NE '' AND F3 NE '' then
Data = '' Data = ''
@ -317,39 +326,41 @@ return
DisableFormControls: DisableFormControls:
Set_Property(@Window:'.EDL_CASSETTE1_SCAN', 'TEXT', '') Set_Property(@Window:'.EDL_CASSETTE1_SCAN', 'TEXT', '')
Set_Property(@Window:'.EDL_CASSETTE2_SCAN', 'TEXT', '') Set_Property(@Window:'.EDL_CASSETTE2_SCAN', 'TEXT', '')
Set_Property(@Window:'.EDL_SUPPLIER_SCAN', 'TEXT', '') Set_Property(@Window:'.EDL_SUPPLIER_SCAN', 'TEXT', '')
Set_Property(@Window:'.EDL_CASSETTE1_SCAN', 'ENABLED', False$) Set_Property(@Window:'.EDL_CASSETTE1_SCAN', 'ENABLED', False$)
Set_Property(@Window:'.EDL_CASSETTE2_SCAN', 'ENABLED', False$) Set_Property(@Window:'.EDL_CASSETTE2_SCAN', 'ENABLED', False$)
Set_Property(@Window:'.EDL_SUPPLIER_SCAN', 'ENABLED', False$) Set_Property(@Window:'.EDL_SUPPLIER_SCAN', 'ENABLED', False$)
return return
SetupOLEControls: SetupOLEControls:
// Qualify OLE events that we want to intercept // Qualify OLE events that we want to intercept
Qualifier = '' Qualifier = ''
Qualifier<1> = 1 Qualifier<1> = 1
Qualifier<3> = '' Qualifier<3> = ''
Qualifier<4> = 0 ; * process synchronously Qualifier<4> = 0 ; * process synchronously
NumCols = 5 NumCols = 5
NumRows = 150 NumRows = 150
Ctrl = @Window:'.OLE_BTN_CLEAR' Ctrl = @Window:'.OLE_BTN_CLEAR'
Send_Message(Ctrl, 'QUALIFY_EVENT', 'OLE.OnClick', Qualifier) Send_Message(Ctrl, 'QUALIFY_EVENT', 'OLE.OnClick', Qualifier)
Ctrl = @Window:'.OLE_BTN_SAVE' Ctrl = @Window:'.OLE_BTN_SAVE'
Send_Message(Ctrl, 'QUALIFY_EVENT', 'OLE.OnClick', Qualifier) Send_Message(Ctrl, 'QUALIFY_EVENT', 'OLE.OnClick', Qualifier)
DimensionArray = NumCols:@FM:NumRows DimensionArray = NumCols:@FM:NumRows
Set_Property(EditTable$, "OLE.Dimension", DimensionArray) Set_Property(EditTable$, "OLE.Dimension", DimensionArray)
Titles = "Top Label":@VM:"Bottom Label":@VM:"Sub Lot":@VM:"Scan Status":@VM:"Curr Location" Titles = "Top Label":@VM:"Bottom Label":@VM:"Sub Lot":@VM:"Scan Status":@VM:"Curr Location"
Set_Property(EditTable$, "OLE.TitleList", Titles) Set_Property(EditTable$, "OLE.TitleList", Titles)
Set_Property(EditTable$, "OLE.DataColumn[1-2]", '85') Set_Property(EditTable$, "OLE.DataColumn[1-2]", '85')
Set_Property(EditTable$, "OLE.DataColumn[3]", '80') Set_Property(EditTable$, "OLE.DataColumn[3]", '80')
Set_Property(EditTable$, "OLE.DataColumn[4]", '90') Set_Property(EditTable$, "OLE.DataColumn[4]", '90')
Set_Property(EditTable$, "OLE.DataColumn[5]", '115') Set_Property(EditTable$, "OLE.DataColumn[5]", '115')
AlignArray = 'C':@FM:'C':@FM:'L' AlignArray = 'C':@FM:'C':@FM:'L'
Set_Property(EditTable$, "OLE.CellAlignment[All; All]", AlignArray) Set_Property(EditTable$, "OLE.CellAlignment[All; All]", AlignArray)
@ -363,15 +374,16 @@ SetupOLEControls:
AutoNumArray<1, 1> = 'I' ; // Integers AutoNumArray<1, 1> = 'I' ; // Integers
AutoNumArray<1, 2> = 1 ; // Starting integer AutoNumArray<1, 2> = 1 ; // Starting integer
Set_Property(EditTable$, "OLE.AutoNumbers", AutoNumArray) Set_Property(EditTable$, "OLE.AutoNumbers", AutoNumArray)
Set_Property(EditTable$, "OLE.CellProtection[All; All]", 'SEL') Set_Property(EditTable$, "OLE.CellProtection[All; All]", 'SEL')
SelStyleArray = 'Black' : @VM : OI_HOT_BLUE$ : ' L=70' : @FM : 'Black' : @VM : OI_HOT_BLUE$ SelStyleArray = 'Black' : @VM : OI_HOT_BLUE$ : ' L=70' : @FM : 'Black' : @VM : OI_HOT_BLUE$
Set_Property(EditTable$, 'OLE.SelectionStyle', SelStyleArray) ; // Automatically highlight the current row with one color and highlight the current row with another color. Set_Property(EditTable$, 'OLE.SelectionStyle', SelStyleArray) ; // Automatically highlight the current row with one color and highlight the current row with another color.
return return
ResetForm: ResetForm:
Set_Property(@Window:'.EDL_CASSETTE1_SCAN', 'ENABLED', True$) Set_Property(@Window:'.EDL_CASSETTE1_SCAN', 'ENABLED', True$)
Set_Property(@Window:'.EDL_CASSETTE2_SCAN', 'ENABLED', True$) Set_Property(@Window:'.EDL_CASSETTE2_SCAN', 'ENABLED', True$)
Set_Property(@Window:'.EDL_SUPPLIER_SCAN', 'ENABLED', True$) Set_Property(@Window:'.EDL_SUPPLIER_SCAN', 'ENABLED', True$)
@ -386,5 +398,6 @@ ResetForm:
cnt = count(Data<1>, @VM) + (Data<1># '') cnt = count(Data<1>, @VM) + (Data<1># '')
Set_Property(@Window:'.OLE_BTN_SAVE', 'ENABLED', cnt GE 1) Set_Property(@Window:'.OLE_BTN_SAVE', 'ENABLED', cnt GE 1)
Set_Property(EditTable$, 'OLE.CellColors[ALL;All]', 'Auto':@FM:'Auto') Set_Property(EditTable$, 'OLE.CellColors[ALL;All]', 'Auto':@FM:'Auto')
return return

View File

@ -120,6 +120,7 @@ end event
Event EDL_LABEL1_SCAN.LOSTFOCUS(Flag, FocusID) Event EDL_LABEL1_SCAN.LOSTFOCUS(Flag, FocusID)
Set_Property(SaveBtn$, 'FOCUS', True$) Set_Property(SaveBtn$, 'FOCUS', True$)
ScanField = 'Label1' ScanField = 'Label1'
If Flag EQ 1 then If Flag EQ 1 then
@ -138,6 +139,7 @@ Event EDL_LABEL1_SCAN.LOSTFOCUS(Flag, FocusID)
if ErrorMessage NE 'Scan Cancelled' then if ErrorMessage NE 'Scan Cancelled' then
Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage)
end end
Set_Property(@Window:'.EDL_LABEL1_SCAN', 'FOCUS', True$)
end end
end end
end end
@ -147,6 +149,7 @@ end event
Event EDL_LABEL2_SCAN.LOSTFOCUS(Flag, FocusID) Event EDL_LABEL2_SCAN.LOSTFOCUS(Flag, FocusID)
Set_Property(SaveBtn$, 'FOCUS', True$)
ScanField = 'Label2' ScanField = 'Label2'
If Flag EQ 1 then If Flag EQ 1 then
ScanData = Get_Property(CtrlEntID, 'TEXT') ScanData = Get_Property(CtrlEntID, 'TEXT')
@ -165,14 +168,13 @@ Event EDL_LABEL2_SCAN.LOSTFOCUS(Flag, FocusID)
if ErrorMessage[1,13] EQ 'Scan Mismatch' then if ErrorMessage[1,13] EQ 'Scan Mismatch' then
Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage)
Gosub ResetForm Gosub ResetForm
Set_Property(@Window:'.EDL_LABEL1_SCAN', 'FOCUS', True$)
end else end else
Set_Property(@Window:'.EDL_LABEL2_SCAN', 'ENABLED', True$) Set_Property(@Window:'.EDL_LABEL2_SCAN', 'ENABLED', True$)
Set_Property(@Window:'.EDL_LABEL2_SCAN', 'TEXT', '') Set_Property(@Window:'.EDL_LABEL2_SCAN', 'TEXT', '')
Set_Property(@Window:'.EDL_LABEL2_SCAN', 'FOCUS', True$)
//ErrorMessage = Error_Services('GetMessage')
Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage)
Set_Property(@Window:'.EDL_LABEL2_SCAN', 'FOCUS', True$)
end end
end end
end end
end end
@ -225,7 +227,6 @@ ShowPopup:
ForeColor = Get_Property(@Window, 'FORECOLOR') ForeColor = Get_Property(@Window, 'FORECOLOR')
CursorXPos = Field(Point, ',', 1, 1) CursorXPos = Field(Point, ',', 1, 1)
CursorYPos = Field(Point, ',', 2, 1) CursorYPos = Field(Point, ',', 2, 1)
* FormSize = SRP_Get_Window_Rect(@Window)
FormSize = Get_Property(@Window, 'SIZE') FormSize = Get_Property(@Window, 'SIZE')
FormXPos = FormSize<1> FormXPos = FormSize<1>
FormYPos = FormSize<2> FormYPos = FormSize<2>
@ -366,4 +367,3 @@ ResetForm:
return return