added LSL2 stored procedures
This commit is contained in:
400
LSL2/STPROC/COMM_INVOICE.txt
Normal file
400
LSL2/STPROC/COMM_INVOICE.txt
Normal file
@ -0,0 +1,400 @@
|
||||
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
|
||||
|
||||
|
Reference in New Issue
Block a user