def fProgressTotal_Setup1(): # - - - - - - - - - - - - - - - - - - - - - - - - - # myTools.sectionStartTimeStamp("ba ProgressTot1") logging.debug("ba ProgressTot1") # open client type("i", KeyModifier.CTRL) time.sleep(1) type("BA-ProgressTot") type(Key.ENTER) time.sleep(1) # get to arrangement field for time ba__Common.fMoveto_BAPage() myTools.pressTAB(4) # switch to minimum type(Key.HOME) myTools.pressDOWN(11) # enter details type(Key.TAB) type(Key.ENTER) time.sleep(1) type("500") time.sleep(1) type(Key.ENTER) # save and close type("s", KeyModifier.CTRL) type(Key.F4, KeyModifier.CTRL) time.sleep(1) type(Key.F4, KEY_CTRL) myTools.sectionEndTimeStamp()
def fContingencyExp_Setup2(pBAClient): #---------------------------------------------------# myTools.sectionStartTimeStamp(pBAClient + "2") logging.debug(pBAClient + "2") # open client myTools.openClient(pBAClient) # get to arrangement field for exp ba__Common.fMoveto_BAPage() myTools.pressTAB(6) # enter details type(Key.ENTER) time.sleep(1) # if int(Settings.tsVersion) > 2014: # myTools.pressTAB(1) # else: myTools.pressTAB(2) type(Key.DOWN) # save and close type(Key.ENTER) type("s",KeyModifier.CTRL) type(Key.F4,KeyModifier.CTRL) time.sleep(1) type(Key.F4,KeyModifier.CTRL) myTools.sectionEndTimeStamp()
def fExport_ClientSettings(): # ---------------------------------------------------# logging.debug("-- export client settings") click("export_btn.png") time.sleep(1) # move to Export To list myTools.pressTAB(1) # move to Nahant type("n") time.sleep(1) # move highlight to account for Timeslips weirdness type(Key.UP) type(Key.DOWN) time.sleep(1) # highlight and mark rest of clients type(Key.END, Key.SHIFT) type(Key.F4) time.sleep(1) # click Export, then Yes type(Key.TAB) type(Key.ENTER) time.sleep(1) type(Key.ENTER) myTools.waitForExportSuccess()
def fChange_ClientSettings(): #---------------------------------------------------# logging.debug('- Change_ClientSettings') myTools.getFocus() logging.debug('-- change a client') type("i",KeyModifier.CTRL) time.sleep(1) type(Key.ENTER) time.sleep(1) myTools.pressF6(4) if Settings.tsVersion > "2014": myTools.pressF6(3) time.sleep(1) myTools.pressTAB(3) time.sleep(1) type("my") logging.debug('-- save client') type("s",KeyModifier.CTRL) fExport_ClientSettings() fExport_TemplateSettings() time.sleep(1) type(Key.F4,KeyModifier.CTRL) type(Key.F4,KeyModifier.CTRL)
def setupCustomFilter(): #---------------------------------------------------# """ sets up custom filter Client List; only used by fPrint_PreBill_2 """ logging.debug('- setupCustomFilter') wait("slip_trans_date.png",60) time.sleep(1) click("slip_trans_date.png") time.sleep(1) # switch to the client group myTools.pressSHIFTTAB(1) type("c") time.sleep(1) # choose Client List myTools.pressTAB(1) myTools.pressDOWN(7) click("add_filter.png") time.sleep(1) # mark All type(Key.INSERT) time.sleep(1) # remove Franklin myTools.pressDOWN(5) type(Key.F4,KeyModifier.SHIFT) # press OK myTools.pressTAB(1) type(Key.ENTER) time.sleep(1)
def fSort_InvoiceListFields(): #---------------------------------------------------# logging.debug('- fSort_InvoiceListFields') logging.debug('- open report list') type("r",KeyModifier.ALT) type("a") time.sleep(1) # open report type("udi") time.sleep(1) type("o",KeyModifier.CTRL) time.sleep(1) # add invoice number sort type(Key.F6) time.sleep(1) myTools.pressTAB(2) time.sleep(1) type(Key.SPACE) # close and save report type(Key.F4,KeyModifier.CTRL) time.sleep(1) type("y") time.sleep(1) type(Key.F4,KeyModifier.CTRL)
def fChange_TaxRule(): #---------------------------------------------------# logging.debug('- Change_TaxRule') logging.debug('-- open Taxes') type("p",KeyModifier.ALT) type("t") time.sleep(2) logging.debug('-- open GA tax rule') type(Key.F6) type("g") type(Key.ENTER) time.sleep(1) logging.debug('-- change rate') myTools.pressTAB(3) type("7.25") type(Key.TAB) type(Key.END) time.sleep(1) logging.debug('-- change settings') type("s",KeyModifier.ALT) type("i",KeyModifier.ALT) type(Key.ENTER) click("done_btn.png")
def fImport_DefaultLayout(): #---------------------------------------------------# fImport_Layout("Low Detail") logging.debug('- assign layout') type("a",KeyModifier.ALT) time.sleep(1) # shift tab to open/templates control myTools.pressSHIFTTAB(1) time.sleep(1) # press RIGHT to Template Clients myTools.pressRIGHT(1) time.sleep(1) # press TAB to client list myTools.pressTAB(1) time.sleep(1) #press F4 to mark template type(Key.F4) time.sleep(1) # assign type("a",KeyModifier.ALT) type(Key.ENTER) time.sleep(1) # confirm and close type(Key.ENTER) time.sleep(1) type(Key.F4,KeyModifier.CTRL) time.sleep(1)
def fSetup_SplitBills(): #---------------------------------------------------# myTools.sectionStartTimeStamp("setup split") logging.debug('- set up split bills') myTools.getFocus() # open split billing rule list type("b",KeyModifier.ALT) time.sleep(1) type("i") time.sleep(1) fSetup_Primary("Beverly") # new secondary myTools.pressTAB(7) fSetup_Secondary("Peabody",15) fSetup_Secondary("Saugus",20) # done myTools.pressTAB(4) type(Key.SPACE) myTools.sectionEndTimeStamp() backup_Data.fBackup_Checkpoint("split")
def setup_BillTemplate(): #---------------------------------------------------# logging.debug('- edit bill template') type("o",KeyModifier.CTRL) time.sleep(1) type("Invoice: [Invoice Number], Balance: [New Balance]") time.sleep(1) myTools.pressTAB(1) type("a",KeyModifier.CTRL) time.sleep(1) type("Timekeeper: [Custom Timekeeper]") type(Key.ENTER) type("List: [Custom List]") type(Key.ENTER) type("Previous: [Previous Balance]") type(Key.ENTER) type("Fees: [Actual Fees - ITD + New]") type(Key.ENTER) type("Aged: Period 1: [Aged Period 1]") time.sleep(1) myTools.pressTAB(1) type(Key.ENTER) time.sleep(1)
def fCreate_Categories(): # ---------------------------------------------------# myTools.sectionStartTimeStamp("categories") logging.debug("fCreate_Categories") # make sure timeslips has focus myTools.getFocus() logging.debug("- open category list") type("p", KeyModifier.ALT) # hot keys changed for TS2014 if int(Settings.tsVersion) < 2014: type("i") else: type("o") time.sleep(1) for category in ["Construction", "General", "Landscape", "Hardware", "Supplies", "Materials", "Other"]: logging.debug("-- create: " + category) type("n", KeyModifier.ALT) type(category) type(Key.ENTER) logging.debug("- close list") myTools.pressTAB(4) type(Key.ENTER) myTools.sectionEndTimeStamp()
def setup_StatementTemplate(pPeriod): #---------------------------------------------------# logging.debug('- edit statement template: ' + pPeriod) type("Client: [Nickname 1] - Balance: [New Balance]") myTools.pressTAB(1) type("a",KeyModifier.CTRL) time.sleep(1) type("Period: " + pPeriod) type(Key.ENTER) type("Timekeeper: [Custom Timekeeper]") type(Key.ENTER) type("List: [Custom List]") type(Key.ENTER) type("Previous: [Previous Balance]") type(Key.ENTER) type("Fees: [Actual Fees - ITD + New]") type(Key.ENTER) type("Aged: Period 1: [Aged Period 1]") type(Key.ENTER) type("Oldest: [Oldest Balance Amount]") type(Key.ENTER) type("Email: [Email Address]") time.sleep(1) if int(Settings.tsVersion) < 2015: myTools.pressTAB(1) type(Key.ENTER) time.sleep(1)
def setup_ReprintTemplates(): #---------------------------------------------------# logging.debug('- edit reprint template') if int(Settings.tsVersion) < 2015: type("3",KeyModifier.CTRL) # use Ctrl+3 instead of F6; defect in ts2014 type(Key.ENTER) else: type(Key.F6) time.sleep(1) type("Copy [Invoice Number] for [Invoice Balance]: [Invoice Status]") time.sleep(1) myTools.pressTAB(1) type("a",KeyModifier.CTRL) time.sleep(1) type("Timekeeper: [Custom Timekeeper]") type(Key.ENTER) type("Bill Date: [Bill Date]") type(Key.ENTER) type("New Charges: [New Charges]") type(Key.ENTER) type("InRefTo: [In Reference To]") type(Key.ENTER) type("Firm Name: [Firm Name]") time.sleep(1) if int(Settings.tsVersion) < 2015: myTools.pressTAB(1) type(Key.ENTER) time.sleep(1)
def fProgressTotal_Setup3(): # - - - - - - - - - - - - - - - - - - - - - - - - - # myTools.sectionStartTimeStamp("ba ProgressTot3") logging.debug("ba ProgressTot3") # open client type("i", KeyModifier.CTRL) time.sleep(1) type("BA-ProgressTot") type(Key.ENTER) time.sleep(1) # get to arrangement field for time ba__Common.fMoveto_BAPage() myTools.pressTAB(5) # enter details type(Key.ENTER) time.sleep(1) type("700") time.sleep(1) type("u", KeyModifier.ALT) type(Key.END) type(Key.ENTER) # save and close type("s", KeyModifier.CTRL) type(Key.F4, KeyModifier.CTRL) time.sleep(1) type(Key.F4, KeyModifier.CTRL) myTools.sectionEndTimeStamp()
def fPrecision_Setup(): # - - - - - - - - - - - - - - - - - - - - - - - - - # myTools.sectionStartTimeStamp("ba Precision") logging.debug("ba Precision") # open client type("i", KeyModifier.CTRL) time.sleep(1) type("BA-Precision") type(Key.ENTER) time.sleep(1) # get to Rounding field if int(Settings.tsVersion) < 2015: myTools.pressF6(4) time.sleep(1) myTools.pressTAB(8) else: myTools.pressF6(7) time.sleep(1) myTools.pressTAB(7) time.sleep(1) type(Key.UP) # save and close type("s", KeyModifier.CTRL) type(Key.F4, KeyModifier.CTRL) time.sleep(1) type(Key.F4, KeyModifier.CTRL) myTools.sectionEndTimeStamp()
def fChoose_CSV_Print(pReportName): #---------------------------------------------------# logging.debug('- fChoose_CSV_Print') # choose CSV myTools.pressSHIFTTAB(2) time.sleep(1) type("c") time.sleep(1) # print the report type(Key.ENTER) time.sleep(1) # fill in path and name; press ENTER type(Settings.repFolder + "\\" + pReportName) time.sleep(1) # export titles myTools.pressTAB(2) time.sleep(1) type(Key.SPACE) time.sleep(1) # OK type(Key.ENTER)
def fSort_FundsListFields(): #---------------------------------------------------# logging.debug('- fSort_FundsListFields') logging.debug('- open report list') type("r",KeyModifier.ALT) type("f") time.sleep(1) # open report type("udf") time.sleep(1) type("o",KeyModifier.CTRL) time.sleep(1) # add funds id sort type(Key.F6) time.sleep(1) myTools.pressTAB(2) time.sleep(1) type(Key.SPACE) # close and save report type(Key.F4,KeyModifier.CTRL) time.sleep(1) type("y") time.sleep(1) type(Key.F4,KeyModifier.CTRL)
def fSetup_InvoiceListing(): # ---------------------------------------------------# logging.debug("- set up invlist") myTools.getFocus() type("r", KeyModifier.ALT) type("a") time.sleep(1) type("i") time.sleep(1) myTools.removeDateAndTime() type(Key.F4, KeyModifier.CTRL) time.sleep(1) type("y") time.sleep(1) # open report type("o", KeyModifier.CTRL) # add invoice number sort type(Key.F6) time.sleep(1) myTools.pressTAB(2) time.sleep(1) type(Key.SPACE) # close and save report type(Key.F4, KeyModifier.CTRL) time.sleep(1) type("y") time.sleep(1) type(Key.F4, KeyModifier.CTRL)
def setupReport(): #---------------------------------------------------# # open report type("o",KeyModifier.CTRL) time.sleep(1) logging.debug('- default options') # options button myTools.pressSHIFTTAB(4) type(Key.ENTER) time.sleep(1) # default button myTools.pressSHIFTTAB(4) type(Key.ENTER) time.sleep(1) # close dialog myTools.pressTAB(1) type(Key.ENTER) time.sleep(1) logging.debug('- print report') # move to Print To and choose CSV myTools.pressTAB(2) type("c") time.sleep(1) # print the report type(Key.ENTER) time.sleep(1)
def fSetup_BABills(): # ---------------------------------------------------# """ set up bills to print to text; no column stops """ logging.debug("- set up bill report") type("b", KeyModifier.CTRL) time.sleep(1) # Print to text myTools.pressTAB(6) type("t") # Save AS myTools.pressTAB(2) type(Key.ENTER) # no column stops type("u", KeyModifier.ALT) time.sleep(1) type(Key.ENTER) if exists("replace_msg.png"): type(Key.ENTER) # SAVE and Close type("s", KeyModifier.CTRL) type(Key.ENTER) type(Key.F4, KeyModifier.CTRL)
def fSetup_NewNamesDefault(): # ---------------------------------------------------# """ new names will inherit Layout setting from the Template client """ logging.debug("- open gen settings") type("p", KeyModifier.ALT) type("g") time.sleep(1) # get to New Names page myTools.pressF6(7) time.sleep(2) type("i", KeyModifier.ALT) type(Key.DOWN) # get to Layout field if int(Settings.tsVersion) > 2014: myTools.pressTAB(10) else: myTools.pressTAB(9) type("t") type(Key.ENTER)
def fLink_Accounts_Refund(): #---------------------------------------------------# myTools.pressDOWN(1) # Refund comp myTools.pressTAB(1) type("Refund") myTools.pressSHIFTTAB(1)
def fLink_Accounts_Interest(): #---------------------------------------------------# myTools.pressDOWN(3) # Interest comp myTools.pressTAB(1) type("Interest") myTools.pressSHIFTTAB(1)
def fLink_Accounts_WO(): #---------------------------------------------------# myTools.pressDOWN(1) # WO comp myTools.pressTAB(1) type("WriteOff") myTools.pressSHIFTTAB(1)
def fLink_Accounts_Allowances(): #---------------------------------------------------# myTools.pressDOWN(1) # allowances comp myTools.pressTAB(1) type("Allowances") myTools.pressSHIFTTAB(1)
def fLink_Accounts_Suspense(): #---------------------------------------------------# myTools.pressDOWN(1) # suspense comp myTools.pressTAB(1) type("Suspense") myTools.pressSHIFTTAB(1)
def Print_TkCC(pReportMonth,pRepExt): #---------------------------------------------------# myTools.sectionStartTimeStamp("print tkcc") # name report file: ex: TkCC-03 reportName = myTools.buildRepName("TkCC",pRepExt) logging.debug('Print_TkCC: ' + reportName) # make sure timeslips has focus myTools.getFocus() logging.debug('- open report') type("r",KeyModifier.ALT) type("t") time.sleep(2) type("timekeeper cont") time.sleep(1) myTools.pressDOWN(1) time.sleep(1) type("o",KeyModifier.CTRL) time.sleep(1) logging.debug('- default options') # options button myTools.pressSHIFTTAB(4) type(Key.ENTER) time.sleep(1) # default button myTools.pressSHIFTTAB(4) type(Key.ENTER) time.sleep(1) # show client breakdown myTools.pressTAB(4) type(Key.SPACE) time.sleep(1) # close dialog type(Key.ENTER) time.sleep(1) logging.debug('- print report') # move to Print To and choose CSV myTools.pressTAB(2) type("c") time.sleep(1) if pReportMonth != 13: Filter_SplitClients() # print the report type(Key.ENTER) time.sleep(1) myTools.finishReport(reportName)
def Print_GLXfer(pReportMonth,pRepExt): #---------------------------------------------------# myTools.sectionStartTimeStamp("print glxfer") # name report file: ex: TkCC-03 reportName = myTools.buildRepName("GLXfer",pRepExt) logging.debug('Print_GLXfer: ' + reportName) # make sure timeslips has focus myTools.getFocus() logging.debug('- open report') type("a",KeyModifier.ALT) type("g") time.sleep(1) logging.debug('- default options') # options button myTools.pressSHIFTTAB(4) type(Key.ENTER) time.sleep(1) # default button myTools.pressSHIFTTAB(4) type(Key.ENTER) time.sleep(1) # trans types myTools.pressTAB(4) type(Key.ENTER) time.sleep(1) # remove transfer since they were wrong before ts2016 type("t") time.sleep(1) type(Key.SPACE) time.sleep(1) type(Key.ENTER) # close dialog myTools.pressSHIFTTAB(3) type(Key.ENTER) time.sleep(1) logging.debug('- print report') # move to Print To and choose CSV myTools.pressTAB(2) type("c") time.sleep(1) # print the report type(Key.ENTER) time.sleep(1) myTools.finishReport(reportName)
def Print_SlipTotalsWeekly(pReportMonth,pRepExt): #---------------------------------------------------# myTools.sectionStartTimeStamp("slip totals") # name report file: ex: PayDistr-03 reportName = myTools.buildRepName("SlipTot",pRepExt) logging.debug('Print_SlipTotalsWeekly: ' + reportName) # make sure timeslips has focus myTools.getFocus() logging.debug('- open report') type("r",KeyModifier.ALT) type("s") time.sleep(2) type("w") time.sleep(1) type("o",KeyModifier.CTRL) time.sleep(1) logging.debug('- default options') # switch to CSV myTools.pressSHIFTTAB(2) time.sleep(1) type("c") # options button myTools.pressSHIFTTAB(2) type(Key.ENTER) time.sleep(1) # default button myTools.pressSHIFTTAB(4) type(Key.ENTER) time.sleep(1) # Include totals myTools.pressTAB(8) time.sleep(1) type(Key.SPACE) # OK type(Key.ENTER) time.sleep(1) myTools.enterSlipFilter(pReportMonth,"y") logging.debug('- print report') type(Key.ENTER) time.sleep(1) myTools.finishReport(reportName)
def fLink_Accounts_ProgBilling(): #---------------------------------------------------# myTools.pressDOWN(1) # progbill comp myTools.pressTAB(1) type("ProgBilling-Comp") myTools.pressSHIFTTAB(1) time.sleep(1)