401 lines
9.2 KiB
Plaintext
401 lines
9.2 KiB
Plaintext
COMPILE FUNCTION Comm_Invoice(Instruction, Parm1,Parm2)
|
|
|
|
/*
|
|
Commuter module for Invoice window
|
|
|
|
02/27/2005 - John C. Henry, J.C. Henry & Co., Inc.
|
|
*/
|
|
|
|
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, Center_Window, Post_Event, Set_List_Box_Data
|
|
DECLARE SUBROUTINE ErrMsg, Send_Message, Set_Property, Send_Event, Btree.Extract, obj_AppWindow
|
|
DECLARE SUBROUTINE obj_Notes, Security_Err_Msg, End_Window, Forward_Event, Start_Window
|
|
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Center_Window, Popup
|
|
DECLARE FUNCTION Send_Message, Msg, Security_Check, NextKey
|
|
|
|
$INSERT POPUP_EQUATES
|
|
$INSERT LOGICAL
|
|
$INSERT MSG_EQUATES
|
|
$INSERT APPCOLORS
|
|
$INSERT COC_EQU
|
|
$INSERT LSL_USERS_EQU
|
|
$INSERT SECURITY_RIGHTS_EQU
|
|
$INSERT WO_LOG_EQU
|
|
$INSERT WO_STEP_EQU
|
|
$INSERT COMPANY_EQU
|
|
$INSERT INVOICE_EQU
|
|
|
|
ErrTitle = 'Error in Comm_Invoice'
|
|
ErrorMsg = ''
|
|
|
|
Result = ''
|
|
|
|
/*
|
|
Most of this is not used. Invoicing will be moving to the Vision system so the only things
|
|
this is used for is button events from the OLD Invoice window. Leave the rest of the stuff
|
|
here just in case. JCH 7/24/2005
|
|
*/
|
|
|
|
BEGIN CASE
|
|
CASE Instruction = 'Create' ; GOSUB Create
|
|
CASE Instruction = 'Refresh' ; GOSUB Refresh
|
|
CASE Instruction = 'Read' ; GOSUB Read
|
|
CASE Instruction = 'Write' ; GOSUB Write
|
|
CASE Instruction = 'Clear' ; GOSUB Clear
|
|
CASE Instruction = 'Delete' ; GOSUB Delete
|
|
CASE Instruction = 'Page' ; GOSUB Page
|
|
CASE Instruction = 'Close' ; GOSUB Close
|
|
CASE Instruction = 'ViewCust' ; GOSUB ViewCust
|
|
CASE Instruction = 'ViewOrder' ; GOSUB ViewOrder
|
|
CASE Instruction = 'ViewWO' ; GOSUB ViewWO
|
|
CASE Instruction = 'ViewShipment' ; GOSUB ViewShipment
|
|
|
|
|
|
CASE 1
|
|
ErrorMsg = 'Unknown Instruction ':QUOTE(Instruction):' passed to routine.'
|
|
ErrMsg(ErrorMsg)
|
|
END CASE
|
|
|
|
RETURN Result
|
|
|
|
|
|
|
|
* * * * * * *
|
|
Create:
|
|
* * * * * * *
|
|
|
|
IF NOT(Security_Check('COC',READ$)) THEN
|
|
Security_Err_Msg('COC',READ$)
|
|
End_Window(@WINDOW)
|
|
RETURN
|
|
END
|
|
|
|
obj_Appwindow('Create',@WINDOW)
|
|
|
|
Set_List_Box_Data(@WINDOW)
|
|
|
|
GOSUB Refresh
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
Clear:
|
|
* * * * * * *
|
|
|
|
Send_Event(@WINDOW,'PAGE',1)
|
|
|
|
obj_AppWindow('ReadOnly',@RM:1) ;* Reenables data bound controls
|
|
|
|
|
|
* * * * * * *
|
|
Refresh:
|
|
* * * * * * *
|
|
|
|
IF Security_Check('COC',EDIT$) AND (Get_Property(@WINDOW:'.POST_BUTTON','TEXT') = 'Post') THEN
|
|
obj_AppWindow('ReadOnly',@WINDOW:@RM:1) ;* enable all database controls
|
|
END ELSE
|
|
obj_AppWindow('ReadOnly',@WINDOW) ;* disable all database controls
|
|
END
|
|
|
|
Ctrls = @WINDOW:'.POST_BUTTON':@RM ; Props = 'TEXT':@RM
|
|
Ctrls := @WINDOW:'.POST_BUTTON':@RM ; Props := 'ENABLED':@RM
|
|
Ctrls := @WINDOW:'.POSTED_FIX':@RM ; Props := 'VISIBLE':@RM
|
|
Ctrls := @WINDOW:'.UNPOST_BUTTON':@RM ; Props := 'ENABLED':@RM
|
|
Ctrls := @WINDOW:'.UNPOST_BUTTON' ; Props := 'VISIBLE'
|
|
|
|
Vals = ''
|
|
|
|
IF Get_Property(@WINDOW:'.POST_DTM','TEXT') NE '' THEN
|
|
|
|
* Timesheet is Posted
|
|
|
|
Vals<1> = 'Posted' ;* PostButton text
|
|
Vals<2> = 0 ;* PostButton Disabled
|
|
Vals<3> = 1 ;* Posted Text Visisble
|
|
Vals<4> = 1 ;* Unpost button Enabled
|
|
Vals<5> = 1 ;* UnPost button Visible
|
|
|
|
END ELSE
|
|
|
|
Vals<1> = "Post" ;* PostButton text
|
|
Vals<2> = 1 ;* PostButton Enabled
|
|
Vals<3> = 0 ;* Posted Text invisible
|
|
|
|
END
|
|
|
|
CONVERT @FM TO @RM IN Vals
|
|
|
|
Set_Property(Ctrls,Props,Vals)
|
|
|
|
Ctrls = @WINDOW:'.ENTER_BY':@RM ; Props = 'TEXT':@RM
|
|
Ctrls := @WINDOW:'.ENTER_DTM' ; Props := 'TEXT'
|
|
|
|
Vals = Get_Property(Ctrls,Props)
|
|
|
|
EnterBy = Vals[1,@RM]
|
|
EnterDTM = Vals[COL2()+1,@RM]
|
|
|
|
IF EnterBy = '' THEN Vals = 1:@RM ELSE Vals = 0:@RM
|
|
IF EnterDTM = '' THEN Vals := 1 ELSE Vals := 0
|
|
|
|
Props = 'ENABLED':@RM:'ENABLED'
|
|
|
|
Set_Property(Ctrls,Props,Vals)
|
|
|
|
NextNumber = XLATE('DICT.COC','%SK%',1,'X')
|
|
|
|
Set_Property(@WINDOW:'.NEW_BUTTON','TEXT',NextNumber)
|
|
|
|
* QBF buttons
|
|
|
|
Ctrls = @WINDOW:'.QBF_FIRST_FIX':@RM ; Props = 'ENABLED':@RM
|
|
Ctrls := @WINDOW:'.QBF_PREV_FIX':@RM ; Props := 'ENABLED':@RM
|
|
Ctrls := @WINDOW:'.QBF_ABS_FIX':@RM ; Props := 'ENABLED':@RM
|
|
Ctrls := @WINDOW:'.QBF_NEXT_FIX':@RM ; Props := 'ENABLED':@RM
|
|
Ctrls := @WINDOW:'.QBF_LAST_FIX':@RM ; Props := 'ENABLED':@RM
|
|
Ctrls := @WINDOW:'.QBF_STOP_FIX' ; Props := 'ENABLED'
|
|
|
|
IF Get_Property(@WINDOW,'QBFLIST') = '' THEN
|
|
Vals = 0:@RM:0:@RM:0:@RM:0:@RM:0:@RM:0
|
|
END ELSE
|
|
Vals = 1:@RM:1:@RM:1:@RM:1:@RM:1:@RM:1
|
|
END
|
|
|
|
Set_Property(Ctrls,Props,Vals)
|
|
|
|
* All cassette detail background colors
|
|
|
|
CtrlName = @WINDOW:'.RDS_DETAIL'
|
|
RDSArray = Get_Property(CtrlName,'INVALUE')
|
|
|
|
RdsStatuses = RDSArray<COL$RDS_CURR_STATUS>
|
|
FOR I = 1 TO COUNT(RdsStatuses,@VM) + (RdsStatuses NE '')
|
|
RdsStatus = RdsStatuses<1,I>
|
|
RdsHold = RDSArray<COL$RDS_HOLD,I>
|
|
RdsHotLot = RDSArray<COL$RDS_HOT_LOT,I>
|
|
|
|
IF RdsHold OR RdsHotLot THEN
|
|
IF RdsHold THEN LineColor = YELLOW$
|
|
IF RdsHotLot THEN LineColor = RED$
|
|
END ELSE
|
|
BEGIN CASE
|
|
CASE RdsStatus[1,3] = 'Rec' ; LineColor = RCV_BLUE$
|
|
CASE RdsStatus[1,3] = 'Pre' ; LineColor = PRE_BLUE$
|
|
CASE RdsStatus[1,3] = 'In ' ; LineColor = INP_BLUE$
|
|
CASE RdsStatus[1,3] = 'Pos' ; LineColor = POS_BLUE$
|
|
CASE RdsStatus[1,3] = 'Rea' ; LineColor = GREEN$
|
|
CASE RdsStatus[1,3] = 'Shi' ; LineColor = LTGREY$
|
|
CASE RdsStatus[1,3] = 'Pro' ; LineColor = RED$
|
|
CASE 1 ; LineColor = WHITE$
|
|
END CASE
|
|
END
|
|
stat = Send_Message(CtrlName,'COLOR_BY_POS',0,I,LineColor)
|
|
NEXT I
|
|
|
|
* Turn edit table symbolic column backgrounds to green
|
|
|
|
ETSymbolics = Get_Property(@WINDOW,'@ET_SYMBOLICS') ;* Loaded during 'Create' in obj_Appwindow
|
|
|
|
ETCtrls = ETSymbolics<1>
|
|
ETCols = ETSymbolics<2>
|
|
|
|
FOR I = 1 TO COUNT(ETCtrls,@VM) + (ETCtrls NE '')
|
|
ETCtrl = ETCtrls<1,I>
|
|
IF ETCtrl NE @WINDOW:'.RDS_DETAIL' THEN
|
|
ETList = Get_Property(ETCtrl,'LIST')
|
|
FOR Line = 1 TO COUNT(ETList,@FM) + (ETList NE '')
|
|
IF ETList<Line,1> NE '' THEN
|
|
FOR N = 1 TO COUNT(ETCols<1,I>,@SVM) + (ETCols<1,I> NE '')
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',ETCols<1,I,N>,Line,GREEN$)
|
|
NEXT N
|
|
END
|
|
NEXT I
|
|
END
|
|
NEXT I
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
Page:
|
|
* * * * * * *
|
|
|
|
obj_Appwindow('Page')
|
|
GOSUB Refresh
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
Read:
|
|
* * * * * * *
|
|
|
|
ShipNo = Get_Property(@WINDOW:'SHIP_NO','TEXT')
|
|
|
|
IF NOT(RowExists('COC',ShipNo)) THEN
|
|
IF NOT(Security_Check('COC',WRITE$)) THEN
|
|
Send_Event(@WINDOW,'CLEAR')
|
|
Security_Err_Msg('COC',WRITE$)
|
|
RETURN
|
|
END
|
|
END
|
|
|
|
EnterBy = Get_Property(@WINDOW:'.ENTER_BY','TEXT')
|
|
|
|
IF EnterBy = '' THEN
|
|
CurrDate = OCONV(Date(),'D4/')
|
|
CurrTime = OCONV(Time(),'MTH')
|
|
CurrDTM = CurrDate:' ':CurrTime
|
|
IF @USER4 = '' OR @USER4 = 'BRYCE_BARB' THEN @USER4 = 'TESTING'
|
|
Set_Property(@WINDOW:'.ENTER_BY','TEXT',OCONV(@USER4,'[XLATE_CONV,LSL_USERS*FIRST_LAST]'))
|
|
Set_Property(@WINDOW:'.ENTER_DTM','TEXT',CurrDTM)
|
|
END
|
|
|
|
GOSUB Refresh
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
Write:
|
|
* * * * * * *
|
|
|
|
IF Get_Property(@WINDOW:'.POST_DTM','TEXT') = '' THEN
|
|
Result = 1
|
|
END ELSE
|
|
ErrMsg('Record is posted and may not be saved.')
|
|
Result = 0 ;* Posted -> No write
|
|
END
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
Delete:
|
|
* * * * * * *
|
|
|
|
IF Security_Check('COC',Delete$) THEN
|
|
|
|
IF Get_Property(@WINDOW:'.POST_DTM','TEXT') = '' THEN
|
|
Result = 1
|
|
END ELSE
|
|
ErrMsg('Record is posted and may not be deleted.')
|
|
Result = 0 ;* Posted -> No write
|
|
END
|
|
|
|
END ELSE
|
|
Security_Err_Msg('COC',Delete$)
|
|
Result = 0 ;* Stop event chain
|
|
END
|
|
|
|
RETURN
|
|
|
|
|
|
|
|
|
|
* * * * * * *
|
|
ShipInfoGF:
|
|
* * * * * * *
|
|
|
|
CustNo = Get_Property(@WINDOW:'.CUST_NO','TEXT')
|
|
ShipperInfo = Get_Property(@WINDOW:'.SHIPPERINFO','TEXT')
|
|
|
|
IF CustNo NE '' AND ShipperInfo = '' THEN
|
|
CustRec = XLATE('COMPANY',CustNo,'','X')
|
|
ShipperInfos = CustRec<COMPANY_SHIPPER_INFO$>
|
|
IF INDEX(ShipperInfos,@VM,1) THEN
|
|
Display = ''
|
|
FOR I = 1 TO COUNT(ShipperInfos,@VM) + (ShipperInfos NE '')
|
|
Display<1,I> = ShipperInfos<1,I>:@SVM:CustRec<COMPANY_ACCOUNT_NO$,I>
|
|
NEXT I
|
|
TypeOver = ''
|
|
TypeOver<PDISPLAY$> = Display
|
|
SelectedItems = Popup(@WINDOW,TypeOver,'ORDER_SHIPPER_INFO')
|
|
IF SelectedItems = '' THEN RETURN
|
|
ShipperInfo = SelectedItems<1,1>
|
|
AcctNo = SelectedItems<1,2>
|
|
END ELSE
|
|
ShipperInfo = ShipperInfos
|
|
AcctNo = CustRec<COMPANY_ACCOUNT_NO$>
|
|
END
|
|
Set_Property(@WINDOW:'.SHIPPERINFO','TEXT',ShipperInfo)
|
|
Set_Property(@WINDOW:'.ACCT_NO','TEXT',AcctNo)
|
|
|
|
END
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
Close:
|
|
* * * * * * *
|
|
|
|
obj_Notes('Inbox',@USER4) ;* Checks for any new messages
|
|
|
|
obj_Appwindow('CardReturn',@WINDOW)
|
|
|
|
RETURN
|
|
|
|
|
|
|
|
* * * * * * *
|
|
ViewCust:
|
|
* * * * * * *
|
|
|
|
CustNo = Get_Property(@WINDOW:'.CUST_NO','TEXT')
|
|
|
|
IF CustNo NE '' THEN
|
|
obj_Appwindow('ViewRelated','COMPANY':@RM:CustNo)
|
|
END
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
ViewOrder:
|
|
* * * * * * *
|
|
|
|
OrderNo = Get_Property(@WINDOW:'.ORDER_NO','TEXT')
|
|
|
|
IF OrderNo NE '' THEN
|
|
obj_Appwindow('ViewRelated','ORDER2':@RM:OrderNo)
|
|
END
|
|
|
|
RETURN
|
|
|
|
|
|
|
|
* * * * * * *
|
|
ViewWO:
|
|
* * * * * * *
|
|
|
|
WONo = Get_Property(@WINDOW:'.INVOICE_DETAIL','LIST')<1,4> ;* 4th column in 1st line
|
|
|
|
IF WONo NE '' THEN
|
|
WOStepKeys = XLATE('WO_LOG',WONo,34,'X')
|
|
LastStepKey = WOStepKeys[-1,'B':@VM]
|
|
obj_Appwindow('ViewRelated','WO_PROD':@RM:LastStepKey)
|
|
END
|
|
|
|
RETURN
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* * * * * * *
|
|
ViewShipment:
|
|
* * * * * * *
|
|
|
|
ShipNo = Get_Property(@WINDOW:'.SHIP_NO','TEXT')
|
|
|
|
IF ShipNo NE '' THEN
|
|
|
|
obj_Appwindow('ViewRelated','SHIPMENT':@RM:ShipNo)
|
|
END
|
|
|
|
RETURN
|
|
|
|
|