1040 lines
40 KiB
Plaintext
Executable File
1040 lines
40 KiB
Plaintext
Executable File
MESSAGE "Writing file cabinet procedures to library..."
|
|
|
|
PROC File_Cabinet_Wait(M_Tbl, D_Tbl)
|
|
; M_Tbl (master = files of files_x) D_Tbl (detail = ledger or ledger_x)
|
|
PRIVATE Fld_Prompt, Answer_Menu, Cabinet, Employee, Hourly_Rate, Timing, Start_Time,
|
|
File_No, Id, File_Type, Regarding, Opened, Closed, Status,
|
|
Empl_Num, Trust_Bal, Total_Charges, Amount_Owing, Transferable
|
|
|
|
PROC Start_Ticker()
|
|
Timing = TRUE
|
|
Start_Time = Ticks()
|
|
MESSAGE "Press Alt-T to stop timer"
|
|
ENDPROC; Start_Ticker
|
|
|
|
PROC Stop_Ticker()
|
|
PRIVATE Secs, Hrs, Seconds, Minutes, Hours, Button_Val
|
|
Secs = (Ticks() - Start_Time) / 1000;
|
|
Hrs = Round(Secs / 3600, 2)
|
|
Hours = INT(Secs / 3600)
|
|
Minutes = INT((Secs - Hours * 3600) / 60)
|
|
Seconds = ROUND(MOD((Secs - Hours * 3600), 60), 0)
|
|
Hours = STRVAL(Hours)
|
|
if (LEN(Hours) < 2) then
|
|
Hours = "0" + Hours
|
|
endif
|
|
Minutes = STRVAL(Minutes)
|
|
if (LEN(Minutes) < 2) then
|
|
Minutes = "0" + Minutes
|
|
endif
|
|
Seconds = STRVAL(Seconds)
|
|
if (LEN(Seconds) < 2) then
|
|
Seconds = "0" + Seconds
|
|
endif
|
|
SHOWDIALOG "Elapsed Time"
|
|
@10,20 HEIGHT 7 WIDTH 40
|
|
@1, 1 ?? FORMAT("W36,AC", "Time: " + Hours + ":" + Minutes + ":" + Seconds + " (" + FORMAT("W6.2",Hrs) +" hours)")
|
|
PUSHBUTTON @3,13 WIDTH 12
|
|
"~O~K"
|
|
OK
|
|
VALUE "OK"
|
|
TAG "OK_Button"
|
|
TO Button_Val
|
|
ENDDIALOG
|
|
if (SYSMODE() = "CoEdit") then
|
|
REFRESH
|
|
endif
|
|
Timing = FALSE
|
|
ENDPROC; Stop_Ticker
|
|
|
|
PROC Show_Rolodex_Info()
|
|
PRIVATE Owner_Id, Form_No, Image_No, Msg_Str
|
|
if (TABLE() = "Files_r") OR (TABLE() = "Files_rx")then
|
|
Owner_Id = [Rolodex_Id]
|
|
Msg_Str = "Related Party Details - Press ESC to return to file cabinet."
|
|
else if (TABLE() = M_Tbl) AND (FIELD() = "Opposing") then
|
|
Owner_Id = [Opposing]
|
|
Msg_Str = "Opposing Party Details - Press ESC to return to file cabinet."
|
|
else Owner_Id = ""
|
|
endif
|
|
endif
|
|
Image_No = IMAGENO()
|
|
MOVETO M_Tbl
|
|
Form_No = FORM()
|
|
if (Owner_Id = "") then
|
|
Owner_Id = [Id]
|
|
Msg_Str = "File Owner Details - Press ESC to return to file cabinet."
|
|
endif
|
|
ECHO OFF
|
|
FORMKEY
|
|
VIEW "ROLODEX"
|
|
WINDOW MOVE GETWINDOW() TO -100, -100 ; move rolodex table off screen
|
|
TAB
|
|
LOCATE Owner_Id
|
|
if RetVal then
|
|
SHOWPULLDOWN
|
|
ENDMENU ; hide main menu
|
|
PICKFORM "4"
|
|
ECHO NORMAL
|
|
MESSAGE Msg_Str
|
|
WAIT WORKSPACE
|
|
UNTIL "ESC"
|
|
ECHO OFF
|
|
Main_Table_Menu()
|
|
else MESSAGE "No matching rolodex entry found!"
|
|
ENDIF
|
|
CLEARIMAGE; remove rolodex image
|
|
MOVETO M_Tbl
|
|
PICKFORM Form_No
|
|
MOVETO Image_No
|
|
ECHO NORMAL
|
|
ENDPROC; Show_Rolodex_Info
|
|
|
|
PROC If_Status_Send_Or_Hold(Stat)
|
|
PRIVATE Tmp_Tbl, Q_St, N, I
|
|
{Ask} {Filestat} TAB CHECK TAB TAB
|
|
if (Stat = "SEND") then
|
|
TYPEIN "\"YES\""
|
|
else TYPEIN "\"NO\""
|
|
endif
|
|
DO_IT!
|
|
Tmp_Tbl = TABLE()
|
|
MOVETO "Filestat(Q)"
|
|
CLEARIMAGE ; erase query image
|
|
MOVETO Tmp_Tbl
|
|
N = NRECORDS(Tmp_Tbl)
|
|
if (N = 0) then
|
|
CLEARIMAGE
|
|
RETURN Stat
|
|
endif
|
|
TAB
|
|
Q_St = []
|
|
FOR I FROM 1 TO N-1
|
|
DOWN
|
|
Q_St = Q_St + " OR " + []
|
|
ENDFOR
|
|
CLEARIMAGE
|
|
RETURN Q_St
|
|
ENDPROC; If_Status_Send_Or_Hold
|
|
|
|
PROC Ask_File_Cabinet(F_Num)
|
|
PRIVATE Subset_Table, Temp_Status, Button, I, Form_List
|
|
FORMKEY
|
|
SHOWPULLDOWN
|
|
ENDMENU
|
|
CLEARSPEEDBAR
|
|
PROMPT "Enter selection criteria. Press Search to find matches, Cancel to quit."
|
|
MOUSE SHOW
|
|
SHOWDIALOG "File Cabinet Selection Criteria"
|
|
@6, 3 HEIGHT 15 WIDTH 74
|
|
@1, 2 ?? "File No."
|
|
ACCEPT @1,14
|
|
WIDTH 20 "A45" PICTURE "*!"
|
|
TAG ""
|
|
TO File_No
|
|
@2, 2 ?? "Owner ID"
|
|
ACCEPT @2,14
|
|
WIDTH 20 "A45" PICTURE "*!"
|
|
TAG ""
|
|
TO Id
|
|
@3, 2 ?? "Area of Law"
|
|
ACCEPT @3,14
|
|
WIDTH 20 "A45" PICTURE "*!"
|
|
TAG ""
|
|
TO File_Type
|
|
@4, 2 ?? "Regarding"
|
|
ACCEPT @4,14
|
|
WIDTH 20 "A45"
|
|
TAG ""
|
|
TO Regarding
|
|
@5, 2 ?? "Opened"
|
|
ACCEPT @5,14
|
|
WIDTH 20 "A45" PICTURE "*!"
|
|
TAG ""
|
|
TO Opened
|
|
@6, 2 ?? "Closed"
|
|
ACCEPT @6,14
|
|
WIDTH 20 "A45" PICTURE "*!"
|
|
TAG ""
|
|
TO Closed
|
|
@7, 2 ?? "Status"
|
|
ACCEPT @7,14
|
|
WIDTH 20 "A45" PICTURE "*!"
|
|
TAG ""
|
|
TO Status
|
|
@8, 2 ?? "Employee"
|
|
ACCEPT @8,14
|
|
WIDTH 20 "A45" PICTURE "*!"
|
|
TAG ""
|
|
TO Empl_Num
|
|
@1, 40 ?? "**** Account Balances ****"
|
|
@2, 38 ?? "Trust"
|
|
ACCEPT @2,48
|
|
WIDTH 20 "A35"
|
|
TAG ""
|
|
TO Trust_Bal
|
|
@3, 38 ?? "Charges"
|
|
ACCEPT @3,48
|
|
WIDTH 20 "A35"
|
|
TAG ""
|
|
TO Total_Charges
|
|
@4, 38 ?? "Owing"
|
|
ACCEPT @4,48
|
|
WIDTH 20 "A35"
|
|
TAG ""
|
|
TO Amount_Owing
|
|
@5, 38 ?? "Transfer"
|
|
ACCEPT @5,48
|
|
WIDTH 20 "A35"
|
|
TAG ""
|
|
TO Transferable
|
|
@12, 7 ?? "STATUS: SEND = Print set to YES, HOLD = Print set to NO"
|
|
PUSHBUTTON @10,24 WIDTH 10
|
|
"~S~earch"
|
|
OK
|
|
DEFAULT
|
|
VALUE ""
|
|
TAG "OK"
|
|
TO Button
|
|
PUSHBUTTON @10,37 WIDTH 10
|
|
"~C~ancel"
|
|
CANCEL
|
|
VALUE ""
|
|
TAG "Cancel"
|
|
TO Button
|
|
ENDDIALOG
|
|
PROMPT ""
|
|
MOUSE HIDE
|
|
if (RetVal = True) then
|
|
MESSAGE "Searching..."
|
|
ECHO OFF
|
|
if (Status = "SEND") OR (Status = "HOLD") then
|
|
Temp_Status = If_Status_Send_Or_Hold(Status)
|
|
else Temp_Status = Status
|
|
endif
|
|
{Ask} TYPEIN M_Tbl ENTER CheckPlus
|
|
[File_No] = File_No
|
|
[Id] = Id
|
|
[File_Type] = File_Type
|
|
[Regarding] = Regarding
|
|
[Opened] = Opened
|
|
[Closed] = Closed
|
|
[Status] = Temp_Status
|
|
[Empl_Num] = Empl_Num
|
|
[Trust_Bal] = Trust_Bal
|
|
[Total_Charges] = Total_Charges
|
|
[Amount_Owing] = Amount_Owing
|
|
[Transferable] = Transferable
|
|
DO_IT!
|
|
; if error in query form, abort selection process
|
|
if (TABLE() <> "Answer") then
|
|
; erase query image(s)
|
|
WHILE (IMAGETYPE() = "Query")
|
|
CLEARIMAGE
|
|
ENDWHILE
|
|
MESSAGE "Invalid selection criteria. Query unsuccessful."
|
|
PICKFORM F_Num
|
|
RETURN
|
|
endif
|
|
Subset_Table = PRIVDIR() + "SUBSET"
|
|
RENAME TABLE() Subset_Table
|
|
MOVETO (M_Tbl + "(Q)")
|
|
CLEARIMAGE ; erase query image
|
|
MOVETO Subset_Table
|
|
if ISEMPTY(Subset_Table) then
|
|
CLEARIMAGE
|
|
No_Matches_Found()
|
|
else ; copy form and display on screen
|
|
COPYFORM M_Tbl F_Num Subset_Table "1"
|
|
COPYREPORT "Files" "1" Subset_Table "1" ; detailed file info
|
|
COPYREPORT "Files" "2" Subset_Table "2" ; summary file info
|
|
COPYREPORT "Files" "3" Subset_Table "3" ; detailed account summary
|
|
COPYREPORT "Files" "4" Subset_Table "4" ; short account summary
|
|
View_Answer_Table(Subset_Table, 1, 0)
|
|
FORMTABLES Subset_Table "1" Form_List
|
|
FOR I FROM 1 to ARRAYSIZE(Form_List)
|
|
MOVETO Form_List[I]
|
|
IMAGERIGHTS READONLY ; make all detail records uneditable
|
|
ENDFOR
|
|
MOVETO Subset_Table
|
|
File_Cabinet_Answer_Wait()
|
|
if ISTABLE(Subset_Table) then ; delete subset table
|
|
ECHO OFF
|
|
DELETE(Subset_Table)
|
|
endif
|
|
endif
|
|
endif
|
|
PICKFORM F_Num
|
|
ENDPROC; Ask_File_Cabinet
|
|
|
|
PROC Locate_Record()
|
|
PRIVATE Search_St, Choice, Fld_Name
|
|
Choice = 2
|
|
SHOWDIALOG "Locate Record"
|
|
@7, 14 HEIGHT 11 WIDTH 48
|
|
@2,2 ?? "Search field:"
|
|
RADIOBUTTONS @1,18 HEIGHT 3 WIDTH 20
|
|
"File Number",
|
|
"File Owner",
|
|
"Regarding"
|
|
TAG "Button_Tag"
|
|
TO Choice
|
|
@5,2 ?? "Search pattern:"
|
|
ACCEPT @5,18
|
|
WIDTH 25 "A35"
|
|
TAG "Search_St"
|
|
TO Search_St
|
|
PUSHBUTTON @7,13 WIDTH 10
|
|
"~S~earch"
|
|
OK
|
|
DEFAULT
|
|
VALUE ""
|
|
TAG "OK"
|
|
TO Button
|
|
PUSHBUTTON @7,26 WIDTH 10
|
|
"~C~ancel"
|
|
CANCEL
|
|
VALUE ""
|
|
TAG "Cancel"
|
|
TO Button
|
|
ENDDIALOG
|
|
if (RetVal = True) And (Search_St <> "") then
|
|
SWITCH
|
|
CASE (Choice = 1) : Fld_Name = "File_No"
|
|
CASE (Choice = 2) : Fld_Name = "Id"
|
|
CASE (Choice = 3) : Fld_Name = "Regarding"
|
|
OTHERWISE : RETURN
|
|
ENDSWITCH
|
|
MESSAGE "Searching..."
|
|
MOVETO M_Tbl
|
|
MOVETO FIELD Fld_Name
|
|
LOCATE INDEXORDER PATTERN Search_St
|
|
if (RetVal = True) then
|
|
MESSAGE ""
|
|
WHILE (RetVal = True)
|
|
SHOWPOPUP "Continue Search?" @17,63
|
|
"Next" : "Search for next match" : "Next",
|
|
"Quit" : "Terminate search" : "Quit"
|
|
ENDMENU
|
|
TO Choice
|
|
if (Choice = "Next") then
|
|
MESSAGE "Searching..."
|
|
ECHO OFF
|
|
CTRLPGDN
|
|
LOCATE INDEXORDER NEXT PATTERN Search_St
|
|
MESSAGE ""
|
|
if (RetVal = False) then
|
|
CTRLPGUP
|
|
BEEP
|
|
MESSAGE "No more matches found."
|
|
endif
|
|
ECHO NORMAL
|
|
else QUITLOOP
|
|
endif
|
|
ENDWHILE
|
|
else BEEP
|
|
MESSAGE "No matches found."
|
|
endif; initial match was found
|
|
endif; search requested
|
|
ENDPROC; Locate_Record
|
|
|
|
PROC Close_Account()
|
|
; must be files table & in coedit mode
|
|
PRIVATE Temp_Amount, Temp_Empl
|
|
ECHO OFF
|
|
[Closed] = TODAY()
|
|
[Status] = "INACTIVE"
|
|
Temp_Amount = [Amount_Owing]
|
|
Temp_Empl = [Empl_Num]
|
|
if (Temp_Amount > 0) then
|
|
MOVETO D_Tbl ; move to detail table (ledger)
|
|
END
|
|
if NOT RECORDSTATUS("New") then
|
|
DOWN ; move to new blank record
|
|
endif
|
|
[Date] = TODAY()
|
|
[Item_No] = 1
|
|
[Empl_Num] = Temp_Empl
|
|
[T_Code] = "PMT"
|
|
[T_Type] = "5"
|
|
[T_Type_L] = "C"
|
|
[Amount] = Temp_Amount
|
|
[Billed] = "Y"
|
|
WHILE TRUE ; must post record
|
|
POSTRECORD NOPOST LEAVELOCKED
|
|
if RetVal then
|
|
QUITLOOP
|
|
else [Item_No] = [Item_No] + 1
|
|
endif
|
|
ENDWHILE
|
|
endif
|
|
if (Temp_Amount > 0) then
|
|
Tally_Ledger()
|
|
endif
|
|
REFRESH
|
|
MESSAGE "Account has been closed."
|
|
ENDPROC; Close_Account
|
|
|
|
PROC Reopen_Account()
|
|
; must be in coedit mode
|
|
ECHO OFF
|
|
MOVETO M_Tbl ; move to master table (files)
|
|
[Closed] = BLANKDATE()
|
|
[Status] = "FOLLOW UP"
|
|
REFRESH
|
|
MESSAGE "Account has been reopened."
|
|
ENDPROC; Reopen_Account
|
|
|
|
PROC Update_Billed_Status()
|
|
PRIVATE Old_FN, F_Nos, I, Add_Tbl
|
|
DYNARRAY F_Nos[]
|
|
if Response_Is_Yes("Change Transaction Status", "Change all transactions to BILLED - YES status?") then
|
|
MESSAGE "Changing transactions to BILLED - YES status. One moment please..."
|
|
; make answer table match ledger table structure, change billed to yes
|
|
ECHO OFF
|
|
{Ask} TYPEIN Answer_Tbl ENTER
|
|
CHECKPLUS TAB TAB CHECKPLUS TAB CHECKPLUS
|
|
MOVETO FIELD "Billed"
|
|
TYPEIN "N"
|
|
DO_IT!
|
|
Answer_Tbl = PRIVDIR() + TABLE()
|
|
if ISEMPTY(Answer_Tbl) then
|
|
MESSAGE ""
|
|
CLEARIMAGE; remove answer table image
|
|
RETURN
|
|
endif
|
|
I = 1
|
|
TAB
|
|
COEDITKEY
|
|
SCAN
|
|
F_Nos[I] = [File_No] ; get list of file numbers
|
|
[Billed] = "Y"
|
|
I = I + 1
|
|
ENDSCAN
|
|
DO_IT!
|
|
CLEARIMAGE; remove answer table image
|
|
ADD Answer_Tbl D_Tbl; Target = Ledger or Ledger_x table
|
|
CLEARIMAGE; remove "changed" ledger table image
|
|
CLEARIMAGE; erase target table image
|
|
MESSAGE ""
|
|
; update file account totals
|
|
if (DYNARRAYSIZE(F_Nos) > 0) then ; update accounts
|
|
MOVETO M_Tbl
|
|
PICKFORM "1"
|
|
COEDITKEY
|
|
Old_FN = ""
|
|
FOREACH I IN F_Nos ; array of files to be updated
|
|
if (F_Nos[I] <> Old_FN) then
|
|
Old_FN = F_Nos[I]
|
|
MOVETO M_Tbl
|
|
MOVETO FIELD "File_No"
|
|
LOCATE F_Nos[I]
|
|
if RetVal then ; file number was found
|
|
MOVETO D_Tbl ; move to ledger table
|
|
Tally_Ledger() ; total accounts for this file
|
|
endif
|
|
endif
|
|
ENDFOREACH
|
|
DO_IT! ; end edit
|
|
FORMKEY
|
|
Sound_Off()
|
|
Message_Box("Updating File Account Balances", "All modified file accounts have been updated.")
|
|
endif
|
|
endif
|
|
ENDPROC; Update_Billed_Status
|
|
|
|
PROC Query_Ledger(S_Tbl, Billed, Rpt_No)
|
|
PRIVATE All_Billed
|
|
{Ask} TYPEIN S_Tbl ENTER
|
|
TAB CHECKPLUS EXAMPLE "LINK" TYPEIN "!" ; check file no field
|
|
TAB CHECKPLUS ; check owner id field
|
|
MOVETO FIELD "Footer_Code" CheckPlus
|
|
{Ask} TYPEIN D_Tbl ENTER
|
|
CHECKPLUS TAB CHECKPLUS EXAMPLE "LINK" ; check all fields except file no
|
|
MOVETO FIELD "Billed" TYPEIN Billed
|
|
DO_IT!
|
|
Answer_Tbl = PRIVDIR() + TABLE()
|
|
MOVETO FIELD "Billed"
|
|
All_Billed = TRUE
|
|
WHILE All_Billed
|
|
if ([Billed] = "Y") OR ISBLANK([Billed]) then
|
|
if ATLAST() then
|
|
QUITLOOP
|
|
else DOWN
|
|
endif
|
|
else All_Billed = FALSE
|
|
endif
|
|
ENDWHILE
|
|
CLEARIMAGE ; erase answer image
|
|
MOVETO (D_Tbl + "(Q)")
|
|
CLEARIMAGE ; erase 1st query image
|
|
MOVETO (S_Tbl + "(Q)")
|
|
CLEARIMAGE ; erase 2nd query image
|
|
if ISEMPTY(Answer_Tbl) then
|
|
No_Matches_Found()
|
|
else COPYREPORT "Trnsactn" Rpt_No Answer_Tbl "1"
|
|
Print_Report(Answer_Tbl, "1", Rpt_St["Statements"])
|
|
if (Billed <> "Y") AND NOT All_Billed then
|
|
Update_Billed_Status()
|
|
endif
|
|
endif
|
|
ENDPROC; Query_Ledger
|
|
|
|
PROC Credit_History()
|
|
{Ask} TYPEIN Subset_Table ENTER
|
|
TAB CHECKPLUS EXAMPLE "LINK" TYPEIN "!" ; check file no field
|
|
TAB CHECKPLUS ; check owner id field
|
|
MOVETO FIELD "Footer_Code" CHECKPLUS
|
|
{Ask} TYPEIN D_Tbl ENTER
|
|
CHECKPLUS TAB CHECKPLUS EXAMPLE "LINK" ; check all fields except file no
|
|
MOVETO FIELD "T_Type_L" TYPEIN "C" ; include only credit transactions
|
|
DO_IT!
|
|
Answer_Tbl = PRIVDIR() + TABLE()
|
|
CLEARIMAGE ; erase answer image
|
|
MOVETO (Subset_Table + "(Q)")
|
|
CLEARIMAGE ; erase 1st query image
|
|
MOVETO (D_Tbl + "(Q)")
|
|
CLEARIMAGE ; erase 2nd query image
|
|
if ISEMPTY(Answer_Tbl) then
|
|
No_Matches_Found()
|
|
else COPYREPORT "Trnsactn" "7" Answer_Tbl "1"
|
|
Print_Report(Answer_Tbl, "1", "")
|
|
endif
|
|
ENDPROC; Credit_History
|
|
|
|
PROC File_Cabinet_Answer_Menu()
|
|
SHOWPULLDOWN
|
|
"Modify" : "Toggle between edit and main mode" : "Modify"
|
|
SUBMENU
|
|
"Edit Mode - F9" : "Allow data to be edited, deleted, etc." : "Edit\Mode",
|
|
"Main Mode - F2" : "Discontinue editing" : "Main\Mode"
|
|
ENDSUBMENU,
|
|
"Reports" : "Choose report to generate" : "Reports"
|
|
SUBMENU
|
|
"Envelope" : "Create an envelope" : "R_Envelope",
|
|
"Phone Book" : "Generate list of phone numbers & addresses" : ""
|
|
SUBMENU
|
|
"Address & Phone #" : "List address & phone numbers" : "R_Phone_Address",
|
|
"Phone # Only" : "List only names & phone numbers" : "R_Phone"
|
|
ENDSUBMENU,
|
|
"Rolodex Info" : "All info in rolodex" : "R_Rolodex",
|
|
"File Cabinet Info" : "Show file cabinet data by file owner" : ""
|
|
SUBMENU
|
|
"Detailed" : "All data for files, with account balances" : "R_File_Detail",
|
|
"Short Form" : "Summarize file data and account balances" : "R_File_Short"
|
|
ENDSUBMENU,
|
|
"Account Balances" : "Summarize accounts in file cabinet by employee and file status" : ""
|
|
SUBMENU
|
|
"Detailed" : "Show balances by billed & unbilled amounts" : "R_Account_Detail",
|
|
"Short Form" : "Summarize amount owing & amount to transfer" : "R_Account_Short"
|
|
ENDSUBMENU,
|
|
"Statements" : "Statement of billable services" : ""
|
|
SUBMENU
|
|
"All Transactions" : "Include all transactions for file" : ""
|
|
SUBMENU
|
|
"Total Hours" : "Include only total for all hourly transactions" : "R_Statements_All",
|
|
"Itemize Hours" : "Itemize hours for each hourly transaction" : "R_Statements_All_I"
|
|
ENDSUBMENU,
|
|
"Billed Previously" : "Select only previously billed transactions" : ""
|
|
SUBMENU
|
|
"Total Hours" : "Include only total for all hourly transactions" : "R_Statements_Billed",
|
|
"Itemize Hours" : "Itemize hours for each hourly transaction" : "R_Statements_Billed_I"
|
|
ENDSUBMENU,
|
|
"Unbilled Only " : "Select only unbilled transactions" : ""
|
|
SUBMENU
|
|
"Total Hours" : "Include only total for all hourly transactions" : "R_Statements_Unbilled",
|
|
"Itemize Hours" : "Itemize hours for each hourly transaction" : "R_Statements_Unbilled_I"
|
|
ENDSUBMENU
|
|
ENDSUBMENU,
|
|
"Credit/Payment History" : "Report on credit/payment history for each account" : "R_Credit_History"
|
|
ENDSUBMENU,
|
|
"Assemble" : "Combine data and forms into documents" : "Assemble",
|
|
"Quit" : "Return to previous menu" : ""
|
|
SUBMENU
|
|
"No " : "Continue working with selected data" : "Return\No",
|
|
"Yes - F8" : "Return to complete data set" : "Return\Yes"
|
|
ENDSUBMENU
|
|
ENDMENU
|
|
if (SYSMODE() = "Main") then
|
|
MENUDISABLE "Main\Mode"
|
|
else MENUDISABLE "Edit\Mode"
|
|
MENUDISABLE "Assemble"
|
|
MENUDISABLE "Reports"
|
|
endif
|
|
File_Cabinet_Speedbar()
|
|
ENDPROC; File_Cabinet_Answer_Menu
|
|
|
|
PROC File_Cabinet_Answer_Wait_Proc(TriggerType, EventInfo, CycleNumber)
|
|
PRIVATE Answer_Tbl, Menu_Tag, Return_Code
|
|
if (TriggerType = "ARRIVEFIELD") then
|
|
PROMPT Fld_Prompt[FIELD()]
|
|
RETURN 1
|
|
endif
|
|
if (EventInfo["TYPE"] = "MESSAGE") AND
|
|
(EventInfo["MESSAGE"] = "MENUSELECT") AND
|
|
(SUBSTR(EventInfo["MENUTAG"],1,2) = "R_") then
|
|
Menu_Tag = EventInfo["MENUTAG"]
|
|
SHOWPULLDOWN
|
|
ENDMENU
|
|
CLEARSPEEDBAR
|
|
MESSAGE "One moment please..."
|
|
ECHO OFF
|
|
SWITCH
|
|
; ***** envelope *****
|
|
CASE (Menu_Tag = "R_Envelope") :
|
|
MESSAGE ""
|
|
Return_Code = Yes_No_Cancel("Duplicate Envelope Removal", "Print only one envelope per file owner?")
|
|
if (Return_Code = "Yes") then
|
|
{Ask} {Rolodex} CHECK TAB EXAMPLE "LINK"
|
|
else if (Return_Code = "No") then
|
|
{Ask} {Rolodex} CHECKPLUS TAB EXAMPLE "LINK"
|
|
else FORMKEY
|
|
endif
|
|
endif
|
|
if (Return_Code <> "Cancel") then
|
|
MESSAGE "One moment please..."
|
|
{Ask} TYPEIN Subset_Table ENTER
|
|
MOVETO FIELD "Id" EXAMPLE "LINK"
|
|
DO_IT!
|
|
Answer_Tbl = PRIVDIR() + TABLE()
|
|
SORT Answer_Tbl ON "Id"
|
|
CLEARIMAGE ; erase answer image
|
|
MOVETO "Rolodex(Q)"
|
|
CLEARIMAGE ; erase 1st query image
|
|
MOVETO (Subset_Table + "(Q)")
|
|
CLEARIMAGE ; erase 2nd query image
|
|
if ISEMPTY(Answer_Tbl) then
|
|
No_Matches_Found()
|
|
else COPYREPORT "Rolodex" "1" Answer_Tbl "R"
|
|
Print_Report(Answer_Tbl, "R", Rpt_St["Envelope"])
|
|
endif
|
|
endif
|
|
; ***** rolodex address & phone information *****
|
|
CASE (Menu_Tag = "R_Phone_Address") OR (Menu_Tag = "R_Phone") OR (Menu_Tag = "R_Rolodex") :
|
|
{Ask} TYPEIN Subset_Table ENTER
|
|
TAB TAB CHECK EXAMPLE "LINK" TYPEIN "!"
|
|
{Ask} {Phone} CHECK TAB CHECK EXAMPLE "LINK"
|
|
DO_IT!
|
|
Answer_Tbl = PRIVDIR() + TABLE()
|
|
CLEARIMAGE ; erase answer image
|
|
MOVETO "Phone(Q)"
|
|
CLEARIMAGE ; erase 1st query image
|
|
MOVETO (Subset_Table + "(Q)")
|
|
CLEARIMAGE ; erase 2nd query image
|
|
if ISEMPTY(Answer_Tbl) then
|
|
No_Matches_Found()
|
|
else if (Menu_Tag = "R_Phone") then
|
|
COPYREPORT "Phone" "1" Answer_Tbl "R"
|
|
Print_Report(Answer_Tbl, "R", Rpt_St["Phone_Book"])
|
|
else if (Menu_Tag = "R_Phone_Address") then
|
|
COPYREPORT "Phone" "2" Answer_Tbl "R"
|
|
Print_Report(Answer_Tbl, "R", Rpt_St["Phone_Book"])
|
|
else COPYREPORT "Phone" "3" Answer_Tbl "R"
|
|
Print_Report(Answer_Tbl, "R", Rpt_St["Rolodex_Info"])
|
|
endif
|
|
endif
|
|
endif
|
|
; ***** detailed file cabinet information *****
|
|
CASE (Menu_Tag = "R_File_Detail"):
|
|
FORMKEY
|
|
Print_Report(Subset_Table, "1", Rpt_St["File_Cabinet"])
|
|
; ***** summarized file cabinet information *****
|
|
CASE (Menu_Tag = "R_File_Short"):
|
|
FORMKEY
|
|
Print_Report(Subset_Table, "2", Rpt_St["File_Cabinet"])
|
|
; ***** detailed accounts receivable information *****
|
|
CASE (Menu_Tag = "R_Account_Detail") :
|
|
FORMKEY
|
|
Print_Report(Subset_Table, "3", Rpt_St["Accounts"])
|
|
; ***** summarized accounts receivable information *****
|
|
CASE (Menu_Tag = "R_Account_Short") :
|
|
FORMKEY
|
|
Print_Report(Subset_Table, "4", Rpt_St["Accounts"])
|
|
; ***** statement, unbilled transactions only *****
|
|
CASE (Menu_Tag = "R_Statements_Unbilled") :
|
|
Query_Ledger(Subset_Table, "N", "1")
|
|
; ***** statement, unbilled transactions only, itemized *****
|
|
CASE (Menu_Tag = "R_Statements_Unbilled_I") :
|
|
Query_Ledger(Subset_Table, "N", "2")
|
|
; ***** statement, billed & unbilled *****
|
|
CASE (Menu_Tag = "R_Statements_All") :
|
|
Query_Ledger(Subset_Table, "", "3")
|
|
; ***** statement, billed & unbilled, itemized *****
|
|
CASE (Menu_Tag = "R_Statements_All_I") :
|
|
Query_Ledger(Subset_Table, "", "4")
|
|
; ***** statement, previously billed transactions only *****
|
|
CASE (Menu_Tag = "R_Statements_Billed") :
|
|
Query_Ledger(Subset_Table, "Y", "5")
|
|
; ***** statement, previously billed transactions only *****
|
|
CASE (Menu_Tag = "R_Statements_Billed_I") :
|
|
Query_Ledger(Subset_Table, "Y", "6")
|
|
; ***** last credit to account *****
|
|
CASE (Menu_Tag = "R_Credit_History") :
|
|
Credit_History()
|
|
ENDSWITCH
|
|
MOVETO Subset_Table
|
|
FORMKEY
|
|
ECHO NORMAL
|
|
EXECPROC "File_Cabinet_Answer_Menu"
|
|
RETURN 1
|
|
else Return_Code = Answer_Table_Wait_Proc(TriggerType, EventInfo, CycleNumber)
|
|
if (SYSMODE() = "Main") then
|
|
MENUENABLE "Assemble"
|
|
else MENUDISABLE "Assemble"
|
|
endif
|
|
RETURN Return_Code
|
|
endif
|
|
ENDPROC; File_Cabinet_Answer_Wait_Proc
|
|
|
|
PROC File_Cabinet_Answer_Wait()
|
|
File_Cabinet_Answer_Menu()
|
|
Sound_Off()
|
|
ECHO NORMAL
|
|
Message_Box("Search Completed", "Matching File Cabinet Entries: " + STRVAL(NRECORDS(Subset_Table)))
|
|
WAIT WORKSPACE
|
|
PROC "File_Cabinet_Answer_Wait_Proc"
|
|
MESSAGE "MENUSELECT"
|
|
TRIGGER "ARRIVEFIELD"
|
|
KEY -60, -66, -67, -83, -50, -48, 43, 45
|
|
; DO_IT Clear Edit Delete Alt-M Alt-B + -
|
|
; F2 F8 F9 DEL Memo Summarize Balances
|
|
ENDWAIT
|
|
CLEARSPEEDBAR
|
|
MESSAGE ""
|
|
ENDPROC; File_Cabinet_Answer_Wait
|
|
|
|
PROC Summarize_Accounts(Tbl, I_No)
|
|
; pops up window with summary of billed, unbilled & total accounts
|
|
PRIVATE Button_Val
|
|
MOVETO Tbl
|
|
SHOWDIALOG "Account Balances - File No: " + [File_No]
|
|
@3,8 HEIGHT 18 WIDTH 63
|
|
@1, 17 ?? " Billed Not Billed Total"
|
|
@2, 17 ?? "========== ========== ========="
|
|
@3, 2 ?? "Trust Acnt. "+FORMAT("W13.2,E$C,AR", [Trust_Bal_P]) +FORMAT("W15.2,E$C,AR", [Trust_Bal]-[Trust_Bal_P]) +FORMAT("W15.2,E$C,AR", [Trust_Bal])
|
|
@4, 2 ?? "Hours "+FORMAT("W13.2,EC,AR", [Hours_P]) +FORMAT("W15.2,EC,AR", [Hours]-[Hours_P]) +FORMAT("W15.2,EC,AR", [Hours])
|
|
@6, 2 ?? "Hourly Fees "+FORMAT("W13.2,EC,AR", [Hourly_Fees_P]) +FORMAT("W15.2,EC,AR", [Hourly_Fees]-[Hourly_Fees_P]) +FORMAT("W15.2,EC,AR", [Hourly_Fees])
|
|
@7, 2 ?? "Flat Fees "+FORMAT("W13.2,EC,AR", [Flat_Fees_P]) +FORMAT("W15.2,EC,AR", [Flat_Fees]-[Flat_Fees_P]) +FORMAT("W15.2,EC,AR", [Flat_Fees])
|
|
@8, 2 ?? "Disburse. "+FORMAT("W13.2,EC,AR", [Disbursements_P])+FORMAT("W15.2,EC,AR", [Disbursements]-[Disbursements_P])+FORMAT("W15.2,EC,AR", [Disbursements])
|
|
@9, 2 ?? "Tot. Charges"+FORMAT("W13.2,EC,AR", [Total_Charges_P])+FORMAT("W15.2,EC,AR", [Total_Charges]-[Total_Charges_P])+FORMAT("W15.2,EC,AR", [Total_Charges])
|
|
@10,2 ?? "Credits "+FORMAT("W13.2,EC,AR", [Credit_Bal_P]) +FORMAT("W15.2,EC,AR", [Credit_Bal]-[Credit_Bal_P]) +FORMAT("W15.2,EC,AR", [Credit_Bal])
|
|
@11,17 ?? "========== ========== ========="
|
|
@12,2 ?? "Balance Due "+FORMAT("W13.2,E$C,AR", [Amount_Owing_P]) +FORMAT("W15.2,E$C,AR", [Amount_Owing]-[Amount_Owing_P]) +FORMAT("W15.2,E$C,AR", [Amount_Owing])
|
|
@14,32 ?? "Transferable: "+FORMAT("W11.2,E$C,AR", [Transferable])
|
|
PUSHBUTTON @14,10 WIDTH 12
|
|
"~O~K"
|
|
OK
|
|
VALUE "OK"
|
|
TAG "OK_Button"
|
|
TO Button_Val
|
|
ENDDIALOG
|
|
MOVETO I_No
|
|
if (SYSMODE() = "CoEdit") then
|
|
REFRESH
|
|
endif
|
|
ENDPROC; Summarize_Accounts
|
|
|
|
PROC Depart_Cabinet_Row()
|
|
PRIVATE In_Form
|
|
if (SYSMODE() <> "CoEdit") OR FORMTYPE("Detail") then
|
|
RETURN TRUE
|
|
endif
|
|
if NOT ISVALID() then
|
|
Message_Box("Invalid Field Entry", "The data for this field is invalid.")
|
|
RETURN FALSE
|
|
endif
|
|
; depart row if record is new & blank
|
|
if RECORDSTATUS("New") AND NOT RECORDSTATUS("Modified") then
|
|
RETURN TRUE
|
|
endif
|
|
if ISBLANK([File_No]) then
|
|
MOVETO [File_No]
|
|
Message_Box("Incomplete Entry", "This file requires a file number.")
|
|
RETURN FALSE
|
|
endif
|
|
if ISBLANK([Id]) then
|
|
MOVETO [Id]
|
|
Message_Box("Incomplete Entry", "This file requires a file owner ID.")
|
|
RETURN FALSE
|
|
endif
|
|
if ISBLANK([Empl_Num]) then
|
|
MOVETO [Empl_Num]
|
|
Message_Box("Incomplete Entry", "This file requires an employee number.")
|
|
RETURN FALSE
|
|
endif
|
|
if ISBLANK([File_Type]) then
|
|
MOVETO [File_Type]
|
|
Message_Box("Incomplete Entry", "This file requires an law area designation.")
|
|
RETURN FALSE
|
|
endif
|
|
if ISBLANK([Opened]) then
|
|
MOVETO [Opened]
|
|
Message_Box("Incomplete Entry", "This file requires a date of opening.")
|
|
RETURN FALSE
|
|
endif
|
|
if ISBLANK([Status]) then
|
|
MOVETO [Status]
|
|
Message_Box("Incomplete Entry", "This file requires a status designation.")
|
|
RETURN FALSE
|
|
endif
|
|
if ISBLANK([Rate_Per_Hour]) then
|
|
MOVETO [Rate_Per_Hour]
|
|
Message_Box("Incomplete Entry", "This file requires an hourly billing rate.")
|
|
RETURN FALSE
|
|
endif
|
|
if RECORDSTATUS("New") then
|
|
[Trust_Bal] = 0
|
|
[Hours] = 0
|
|
[Hourly_Fees] = 0
|
|
[Flat_Fees] = 0
|
|
[Disbursements] = 0
|
|
[Total_Charges] = 0
|
|
[Credit_Bal] = 0
|
|
[Amount_Owing] = 0
|
|
[Transferable] = 0
|
|
endif
|
|
RETURN TRUE
|
|
ENDPROC; Depart_Cabinet_Row
|
|
|
|
PROC File_Cabinet_Wait_Proc(TriggerType, EventInfo, CycleNumber)
|
|
PRIVATE Key_Code, Menu_Pick, Form_Num
|
|
if (TriggerType = "ARRIVEFIELD") then
|
|
File_Cabinet_Speedbar()
|
|
RETURN 0
|
|
endif
|
|
if (TriggerType = "DEPARTROW") then
|
|
if Depart_Cabinet_Row() then
|
|
RETURN 0
|
|
endif
|
|
RETURN 1
|
|
endif
|
|
if (TriggerType = "ARRIVETABLE") then
|
|
File_Cabinet_Speedbar()
|
|
if (SYSMODE() = "CoEdit") AND (TABLE() = D_Tbl) then
|
|
Ledger_Table_Wait(TRUE, Employee, Hourly_Rate)
|
|
File_Cabinet_Speedbar()
|
|
RETURN 1
|
|
endif
|
|
RETURN 0
|
|
endif
|
|
if (TriggerType = "DEPARTTABLE") then
|
|
if (TABLE() = M_Tbl) then
|
|
Hourly_Rate = [Rate_Per_Hour]
|
|
Employee = [Empl_Num]
|
|
endif
|
|
RETURN 0
|
|
endif
|
|
if (EventInfo["TYPE"] = "KEY") then
|
|
Key_Code = EventInfo["KEYCODE"]
|
|
SWITCH
|
|
; F9 - COEDIT
|
|
CASE (Key_Code = -67) : Main_Table_Edit()
|
|
if (TABLE() = D_Tbl) then
|
|
Ledger_Table_Wait(FALSE, Employee, Hourly_Rate)
|
|
if (IMAGENO() > 0) then
|
|
File_Cabinet_Speedbar()
|
|
endif
|
|
endif
|
|
RETURN 1
|
|
; F2 - DO_IT!
|
|
CASE (Key_Code = -60) : if Depart_Cabinet_Row() then
|
|
if ISEMPTY(Main_Table) then
|
|
RETURN Main_Table_Clear()
|
|
else RETURN Main_Table_End_Edit()
|
|
endif
|
|
else RETURN 1
|
|
endif
|
|
; F8 - CLEAR
|
|
CASE (Key_Code = -66) : if Depart_Cabinet_Row() then
|
|
RETURN Main_Table_Clear()
|
|
else RETURN 1
|
|
endif
|
|
; DELETE
|
|
CASE (Key_Code = -83) : if (SYSMODE() = "CoEdit") then
|
|
if ISFIELDVIEW() then
|
|
RETURN 0
|
|
endif
|
|
; if (TABLE() = M_Tbl) then
|
|
; GETRECORD "Timecard" [File_No] TO DYNARRAY A
|
|
; if RetVal then
|
|
; Message_Box("Timecard Entries Are Outstanding", "Cannot delete if timecard contains related entries!")
|
|
; RETURN 1
|
|
; endif
|
|
; endif
|
|
RETURN Display_Delete_Box()
|
|
endif
|
|
RETURN 1
|
|
; Alt-M - Memo
|
|
CASE (Key_Code = -50) : Display_Memo(Main_Table)
|
|
Main_Table_Menu()
|
|
File_Cabinet_Speedbar()
|
|
RETURN 1
|
|
; Alt-C Close Account
|
|
CASE (Key_Code = -46) : if (FORM() = "1") OR (FORM() = "2") then
|
|
if (SYSMODE() = "Main") then
|
|
COEDITKEY
|
|
endif
|
|
Close_Account()
|
|
endif
|
|
RETURN 1
|
|
; Alt-R Reopen Account
|
|
CASE (Key_Code = -19) : Main_Table_Edit()
|
|
if (SYSMODE() = "CoEdit") then
|
|
Reopen_Account()
|
|
endif
|
|
RETURN 1
|
|
; ALT-B - Summarize account balances
|
|
CASE (Key_Code = -48) : Summarize_Accounts(M_Tbl, IMAGENO())
|
|
RETURN 1
|
|
; ALT-L - Locate Record
|
|
CASE (Key_Code = -38) : Locate_Record()
|
|
RETURN 1
|
|
; ALT-I - Inquire about Rolodex
|
|
CASE (Key_Code = -23) : if (SYSMODE() = "Main")then
|
|
Show_Rolodex_Info()
|
|
endif
|
|
RETURN 1
|
|
; ALT-T - Start or stop time keeper
|
|
CASE (Key_Code = -20) : if Timing then
|
|
Stop_Ticker()
|
|
else Start_Ticker()
|
|
endif
|
|
RETURN 1
|
|
; ALT-F - Switch form
|
|
CASE (Key_Code = -33) : if (SYSMODE() = "Main") then
|
|
ECHO OFF
|
|
MOVETO M_Tbl
|
|
Form_Num = NUMVAL(FORM()) + 1
|
|
if (Form_Num > 2) then
|
|
Form_Num = 1
|
|
endif
|
|
PICKFORM Form_Num
|
|
ECHO NORMAL
|
|
endif
|
|
RETURN 1
|
|
; + or - to change current date
|
|
CASE (Key_Code = 43) OR (Key_Code = 45) :
|
|
RETURN Change_Date(Key_Code)
|
|
OTHERWISE : SOUND 400 100 RETURN 1
|
|
ENDSWITCH
|
|
endif
|
|
if (EventInfo["MESSAGE"] = "MENUSELECT") then
|
|
Menu_Pick = EventInfo["MENUTAG"]
|
|
SWITCH
|
|
CASE (Menu_Pick = "Edit\Mode") : Main_Table_Edit()
|
|
if (TABLE() = D_Tbl) then
|
|
Ledger_Table_Wait(FALSE, Employee, Hourly_Rate)
|
|
if (IMAGENO() > 0) then
|
|
File_Cabinet_Speedbar()
|
|
endif
|
|
endif
|
|
RETURN 1
|
|
CASE (Menu_Pick = "Main\Mode") : if Depart_Cabinet_Row() then
|
|
if ISEMPTY(M_Tbl) then
|
|
RETURN Main_Table_Clear()
|
|
else RETURN Main_Table_End_Edit()
|
|
endif
|
|
else RETURN 1
|
|
endif
|
|
CASE (Menu_Pick = "Ask") : MOVETO M_Tbl
|
|
if ISBLANK([File_No]) then
|
|
File_No = ""
|
|
else File_No = [File_No]
|
|
endif
|
|
if (M_Tbl = "Files") then
|
|
Status = "SEND"
|
|
else Status = "HOLD"
|
|
endif
|
|
Ask_File_Cabinet(NUMVAL(FORM()))
|
|
Main_Table_Menu()
|
|
File_Cabinet_Speedbar()
|
|
RETURN 1
|
|
CASE (Menu_Pick = "Close\Yes") : if Depart_Cabinet_Row() then
|
|
RETURN Main_Table_Clear()
|
|
else RETURN 1
|
|
endif
|
|
CASE (Menu_Pick = "Close\No") : RETURN 1
|
|
OTHERWISE : SOUND 400 100 RETURN 1
|
|
ENDSWITCH
|
|
endif
|
|
SOUND 400 100 RETURN 1 ; safety valve, ignore all events not recognized
|
|
ENDPROC; File_Cabinet_Wait_Proc
|
|
|
|
PROC File_Cabinet_Speedbar()
|
|
CLEARSPEEDBAR
|
|
SPEEDBAR "~F10~ Menu":-68, "~Alt-M~ Memo":-50, "~Alt-B~ Balances":-48
|
|
if ISASSIGNED(Fld_Prompt[FIELD()]) then
|
|
PROMPT Fld_Prompt[FIELD()]
|
|
else PROMPT ""
|
|
endif
|
|
ENDPROC; File_Cabinet_Speedbar
|
|
|
|
; MAIN PROCEDURE BEGINS HERE!
|
|
; initialize "ASK" dialog box variables not initialized with each ask
|
|
Id = ""
|
|
File_Type = ""
|
|
Regarding = ""
|
|
Opened = ""
|
|
Closed = ""
|
|
Empl_Num = ""
|
|
Trust_Bal = ""
|
|
Total_Charges = ""
|
|
Amount_Owing = ""
|
|
Transferable = ""
|
|
|
|
Answer_Menu = "File_Cabinet_Answer_Menu"
|
|
DYNARRAY Fld_Prompt[]
|
|
Fld_Prompt["File_No"] = "Unique file number"
|
|
Fld_Prompt["Id"] = "F1 to select file owner from rolodex"
|
|
Fld_Prompt["Regarding"] = "Description of pertinent matter"
|
|
Fld_Prompt["Empl_Num"] = "F1 to assign atty. and default rate"
|
|
Fld_Prompt["File_Type"] = "F1 to select area of law"
|
|
Fld_Prompt["Opened"] = "Date this file was opened (##/##/##)"
|
|
Fld_Prompt["Closed"] = "Date this file closes (##/##/##)"
|
|
Fld_Prompt["Status"] = "F1 to select file status"
|
|
Fld_Prompt["Footer_Code"] = "F1 to select statement footer"
|
|
Fld_Prompt["Opposing"] = "F1 to select opposing atty from rolodex"
|
|
Fld_Prompt["Memo"] = "Add or edit notes for this file"
|
|
Fld_Prompt["Rate_Per_Hour"] = "Hourly billing rate"
|
|
|
|
Fld_Prompt["Memo_Date"] = "Enter Date of this memo entry"
|
|
Fld_Prompt["Memo_Note"] = "Enter Memo (up to 90 characters)"
|
|
|
|
Fld_Prompt["Date"] = "Date for this transaction, (##/##/##)"
|
|
Fld_Prompt["T_Code"] = "F1 to select trans. code & description"
|
|
Fld_Prompt["Quantity"] = "Number of billable units"
|
|
Fld_Prompt["Rate"] = "Dollar value per unit"
|
|
Fld_Prompt["Amount"] = "Dollar amount of ledger entry"
|
|
Fld_Prompt["Billed"] = "Has transaction been billed (Y/N)?"
|
|
Fld_Prompt["Note"] = "Note to append to trans. description"
|
|
Fld_Prompt["A1"] = "First line of address, or firm name"
|
|
Fld_Prompt["Location"] = "Location for this phone number"
|
|
Fld_Prompt["Phone"] = "Phone No.: ###-####, 1-###-###-####"
|
|
Fld_Prompt["Relationship"] = "Code for type of relationship"
|
|
Fld_Prompt["Rolodex_Id"] = "Select Id from Rolodex"
|
|
Fld_Prompt["Identifier"] = "Name of variable"
|
|
Fld_Prompt["Response"] = "Text to replace variable"
|
|
if (M_Tbl = "Files") then
|
|
Cabinet = "Open"
|
|
else Cabinet = "Archived"
|
|
endif
|
|
Main_Table_View(M_Tbl, 1, 0)
|
|
END
|
|
Timing = False
|
|
File_Cabinet_Speedbar()
|
|
ECHO NORMAL
|
|
WAIT WORKSPACE
|
|
PROC "File_Cabinet_Wait_Proc"
|
|
TRIGGER "ARRIVEFIELD", "ARRIVETABLE", "DEPARTROW", "DEPARTTABLE"
|
|
MESSAGE "MENUSELECT"
|
|
KEY -60, -66, -67, -83, -50, -46, -19, -48, -38, -23, -33, -20, 43, 45
|
|
; DO_IT Clear Edit Del Alt-M Alt-C Alt-R Alt-B Alt-L Alt-I Alt-F Alt-T
|
|
; F2 F8 F9 DEL Memo Close Reopen Balnces Locate Inquire Form Timer + -
|
|
ENDWAIT
|
|
CLEARSPEEDBAR
|
|
PROMPT ""
|
|
MESSAGE ""
|
|
ENDPROC
|
|
WRITELIB Off_Lib File_Cabinet_Wait
|
|
|
|
RELEASE PROCS ALL |