# Copyright 2010 by Synergetic Data Systems Inc. All rights reserved. # Permission granted to users of OSAS to use this file with a # trial or licensed UnForm 8.0 installation. ################################################################## # osas7-8.rul rule file for standard OSAS7.0 Accounting Software # # Based upon OSAS 7.5 demo data # # Requires, at least, UnForm version 8.0 # ################################################################## # This rule file is provided "AS IS", without warranty. # # Under no circumstances will the publisher be liable # # for consequential damages resulting from the use or # # inability to use the contents. # ######################################################### # # NOTE: SDSI has attempted to create # rule sets that are generic enough # that they cover as many options as # possible.If you find situations that # the rule set is not handling properly, # do not hesitate to contact us and # provide us with a sample text file # showing the problem. We will be # happy to provide the "correction" # in a timely manner. # The above assumes that no modifications # have been made to the application. # # Generic comments ###################################### # # Make changes to all constants as needed. # # Completed & Checked Forms: # ap - aged detail, aged summary # ap - checks: laser, blank, preprinted # ar - aged detail, aged summary # ar - statement: laser, plain paper, 8.5 x 11, std # dd - Dir Dep: laser, blank, preprinted # generic reports (row 1 contains either PAGE or Page) # gl - balance sheet: budget, prev yr # gl - income statement: budget, prev yr # gl - trial balance: actual, budget, prev yr # po - order: laser, plain, 8.5 x 11, std # pr - checks: laser, blank, preprinted # so - invoice: laser, plain paper, 8.5 x 11, std # so - pick list: laser, 8.5 x 11, plain paper, std # so - pack list: laser, 8.5 x 11, plain paper # # Modification history # # Last modified 08/27/2010 -- MJE # # 01/19/2009 - BCJ # added recd/bkord handling to P/O laser # 02/25/2009 - BCJ # added 3 direct deposit rule sets # 07/28/2010 - MJE # completed and published UnForm 8.0 additions # see the 8.0 README rule-set # 08/27/2010 - MJE # Added entity ID field to archive document properties # Global constants ####################################### # 8.0 archiving and deliver-related contants merge "8.0 zMrg Configurator" # Adjust the following constants to correct files and info # if you use the subst file then replace each constant # with subst info in rule sets below global COMP_NAME="Company Name: Edit rule file" global COMP_ADDR1="Address 1" global COMP_ADDR2="Address 2" global COMP_ADDR3="Address 3" global COMP_PHONES="###-###-#### Fax: ###-###-####" global COMP_EMAIL="E-Mail: xxxx@xxxxxxxxxxxxxxx.com" global COMP_WEBSITE="Website: www.xxxxxxxxxxxxxxx.com" # A/P check constants global AP_BANK_NAME="One Major Bank" global AP_BANK_ADDR1="1 Major Blvd" global AP_BANK_ADDR2="Major City CA 90123" global AP_ROUTING="12-345/6789" global AP_MICR_ACCOUNTNO=":123456789:9999-1234<34>" global AP_MICR="micr" # remove # to turn on global AP_NO_STUBS=2 # 1=vendor stub only # 2=vendor stub and payor stub # P/R check constants global PR_BANK_NAME="One Major Bank" global PR_BANK_ADDR1="1 Major Blvd" global PR_BANK_ADDR2="Major City CA 90123" global PR_ROUTING="12-345/6789" global PR_MICR_ACCOUNTNO=":123456789:9999-1234<34>" global PR_MICR="micr" # remove # to turn on global PR_NO_STUBS=2 # does not apply to long stub version # 1=employee stub only # 2=employee stub and employer stub # check signature on AP/PR checks, global SIGNATURE_IMAGE="#image" global SIGNATURE="" # insert signature file name # Logos global LOGO_IMAGE="image" global COMP_LOGO="sdsilogo.pcl" # change to your logo file name # watermarks global WATERMARK_SHADE=10 # adjust to desired darkness global WATERMARK="text" # change #gs on to gs on to turn on graphical shading # change gs on to #gs on to turn off graphical shading global GSON="gs on" # date mask for detects - 10/17/2001 global DATEMASK="[0-1][0-9]/[0-3][0-9]/[0-9][0-9]" # US dt #global DATEMASK="[0-3][0-9]/[0-1][0-9]/[0-9][0-9]" # Can dt # main heading constants global HFONT= univers,11,fit global HLFONT= HFONT,left global HCFONT= HFONT,center global HRFONT= HFONT,right global HSHADE= 30 # bold global HBFONT= HFONT,bold global HBLFONT=HBFONT,left global HBCFONT=HBFONT,center global HBRFONT=HBFONT,right # internal heading font constants (ribbons, detail headers) global IFONT= univers,10,italic,fit global ILFONT= IFONT,left global ICFONT= IFONT,center global IRFONT= IFONT,right global ISHADE= 20 # bold global IBFONT= IFONT,bold global IBLFONT=IBFONT,left global IBCFONT=IBFONT,center global IBRFONT=IBFONT,right # detail data font constants global DFONT= cgtimes,9 global DLFONT= DFONT,left global DCFONT= DFONT,center global DRFONT= DFONT,right global DSHADE= 10 # bold global DBFONT= DFONT,bold global DBLFONT=DBFONT,left global DBCFONT=DBFONT,center global DBRFONT=DBFONT,right # default major section box size global MBOXSIZE=5 [AP_AgedDetail] dsn_sample "/u0/unform_test/_oem/osas/txt7/ap_aging_det.txt" detect 0,2,"Accounts Payable Detail Aged Trial Balance" # set up document constants local MAXCOLS=133 # max cols to output local MAXRCOLS=132 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=60 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local MAX_COPIES=1 pcopies MAX_COPIES landscape dpi 600 # see global constant above ##GSON # graphical shading title "Vendor Aged Detail" # view in pdf properties prejob { brow=6 # used by rpt hdr } prepage { merge "zMrg load rpt header" } cmove LEFTCOL,1,MAXCOLS,MAXROWS,2,1 # default detail line local BROW=1 local EROW=MAXROWS cfont 2,BROW,10,EROW,DFONT # inv # cfont 12,BROW,14,EROW,DCFONT # st cfont 16,BROW,25,EROW,DCFONT # date cfont 27,BROW,42,EROW,DBRFONT # amount cfont 44,BROW,57,EROW,DRFONT # current cfont 59,BROW,72,EROW,DRFONT # 31-60 cfont 75,BROW,87,EROW,DRFONT # 61-90 cfont 90,BROW,102,EROW,DRFONT # 91-120 cfont 105,BROW,117,EROW,DRFONT # over 120 cfont 120,BROW,MAXRCOLS,EROW,DRFONT # future # header merge "zMrg Report Header 2" # detail cmove LEFTCOL,7,MAXCOLS,7,LEFTCOL,8 cbox LEFTCOL,7.25,RIGHTCOL,8.5,MBOXSIZE,10 local BROW=8 local EROW=8 cfont 2,BROW,10,EROW,IFONT # inv # cfont 12,BROW,14,EROW,ICFONT # st cfont 16,BROW,25,EROW,ICFONT # date cfont 30,BROW,42,EROW,IRFONT # amount cfont 45,BROW,57,EROW,IRFONT # current cfont 60,BROW,72,EROW,IRFONT # 31-60 cfont 75,BROW,87,EROW,IRFONT # 61-90 cfont 90,BROW,102,EROW,IRFONT # 91-120 cfont 105,BROW,117,EROW,IRFONT # over 120 cfont 120,BROW,MAXRCOLS,EROW,IRFONT # future # vendor heading font "~[A-Za-z0-9]@2,9,2,MAXROWS",0,0,37,1,DBFONT font "~[A-Za-z0-9]@2,9,2,MAXROWS",39,0,14,1,DBFONT font "~[A-Za-z0-9]@2,9,2,MAXROWS",60,0,67,1,DFONT # vendor total line erase "~VENDOR .* TOTAL@2,9,21,MAXROWS",0,-1,MAXCOLS,1 box "~VENDOR .* TOTAL@2,9,21,MAXROWS",28,-1,102,1,5 font "~VENDOR .* TOTAL@2,9,21,MAXROWS",0,0,20,1,DBFONT # invoice total font " TOTAL @11,9,17,MAXROWS",0,0,7,1,DFONT # Grand totals line erase "GRAND TOTAL",0,-1,MAXCOLS,1 box "GRAND TOTAL",-2,-1,{MAXCOLS-1},2,1,10 font "GRAND TOTAL",-1,0,20,1,IBLFONT font "End of Report",0,0,14,1,DFONT # ---------------------------------------------------------------------- # 8.0 Archiving BEGIN const ARCRULE="ap aging" prepage { noarchive=1 earc$="EARC_APAGING",doing_recat=0 earca_formtype$="detail" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # 8.0 Archiving END # ---------------------------------------------------------------------- # Page X of Y feature # change XOFYS_COPIES to "0" to turn off local XOFYS_COPIES="ALL" # or copy #'s to display local XOFYS_FONT ="univers,10,bold,left" # use global or ??? local XOFYS_DCOL =10 local XOFYS_DROW =MAXROWS+.5 # row to display title merge "zMrgSinglePageXofY" # --- 8.0 ARCHIVING ---------------------------------------------------- # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- # --- 8.0 DELIVER ------------------------------------------------------ # --- PAGE X of Y FEATURE ----------------------------------------------- # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- [AP_AgedSummary] dsn_sample "/u0/unform_test/_oem/osas/txt7/ap_aging_sum.txt" detect 0,2,"Accounts Payable Summary Aged Trial Balance" # set up document constants local MAXCOLS=133 # max cols to output local MAXRCOLS=132 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=60 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local MAX_COPIES=1 pcopies MAX_COPIES landscape dpi 600 # see global constant above ##GSON # graphical shading title "Vendor Aged Summary" # view in pdf properties prejob { brow=6 # used by rpt hdr } prepage { merge "zMrg load rpt header" } cmove LEFTCOL,1,MAXCOLS,MAXROWS,2,1 # default detail line local BROW=1 local EROW=MAXROWS cfont 2,BROW,7,EROW,DFONT # vendor cfont 9,BROW,28,EROW,DCFONT # name cfont 30,BROW,42,EROW,DBRFONT # amount cfont 45,BROW,57,EROW,DRFONT # current cfont 60,BROW,72,EROW,DRFONT # 31-60 cfont 75,BROW,87,EROW,DRFONT # 61-90 cfont 90,BROW,102,EROW,DRFONT # 91-120 cfont 105,BROW,117,EROW,DRFONT # over 120 cfont 120,BROW,MAXRCOLS,EROW,DRFONT # future # header merge "zMrg Report Header 2" # detail cmove LEFTCOL,7,MAXCOLS,7,LEFTCOL,8 cbox LEFTCOL,7.25,RIGHTCOL,8.5,MBOXSIZE,10 local BROW=8 local EROW=8 cfont 2,BROW,8,EROW,IFONT # vendor cfont 10,BROW,28,EROW,ICFONT # name cfont 30,BROW,42,EROW,IRFONT # amount cfont 45,BROW,57,EROW,IRFONT # current cfont 60,BROW,72,EROW,IRFONT # 31-60 cfont 75,BROW,87,EROW,IRFONT # 61-90 cfont 90,BROW,102,EROW,IRFONT # 91-120 cfont 105,BROW,117,EROW,IRFONT # over 120 cfont 120,BROW,MAXRCOLS,EROW,IRFONT # future # vendor heading font "~[A-Za-z0-9]@2,9,2,MAXROWS",0,0,37,1,DBFONT font "~[A-Za-z0-9]@2,9,2,MAXROWS",39,0,14,1,DBFONT font "~[A-Za-z0-9]@2,9,2,MAXROWS",60,0,67,1,DFONT # vendor total line font "~VENDOR .* TOTAL@3,9,21,MAXROWS",0,0,20,1,DFONT # Grand totals line erase "GRAND TOTAL",0,-1,MAXCOLS,1 box "GRAND TOTAL",-2,-1,MAXRCOLS,2,1,10 font "GRAND TOTAL",-1,0,20,1,IBLFONT font "End of Report",0,0,14,1,DFONT # ---------------------------------------------------------------------- # 8.0 Archiving BEGIN const ARCRULE="ap aging" prepage { noarchive=1 earc$="EARC_APAGING",doing_recat=0 earca_formtype$="summary" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # 8.0 Archiving END # ---------------------------------------------------------------------- # Page X of Y feature # change XOFYS_COPIES to "0" to turn off local XOFYS_COPIES="ALL" # or copy #'s to display local XOFYS_FONT ="univers,10,bold,left" # use global or ??? local XOFYS_DCOL =10 local XOFYS_DROW =MAXROWS+.5 # row to display title merge "zMrgSinglePageXofY" # --- 8.0 ARCHIVING ---------------------------------------------------- # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- # --- 8.0 DELIVER ------------------------------------------------------ # --- PAGE X of Y FEATURE ----------------------------------------------- # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- [AP_CheckLaser] # Assumes company name heading printed on stub dsn_sample "/u0/unform_test/_oem/osas/txt7/ap_chk_laser.txt" detect 43,8,"~[0-9][0-9][0-9][0-9][0-9][0-9][0-9]" detect 51,8,"~DATEMASK.." detect 0,21,"Vendor No." # set up document constants local MAXCOLS=82 local MAXRCOLS=81 local MAXROWS=62 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line cols MAXCOLS rows MAXROWS local MAX_COPIES=1 pcopies MAX_COPIES portrait dpi 600 # see global constant above ##GSON # graphical shading title "Vendor Check - laser" # view in pdf properties # make space on left cmove 1,1,MAXCOLS,MAXROWS,2,1 # Check LOGO_IMAGE 1,1,10,5,"COMP_LOGO" cbox LEFTCOL,1,RIGHTCOL,17.75,MBOXSIZE text 15,2.25,"COMP_NAME",HBFONT,14 text 15,3.35,"COMP_ADDR1",HFONT,12 text 15,4.35,"COMP_ADDR2",HFONT,12 text 15,5.35,"COMP_ADDR3",HFONT,12 text 49,2.25,"AP_BANK_NAME",DBFONT text 49,3.05,"AP_BANK_ADDR1",DFONT text 49,3.85,"AP_BANK_ADDR2",DFONT text 70,3.35,"AP_ROUTING",DBFONT # rtg # cmove 44,8,MAXCOLS,8,44,7 cbox 43,5.5,RIGHTCOL,7.5,1,crows=6.5::100,ccols=51 62 text 44,6,"Check #",ICFONT,10,cols=7,shade=0 cfont 44,7,50,7,DBCFONT,11 text 52,6,"Date",ICFONT,10,cols=10,shade=0 cfont 52,7,61,7,DBCFONT,11 text 63,6,"Amount",IRFONT,10,cols=18,shade=0 cfont 63,7,81,7,DBRFONT,11 text 2,10,"Pay",IFONT,14 text 7,10,{trim(cut(5,9,80,""))},DBFONT,italic,11,fit text 2,13,"Pay",IFONT text 2,14,"to the",IFONT text 2,15,"Order",IFONT text 2,16,"of",IFONT cmove 7,11,47,14,7,13 cfont 8,13,51,16,DBFONT,11 SIGNATURE_IMAGE 50,15,0,0,"SIGNATURE" box 50,16.25,30,1,3 text 50,14.5,"Check Void After 180 Days",ICFONT,cols=30 text 50,17,"Authorized Signature",ICFONT,cols=30 AP_MICR 15,18.5,"AP_MICR_ACCOUNTNO",{trim(get(43,7,7))} # Top stub - vendor's cerase 1,20,MAXCOLS,20 cbox LEFTCOL,20.25,RIGHTCOL,20.25 text 2,21,"COMP_NAME",HBFONT cbox 25,20.5,76,23,1,crows=21.35::DSHADE,ccols=36 68 cfont 26,21,35,21,ICFONT cfont 37,21,67,21,ICFONT cfont 69,21,75,21,ICFONT cfont 26,22,35,22,DBCFONT cfont 37,22,67,22,DBCFONT cfont 69,22,75,22,DBCFONT cbox LEFTCOL,23,RIGHTCOL,36.5,MBOXSIZE,crows=24.5::DSHADE, ccols=13 25 37 51 66 cfont 2,24,12,24,ICFONT cfont 14,24,24,24,ICFONT cfont 26,24,36,24,ICFONT cfont 38,24,50,24,IRFONT cfont 52,24,65,24,IRFONT cfont 67,24,MAXRCOLS,24,IRFONT cfont 2,25,12,36,DBCFONT cfont 14,25,24,36,DBCFONT cfont 26,25,36,36,DBCFONT cfont 38,25,50,36,DBRFONT cfont 52,25,65,36,DBRFONT cfont 67,25,MAXRCOLS,36,DBRFONT cbox LEFTCOL,36.5,RIGHTCOL,39,MBOXSIZE,crows=37.5::100, ccols=13 37 51 66 cfont 2,37,12,37,ICFONT,shade=0 cfont 14,37,36,37,ICFONT,shade=0 cfont 38,37,50,37,IRFONT,shade=0 cfont 52,37,65,37,IRFONT,shade=0 cfont 67,37,MAXRCOLS,37,IRFONT,shade=0 cfont 2,38,12,38,DBCFONT cfont 14,38,36,38,DBCFONT cfont 38,38,50,38,DBRFONT cfont 52,38,65,38,DBRFONT cfont 67,38,MAXRCOLS,38,DBRFONT text 1,40,"Vendor's Copy",DBRFONT,cols=MAXRCOLS # bottom stub - Payor's cerase 1,41,MAXCOLS,41 cbox LEFTCOL,41,MAXCOLS,41 text 2,42,"COMP_NAME",HBFONT cbox 25,41.5,76,44,1,crows=42.5::DSHADE,ccols=36 68 cfont 26,42,35,42,ICFONT cfont 37,42,67,42,ICFONT cfont 69,42,75,42,ICFONT cfont 26,43,35,43,DBCFONT cfont 37,43,67,43,DBCFONT cfont 69,43,75,43,DBCFONT cbox LEFTCOL,44,MAXCOLS,57.5,MBOXSIZE,crows=45.5::DSHADE,ccols=13 25 37 51 66 cfont 2,45,12,45,ICFONT cfont 14,45,24,45,ICFONT cfont 26,45,36,45,ICFONT cfont 38,45,50,45,IRFONT cfont 52,45,65,45,IRFONT cfont 67,45,MAXRCOLS,45,IRFONT cfont 2,46,12,57,DBCFONT cfont 14,46,24,57,DBCFONT cfont 26,46,36,57,DBCFONT cfont 38,46,50,57,DBRFONT cfont 52,46,65,57,DBRFONT cfont 67,46,MAXRCOLS,57,DBRFONT cbox LEFTCOL,57.5,MAXCOLS,60,MBOXSIZE,crows=58.5::100,ccols=13 37 51 66 cfont 2,58,12,58,ICFONT,shade=0 cfont 14,58,36,58,ICFONT,shade=0 cfont 38,58,50,58,IRFONT,shade=0 cfont 52,58,65,58,IRFONT,shade=0 cfont 67,58,MAXRCOLS,58,IRFONT,shade=0 cfont 2,59,12,59,DBCFONT cfont 14,59,36,59,DBCFONT cfont 38,59,50,59,DBRFONT cfont 52,59,65,59,DBRFONT cfont 67,59,MAXRCOLS,59,DBRFONT text 1,61,"Payor's Copy",DBRFONT,cols=MAXRCOLS # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="apcheck" prepage { noarchive=1 earc$="EARC_APCHECK",doing_recat=0 earca_formtype$="laser" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PAGE X of Y FEATURE ----------------------------------------------- # Page X of Y feature # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =43 # adjust as needed local XOFYM_ROW =8 # adjust as needed local XOFYM_NCOLS =7 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- [AP_CheckBlank] # Assumes company name heading printed on stub dsn_sample "/u0/unform_test/_oem/osas/txt7/ap_check_blank.txt" detect 54,8,"~[0-9][0-9][0-9][0-9][0-9][0-9][0-9]" detect 43,8,"~DATEMASK.." detect 0,22,"Vendor No." # set up document constants local MAXCOLS=82 local MAXRCOLS=81 local MAXROWS=62 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line cols MAXCOLS rows MAXROWS page 42 local MAX_COPIES=1 pcopies MAX_COPIES portrait dpi 600 # see global constant above ##GSON # graphical shading title "Vendor Check - Blank" # view in pdf properties prepage { brow=22,erow=40 begin_copy_loop: text$[brow+21]=text$[brow] brow=brow+1 if brow=erow then : goto end_copy_loop else goto begin_copy_loop endif end_copy_loop: } # make space on left cmove 1,1,MAXCOLS,MAXROWS,2,1 # Check LOGO_IMAGE 1,1,10,5,"COMP_LOGO" cbox LEFTCOL,1,RIGHTCOL,17.75,MBOXSIZE text 15,2.25,"COMP_NAME",HBFONT,14 text 15,3.35,"COMP_ADDR1",HFONT,12 text 15,4.35,"COMP_ADDR2",HFONT,12 text 15,5.35,"COMP_ADDR3",HFONT,12 text 49,2.25,"AP_BANK_NAME",DBFONT text 49,3.05,"AP_BANK_ADDR1",DFONT text 49,3.85,"AP_BANK_ADDR2",DFONT text 70,3.35,"AP_ROUTING",DBFONT # rtg # cmove 44,8,MAXCOLS,8,44,7 cbox 43,5.5,RIGHTCOL,7.5,1,crows=6.5::100,ccols=54 62 text 44,6,"Date",ICFONT,10,cols=10,shade=0 cfont 44,7,53,7,DBCFONT,11 text 55,6,"Check #",ICFONT,10,cols=7,shade=0 cfont 55,7,61,7,DBCFONT,11 text 63,6,"Amount",IRFONT,10,cols=18,shade=0 cfont 63,7,81,7,DBRFONT,11 text 2,10,"Pay",IFONT,14 text 7,10,{trim(cut(2,9,80,""))},DBFONT,italic,11,fit text 2,13,"Pay",IFONT text 2,14,"to the",IFONT text 2,15,"Order",IFONT text 2,16,"of",IFONT cmove 7,12,47,15,7,13 cfont 8,13,51,16,DBFONT,11 SIGNATURE_IMAGE 50,15,0,0,"SIGNATURE" box 50,16.25,30,1,3 text 50,14.5,"Check Void After 180 Days",ICFONT,cols=30 text 50,17,"Authorized Signature",ICFONT,cols=30 AP_MICR 15,18.5,"AP_MICR_ACCOUNTNO",{trim(get(43,7,7))} #move stubs up one line cmove LEFTCOL,22,MAXCOLS,MAXROWS,LEFTCOL,21 # Top stub - vendor's cerase 1,20,MAXCOLS,20 cbox LEFTCOL,20.25,RIGHTCOL,20.25 text 2,21,"COMP_NAME",HBFONT cbox 25,20.5,76,23,1,crows=21.35::DSHADE,ccols=36 68 cfont 26,21,35,21,ICFONT cfont 37,21,67,21,ICFONT cfont 69,21,75,21,ICFONT cfont 26,22,35,22,DBCFONT cfont 37,22,67,22,DBCFONT cfont 69,22,75,22,DBCFONT cbox LEFTCOL,23,RIGHTCOL,36.5,MBOXSIZE,crows=24.5::DSHADE, ccols=13 25 37 51 66 cfont 2,24,12,24,ICFONT cfont 14,24,24,24,ICFONT cfont 26,24,36,24,ICFONT cfont 38,24,50,24,IRFONT cfont 52,24,65,24,IRFONT cfont 67,24,MAXRCOLS,24,IRFONT cfont 2,25,12,36,DBCFONT cfont 14,25,24,36,DBCFONT cfont 26,25,36,36,DBCFONT cfont 38,25,50,36,DBRFONT cfont 52,25,65,36,DBRFONT cfont 67,25,MAXRCOLS,36,DBRFONT cbox LEFTCOL,36.5,RIGHTCOL,39,MBOXSIZE,crows=37.5::100, ccols=13 37 51 66 cfont 2,37,12,37,ICFONT,shade=0 cfont 14,37,36,37,ICFONT,shade=0 cfont 38,37,50,37,IRFONT,shade=0 cfont 52,37,65,37,IRFONT,shade=0 cfont 67,37,MAXRCOLS,37,IRFONT,shade=0 cfont 2,38,12,38,DBCFONT cfont 14,38,36,38,DBCFONT cfont 38,38,50,38,DBRFONT cfont 52,38,65,38,DBRFONT cfont 67,38,MAXRCOLS,38,DBRFONT text 1,40,"Vendor's Copy",DBRFONT,cols=MAXRCOLS # bottom stub - Payor's cerase 1,41,MAXCOLS,41 cbox LEFTCOL,41,MAXCOLS,41 text 2,42,"COMP_NAME",HBFONT cbox 25,41.5,76,44,1,crows=42.5::DSHADE,ccols=36 68 cfont 26,42,35,42,ICFONT cfont 37,42,67,42,ICFONT cfont 69,42,75,42,ICFONT cfont 26,43,35,43,DBCFONT cfont 37,43,67,43,DBCFONT cfont 69,43,75,43,DBCFONT cbox LEFTCOL,44,MAXCOLS,57.5,MBOXSIZE,crows=45.5::DSHADE,ccols=13 25 37 51 66 cfont 2,45,12,45,ICFONT cfont 14,45,24,45,ICFONT cfont 26,45,36,45,ICFONT cfont 38,45,50,45,IRFONT cfont 52,45,65,45,IRFONT cfont 67,45,MAXRCOLS,45,IRFONT cfont 2,46,12,57,DBCFONT cfont 14,46,24,57,DBCFONT cfont 26,46,36,57,DBCFONT cfont 38,46,50,57,DBRFONT cfont 52,46,65,57,DBRFONT cfont 67,46,MAXRCOLS,57,DBRFONT cbox LEFTCOL,57.5,MAXCOLS,60,MBOXSIZE,crows=58.5::100,ccols=13 37 51 66 cfont 2,58,12,58,ICFONT,shade=0 cfont 14,58,36,58,ICFONT,shade=0 cfont 38,58,50,58,IRFONT,shade=0 cfont 52,58,65,58,IRFONT,shade=0 cfont 67,58,MAXRCOLS,58,IRFONT,shade=0 cfont 2,59,12,59,DBCFONT cfont 14,59,36,59,DBCFONT cfont 38,59,50,59,DBRFONT cfont 52,59,65,59,DBRFONT cfont 67,59,MAXRCOLS,59,DBRFONT text 1,61,"Payor's Copy",DBRFONT,cols=MAXRCOLS # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="apcheck" prepage { noarchive=1 earc$="EARC_APCHECK",doing_recat=0 earca_formtype$="blank" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =54 # adjust as needed local XOFYM_ROW =8 # adjust as needed local XOFYM_NCOLS =7 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" [AP_CheckPreprinted] # Assumes company name heading printed on stub dsn_sample "/u0/unform_test/_oem/osas/txt7/ap_chk_pre.txt" detect 54,8,"~[0-9][0-9][0-9][0-9][0-9][0-9][0-9]" detect 43,8,"~DATEMASK.." detect 33,23,"~ [A-Za-z0-9]+ " # set up document constants local MAXCOLS=82 local MAXRCOLS=81 local MAXROWS=62 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line cols MAXCOLS rows MAXROWS page 42 local MAX_COPIES=1 pcopies MAX_COPIES portrait dpi 600 # see global constant above ##GSON # graphical shading title "Vendor Check - Preprinted" # view in pdf properties prepage { brow=22,erow=40 begin_copy_loop: text$[brow+21]=text$[brow] brow=brow+1 if brow=erow then : goto end_copy_loop else goto begin_copy_loop endif end_copy_loop: } # make space on left cmove 1,1,MAXCOLS,MAXROWS,2,1 # Check LOGO_IMAGE 1,1,10,5,"COMP_LOGO" cbox LEFTCOL,1,RIGHTCOL,17.75,MBOXSIZE text 15,2.25,"COMP_NAME",HBFONT,14 text 15,3.35,"COMP_ADDR1",HFONT,12 text 15,4.35,"COMP_ADDR2",HFONT,12 text 15,5.35,"COMP_ADDR3",HFONT,12 text 49,2.25,"AP_BANK_NAME",DBFONT text 49,3.05,"AP_BANK_ADDR1",DFONT text 49,3.85,"AP_BANK_ADDR2",DFONT text 70,3.35,"AP_ROUTING",DBFONT # rtg # cmove 44,8,MAXCOLS,8,44,7 cbox 43,5.5,RIGHTCOL,7.5,1,crows=6.5::100,ccols=54 62 text 44,6,"Date",ICFONT,10,cols=10,shade=0 cfont 44,7,53,7,DBCFONT,11 text 55,6,"Check #",ICFONT,10,cols=7,shade=0 cfont 55,7,61,7,DBCFONT,11 text 63,6,"Amount",IRFONT,10,cols=18,shade=0 cfont 63,7,81,7,DBRFONT,11 text 2,10,"Pay",IFONT,14 text 7,10,{trim(cut(2,9,80,""))},DBFONT,italic,11,fit text 2,13,"Pay",IFONT text 2,14,"to the",IFONT text 2,15,"Order",IFONT text 2,16,"of",IFONT cmove 7,12,47,15,7,13 cfont 8,13,51,16,DBFONT,11 SIGNATURE_IMAGE 50,15,0,0,"SIGNATURE" box 50,16.25,30,1,3 text 50,14.5,"Check Void After 180 Days",ICFONT,cols=30 text 50,17,"Authorized Signature",ICFONT,cols=30 AP_MICR 15,18.5,"AP_MICR_ACCOUNTNO",{trim(get(43,7,7))} #move stubs up one line cmove LEFTCOL,22,MAXCOLS,MAXROWS,1,21 # Top stub - vendor's cerase 1,20,MAXCOLS,20 cbox LEFTCOL,20.25,RIGHTCOL,20.25 text 2,21,"COMP_NAME",HBFONT cbox 34,20.5,76,23,1,crows=21.35::DSHADE,ccols=44 text 34,21,"Vendor No.",ICFONT,cols=10 text 45,21,"Vendor Name",ICFONT,cols=32 cfont 34,22,43,22,DBCFONT cfont 45,22,76,22,DBCFONT cbox LEFTCOL,23,RIGHTCOL,36.5,MBOXSIZE,crows=24.5::DSHADE, ccols=12 24 40 58 text 2,24,"Trans. Date",ICFONT,cols=10 text 13,24,"Reference",ICFONT,cols=11 text 25,24,"Gross Amount",IRFONT,cols=15 text 41,24,"Deduction",IRFONT,cols=17 text 59,24,"Net Amount",IRFONT,cols=23 cfont 2,25,11,36,DBCFONT cfont 13,25,23,36,DBCFONT cfont 25,25,39,36,DBRFONT cfont 41,25,57,36,DBRFONT cfont 59,25,MAXRCOLS,36,DBRFONT cbox LEFTCOL,36.5,RIGHTCOL,39,MBOXSIZE,crows=37.5::100, ccols=12 24 40 58 text 2,37,"Check Date",ICFONT,cols=10,shade=0 text 13,37,"Check No.",ICFONT,cols=11,shade=0 text 25,37,"Total Gross",IRFONT,cols=15,shade=0 text 41,37,"Total Ded.",IRFONT,cols=17,shade=0 text 59,37,"Check Amount",IRFONT,cols=23,shade=0 cfont 2,38,11,38,DBCFONT cfont 13,38,23,38,DBCFONT cfont 25,38,39,38,DBRFONT cfont 41,38,57,38,DBRFONT cfont 59,38,MAXRCOLS,38,DBRFONT text 1,40,"Vendor's Copy",DBRFONT,cols=MAXRCOLS # bottom stub - Payor's cerase 1,41,MAXCOLS,41 cbox LEFTCOL,41,MAXCOLS,41 text 2,42,"COMP_NAME",HBFONT cbox 34,41.5,76,44,1,crows=42.5::DSHADE,ccols=44 text 34,42,"Vendor No.",ICFONT,cols=10 text 45,42,"Vendor Name",ICFONT,cols=32 cfont 34,43,43,43,DBCFONT cfont 45,43,76,43,DBCFONT cbox LEFTCOL,44,RIGHTCOL,57.5,MBOXSIZE,crows=45.5::DSHADE,ccols=12 24 40 58 text 2,45,"Trans. Date",ICFONT,cols=10 text 13,45,"Reference",ICFONT,cols=11 text 25,45,"Gross Amount",IRFONT,cols=15 text 41,45,"Deduction",IRFONT,cols=17 text 59,45,"Net Amount",IRFONT,cols=23 cfont 2,46,11,57,DBCFONT cfont 13,46,23,57,DBCFONT cfont 25,46,39,57,DBRFONT cfont 41,46,57,57,DBRFONT cfont 59,46,MAXRCOLS,57,DBRFONT cbox LEFTCOL,57.5,RIGHTCOL,60,MBOXSIZE,crows=58.5::100,ccols=12 24 40 58 text 2,58,"Check Date",ICFONT,cols=10,shade=0 text 13,58,"Check No.",ICFONT,cols=11,shade=0 text 25,58,"Total Gross",IRFONT,cols=15,shade=0 text 41,58,"Total Ded.",IRFONT,cols=17,shade=0 text 59,58,"Check Amount",IRFONT,cols=23,shade=0 cfont 2,59,11,59,DBCFONT cfont 13,59,23,59,DBCFONT cfont 25,59,39,59,DBRFONT cfont 41,59,57,59,DBRFONT cfont 59,59,MAXRCOLS,59,DBRFONT text 1,61,"Payor's Copy",DBRFONT,cols=MAXRCOLS # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="apcheck" prepage { noarchive=1 earc$="EARC_APCHECK",doing_recat=0 earca_formtype$="preprinted" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =54 # adjust as needed local XOFYM_ROW =8 # adjust as needed local XOFYM_NCOLS =7 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" [AR_AgedDetail] dsn_sample "/u0/unform_test/_oem/osas/txt7/ar_aging_det.txt" detect 0,2,"Detail Accounts Receivable Aged Trial Balance" # set up document constants local MAXCOLS=133 # max cols to output local MAXRCOLS=132 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=60 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local MAX_COPIES=1 pcopies MAX_COPIES landscape dpi 600 # see global constant above ##GSON # graphical shading title "Customer Aged Detail" # view in pdf properties prejob { brow=3 # used by rpt hdr } prepage { merge "zMrg load rpt header" } cmove LEFTCOL,1,MAXCOLS,MAXROWS,2,1 # default detail line local BROW=1 local EROW=MAXROWS cfont 2,BROW,9,EROW,DFONT # inv # cfont 11,BROW,11,EROW,DCFONT # st cfont 13,BROW,13,EROW,DCFONT # tp cfont 15,BROW,23,EROW,DCFONT # date cfont 25,BROW,36,EROW,DBRFONT # amount cfont 39,BROW,52,EROW,DRFONT # current cfont 55,BROW,68,EROW,DRFONT # 31-60 cfont 71,BROW,84,EROW,DRFONT # 61-90 cfont 87,BROW,100,EROW,DRFONT # 91-120 cfont 103,BROW,116,EROW,DRFONT # over 120 cfont 119,BROW,MAXRCOLS,EROW,DRFONT # unapplied # header merge "zMrg Report Header" # detail cerase 1,7,MAXCOLS,7 cbox LEFTCOL,4.25,RIGHTCOL,6.5,MBOXSIZE,10 local BROW=5 local EROW=6 cfont 2,BROW,9,EROW,IFONT # inv # cfont 11,BROW,11,EROW,ICFONT # st cfont 13,BROW,13,EROW,ICFONT # tp cfont 15,BROW,23,EROW,ICFONT # date cfont 25,BROW,36,EROW,IRFONT # amount cfont 39,BROW,52,EROW,IRFONT # current cfont 55,BROW,68,EROW,IRFONT # 31-60 cfont 71,BROW,84,EROW,IRFONT # 61-90 cfont 87,BROW,100,EROW,IRFONT # 91-120 cfont 103,BROW,116,EROW,IRFONT # over 120 cfont 119,BROW,MAXRCOLS,EROW,IRFONT # unapplied # customer heading font "~(...)...-@40,8,48,MAXROWS",-40,0,37,1,DBFONT font "~(...)...-@40,8,48,MAXROWS",-2,0,48,1,DBCFONT font "~(...)...-@40,8,48,MAXROWS",50,0,40,1,DRFONT # customer total line erase "~Cust .* TOTAL@1,9,20,MAXROWS",0,-1,MAXCOLS,1 box "~Cust .* TOTAL@1,9,20,MAXROWS",21,-1,110,1,5 font "~Cust .* TOTAL@1,9,20,MAXROWS",0,0,20,1,DBFONT # Grand totals line erase "GRAND TOTAL",0,-1,MAXCOLS,1 box "GRAND TOTAL",-1,-1,MAXRCOLS,2,1,10 font "GRAND TOTAL",0,0,20,1,IBFONT #font "GRAND TOTAL",15,0,MAXCOLS,1,DBFONT font "End of Report",0,0,14,1,DFONT # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="ar aging" prepage { noarchive=1 earc$="EARC_ARAGING",doing_recat=0 earca_formtype$="detail" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYS_COPIES to "0" to turn off local XOFYS_COPIES="ALL" # or copy #'s to display local XOFYS_FONT ="univers,10,bold,left" # use global or ??? local XOFYS_DCOL =10 local XOFYS_DROW =MAXROWS+.5 # row to display title merge "zMrgSinglePageXofY" [AR_AgedSummary] detect 0,2,"Summary Accounts Receivable Aged Trial Balance" # set up document constants local MAXCOLS=133 # max cols to output local MAXRCOLS=132 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=60 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local MAX_COPIES=1 pcopies MAX_COPIES landscape dpi 600 # see global constant above ##GSON # graphical shading title "Customer Aged Summary" # view in pdf properties prejob { brow=3 # used by rpt hdr } prepage { merge "zMrg load rpt header" } cmove LEFTCOL,1,RIGHTCOL,MAXROWS,2,1 # default detail line local BROW=1 local EROW=MAXROWS cfont 2,BROW,9,EROW,DFONT # cust id cfont 11,BROW,23,EROW,DBCFONT # phone cfont 25,BROW,28,EROW,DCFONT # sls rep cfont 30,BROW,33,EROW,DCFONT # dist cfont 35,BROW,48,EROW,DBRFONT # amount cfont 51,BROW,62,EROW,DRFONT # current cfont 65,BROW,76,EROW,DRFONT # 31-60 cfont 79,BROW,90,EROW,DRFONT # 61-90 cfont 93,BROW,104,EROW,DRFONT # 91-120 cfont 107,BROW,118,EROW,DRFONT # over 120 cfont 121,BROW,MAXRCOLS,EROW,DRFONT # unapplied # header merge "zMrg Report Header" # detail cerase 1,7,MAXCOLS,7 cbox LEFTCOL,4.25,RIGHTCOL,6.5,1,10 local BROW=5 local EROW=6 cfont 2,BROW,9,EROW,IFONT # cust id cfont 11,BROW,23,EROW,ICFONT # phone cfont 25,BROW,28,EROW,ICFONT # sls rep cfont 30,BROW,33,EROW,ICFONT # dist cfont 35,BROW,48,EROW,IRFONT # amount cfont 51,BROW,62,EROW,IRFONT # current cfont 65,BROW,76,EROW,IRFONT # 31-60 cfont 79,BROW,90,EROW,IRFONT # 61-90 cfont 93,BROW,104,EROW,IRFONT # 91-120 cfont 107,BROW,118,EROW,IRFONT # over 120 cfont 121,BROW,MAXRCOLS,EROW,IRFONT # unapplied # customer heading font "~[(][0-9 ][0-9 ][0-9 ][)][0-9 ][0-9 ][0-9 ]-@11,8,19,MAXROWS",-9,1,37,2,DBFONT # Grand totals line erase "GRAND TOTAL",0,-1,MAXCOLS,1 box "GRAND TOTAL",-1,-1,MAXRCOLS,2,1,10 font "GRAND TOTAL",0,0,20,1,IBFONT #font "GRAND TOTAL",15,0,MAXCOLS,1,DBFONT font "End of Report",0,0,14,1,DFONT # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="ar aging" prepage { noarchive=1 earc$="EARC_ARAGING",doing_recat=0 earca_formtype$="summary" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYS_COPIES to "0" to turn off local XOFYS_COPIES="ALL" # or copy #'s to display local XOFYS_FONT ="univers,10,bold,left" # use global or ??? local XOFYS_DCOL =10 local XOFYS_DROW =MAXROWS+.5 # row to display title merge "zMrgSinglePageXofY" [AR_StatementLaser] dsn_sample "/u0/unform_test/_oem/osas/txt7/ar_laser_stmt-scanattch.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/ar_laser_stmt.txt" detect 61,6,"~ DATEMASK" detect 77,13,"~\.[0-9][0-9]" # set up document constants local MAXCOLS=81 # max cols to output local MAXRCOLS=80 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local CUSTOMER_COPY=1 local REMITTANCE_COPY=2 local FILE_COPY=3 local MAX_COPIES=3 pcopies MAX_COPIES portrait dpi 600 # see global constant above ##GSON # graphical shading title "Statement - laser" # view in pdf properties cmove LEFTCOL,1,RIGHTCOL,MAXROWS,2,1 # default detail line local BROW=21 local EROW=52 cfont 2,BROW,11,EROW,DBCFONT # date cfont 13,BROW,24,EROW,DFONT # inv # cfont 26,BROW,28,EROW,DCFONT # type cfont 30,BROW,41,EROW,DFONT # check # cfont 43,BROW,54,EROW,DBRFONT # charges cfont 56,BROW,67,EROW,DBRFONT # credits cfont 69,BROW,MAXRCOLS,EROW,DBRFONT # balance # header section cerase 1,1,MAXCOLS,7 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE merge "zMrg Form Header" # Invoice block cbox 60,4,RIGHTCOL,9,1,crows=5.5 7.25,ccols=70::ISHADE text 61,5,"Date",IFONT text 61,6.75,"Account",IFONT text 61,8.5,"Page",IFONT # mje 052810 chg cut to get and add erase instead re arc subjob text 71,5,{trim(get(62,6,10))},DBFONT,10 text 71,6.75,{trim(get(62,7,10))},DBFONT,10 text 71,8.5,{trim(get(62,5,10))},DBFONT,10 erase 62,5,10,3 # address & balance info cfont 1,10,49,18,DBFONT text 51,13,"Amount Due",IBFONT,10 cfont 70,13,MAXRCOLS,13,DBRFONT,10 text 51,15,"Terms",IBFONT,10 cfont 66,15,MAXRCOLS,15,DBRFONT,10 # detail section cbox LEFTCOL,19,RIGHTCOL,53,MBOXSIZE,crows=20.5::DSHADE, ccols=12 25 29 42 55 68 text 2,20,"Invoice Date",ICFONT,cols=10 text 13,20,"Invoice No",IFONT text 26,20,"Type",ICFONT,cols=3 text 30,20,"Check No",IFONT text 43,20,"Charges",IRFONT,cols=12 text 56,20,"Credits",IRFONT,cols=12 text 68,20,"Balance",IRFONT,cols=13 # handle special PO # line font "PO Number ",-2,0,10,1,ICFONT font "PO Number ",9,0,50,1,ILFONT # Messages cbox LEFTCOL,53,RIGHTCOL,58,MBOXSIZE cfont 2,54,MAXCOLS,57,IFONT # watermark - large font with light shading WATERMARK 1,52.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # footer text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS cbox LEFTCOL,58,RIGHTCOL,61,MBOXSIZE,crows=59.5 61::HSHADE, ccols=14 27 40 53 66 text 1,60.5,"Current",IRFONT,cols=13 text 15,60.5,"31-60 Days",IRFONT,cols=12 text 28,60.5,"61-90 Days",IRFONT,cols=12 text 41,60.5,"Over 90 Days",IRFONT,cols=12 text 54,60.5,"Finance Charge",IRFONT,cols=12 text 67,60.5,"Amount Due",IBRFONT,cols=13 cfont 1,59,13,60,DBRFONT cfont 15,59,26,60,DBRFONT cfont 28,59,39,60,DBRFONT cfont 41,59,52,60,DBRFONT,black cfont 54,59,65,60,DBRFONT,black cfont 67,59,MAXRCOLS,60,DBRFONT,10 # --- 8.0 ARCHIVING ---------------------------------------------------- # 8.0 Archiving BEGIN const ARCRULE="statement" prepage { noarchive=1 earc$="EARC_STATEMENT",doing_recat=0 earca_formtype$="laser" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$},entityid {earca_entid$} endif # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- # PDF hyperlink merge "8.0 zMrg PDFLinks v2" prepage { exec(fnCreateAnnotations$("~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ",11,21,22,53,2,0,"","","DFONT","EARC_STMLINKLIB","EARC_STMLINKDOCTY")) } # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =66 # adjust as needed local XOFYM_ROW =7 # adjust as needed local XOFYM_NCOLS =6 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_STATEMENT" if lower(edel$)="y": eDocid$=get(66,7,6,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="Statement" # Method 6: Address entity ID for lookup eAddrEnt$=get(66,7,6,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # Control which copy prints rather than delivers, see pcopy$ variable # remark this to ALWAYS 'PRINT' ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- ATTACH SCANNED IMAGES --------------------------------------------- prepage { do_attch$="STM_ATTCH_SCAN" if lower(do_attch$)="y" then: if not(uf.arcjob) then: begrow=20,endrow=54 tktcount=0,tktno$="" amask$=" [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] [A-Z][A-Z] " for row=begrow to endrow pp=msk(text$[row],amask$,err=*next) if not(pp) continue tktno$+=trim(mid(text$[row],pp+1,8))+"," tktcount+=1 next row continued=(xofym_pageno<>xofym_maxpgs) # above, other erp was pos("Continued On Next Page"=text$[50]) # dotypes$ has valid 1st char prefixes to filter sub-id's, if applicable dotypes$="Scan" tktlib$="Osas80_Sales" tktdocty$="Invoice" if tktcount then: for ii=1 to tktcount tktdocid$=parse(tktno$,ii,",") have_arc1=docidexists(tktlib$,tktdocty$,tktdocid$) if have_arc1 then: subidlist$=getsubids(tktlib$,tktdocty$,tktdocid$) subid_count=count(subidlist$,";") for x=1 to subid_count tktsubid$=parse(subidlist$,x,";") if tktsubid$<>"" then: if dotypes$="" or pos(left(tktsubid$,4)=dotypes$)=1 then: filename$="" getarc(tktlib$,tktdocty$,tktdocid$,tktsubid$,filename$,tkterrmsg$) imglist$+=filename$+";" endif endif next x endif next ii if not(continued) then images$=imglist$,imglist$="" end if endif endif } if copy 1 images {images$},across 2, down 2 end if # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { doc_title$="STATEMENT" merge "zMrg get watermark text" logocols=12,logorows=6 dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then copy_title$[CUSTOMER_COPY]="Customer Copy" if MAX_COPIES>=2 then copy_title$[REMITTANCE_COPY]="Remittance Copy" if MAX_COPIES>=3 then copy_title$[FILE_COPY]="File Copy" } prepage { xcol=0,xrow=0 merge "zMrg get company info" } [AR_Statement8.5x11] dsn_sample "/u0/unform_test/_oem/osas/txt7-demo/ar_85x11_stmt-scanattch.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/ar_85x11_stmt-cm.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/ar_85x11_stmt.txt" detect 49,7,"~ DATEMASK" detect 77,13,"~\.[0-9][0-9]" # set up document constants local MAXCOLS=80 # max cols to output local MAXRCOLS=79 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local CUSTOMER_COPY=1 local REMITTANCE_COPY=2 local FILE_COPY=3 local MAX_COPIES=3 pcopies MAX_COPIES portrait dpi 600 # see global constant above ##GSON # graphical shading title "Statement - 8.5x11" # view in pdf properties # default detail line local BROW=21 local EROW=52 cfont 2,BROW,11,EROW,DBCFONT # date cfont 13,BROW,22,EROW,DFONT # inv # cfont 24,BROW,26,EROW,DCFONT # type cfont 28,BROW,39,EROW,DFONT # check # cfont 41,BROW,50,EROW,DBRFONT # charges cfont 52,BROW,63,EROW,DBRFONT # credits cfont 65,BROW,MAXRCOLS,EROW,DBRFONT # balance # header section cerase 1,1,MAXCOLS,7 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=9:MBOXSIZE merge "zMrg Form Header" # Invoice block cbox 60,4,RIGHTCOL,9,1,crows=5.5 7.25,ccols=70::ISHADE text 61,5,"Date",IFONT text 61,6.75,"Account",IFONT text 61,8.5,"Page",IFONT text 71,5,{date$},DBFONT,10 text 71,6.75,{cust_code$},DBFONT,10 text 71,8.5,{pageno$},DBFONT,10 # address & balance info cbox LEFTCOL,9,RIGHTCOL,19,MBOXSIZE cfont 1,10,49,18,DBFONT text 51,13,"Amount Due",IBFONT,10 cfont 70,13,MAXRCOLS,13,DBRFONT,10 text 51,15,"Terms",IBFONT,10 cfont 66,15,MAXRCOLS,15,DBRFONT,10 # zip bar #barcode 2,16,{shipzip$},900,12.0,2 # detail section cbox LEFTCOL,19,RIGHTCOL,51,MBOXSIZE,crows=20.5::DSHADE, ccols=12 23 27 40 51 64 text 2,20,"Invoice Date",ICFONT,cols=10 text 13,20,"Invoice No",IFONT text 24,20,"Type",ICFONT,cols=3 text 28,20,"Check No",IRFONT, cols=12 text 39,20,"Charges",IRFONT,cols=12 text 52,20,"Credits",IRFONT,cols=12 text 67,20,"Balance",IRFONT,cols=13 # Messages cbox LEFTCOL,51,MAXCOLS,58,MBOXSIZE cfont 2,52,MAXCOLS,57,IFONT # watermark - large font with light shading WATERMARK 1,50.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # footer text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS cbox LEFTCOL,58,RIGHTCOL,61,MBOXSIZE,crows=59.5::HSHADE 61, ccols=14 27 40 53 66 text 1,59,"Current",IRFONT,cols=13 text 15,59,"31-60 Days",IRFONT,cols=12 text 28,59,"61-90 Days",IRFONT,cols=12 text 41,59,"Over 90 Days",IRFONT,cols=12 text 54,59,"Finance Charge", IRFONT,cols=12 text 67,59,"Amount Due", IBRFONT,cols=12 cfont 1,60,13,60,DBRFONT cfont 15,60,26,60,DBRFONT cfont 28,60,39,60,DBRFONT cfont 41,60,52,60,DBRFONT,black cfont 54,60,65,60,DBRFONT,black cfont 67,60,MAXRCOLS,60,DBRFONT,10 # ---------------------------------------------------------------------- prepage { # EXTRA LINEFEED AT TOP OF PAGE 2 AND GREATER if mask(text$[8]," DATEMASK")=49: for i=2 to 66 text$[i-1]=text$[i],text$[i]="" next i endif } # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="statement" prepage { noarchive=1 earc$="EARC_STATEMENT",doing_recat=0 earca_formtype$="8.5x11" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- merge "8.0 zMrg PDFLinks v2" prepage { exec(fnCreateAnnotations$("~[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] I//0,8",14,21,24,50,-1,0,"","","DFONT","EARC_STMLINKLIB","Invoice")) exec(fnCreateAnnotations$("~[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] C//0,8",14,21,24,50,-1,0,"","","DFONT","EARC_STMLINKLIB","Credit Memo")) } # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_STATEMENT" if lower(edel$)="y": eDocid$=get(62,7,6,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="Statement" # Method 6: Address entity ID for lookup eAddrEnt$=get(62,7,6,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-r AR_Statement8.5x11 -ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-r AR_Statement8.5x11 -ce "+fcopy$ fCombine$="no" endif endif endif } # Control which copy prints rather than delivers, see pcopy$ variable # remark this to ALWAYS 'PRINT' ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title local XOFYM_COL =62 # adjust as needed local XOFYM_ROW =7 # adjust as needed local XOFYM_NCOLS =6 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- ATTACH SCANNED IMAGES --------------------------------------------- prepage { do_attch$="STM_ATTCH_SCAN" if lower(do_attch$)="y" then: if not(uf.arcjob) then: begrow=20,endrow=51 tktcount=0,tktno$="" amask$=" [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] [A-Z][A-Z] " for row=begrow to endrow pp=msk(text$[row],amask$,err=*next) if not(pp) continue tktno$+=trim(mid(text$[row],pp+1,8))+"," tktcount+=1 next row continued=(xofym_pageno<>xofym_maxpgs) # above, other erp was pos("Continued On Next Page"=text$[50]) # dotypes$ has valid 1st char prefixes to filter sub-id's, if applicable dotypes$="Scan" tktlib$="Osas80_Sales" tktdocty$="Invoice" if tktcount then: for ii=1 to tktcount tktdocid$=parse(tktno$,ii,",") have_arc1=docidexists(tktlib$,tktdocty$,tktdocid$) if have_arc1 then: subidlist$=getsubids(tktlib$,tktdocty$,tktdocid$) subid_count=count(subidlist$,";") for x=1 to subid_count tktsubid$=parse(subidlist$,x,";") if tktsubid$<>"" then: if dotypes$="" or pos(left(tktsubid$,4)=dotypes$)=1 then: filename$="" getarc(tktlib$,tktdocty$,tktdocid$,tktsubid$,filename$,tkterrmsg$) imglist$+=filename$+";" endif endif next x endif next ii if not(continued) then images$=imglist$,imglist$="" end if endif endif } if copy 1 images {images$},across 2, down 2 end if # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { doc_title$="STATEMENT" logocols=14,logorows=6 merge "zMrg get watermark text" # set up copy titles dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then copy_title$[CUSTOMER_COPY]="Customer Copy" if MAX_COPIES>=2 then copy_title$[REMITTANCE_COPY]="Remittance Copy" if MAX_COPIES>=3 then copy_title$[FILE_COPY]="File Copy" } prepage { date$=trim(get(50,7,10)) cust_code$=trim(get(61,7,7)) pageno$=trim(get(69,7,4)) xcol=0,xrow=0 merge "zMrg get company info" # add zip barcode xrow=14;xcols=40 #merge "zmrg get zip" } [AR_StatementPlain] dsn_sample "/u0/unform_test/_oem/osas/txt7-demo/ar_plainpaper_stmt-scanattch.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/ar_plainpaper_stmt.txt" detect 0,1,"S T A T E M E N T" # set up document constants local MAXCOLS=80 # max cols to output local MAXRCOLS=79 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local CUSTOMER_COPY=1 local REMITTANCE_COPY=2 local FILE_COPY=3 local MAX_COPIES=3 pcopies MAX_COPIES portrait dpi 600 # see global constant above ##GSON # graphical shading title "Statement - plain" # view in pdf properties # make space on left & top cmove LEFTCOL,1,RIGHTCOL,MAXROWS,2,2 # default detail line local BROW=1 local EROW=MAXROWS cfont 2,BROW,11,EROW,DBCFONT # date cfont 13,BROW,20,EROW,DFONT # inv # cfont 22,BROW,26,EROW,DCFONT # type cfont 28,BROW,34,EROW,DFONT # check # cfont 36,BROW,46,EROW,DBRFONT # charges cfont 48,BROW,58,EROW,DBRFONT # credits cfont 60,BROW,MAXRCOLS,EROW,DBRFONT # balance # detail section cerase LEFTCOL,16,RIGHTCOL,16 cerase LEFTCOL,18,RIGHTCOL,18 cbox LEFTCOL,16,RIGHTCOL,49,MBOXSIZE,crows=18::DSHADE, ccols=12 21 27 35 47 59 local BROW=17 local EROW=17 cfont 2,BROW,11,EROW,ICFONT # date cfont 13,BROW,20,EROW,IFONT # inv # cfont 22,BROW,26,EROW,ICFONT # type cfont 28,BROW,34,EROW,IFONT # check # cfont 36,BROW,46,EROW,IRFONT # charges cfont 48,BROW,58,EROW,IRFONT # credits cfont 60,BROW,MAXRCOLS,EROW,IRFONT # balance # header section cerase 1,1,MAXCOLS,9 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=9:MBOXSIZE merge "zMrg Form Header" # Invoice block cbox 60,4,RIGHTCOL,9,1,crows=5.5 7.25,ccols=70::ISHADE text 61,5,"Date",IFONT text 61,6.75,"Account #",IFONT text 61,8.5,"Page #",IFONT text 71,5,{trim(cut(60,9,10,""))},DBFONT,10 text 71,6.75,{trim(cut(47,9,10,""))},DBFONT,10 text 71,8.5,{trim(cut(61,3,10,""))},DBFONT,10 # address & balance info cbox LEFTCOL,9,RIGHTCOL,16,MBOXSIZE cfont 1,10,49,15,DBFONT cfont 48,13,52,13,IBFONT,10 cfont 48,14,79,14,DBFONT,10 # zip bar #barcode 3,15,{shipzip$},900,12.0,2 # Messages cbox LEFTCOL,49,RIGHTCOL,53,MBOXSIZE cfont 1,50,MAXCOLS,52,IFONT # watermark - large font with light shading WATERMARK 1,48.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # footer cerase 1,53,MAXCOLS,53 cerase 1,55,MAXCOLS,55 cerase 1,57,MAXCOLS,57 cbox LEFTCOL,53,MAXCOLS,57,MBOXSIZE,crows=55::HSHADE,ccols=11 22 32 42 52 61 cfont 2,54,10,54,IRFONT cfont 12,54,21,54,IRFONT cfont 23,54,31,54,IRFONT cfont 33,54,41,54,IRFONT cfont 43,54,51,54,IRFONT cfont 53,54,60,54,IRFONT cfont 62,54,MAXRCOLS,54,IBRFONT cfont 2,56,10,56,DBRFONT,10 cfont 12,56,21,56,DBRFONT,10 cfont 23,56,31,56,DBRFONT,10 cfont 33,56,41,56,DBRFONT,10,black cfont 43,56,51,56,DBRFONT,10,black cfont 53,56,60,56,DBRFONT,10,black cfont 62,56,MAXRCOLS,56,DBRFONT,11,black cfont LEFTCOL,58,RIGHTCOL,63,IFONT text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="statement" prepage { noarchive=1 earc$="EARC_STATEMENT",doing_recat=0 earca_formtype$="plain" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- merge "8.0 zMrg PDFLinks v2" precopy { exec(fnCreateAnnotations$("~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ",11,18,21,48,2,1,"","","DFONT","EARC_STMLINKLIB","EARC_STMLINKDOCTY")) } # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_STATEMENT" if lower(edel$)="y": eDocid$=get(47,9,6,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="STATEMENT" # Method 6: Address entity ID for lookup eAddrEnt$=get(47,9,6,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # Control which copy prints rather than delivers, see pcopy$ variable # remark this to ALWAYS 'PRINT' ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =47 # adjust as needed local XOFYM_ROW =9 # adjust as needed local XOFYM_NCOLS =6 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- ATTACH SCANNED IMAGES --------------------------------------------- prepage { do_attch$="STM_ATTCH_SCAN" if lower(do_attch$)="y" then: if not(uf.arcjob) then: begrow=17,endrow=48 tktcount=0,tktno$="" amask$=" [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] [A-Z][A-Z] " for row=begrow to endrow pp=msk(text$[row],amask$,err=*next) if not(pp) continue tktno$+=trim(mid(text$[row],pp+1,8))+"," tktcount+=1 next row continued=(xofym_pageno<>xofym_maxpgs) # above, other erp was pos("Continued On Next Page"=text$[50]) # dotypes$ has valid 1st char prefixes to filter sub-id's, if applicable dotypes$="Scan" tktlib$="Osas80_Sales" tktdocty$="Invoice" if tktcount then: for ii=1 to tktcount tktdocid$=parse(tktno$,ii,",") have_arc1=docidexists(tktlib$,tktdocty$,tktdocid$) if have_arc1 then: subidlist$=getsubids(tktlib$,tktdocty$,tktdocid$) subid_count=count(subidlist$,";") for x=1 to subid_count tktsubid$=parse(subidlist$,x,";") if tktsubid$<>"" then: if dotypes$="" or pos(left(tktsubid$,4)=dotypes$)=1 then: filename$="" getarc(tktlib$,tktdocty$,tktdocid$,tktsubid$,filename$,tkterrmsg$) imglist$+=filename$+";" endif endif next x endif next ii if not(continued) then images$=imglist$,imglist$="" end if endif endif } if copy 1 images {images$},across 2, down 2 end if # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { doc_title$="STATEMENT" merge "zMrg get watermark text" logocols=12,logorows=6 dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then copy_title$[CUSTOMER_COPY]="Customer Copy" if MAX_COPIES>=2 then copy_title$[REMITTANCE_COPY]="Remittance Copy" if MAX_COPIES>=3 then copy_title$[FILE_COPY]="File Copy" } prepage { xcol=2,xrow=3 merge "zMrg get company info" # add zip barcode xrow=17;xcols=40 #merge "zmrg get zip" } [AR_StatementStd] # This format has "tearoff stub", replaced by remittance copy dsn_sample "/u0/unform_test/_oem/osas/txt7-demo/ar_standard_stmt-scanattch.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/Statement_ACE001-20051231.1.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/ar_standard_stmt.txt" detect 60,6,"~DATEMASK" detect 88,6,"~DATEMASK" # set up document constants local MAXCOLS=80 # max cols to output local MAXRCOLS=79 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows page 66 local CUSTOMER_COPY=1 local REMITTANCE_COPY=2 local FILE_COPY=3 local MAX_COPIES=3 pcopies MAX_COPIES portrait dpi 600 # see global constant above ##GSON # graphical shading title "Statement - std" # view in pdf properties # make space on left & top cmove LEFTCOL,1,RIGHTCOL,MAXROWS,1,2 # default detail line local BROW=1 local EROW=MAXROWS cfont 2,BROW,10,EROW,DBCFONT # date cfont 12,BROW,20,EROW,DFONT # inv # cfont 22,BROW,24,EROW,DCFONT # type cfont 26,BROW,34,EROW,DFONT # check # cfont 36,BROW,47,EROW,DBRFONT # charges cfont 49,BROW,58,EROW,DBRFONT # credits cfont 60,BROW,79,EROW,DBRFONT # balance # detail section #cerase LEFTCOL,16,RIGHTCOL,16 #cerase LEFTCOL,18,RIGHTCOL,18 cbox LEFTCOL,20,RIGHTCOL,51,MBOXSIZE,crows=21.5::DSHADE, ccols=11 21 25 35 48 59 local BROW=21 local EROW=21 text 1,21,"Invoice Date",ICFONT,cols=10 text 12,21,"Invoice No",IFONT text 22,21,"Type",ICFONT,cols=3 text 26,21,"Check No",IFONT text 36,21,"Charges",IRFONT,cols=12 text 49,21,"Credits",IRFONT,cols=10 text 60,21,"Balance",IRFONT,cols=20 # header section cerase 1,1,MAXCOLS,12 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=9:MBOXSIZE merge "zMrg Form Header" # Invoice block cbox 60,4,RIGHTCOL,9,1,crows=5.5 7.25,ccols=70::ISHADE text 61,5,"Date",IFONT text 61,6.75,"Account #",IFONT text 61,8.5,"Page #",IFONT text 71,5,{date$},DBFONT,10 text 71,6.75,{cust_code$},DBFONT,10 text 71,8.5,{pageno$},DBFONT,10 # address & balance info cerase 75,11,97,51 cbox LEFTCOL,9,RIGHTCOL,20,MBOXSIZE cfont 1,10,49,19,DBFONT text 65,15,"Terms",IBFONT cfont 47,15,79,15,DBRFONT # Messages cbox LEFTCOL,51,MAXCOLS,57,MBOXSIZE cfont 1,52,MAXCOLS,56,IFONT # watermark - large font with light shading WATERMARK 1,50.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # aging table cerase 75,58,97,58 cerase 1,60,97,MAXROWS cbox LEFTCOL,57,MAXCOLS,60,MBOXSIZE,crows=58.5::HSHADE,ccols=10 21 31 41 52 62 text 1,58,"Unpaid F/C",IRFONT,cols=9 text 11,58,"Current",IRFONT,cols=10 text 22,58,"31-60 Days",IRFONT,cols=9 text 32,58,"61-90 Days",IRFONT,cols=9 text 42,58,"Over 90 Days",IRFONT,cols=10 text 52,58,"New F/C",IRFONT,cols=10 text 63,58,"Amount Due",IBRFONT,cols=16 cfont 1,59,9,59,DBRFONT cfont 11,59,20,59,DBRFONT,black cfont 22,59,30,59,DBRFONT cfont 32,59,40,59,DBRFONT,black cfont 42,59,50,59,DBRFONT cfont 52,59,61,59,DBRFONT,black cfont 63,59,79,59,DBRFONT text 2,63,{payby_date$},HFONT text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="statement" prepage { noarchive=1 earc$="EARC_STATEMENT",doing_recat=0 earca_formtype$="std" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- merge "8.0 zMrg PDFLinks v2" precopy { exec(fnCreateAnnotations$("~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ",11,21,21,51,1,1,"","","DFONT","EARC_STMLINKLIB","EARC_STMLINKDOCTY")) } # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_STATEMENT" if lower(edel$)="y": eDocid$=get(47,6,6,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="Statement" # Method 6: Address entity ID for lookup eAddrEnt$=get(47,6,6,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # Control which copy prints rather than delivers, see pcopy$ variable # remark this to ALWAYS 'PRINT' ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- PAGE X of Y FEATURE ----------------------------------------------- # Page X of Y feature # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =47 # adjust as needed local XOFYM_ROW =6 # adjust as needed local XOFYM_NCOLS =6 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- ATTACH SCANNED IMAGES --------------------------------------------- prepage { do_attch$="STM_ATTCH_SCAN" if lower(do_attch$)="y" then: if not(uf.arcjob) then: begrow=15,endrow=46 tktcount=0,tktno$="" amask$=" [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] [A-Z][A-Z] " for row=begrow to endrow pp=msk(text$[row],amask$,err=*next) if not(pp) continue tktno$+=trim(mid(text$[row],pp+1,8))+"," tktcount+=1 next row continued=(xofym_pageno<>xofym_maxpgs) # above, other erp was pos("Continued On Next Page"=text$[50]) # dotypes$ has valid 1st char prefixes to filter sub-id's, if applicable dotypes$="Scan" tktlib$="Osas80_Sales" tktdocty$="Invoice" if tktcount then: for ii=1 to tktcount tktdocid$=parse(tktno$,ii,",") have_arc1=docidexists(tktlib$,tktdocty$,tktdocid$) if have_arc1 then: subidlist$=getsubids(tktlib$,tktdocty$,tktdocid$) subid_count=count(subidlist$,";") for x=1 to subid_count tktsubid$=parse(subidlist$,x,";") if tktsubid$<>"" then: if dotypes$="" or pos(left(tktsubid$,4)=dotypes$)=1 then: filename$="" getarc(tktlib$,tktdocty$,tktdocid$,tktsubid$,filename$,tkterrmsg$) imglist$+=filename$+";" endif endif next x endif next ii if not(continued) then images$=imglist$,imglist$="" end if endif endif } if copy 1 images {images$},across 2, down 2 end if # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { doc_title$="STATEMENT" merge "zMrg get watermark text" logocols=12,logorows=6 dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then copy_title$[CUSTOMER_COPY]="Customer Copy" if MAX_COPIES>=2 then copy_title$[REMITTANCE_COPY]="Remittance Copy" if MAX_COPIES>=3 then copy_title$[FILE_COPY]="File Copy" } prepage { xcol=2,xrow=3 merge "zMrg get company info" date$=trim(get(60,6,10)) cust_code$=trim(get(47,6,7)) pageno$=trim(get(60,1,7)) x$=set(1,16,97,"") if trim(get(60,55,20))<>"" then : payby_date$="To avoid additional finance charges, pay by "+trim(get(60,55,20)) endif for i=MAXROWS to 6 step -1 text$[i]=text$[i-5] text$[i-5]="" next i remit$="Remittance Copy - Please return with payment" } [DD_DirDepLaser] dsn_sample "/u0/unform_test/_oem/osas/txt7/dd_VoucherLaser.txt" detect 0,1,"D I R E C T D E P O S I T V O U C H E R" detect 0,8,"~ DATEMASK" detect 0,22,"~ [0-9][0-9]/[0-9][0-9]/[0-9][0-9] [0-9][0-9]/[0-9][0-9]/[0-9][0-9] " # set up document constants const MAXCOLS=81 const MAXRCOLS=80 const MAXROWS=66 const LEFTCOL=1 # left vertical line const RIGHTCOL=81 # right vertical line cols MAXCOLS rows MAXROWS const MAX_COPIES=1 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "DD Direct Deposit - Laser" # view in pdf properties # make space on left cmove 1,1,MAXCOLS,MAXROWS,2,1 # first adjust format to standard cmove 1,20,MAXCOLS,60,1,22 cerase 1,1,35,6 # Check LOGO_IMAGE 1,1,10,4,"COMP_LOGO" cbox LEFTCOL,1,RIGHTCOL,17.75,MBOXSIZE text 15,2.25,{compname$},HBFONT,14 text 15,3.35,"COMP_ADDR1",HFONT,12 text 15,4.35,"COMP_ADDR2",HFONT,12 text 15,5.35,"COMP_ADDR3",HFONT,12 text 49,2.25,"PR_BANK_NAME",DBFONT text 49,3.05,"PR_BANK_ADDR1",DFONT text 49,3.85,"PR_BANK_ADDR2",DFONT text 70,3.35,"PR_ROUTING",DBFONT # rtg # text 2,7,"Pay",IFONT,14 text 7,7,{trim(cut(4,7,80,""))},DBFONT,italic,11,fit cfont 1,8,MAXCOLS,8,DCFONT,11 cfont 2,9,9,11,DFONT,10 cfont 11,9,27,11,DRFONT,10 cfont 29,9,38,11,DBRFONT,10 cfont 42,9,49,11,DFONT,10 cfont 51,9,67,11,DRFONT,10 cfont 69,9,78,11,DBRFONT,10 shade "~\.[0-9][0-9]@36,9,38,11",-34,0,26,1,DSHADE shade "~\.[0-9][0-9]@76,9,78,11",-34,0,26,1,DSHADE cfont 59,12,66,12,DRFONT,10 cfont 68,12,78,12,DBRFONT,10 text 2,14,"Pay",IFONT text 2,15,"to the",IFONT text 2,16,"Order",IFONT text 2,17,"of",IFONT cmove 6,12,47,14,6,14 cfont 7,13,51,17,DBFONT,11 # direct deposit on line 1 cerase 1,1,MAXCOLS,1 text 51,16,"DIRECT DEPOSIT ADVICE SLIP",HBCFONT,12,cols=30 text 51,17,"NON-NEGOTIABLE",HBCFONT,cols=30 # top stub - employee's cerase 1,22,30,22 cbox LEFTCOL,21,MAXCOLS,21 text 15,22,{compname$},HBFONT,12 cbox LEFTCOL,22.5,MAXCOLS,24.5,MBOXSIZE,crows=23.5::DSHADE, ccols=15 33 45 54 64 cfont 2,23,14,23,ICFONT,8,proper cfont 16,23,32,23,ICFONT,8,proper cfont 34,23,44,23,ICFONT,8,proper cfont 46,23,53,23,ICFONT,8,proper cfont 55,23,63,23,ICFONT,8,proper cfont 65,23,MAXRCOLS,23,ICFONT,8,proper cfont 2,24,14,24,DBCFONT cfont 16,24,32,24,DBCFONT cfont 34,24,44,24,DBCFONT cfont 46,24,53,24,DBCFONT cfont 55,24,63,24,DBCFONT cfont 65,24,MAXRCOLS,24,DBCFONT cbox LEFTCOL,24.5,MAXCOLS,38.5,MBOXSIZE,crows=25.5::DSHADE, ccols=14 23 34 47 60 70 cfont 2,25,13,25,IFONT,8,proper text 14,25,{proper(cut(14,23,10,""))},IRFONT,8,proper,cols=9 cfont 24,25,33,25,IRFONT,8,proper cfont 35,25,46,25,IRFONT,8,proper cfont 48,25,59,25,ILFONT,8,proper cfont 61,25,69,25,IRFONT,8,proper cfont 71,25,MAXRCOLS,25,IRFONT,8,proper cfont 2,26,13,35,DFONT cfont 14,26,22,35,DBRFONT,black cfont 24,26,33,35,DBRFONT cfont 35,26,46,35,DBRFONT cfont 48,26,59,38,DFONT cfont 61,26,69,38,DBRFONT cfont 71,26,MAXRCOLS,38,DBRFONT text 2,36,{mcut(1,34,15,2,"","Y","Y")},IBFONT text 14,36,{mcut(17,34,9,2,"","Y","Y")},DBRFONT,cols=9 cbox LEFTCOL,38.5,MAXCOLS,40.5,MBOXSIZE,crows=39.5::100, ccols=13 25 37 48 60 71 cfont 2,39,12,39,IFONT,8,shade=0 cfont 14,39,24,39,IRFONT,8,shade=0 cfont 26,39,36,39,IRFONT,8,shade=0 cfont 38,39,47,39,IRFONT,8,shade=0 cfont 49,39,59,39,IRFONT,8,shade=0 cerase 61,39,MAXCOLS,39 text 61,39,"YTD Ded",IRFONT,8,shade=0,cols=10 text 72,39,"YTD Net Pay",IRFONT,8,shade=0,cols=9 cfont 2,40,12,40,DBFONT cfont 14,40,24,40,DBRFONT cfont 26,40,36,40,DBRFONT cfont 38,40,47,40,DBRFONT cfont 49,40,59,40,DBRFONT cfont 61,40,70,40,DBRFONT cfont 72,40,MAXRCOLS,40,DBRFONT # Bottom stub - employer's cerase 1,43,30,43 cbox LEFTCOL,42,MAXCOLS,42 text 15,43,"COMP_NAME",HBFONT,12 cbox LEFTCOL,43.5,MAXCOLS,45.5,MBOXSIZE,crows=44.5::DSHADE, ccols=15 33 45 54 64 cfont 2,44,14,44,ICFONT,8,proper cfont 16,44,32,44,ICFONT,8,proper cfont 34,44,44,44,ICFONT,8,proper cfont 46,44,53,44,ICFONT,8,proper cfont 55,44,63,44,ICFONT,8,proper cfont 65,44,MAXRCOLS,44,ICFONT,8,proper cfont 2,45,14,45,DBCFONT cfont 16,45,32,45,DBCFONT cfont 34,45,44,45,DBCFONT cfont 46,45,53,45,DBCFONT cfont 55,45,63,45,DBCFONT cfont 65,45,MAXRCOLS,45,DBCFONT cbox LEFTCOL,45.5,MAXCOLS,59.5,MBOXSIZE,crows=46.5::DSHADE, ccols=14 23 34 47 60 70 cfont 2,46,13,46,IFONT,8,proper text 14,46,{proper(cut(14,44,10,""))},IRFONT,8,proper,cols=9 cfont 24,46,33,46,IRFONT,8,proper cfont 35,46,46,46,IRFONT,8,proper cfont 48,46,59,46,ILFONT,8,proper cfont 61,46,69,46,IRFONT,8,proper cfont 71,46,MAXRCOLS,46,IRFONT,8,proper cfont 2,47,13,56,DFONT cfont 14,47,22,56,DBRFONT,black cfont 24,47,33,56,DBRFONT cfont 35,47,46,56,DBRFONT cfont 48,47,59,59,DFONT cfont 61,47,69,59,DBRFONT cfont 71,47,MAXRCOLS,59,DBRFONT text 2,57,{mcut(1,55,15,2,"","Y","Y")},IBFONT text 14,57,{mcut(17,55,9,2,"","Y","Y")},DBRFONT,cols=9 cbox LEFTCOL,59.5,MAXCOLS,61.5,MBOXSIZE,crows=60.5::100, ccols=13 25 37 48 60 71 cfont 2,60,12,60,IFONT,8,shade=0 cfont 14,60,24,60,IRFONT,8,shade=0 cfont 26,60,36,60,IRFONT,8,shade=0 cfont 38,60,47,60,IRFONT,8,shade=0 cfont 49,60,59,60,IRFONT,8,shade=0 cerase 61,60,MAXCOLS,60 text 61,60,"YTD Ded",IRFONT,shade=0,cols=10 text 72,60,"YTD Net Pay",IRFONT,shade=0,cols=9 cfont 2,61,12,61,DBFONT cfont 14,61,24,61,DBRFONT cfont 26,61,36,61,DBRFONT cfont 38,61,47,61,DBRFONT cfont 49,61,59,61,DBRFONT cfont 61,61,70,61,DBRFONT cfont 72,61,MAXRCOLS,61,DBRFONT # --- 8.0 ARCHIVING ---------------------------------------------------- # mje 060210 temporary patch for archiving until summary page issue with DD's fully dispositioned prepage { if pos("TOTAL GROSS"=text$[1]) then skip=1,sumpage=1 } # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="ddvouch" prepage { noarchive=1 earc$="EARC_DDVOUCH",doing_recat=0 earca_formtype$="laser" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_INVOICE" if lower(edel$)="y": eDocid$=get(1,22,6,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="D/D Voucher" # Method 6: Address entity ID for lookup eAddrEnt$="emp-"+get(1,22,6,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # Control which copy prints rather than delivers, see pcopy$ variable # remark this to ALWAYS 'PRINT' ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { compname$=cut(10,20,15,"") logocols=10,logorows=5 } [DD_DirDepBlank] dsn_sample "/u0/unform_test/_oem/osas/txt7/dd_VoucherBlank.txt" detect 0,1,"D I R E C T D E P O S I T V O U C H E R" detect 0,7,"! * VOID * " detect 0,8,"~ DATEMASK" detect 0,25,"~ [0-9][0-9]/[0-9][0-9]/[0-9][0-9] [0-9][0-9]/[0-9][0-9]/[0-9][0-9] " # set up document constants const MAXCOLS=81 const MAXRCOLS=80 const MAXROWS=66 const LEFTCOL=1 # left vertical line const RIGHTCOL=81 # right vertical line cols MAXCOLS rows MAXROWS page 42 portrait dpi 600 # see global constant above #GSON # graphical shading title "DD Direct Deposit - Blank" # view in pdf properties # make space on left cmove 1,1,MAXCOLS,MAXROWS,2,1 # clear header cerase 1,1,MAXCOLS,7 # Check LOGO_IMAGE 1,1,10,5,"COMP_LOGO" cbox LEFTCOL,1,RIGHTCOL,17.75,MBOXSIZE text 15,2.25,{compname$},HBFONT,14 text 15,3.35,"COMP_ADDR1",HFONT,12 text 15,4.35,"COMP_ADDR2",HFONT,12 text 15,5.35,"COMP_ADDR3",HFONT,12 text 49,2.25,"PR_BANK_NAME",DBFONT text 49,3.05,"PR_BANK_ADDR1",DFONT text 49,3.85,"PR_BANK_ADDR2",DFONT text 70,3.35,"PR_ROUTING",DBFONT # rtg # cfont 21,8,57,8,DFONT,11 cfont 61,8,69,8,DFONT,11 cfont 1,8,MAXCOLS,8,DCFONT,11 cfont 2,10,9,12,DFONT,10 cfont 11,10,27,12,DRFONT,10 cfont 29,10,38,12,DBRFONT,10 cfont 42,10,49,12,DFONT,10 cfont 51,10,67,12,DRFONT,10 cfont 69,10,78,12,DBRFONT,10 shade "~\.[0-9][0-9]@36,10,38,12",-34,0,26,1,DSHADE shade "~\.[0-9][0-9]@76,10,78,12",-34,0,26,1,DSHADE text 2,14,"Pay",IFONT text 2,15,"to the",IFONT text 2,16,"Order",IFONT text 2,17,"of",IFONT cmove 6,14,47,17,6,14 cfont 7,13,51,16,DBFONT,11 text 51,16,"DIRECT DEPOSIT ADVICE SLIP",HBCFONT,12,cols=30 text 51,17,"NON-NEGOTIABLE",HBCFONT,cols=30 cfont 58,14,66,14,DFONT cfont 68,14,77,14,DBRFONT # top stub - employee's cerase 1,22,30,22 cbox LEFTCOL,21,MAXCOLS,21 text 15,22,{compname$},HBFONT,12 cbox LEFTCOL,22.5,MAXCOLS,24.5,MBOXSIZE,crows=23.5::DSHADE, ccols=15 33 45 54 64 cfont 2,23,14,23,ICFONT,8,proper cfont 16,23,32,23,ICFONT,8,proper cfont 34,23,44,23,ICFONT,8,proper cfont 46,23,53,23,ICFONT,8,proper cfont 55,23,63,23,ICFONT,8,proper cfont 65,23,MAXRCOLS,23,ICFONT,8,proper cfont 2,24,14,24,DBCFONT cfont 16,24,32,24,DBCFONT cfont 34,24,44,24,DBCFONT cfont 46,24,53,24,DBCFONT cfont 55,24,63,24,DBCFONT cfont 65,24,MAXRCOLS,24,DBCFONT cmove LEFTCOL,24,MAXCOLS,25,LEFTCOL,23 cmove LEFTCOL,27,MAXCOLS,42,LEFTCOL,25 cbox LEFTCOL,24.5,MAXCOLS,38.5,MBOXSIZE,crows=25.5::DSHADE, ccols=14 24 34 47 60 70 cfont 2,25,13,25,IFONT,8,proper cfont 14,25,23,25,IRFONT,8,black,proper cfont 24,25,33,25,IRFONT,8,proper cfont 35,25,46,25,IRFONT,8,proper cfont 48,25,59,25,IFONT,8,proper cfont 61,25,69,25,IRFONT,8,proper cfont 71,25,MAXRCOLS,25,IRFONT,8,proper cfont 2,26,14,35,DFONT cfont 14,26,23,35,DBRFONT,black cfont 24,26,33,35,DBRFONT cfont 35,26,46,35,DBRFONT cfont 48,26,59,36,DFONT cfont 61,26,69,36,DBRFONT cfont 71,26,MAXRCOLS,36,DBRFONT #Vac and sick remaining cfont 2,36,15,38,IFONT cfont 16,36,23,38,DBRFONT text 2,36,{vacsickrem$},IBFONT text 15,36,{vacsickamt$},DBRFONT,cols=9 cbox LEFTCOL,38.5,MAXCOLS,40.5,MBOXSIZE,crows=39.5::100, ccols=13 25 37 48 60 71 cfont 2,39,12,39,IFONT,8,shade=0 cfont 14,39,24,39,IRFONT,8,shade=0 cfont 26,39,36,39,IRFONT,8,shade=0 cfont 38,39,47,39,IRFONT,8,shade=0 cfont 49,39,59,39,IRFONT,8,shade=0 cerase 61,39,MAXCOLS,39 text 61,39,"YTD Ded",IRFONT,8,shade=0,cols=10 text 72,39,"YTD Net Pay",IRFONT,8,shade=0,cols=9 cfont 2,40,12,40,DBFONT cfont 14,40,24,40,DBRFONT cfont 26,40,36,40,DBRFONT cfont 38,40,47,40,DBRFONT cfont 49,40,59,40,DBRFONT cfont 61,40,70,40,DBRFONT cfont 72,40,MAXRCOLS,40,DBRFONT # Bottom stub - employer's cbox LEFTCOL,42,MAXCOLS,42 text 15,43,{compname$},HBFONT,12 cbox LEFTCOL,43.5,MAXCOLS,45.5,MBOXSIZE,crows=44.5::DSHADE, ccols=15 33 45 54 64 cfont 2,44,14,44,ICFONT,8,proper cfont 16,44,32,44,ICFONT,8,proper cfont 34,44,44,44,ICFONT,8,proper cfont 46,44,53,44,ICFONT,8,proper cfont 55,44,63,44,ICFONT,8,proper cfont 65,44,MAXRCOLS,44,ICFONT,8,proper cfont 2,45,14,45,DBCFONT cfont 16,45,32,45,DBCFONT cfont 34,45,44,45,DBCFONT cfont 46,45,53,45,DBCFONT cfont 55,45,63,45,DBCFONT cfont 65,45,MAXRCOLS,45,DBCFONT cmove LEFTCOL,47,MAXCOLS,62,LEFTCOL,46 cbox LEFTCOL,45.5,MAXCOLS,59.5,MBOXSIZE,crows=46.5::DSHADE, ccols=14 24 34 47 60 70 cfont 2,46,13,46,IFONT,8,proper cfont 14,46,23,46,IRFONT,8,black,proper cfont 24,46,33,46,IRFONT,8,proper cfont 35,46,46,46,IRFONT,8,proper cfont 48,46,59,46,IFONT,8,proper cfont 61,46,69,46,IRFONT,8,proper cfont 71,46,MAXRCOLS,46,IRFONT,8,proper cfont 2,47,13,56,DFONT cfont 14,47,23,56,DBRFONT,black cfont 24,47,33,56,DBRFONT cfont 35,47,46,56,DBRFONT cfont 48,47,59,59,DFONT cfont 61,47,69,59,DBRFONT cfont 71,47,MAXRCOLS,59,DBRFONT text 2,57,{vacsickrem$},IBFONT text 15,57,{vacsickamt$},DBRFONT,cols=9 cbox LEFTCOL,59.5,MAXCOLS,61.5,MBOXSIZE,crows=60.5::100, ccols=13 25 37 48 60 71 cfont 2,60,12,60,IFONT,8,shade=0 cfont 14,60,24,60,IRFONT,8,shade=0 cfont 26,60,36,60,IRFONT,8,shade=0 cfont 38,60,47,60,IRFONT,8,shade=0 cfont 49,60,59,60,IRFONT,8,shade=0 cerase 61,60,MAXCOLS,60 text 61,60,"YTD Ded",IRFONT,shade=0,cols=10 text 72,60,"YTD Net Pay",IRFONT,shade=0,cols=9 cfont 2,61,12,61,DBFONT cfont 14,61,24,61,DBRFONT cfont 26,61,36,61,DBRFONT cfont 38,61,47,61,DBRFONT cfont 49,61,59,61,DBRFONT cfont 61,61,70,61,DBRFONT cfont 72,61,MAXRCOLS,61,DBRFONT # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="ddvouch" prepage { noarchive=1 earc$="EARC_DDVOUCH",doing_recat=0 earca_formtype$="blank" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_INVOICE" if lower(edel$)="y": eDocid$=get(1,25,6,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="D/D Voucher" # Method 6: Address entity ID for lookup eAddrEnt$="emp-"+get(1,25,6,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # Control which copy prints rather than delivers, see pcopy$ variable # remark this to ALWAYS 'PRINT' ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=10,logorows=5 } prepage { compname$=cut(10,23,15,"") vacsickrem$=mcut(1,38,14,2,"","Y","Y") vacsickamt$=mcut(17,38,9,2,"","Y","Y") brow=24,erow=43 begin_copy_loop: text$[brow+20]=text$[brow] brow=brow+1 if brow=erow then goto end_copy_loop else goto begin_copy_loop end_copy_loop: } [DD_DirDepPreprinted] dsn_sample "/u0/unform_test/_oem/osas/txt7/dd_VoucherPreprinted.txt" detect 0,1,"D I R E C T D E P O S I T V O U C H E R" detect 0,8,"~ DATEMASK" detect 0,25,"~ [0-9][0-9]/[0-9][0-9]/[0-9][0-9] [0-9][0-9]/[0-9][0-9]/[0-9][0-9] " # set up document constants const MAXCOLS=81 const MAXRCOLS=80 const MAXROWS=66 const LEFTCOL=1 # left vertical line const RIGHTCOL=81 # right vertical line cols MAXCOLS rows MAXROWS page 42 const MAX_COPIES=1 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "DD Direct Deposit - Preprinted" # view in pdf properties # make space on left cmove 1,1,MAXCOLS,MAXROWS,2,1 # clear header cerase 1,1,MAXCOLS,7 # check LOGO_IMAGE 1,1,10,4,"COMP_LOGO" cbox LEFTCOL,1,RIGHTCOL,17.75,MBOXSIZE text 15,2.25,{compname$},HBFONT,14 text 15,3.35,"COMP_ADDR1",HFONT,12 text 15,4.35,"COMP_ADDR2",HFONT,12 text 15,5.35,"COMP_ADDR3",HFONT,12 text 49,2.25,"PR_BANK_NAME",DBFONT text 49,3.05,"PR_BANK_ADDR1",DFONT text 49,3.85,"PR_BANK_ADDR2",DFONT text 70,3.35,"PR_ROUTING",DBFONT # rtg # cfont 22,8,57,8,DLFONT,11 cfont 57,8,69,8,DFONT,11 cfont 1,8,MAXCOLS,8,DCFONT,11 cfont 2,10,9,12,DFONT,10 cfont 11,10,27,12,DRFONT,10 cfont 29,10,38,12,DBRFONT,10 cfont 42,10,49,12,DFONT,10 cfont 51,10,67,12,DRFONT,10 cfont 69,10,78,12,DBRFONT,10 shade "~\.[0-9][0-9]@36,10,38,12",-34,0,26,1,DSHADE shade "~\.[0-9][0-9]@76,10,78,12",-34,0,26,1,DSHADE text 2,14,"Pay",IFONT text 2,15,"to the",IFONT text 2,16,"Order",IFONT text 2,17,"of",IFONT cfont 7,13,51,16,DBFONT,11 text 51,16,"DIRECT DEPOSIT ADVICE SLIP",HBCFONT,12,cols=30 text 51,17,"NON-NEGOTIABLE",HBCFONT,cols=30 cfont 58,14,66,14,DFONT cfont 68,14,77,14,DBRFONT # top stub - employee's cbox LEFTCOL,21,MAXCOLS,21 text 15,22,{compname$},HBFONT,12 cbox LEFTCOL,22.5,MAXCOLS,24.5,MBOXSIZE,crows=23.5::DSHADE, ccols=15 33 45 54 64 cfont 2,23,14,23,ICFONT,9,proper cfont 16,23,32,23,ICFONT,9,proper cfont 34,23,44,23,ICFONT,9,proper cfont 46,23,53,23,ICFONT,9,proper cfont 55,23,63,23,ICFONT,9,proper cfont 65,23,MAXRCOLS,23,9,ICFONT,proper cfont 2,24,14,24,DBCFONT cfont 16,24,32,24,DBCFONT cfont 34,24,44,24,DBCFONT cfont 46,24,53,24,DBCFONT cfont 55,24,63,24,DBCFONT cfont 65,24,MAXRCOLS,24,DBCFONT cmove LEFTCOL,24,MAXCOLS,25,LEFTCOL,23 cmove LEFTCOL,27,MAXCOLS,42,LEFTCOL,25 cbox LEFTCOL,24.5,MAXCOLS,38.5,MBOXSIZE,crows=25.5::DSHADE, ccols=14 24 34 47 60 70 cfont 2,25,13,25,IFONT,9,proper cfont 14,25,23,25,IRFONT,9,black,proper cfont 24,25,33,25,IRFONT,9,proper cfont 35,25,46,25,IRFONT,9,proper cfont 48,25,59,25,IFONT,9,proper cfont 61,25,69,25,IRFONT,9,proper cfont 71,25,MAXRCOLS,25,IRFONT,9,proper cfont 2,26,14,35,DFONT cfont 14,26,23,35,DBRFONT,black cfont 24,26,33,35,DBRFONT cfont 35,26,46,35,DBRFONT cfont 48,26,59,36,DFONT cfont 61,26,69,36,DBRFONT cfont 71,26,MAXRCOLS,36,DBRFONT text 2,36,{vacsickrem$},IBFONT,9 text 15,36,{vacsickamt$},DBRFONT,cols=9 cbox LEFTCOL,38.5,MAXCOLS,40.5,MBOXSIZE,crows=39.5::100, ccols=13 25 37 48 60 71 cfont 2,39,12,39,IFONT,9,shade=0 cfont 14,39,24,39,IRFONT,9,shade=0 cfont 26,39,36,39,IRFONT,9,shade=0 cfont 38,39,47,39,IRFONT,9,shade=0 cfont 49,39,59,39,IRFONT,9,shade=0 cerase 61,39,MAXCOLS,39 text 61,39,"YTD Ded",IRFONT,9,shade=0,cols=10 text 72,39,"YTD Net Pay",IRFONT,9,shade=0,cols=9 cfont 2,40,12,40,DBFONT cfont 14,40,24,40,DBRFONT cfont 26,40,36,40,DBRFONT cfont 38,40,47,40,DBRFONT cfont 49,40,59,40,DBRFONT cfont 61,40,70,40,DBRFONT cfont 72,40,MAXRCOLS,40,DBRFONT # Bottom stub - employer's cbox LEFTCOL,42,MAXCOLS,42 text 15,43,{compname$},HBFONT,12 cbox LEFTCOL,43.5,MAXCOLS,45.5,MBOXSIZE,crows=44.5::DSHADE, ccols=15 33 45 54 64 cfont 2,44,14,44,ICFONT,9,proper cfont 16,44,32,44,ICFONT,9,proper cfont 34,44,44,44,ICFONT,9,proper cfont 46,44,53,44,ICFONT,9,proper cfont 55,44,63,44,ICFONT,9,proper cfont 65,44,MAXRCOLS,44,ICFONT,9,proper cfont 2,45,14,45,DBCFONT cfont 16,45,32,45,DBCFONT cfont 34,45,44,45,DBCFONT cfont 46,45,53,45,DBCFONT cfont 55,45,63,45,DBCFONT cfont 65,45,MAXRCOLS,45,DBCFONT cmove LEFTCOL,47,MAXCOLS,62,LEFTCOL,46 cbox LEFTCOL,45.5,MAXCOLS,59.5,MBOXSIZE,crows=46.5::DSHADE, ccols=14 24 34 47 60 70 cfont 2,46,13,46,IFONT,9,proper cfont 14,46,23,46,IRFONT,9,black,proper cfont 24,46,33,46,IRFONT,9,proper cfont 35,46,46,46,IRFONT,9,proper cfont 48,46,59,46,IFONT,9,proper cfont 61,46,69,46,IRFONT,9,proper cfont 71,46,MAXRCOLS,46,IRFONT,9,proper cfont 2,47,13,56,DFONT cfont 14,47,23,56,DBRFONT,black cfont 24,47,33,56,DBRFONT cfont 35,47,46,56,DBRFONT cfont 48,47,59,59,DFONT cfont 61,47,69,59,DBRFONT cfont 71,47,MAXRCOLS,59,DBRFONT text 2,57,{vacsickrem$},IBFONT,9 text 15,57,{vacsickamt$},DBRFONT,cols=9 cbox LEFTCOL,59.5,MAXCOLS,61.5,MBOXSIZE,crows=60.5::100, ccols=13 25 37 48 60 71 cfont 2,60,12,60,IFONT,shade=0 cfont 14,60,24,60,IRFONT,shade=0 cfont 26,60,36,60,IRFONT,shade=0 cfont 38,60,47,60,IRFONT,shade=0 cfont 49,60,59,60,IRFONT,shade=0 cerase 61,60,MAXCOLS,60 text 61,60,"YTD Ded",IRFONT,shade=0,cols=10 text 72,60,"YTD Net Pay",IRFONT,shade=0,cols=9 cfont 2,61,12,61,DBFONT cfont 14,61,24,61,DBRFONT cfont 26,61,36,61,DBRFONT cfont 38,61,47,61,DBRFONT cfont 49,61,59,61,DBRFONT cfont 61,61,70,61,DBRFONT cfont 72,61,MAXRCOLS,61,DBRFONT # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="ddvouch" prepage { noarchive=1 earc$="EARC_DDVOUCH",doing_recat=0 earca_formtype$="preprinted" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_INVOICE" if lower(edel$)="y": eDocid$=get(1,25,6,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="D/D Voucher" # Method 6: Address entity ID for lookup eAddrEnt$="emp-"+get(1,25,6,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # Control which copy prints rather than delivers, see pcopy$ variable # remark this to ALWAYS 'PRINT' ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=10,logorows=5 } prepage { compname$=cut(10,23,15,"") vacsickrem$=mcut(1,38,14,2,"","Y","Y") vacsickamt$=mcut(17,38,9,2,"","Y","Y") brow=24,erow=43 begin_copy_loop: text$[brow+20]=text$[brow] brow=brow+1 if brow=erow then goto end_copy_loop else goto begin_copy_loop end_copy_loop: } [GL_BalanceSheet] dsn_sample "/u0/unform_test/_oem/osas/txt7/gl_bs_budget.txt" detect 0,3,"~BALANCE SHEET WITH .* COMPARISON" detect 0,3,"~(BUDGET)|(LAST YEAR)" # set up document constants local MAXCOLS=80 # max cols to output local MAXRCOLS=79 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local MAX_COPIES=1 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "Balance Sheet" # view in pdf properties cmove LEFTCOL,1,MAXCOLS,MAXROWS,2,1 # default detail line local BROW=1 local EROW=MAXROWS cfont 2,BROW,16,EROW,DBCFONT # acnt no cfont 18,BROW,46,EROW,DFONT # desc cfont 48,BROW,60,EROW,DBRFONT # curr yr cfont 61,BROW,59,EROW,DBFONT,black # ) cfont 64,BROW,76,EROW,DBRFONT # prev yr/budget cfont 77,BROW,77,EROW,DBFONT,black # ) # header cerase LEFTCOL,1,MAXCOLS,4 cbox LEFTCOL,.1,RIGHTCOL,4,MBOXSIZE,HSHADE text 2,1.5,{trim(cut(1,1,10,""))},HFONT text 1,1.5,{trim(cut(18,1,50,""))},HBCFONT,14,cols=MAXCOLS text 1,1.5,{trim(cut(70,1,10,""))},HRFONT,cols=MAXRCOLS text 2,2.5,{trim(cut(1,2,10,""))},HFONT text 1,2.75,{trim(cut(1,3,MAXCOLS,""))},HBCFONT,12,cols=MAXCOLS text 1,3.75,{trim(cut(1,4,MAXCOLS,""))},HCFONT,cols=MAXCOLS # detail header line cerase 1,10,MAXCOLS,10 cbox LEFTCOL,6,MAXCOLS,8.5,1,DSHADE local BROW=7 local EROW=8 cfont 2,BROW,16,EROW,ICFONT,proper # acnt no cfont 18,BROW,46,EROW,IFONT,proper # desc cfont 48,BROW,60,EROW,IRFONT,black,proper # curr yr cfont 64,BROW,76,EROW,IRFONT,proper # prev yr/budget # special detail lines font "~ [A-Z]@23,11,25,MAXROWS",2,0,50,1,DBFONT,11 font "~ [A-Z]@14,11,16,MAXROWS",2,0,50,1,IBFONT,10 font "~ TOTAL@18,11,24,MAXROWS",2,0,27,1,IBFONT,10 box "~ TOTAL@18,11,24,MAXROWS",1,-.85,58,1.4,1,DSHADE erase "~ TOTAL@18,11,24,MAXROWS",0,-1,MAXCOLS,1 erase "~ TOTAL@18,11,24,MAXROWS",0,1,MAXCOLS,1 # unaudited font "UNAUDITED",0,0,9,1,HFONT # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="financials" prepage { noarchive=1 earc$="EARC_BALSHEET",doing_recat=0 earca_formtype$="balance sheet" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYS_COPIES to "0" to turn off local XOFYS_COPIES="ALL" # or copy #'s to display local XOFYS_FONT ="univers,10,bold,left" # use global or ??? local XOFYS_DCOL =10 local XOFYS_DROW =MAXROWS+.5 # row to display title merge "zMrgSinglePageXofY" [GL_IncStmtwBudgComp] dsn_sample "/u0/unform_test/_oem/osas/txt7/GLINCB.TXT" dsn_sample "/u0/unform_test/_oem/osas/txt7/gl_inc_budget.txt" detect 0,3,"~INCOME STATEMENT WITH BUDGET COMPARISON" # set up document constants local MAXCOLS=130 # max cols to output local MAXRCOLS=129 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=60 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local MAX_COPIES=1 pcopies MAX_COPIES landscape dpi 600 # see global constant above #GSON # graphical shading title "Income Statement with Budget Comp" # view in pdf properties cmove LEFTCOL,1,MAXCOLS,MAXROWS,2,1 # default detail line local BROW=1 local EROW=MAXROWS cfont 2,BROW,7,EROW,DBCFONT # acnt no cfont 9,BROW,40,EROW,DFONT # desc # current period cfont 41,BROW,52,EROW,DBRFONT,black # this yr cfont 53,BROW,53,EROW,DBFONT # - cfont 55,BROW,60,EROW,DRFONT # % cfont 61,BROW,61,EROW,DFONT,black # - cfont 63,BROW,75,EROW,DBRFONT # budget cfont 76,BROW,76,EROW,DBFONT,black # - cfont 78,BROW,83,EROW,DRFONT # % cfont 84,BROW,84,EROW,DFONT,black # - #year to date cfont 86,BROW,98,EROW,DBRFONT # this yr cfont 99,BROW,99,EROW,DBFONT,black # - cfont 101,BROW,106,EROW,DRFONT # % cfont 107,BROW,107,EROW,DFONT,black # - cfont 109,BROW,121,EROW,DBRFONT # budget cfont 122,BROW,122,EROW,DBFONT,black # - cfont 124,BROW,129,EROW,DRFONT # % cfont 130,BROW,130,EROW,DFONT,black # - # header cerase LEFTCOL,1,MAXCOLS,4 cbox LEFTCOL,.1,RIGHTCOL,4,MBOXSIZE,HSHADE text 2,1.5,{trim(cut(1,1,10,""))},HFONT text 1,1.5,{trim(cut(18,1,92,""))},HBCFONT,14,cols=MAXCOLS text 1,1.5,{trim(cut(121,1,10,""))},HRFONT,cols=MAXRCOLS text 2,2.5,{trim(cut(1,2,10,""))},HFONT text 1,2.75,{trim(cut(1,3,MAXCOLS,""))},HBCFONT,12,cols=MAXCOLS text 1,3.75,{trim(cut(1,4,MAXCOLS,""))},HCFONT,cols=MAXCOLS # detail header line cerase 1,10,MAXCOLS,10 cbox LEFTCOL,6,MAXCOLS,8.5,1,DSHADE local BROW=7 local EROW=8 cfont 2,BROW,7,EROW,ICFONT,proper # acnt no cfont 9,BROW,40,EROW,IFONT,proper # desc cfont 41,7,83,7,ICFONT,black # current period local BROW=8 local EROW=8 cbox 42,7.375,83.5,7.375 cfont 41,BROW,52,EROW,IRFONT,black,proper # this yr cfont 55,BROW,60,EROW,IRFONT # % cfont 63,BROW,75,EROW,IRFONT,proper # budget cfont 78,BROW,83,EROW,IRFONT # % # year to date cbox 88,7.375,129.5,7.375 cfont 86,7,129,7,ICFONT,black cfont 86,BROW,98,EROW,IRFONT,proper # this yr cfont 101,BROW,106,EROW,IRFONT # % cfont 109,BROW,121,EROW,IRFONT,proper # budget cfont 124,BROW,129,EROW,IRFONT # % # special detail lines font "~ [A-Z]@7,11,9,MAXROWS",2,0,50,1,DBFONT,11 font "~ [A-Z]@8,11,10,MAXROWS",2,0,50,1,DBFONT,10 font "~ TOTAL@10,11,16,MAXROWS",2,0,27,1,IBFONT,10 box "~ TOTAL@10,11,16,MAXROWS",1,-.85,119,1.4,1,DSHADE erase "~ TOTAL@10,11,16,MAXROWS",0,-1,MAXCOLS,1 erase "~ TOTAL@10,11,16,MAXROWS",0,1,MAXCOLS,1 font "~ TOTAL@11,11,17,MAXROWS",2,0,27,1,IBFONT,10 box "~ TOTAL@11,11,17,MAXROWS",1,-.85,118,1.4,1,DSHADE erase "~ TOTAL@11,11,17,MAXROWS",0,-1,MAXCOLS,1 erase "~ TOTAL@11,11,17,MAXROWS",0,1,MAXCOLS,1 font "~ GROSS@11,11,17,MAXROWS",2,0,27,1,IBFONT,10 box "~ GROSS@11,11,17,MAXROWS",1,-.85,118,1.4,1,HSHADE font "~ PROFI@11,11,17,MAXROWS",2,0,27,1,IBFONT,10 box "~ PROFI@11,11,17,MAXROWS",1,-.85,118,1.4,1,HSHADE font "~ NET@11,11,15,MAXROWS",2,0,27,1,IBFONT,10 box "~ NET@11,11,15,MAXROWS",1,-.85,118,1.4,1,HSHADE # unaudited font "UNAUDITED",0,0,9,1,HFONT # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="financials" prepage { noarchive=1 earc$="EARC_INCSTMT",doing_recat=0 earca_formtype$="income statement" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYS_COPIES to "0" to turn off local XOFYS_COPIES="ALL" # or copy #'s to display local XOFYS_FONT ="univers,10,bold,left" # use global or ??? local XOFYS_DCOL =10 local XOFYS_DROW =MAXROWS+.5 # row to display title merge "zMrgSinglePageXofY" [GL_IncStmtwLstYrComp] dsn_sample "/u0/unform_test/_oem/osas/txt7/gl_inc_prev.txt" detect 0,3,"~INCOME STATEMENT WITH LAST YEAR COMPARISON" # set up document constants local MAXCOLS=128 # max cols to output local MAXRCOLS=127 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=60 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local MAX_COPIES=1 pcopies MAX_COPIES landscape dpi 600 # see global constant above #GSON # graphical shading title "Income Statement with Last Year Comp" # view in pdf properties cmove LEFTCOL,1,MAXCOLS,MAXROWS,2,1 # default detail line local BROW=1 local EROW=MAXROWS cfont 2,BROW,7,EROW,DBCFONT # acnt no cfont 9,BROW,37,EROW,DFONT # desc # current period cfont 38,BROW,49,EROW,DBRFONT,black # this yr cfont 50,BROW,50,EROW,DBFONT # - cfont 52,BROW,57,EROW,DRFONT # % cfont 58,BROW,58,EROW,DFONT,black # - cfont 60,BROW,71,EROW,DBRFONT # prev yr cfont 72,BROW,72,EROW,DBFONT,black # - cfont 74,BROW,81,EROW,DRFONT # % cfont 82,BROW,82,EROW,DFONT,black # - # year to date cfont 84,BROW,95,EROW,DBRFONT # this yr cfont 96,BROW,96,EROW,DBFONT,black # - cfont 98,BROW,103,EROW,DRFONT # % cfont 104,BROW,104,EROW,DFONT,black # - cfont 106,BROW,117,EROW,DBRFONT # prev yr cfont 118,BROW,118,EROW,DBFONT,black # - cfont 120,BROW,127,EROW,DRFONT # % cfont 128,BROW,128,EROW,DFONT,black # - # header cerase LEFTCOL,1,MAXCOLS,4 cbox LEFTCOL,.1,RIGHTCOL,4,MBOXSIZE,HSHADE text 2,1.5,{trim(cut(1,1,10,""))},HFONT text 1,1.5,{trim(cut(18,1,92,""))},HBCFONT,14,cols=MAXCOLS text 1,1.5,{trim(cut(121,1,10,""))},HRFONT,cols=MAXRCOLxt 2,2.5,{trim(cut(1,2,10,""))},HFONT text 1,2.75,{trim(cut(1,3,MAXCOLS,""))},HBCFONT,12,cols=MAXCOLS text 1,3.75,{trim(cut(1,4,MAXCOLS,""))},HCFONT,cols=MAXCOLS # detail header line cerase 1,10,MAXCOLS,10 cbox LEFTCOL,6,MAXCOLS,9,1,DSHADE local BROW=7 local EROW=8 cfont 2,BROW,6,EROW,ICFONT,black,proper # acnt no cfont 7,BROW,37,EROW,IFONT,proper # desc # current period local BROW=8 local EROW=8 cbox 39,7.375,81,7.375 cfont 38,7,81,7,ICFONT,black cfont 38,BROW,49,EROW,IRFONT,black,proper # this yr cfont 52,BROW,57,EROW,IRFONT # % cerase 65,8,74,8 text 72,BROW,"Last Year",IRFONT # prev yr cfont 74,BROW,81,EROW,IRFONT # % # year to date cbox 85,7.375,127,7.375 cfont 84,7,127,7,ICFONT,black cfont 84,BROW,95,EROW,IRFONT,proper # this yr cfont 98,BROW,103,EROW,IRFONT # % cerase 111,8,120,8 text 118,BROW,"Last Year",IRFONT # prev yr cfont 120,BROW,127,EROW,IRFONT # % # special detail lines font "~ [A-Z]@5,11,7,MAXROWS",2,0,50,1,DBFONT,11 font "~ [A-Z]@6,11,8,MAXROWS",2,0,50,1,DBFONT,10 font "~ TOTAL@8,11,14,MAXROWS",2,0,27,1,IBFONT,10 box "~ TOTAL@8,11,14,MAXROWS",1,-.85,119,1.4,1,DSHADE erase "~ TOTAL@8,11,14,MAXROWS",0,-1,MAXCOLS,1 erase "~ TOTAL@8,11,14,MAXROWS",0,1,MAXCOLS,1 font "~ TOTAL@9,11,15,MAXROWS",2,0,27,1,IBFONT,10 box "~ TOTAL@9,11,15,MAXROWS",1,-.85,118,1.4,1,DSHADE erase "~ TOTAL@9,11,15,MAXROWS",0,-1,MAXCOLS,1 erase "~ TOTAL@9,11,15,MAXROWS",0,1,MAXCOLS,1 font "~ GROSS@9,11,15,MAXROWS",2,0,27,IBFONT,10 box "~ GROSS@9,11,15,MAXROWS",1,-.85,118,1.4,1,HSHADE font "~ PROFI@9,11,15,MAXROWS",2,0,27,1,IBFONT,10 box "~ PROFI@9,11,15,MAXROWS",1,-.85,118,1.4,1,HSHADE font "~ NET@9,11,15,MAXROWS",2,0,27,1,IBFONT,10 box "~ NET@9,11,15,MAXROWS",1,-.85,118,1.4,1,HSHADE font "~FEDERAL INCOME TAX EXPENSE@6,11,33,MAXROWS",0,0,26,1,DBFONT,black font "~STATE INCOME TAX EXPENSE@6,11,33,MAXROWS",0,0,26,1,DBFONT,black # unaudited font "UNAUDITED",0,0,9,1,HFONT # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="financials" prepage { noarchive=1 earc$="EARC_INCSTMT",doing_recat=0 earca_formtype$="income statement" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYS_COPIES to "0" to turn off local XOFYS_COPIES="ALL" # or copy #'s to display local XOFYS_FONT ="univers,10,bold,left" # use global or ??? local XOFYS_DCOL =10 local XOFYS_DROW =MAXROWS+.5 # row to display title merge "zMrgSinglePageXofY" [GL_TrialBalance] dsn_sample "/u0/unform_test/_oem/osas/txt7/gl_tb_prev.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/gl_tb_budget.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/gl_tb_actual.txt" detect 0,3,"TRIAL BALANCE" detect 1,8,"GL" # set up document constants local MAXCOLS=131 # max cols to output local MAXRCOLS=130 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local MAX_COPIES=1 pcopies MAX_COPIES landscape dpi 600 # see global constant above #GSON # graphical shading title "Trial Balance" # view in pdf properties cmove LEFTCOL,1,MAXCOLS,MAXROWS,2,1 # default detail line local BROW=1 local EROW=MAXCOLS cfont 2,BROW,14,EROW,DBFONT # acnt # cfont 16,BROW,51,EROW,DBFONT # desc cfont 55,BROW,67,EROW,DBRFONT # debit cfont 75,BROW,87,EROW,DBRFONT # credit cfont 98,BROW,110,EROW,DBRFONT # debit cfont 118,BROW,130,EROW,DBRFONT # credit # header cerase LEFTCOL,1,MAXCOLS,4 cbox LEFTCOL,.1,RIGHTCOL,4.5,MBOXSIZE,HSHADE text 2,3,{trim(get(1,1,10))},HFONT text 1,1.65,{trim(get(11,1,110))},HBCFONT,14,cols=MAXCOLS text 1,3,{trim(get(11,3,110))},HBCFONT,12,cols=MAXCOLS text 1,1.65,{trim(get(122,1,10))},HRFONT,cols=MAXRCOLS text 2,1.65,{trim(get(1,3,10))},HFONT text 1,3,{trim(get(1,2,10))},HRFONT,cols=MAXRCOLS text 1,4.15,{trim(get(11,4,110))},HCFONT,cols=MAXCOLS text 2,4.15,{trim(get(1,4,10))},HFONT # detail header line cerase 1,9,MAXCOLS,9 cbox LEFTCOL,5,MAXCOLS,9,1,DSHADE local BROW=8 local EROW=8 cfont 55,6,96,7,ICFONT,10 cfont 98,6,136,7,ICFONT,10 cfont 2,BROW,14,EROW,IFONT # acnt # cfont 16,BROW,51,EROW,IFONT # desc cfont 55,BROW,67,EROW,IRFONT # debit cfont 75,BROW,87,EROW,IRFONT # credit cfont 98,BROW,110,EROW,IRFONT # debit cfont 118,BROW,130,EROW,IRFONT # credit cmove 2,BROW,130,EROW,2,8.25 # totals erase " BALANCE@14,10,22,MAXROWS",0,-1,MAXCOLS,1 erase " BALANCE@14,10,22,MAXROWS",0,1,MAXCOLS,1 box " BALANCE@14,10,22,MAXROWS",1,-1,116,2,MBOXSIZE,HSHADE font " BALANCE@14,10,22,MAXROWS",2,0,15,1,IBFONT font "End of Report",0,0,13,1,HFONT # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="financials" prepage { noarchive=1 earc$="EARC_TRIALBAL",doing_recat=0 earca_formtype$="trial balance" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYS_COPIES to "0" to turn off local XOFYS_COPIES="ALL" # or copy #'s to display local XOFYS_FONT ="univers,10,bold,left" # use global or ??? local XOFYS_DCOL =10 local XOFYS_DROW =MAXROWS+.5 # row to display title merge "zMrgSinglePageXofY" [PO_PurchOrderLaser] dsn_sample "/u0/unform_test/_oem/osas/osas7/uf8/osas-txt/formlaser/po_laser.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/po_laser.txt" detect 53,4,"~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] DATEMASK" detect 75,7,"~[0-9]" # page # detect 5,10,"~ [0-z]" # cust name # set up document constants local MAXCOLS=81 # max cols to output local MAXRCOLS=80 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local VENDOR_COPY=1 local FILE_COPY=2 local MAX_COPIES=2 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "Purchase Order - laser" # view in pdf properties # shift down 1 for more room at top cmove LEFTCOL,1,RIGHTCOL,MAXROWS,1,2 # default detail line local BROW=25 local EROW=50 cfont 2,BROW,5,EROW,DCFONT # line # cfont 7,BROW,26,EROW,DBFONT # item # cfont 28,BROW,33,EROW,DCFONT # uom cfont 35,BROW,46,EROW,DBRFONT # price cfont 49,BROW,61,EROW,DBRFONT # qty ord cfont 64,BROW,MAXRCOLS,EROW,DBRFONT # ext # header section cerase 1,1,MAXCOLS,9 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=10:MBOXSIZE merge "zMrg Form Header" # Invoice block cbox 60,4.5,RIGHTCOL,9.5,1,ccols=72::ISHADE,crows=5.5 6.5 7.5 8.5 text 61,5,"PO Number",IFONT text 61,6,"PO Date",IFONT text 61,7,"Req'd Ship Date",IFONT text 61,8,"Location",IFONT text 61,9,"Page",IFONT text 73,5,{trim(get(54,4,8))},DBFONT text 73,6,{trim(get(65,4,10))},DBFONT text 73,7,{trim(get(54,7,10))},DBFONT text 73,8,{trim(get(66,7,6))},DBFONT text 73,9,{trim(get(75,7,3))},DBFONT # vendor address cmove 5,16,MAXRCOLS,19,6,16 cmove 42,16,MAXRCOLS,19,45,16 cbox LEFTCOL,10,RIGHTCOL,20,MBOXSIZE,ccols=5::ISHADE 40 44::ISHADE text 2,11,"V\ne\nn\nd\no\nr",ICFONT,cols=3,fit cfont 6,11,39,19,DBLFONT # vend addr text 40,11,"S\nh\ni\np\n\nT\no",ICFONT,cols=5,fit cfont 45,11,MAXRCOLS,19,DBFONT # ship to addr # ribbon info cbox LEFTCOL,20,RIGHTCOL,23,MBOXSIZE,crows=21.5::ISHADE, ccols=21 40 59 text 1,21,"Ordered By",ICFONT,cols=20 text 22,21,"Ship Via",ICFONT,cols=18 text 41,21,"F.O.B.",ICFONT,cols=18 text 60,21,"Terms Description",ICFONT,cols=19 cfont 1,22,20,22,DBCFONT cfont 22,22,39,22,DBCFONT cfont 41,22,58,22,DBCFONT cfont 60,22,79,22,DBCFONT # line detail cbox LEFTCOL,23,RIGHTCOL,51,MBOXSIZE,crows=24.5::DSHADE,ccols=6 34 47 62 text 2,24,"Entry #",ICFONT,cols=4 text 7,24,"Item ID",IFONT text 28,24,"U/M",ICFONT,cols=6 text 35,24,"Unit Price",IRFONT,cols=12 text 49,24,"Ordered Quantity",IRFONT,cols=13 text 64,24,"Extension",IRFONT,cols=16 # description font " @2,24,2,50",5,0,54,1,DFONT # description #shade lines shade "~[0-9][0-9][0-9]@2,25,4,50",-.5,0,80,1,DSHADE # shade lines # req date font "Req Date",0,0,19,1,DBRFONT # req date # recd font "Recd",0,0,6,1,DFONT,BLACK font "Recd",7,0,13,1,DBRFONT # bk ord font "Bk Ord",0,0,6,1,DFONT,BLACK font "Bk Ord",7,0,13,1,DBRFONT # watermark - large font with light shading WATERMARK 1,50.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # message area cbox LEFTCOL,51,RIGHTCOL,53,MBOXSIZE cfont 1,52,48,52,IFONT cfont 50,52,60,52,DBRFONT cfont 63,52,MAXRCOLS,52,DBRFONT # sub totals cbox LEFTCOL,53,RIGHTCOL,56,MBOXSIZE,crows=54.5::HSHADE,ccols=15 30 45 60 text 1,54,"Tax",HRFONT,cols=13 text 16,54,"Freight",HRFONT,cols=13 text 31,54,"Miscellaneous",HRFONT,cols=13 text 46,54,"Prepaid",HRFONT,cols=13 text 61,54,"Grand Total",HBRFONT,cols=19 cfont 1,55,13,55,DBRFONT cfont 16,55,28,55,DBRFONT cfont 31,55,43,55,DBRFONT,black cfont 46,55,58,55,DBRFONT,black cfont 61,55,MAXRCOLS,55,DBRFONT,fit # approval line cbox 55,60,RIGHTCOL,60 text 55.5,60.75,"Received by",HFONT cbox 55,64,MAXCOLS,64 text 55.5,64.75,"Authorized Signature",HFONT text 1,{MAXROWS+.5},{copy_title$[copy]},IBCFONT,cols=MAXCOLS # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="purchase order" prepage { noarchive=1 earc$="EARC_PURCHORDER",doing_recat=0 earca_formtype$="laser" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- SCANNING BARCODE -------------------------------------------------- prepage { bcod_docid$=get(54,4,8,"y") } precopy { # Add barcodes for scanning interface. bcod$="BCOD_PURCHORDER" # Y/N Switch from global section bcod_Copies$="2" # which copy(s) get barcode if lower(bcod$)="y" then: if pos(str(copy)=bcod_Copies$): bcod_docTy$="PORD" rows$=str(MAXROWS+7) cmd$="text 2,"+str(MAXROWS+1.5)+","+$22$+"Do not write below this line"+$22$+",cgtimes,10,italic" cmd$+=$0a$+"cbox LEFTCOL,"+str(MAXROWS+2)+",RIGHTCOL,"+str(MAXROWS+2) cmd$+=$0a$+"barcode "+str(inchtocols(.5))+","+str(MAXROWS+4)+","+$22$+bcod_docTy$+$22$+",BCSYMB,18.0,6,text" cmd$+=$0a$+"barcode "+str(inchtocols(3.5))+","+str(MAXROWS+4)+","+$22$+bcod_DocID$+$22$+",BCSYMB,18.0,6,text" exec(cmd$) end if end if } # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =54 # adjust as needed local XOFYM_ROW =4 # adjust as needed local XOFYM_NCOLS =8 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_INVOICE" if lower(edel$)="y": eDocid$=get(54,4,8,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="P.O." # Method 6: Address entity ID for lookup eAddrEnt$="ven-"+lower(get(6,10,30,"y")) # no vendor ID, just name! pp=pos(" "=eAddrEnt$); if pp eAddrEnt$=pad(eAddrEnt$,pp-1) endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # Control which copy prints rather than delivers, see pcopy$ variable # remark this to ALWAYS 'PRINT' ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=12,logorows=7 dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then copy_title$[VENDOR_COPY]="Vendor Copy" if MAX_COPIES>=2 then copy_title$[FILE_COPY]="File Copy" doc_title$="PURCHASE ORDER" merge "zMrg get watermark text" } prepage { xcol=0,xrow=0 merge "zMrg get company info" } [PO_PurchOrder8.5x11] dsn_sample "/u0/unform_test/_oem/osas/txt7/po_8.5x11.txt" detect 53,3,"~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] DATEMASK" detect 75,6,"~[0-9]" # page # detect 5,9,"~ [0-z]" # cust name # set up document constants local MAXCOLS=81 # max cols to output local MAXRCOLS=80 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local VENDOR_COPY=1 local FILE_COPY=2 local MAX_COPIES=2 pcopies MAX_COPIES portrait dpi 600 # see global constant above # #GSON # graphical shading title "Purchase Order - 8.5 x 11" # view in pdf properties # shift down 1 for more room at top cmove LEFTCOL,1,RIGHTCOL,MAXROWS,1,3 # header section cerase 1,1,MAXCOLS,9 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=10:MBOXSIZE merge "zMrg Form Header" # Invoice block cbox 60,4.5,RIGHTCOL,9.5,1,ccols=72::ISHADE,crows=5.5 6.5 7.5 8.5 text 61,5,"PO Number",IFONT text 61,6,"PO Date",IFONT text 61,7,"Req'd Ship Date",IFONT text 61,8,"Location",IFONT text 61,9,"Page",IFONT text 73,5,{trim(get(54,3,8))},DBFONT text 73,6,{trim(get(65,3,10))},DBFONT text 73,7,{trim(get(54,6,10))},DBFONT text 73,8,{trim(get(66,6,6))},DBFONT text 73,9,{trim(get(75,6,3))},DBFONT # vendor address cmove 5,16,MAXRCOLS,19,6,16 cmove 42,16,MAXRCOLS,19,45,16 cbox LEFTCOL,10,RIGHTCOL,20,MBOXSIZE,ccols=8::ISHADE 40 47::ISHADE text 1,11,"Vendor",ICFONT,cols=8,fit cmove 6,11,39,19,9,11 cfont 9,11,42,19,DBLFONT # vend addr text 40,11,"Ship To",ICFONT,cols=8,fit cmove 45,11,MAXRCOLS,19,48,11 cfont 48,11,MAXRCOLS,19,DBFONT # ship to addr # zip bar #barcode 48,16,{shipzip$},900,12.0,2 # ribbon info cbox LEFTCOL,20,RIGHTCOL,23,MBOXSIZE,crows=21.5::ISHADE, ccols=21 40 59 text 1,21,"Ordered By",ICFONT,cols=20 text 22,21,"Ship Via",ICFONT,cols=18 text 41,21,"F.O.B.",ICFONT,cols=18 text 60,21,"Terms Description",ICFONT,cols=19 cfont 1,22,20,22,DBCFONT cfont 22,22,39,22,DBCFONT cfont 41,22,58,22,DBCFONT cfont 60,22,79,22,DBCFONT # line detail cbox LEFTCOL,23,RIGHTCOL,51,MBOXSIZE,crows=24.5::DSHADE,ccols=6 28 33 47 62 text 2,24,"Entry #",ICFONT,cols=4 text 7,24,"Item ID",IFONT text 28,24,"U/M",ICFONT,cols=6 text 35,24,"Unit Price",IRFONT,cols=12 text 49,24,"Ordered Quantity",IRFONT,cols=13 text 64,24,"Extension",IRFONT,cols=16 # default detail line local BROW=25 local EROW=50 cfont 2,BROW,5,EROW,DCFONT # line # cfont 7,BROW,26,EROW,DBFONT # item # cfont 28,BROW,33,EROW,DCFONT # uom cfont 35,BROW,46,EROW,DBRFONT # price cfont 49,BROW,61,EROW,DBRFONT # qty ord cfont 64,BROW,MAXRCOLS,EROW,DBRFONT # ext # move for shading cmove 1,23,80,48,1,24 # shade item lines shade "~[0-9][0-9][0-9]@2,23,4,50",-.5,0,80,1,DSHADE # description font " @2,23,2,50",5,0,54,1,DFONT # description # req date font "Req Date",0,0,19,1,DBRFONT # req date # watermark - large font with light shading WATERMARK 1,50.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # message area cbox LEFTCOL,51,RIGHTCOL,53,MBOXSIZE cfont 1,52,48,52,IFONT text 60,52,{trim(cut(50,50,17,""))+":"},IRFONT,cols=14 cfont 68,52,MAXRCOLS,52,DBRFONT # sub totals cbox LEFTCOL,53,RIGHTCOL,56,MBOXSIZE,crows=54.5::HSHADE,ccols=15 30 45 60 text 1,54,"Tax",IRFONT,cols=13 text 16,54,"Freight",IRFONT,cols=13 text 31,54,"Miscellaneous",IRFONT,cols=13 text 46,54,"Prepaid",IRFONT,cols=13 text 61,54,"Grand Total",IBRFONT,cols=19 cfont 1,55,13,55,DBRFONT cfont 16,55,28,55,DBRFONT cfont 31,55,43,55,DBRFONT,black cfont 46,55,58,55,DBRFONT,black cfont 61,55,MAXRCOLS,55,DBRFONT,fit # approval line cbox 55,60,RIGHTCOL,60 text 55.5,60.75,"Received by",HFONT cbox 55,64,MAXCOLS,64 text 55.5,64.75,"Authorized Signature",HFONT text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="purchase order" prepage { noarchive=1 earc$="EARC_PURCHORDER",doing_recat=0 earca_formtype$="8.5x11" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- SCANNING BARCODE -------------------------------------------------- prepage { bcod_docid$=get(54,3,8,"y") } precopy { # Add barcodes for scanning interface. bcod$="BCOD_PURCHORDER" # Y/N Switch from global section bcod_Copies$="2" # which copy(s) get barcode if lower(bcod$)="y" then: if pos(str(copy)=bcod_Copies$): bcod_docTy$="PORD" rows$=str(MAXROWS+7) cmd$="text 2,"+str(MAXROWS+1.5)+","+$22$+"Do not write below this line"+$22$+",cgtimes,10,italic" cmd$+=$0a$+"cbox LEFTCOL,"+str(MAXROWS+2)+",RIGHTCOL,"+str(MAXROWS+2) cmd$+=$0a$+"barcode "+str(inchtocols(.5))+","+str(MAXROWS+4)+","+$22$+bcod_docTy$+$22$+",BCSYMB,18.0,6,text" cmd$+=$0a$+"barcode "+str(inchtocols(3.5))+","+str(MAXROWS+4)+","+$22$+bcod_DocID$+$22$+",BCSYMB,18.0,6,text" exec(cmd$) end if end if # barcodes were was 16.0,5 } # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =54 # adjust as needed local XOFYM_ROW =3 # adjust as needed local XOFYM_NCOLS =8 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_INVOICE" if lower(edel$)="y": eDocid$=get(54,3,8,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="P.O." # Method 6: Address entity ID for lookup eAddrEnt$="ven-"+lower(get(6,9,30,"y")) # no vendor ID, just name! pp=pos(" "=eAddrEnt$); if pp eAddrEnt$=pad(eAddrEnt$,pp-1) endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # Control which copy prints rather than delivers, see pcopy$ variable # remark this to ALWAYS 'PRINT' ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=12,logorows=7 dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then copy_title$[VENDOR_COPY]="Vendor Copy" if MAX_COPIES>=2 then copy_title$[FILE_COPY]="File Copy" doc_title$="PURCHASE ORDER" merge "zMrg get watermark text" } prepage { xcol=0,xrow=0 merge "zMrg get company info" # add zip barcode xrow=12;xcols=40 #merge "zmrg get zip" } [PO_PurchOrderPlain] dsn_sample "/u0/unform_test/_oem/osas/txt7/po_laserplain.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/po_plain.txt" detect 0,1,"Purchase Order" # set up document constants local MAXCOLS=113 # max cols to output local MAXRCOLS=112 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows page MAXROWS # no form feeds local VENDOR_COPY=1 local FILE_COPY=2 local MAX_COPIES=2 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "Purchase Order - plain" # view in pdf properties # shift over 1 for more room on left cmove LEFTCOL,1,RIGHTCOL,MAXROWS,2,1 # default detail line cerase LEFTCOL,22,MAXCOLS,22 cerase LEFTCOL,24,MAXCOLS,24 cbox LEFTCOL,22,RIGHTCOL,{sub_line},MBOXSIZE,crows=24::DSHADE, ccols=6 50 62 68 81 95 local BROW=23 local EROW=23 cfont 2,BROW,5,EROW,ICFONT # line # cfont 7,BROW,49,EROW,ILFONT # item # cfont 51,BROW,61,EROW,IRFONT # price cfont 62,BROW,68,EROW,ICFONT # units cfont 69,BROW,80,EROW,IRFONT # qty ord cfont 82,BROW,94,EROW,IRFONT # qty rcvd cfont 96,BROW,MAXRCOLS,EROW,IRFONT # b/o local BROW=25 local EROW=51 cfont 2,BROW,5,EROW,DLFONT # line # cfont 7,BROW,41,EROW,DBFONT # item # cfont 42,BROW,50,EROW,DBRFONT # req date cfont 51,BROW,61,EROW,DBRFONT # price cfont 62,BROW,67,EROW,DRFONT # units cfont 69,BROW,80,EROW,DBRFONT # qty ord cfont 82,BROW,94,EROW,DBRFONT # qty rcvd cfont 96,BROW,MAXRCOLS,EROW,DBRFONT # b/o # header section cerase 1,1,MAXCOLS,9 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=9:MBOXSIZE merge "zMrg Form Header" # PO block cbox 85,5.5,MAXCOLS,8.5,1,ccols=101::ISHADE,crows=6.5 7.5 text 86,6,"PO Number",IFONT text 86,7,"Page",IFONT text 86,8,"Req'd Ship Date",IFONT text 102,6,{trim(get(69,4,10))},DBFONT text 102,7,{trim(get(83,4,10))},DBFONT text 102,8,{trim(get(69,7,14))},DBFONT # ribbon info cerase LEFTCOL,12,RIGHTCOL,12 cbox LEFTCOL,9,RIGHTCOL,12,MBOXSIZE,crows=10.5::ISHADE, ccols=12 33 44 69 cfont 2,10,11,10,ICFONT cfont 13,10,32,10,ICFONT cfont 34,10,43,10,ICFONT cfont 45,10,67,10,ICFONT cfont 69,10,MAXCOLS,10,ICFONT cfont 2,11,11,11,DBCFONT cfont 13,11,32,11,DBCFONT cfont 34,11,43,11,DBCFONT cfont 45,11,67,11,DBCFONT cfont 69,11,MAXRCOLS,11,DBCFONT # vendor address cmove 12,20,MAXRCOLS,21,13,20 cmove 49,20,MAXRCOLS,21,62,20 cbox LEFTCOL,12,MAXCOLS,22,MBOXSIZE,ccols=12::ISHADE 50 61::ISHADE cerase 3,13,10,21,ICFONT cfont 13,13,49,21,DBFONT # vend addr cerase 51,13,60,21,ICFONT cfont 62,13,MAXRCOLS,21,DBFONT # ship to addr text 2,14, "Vendor",ICFONT, cols=10 text 51,14, "Ship \nto",ICFONT, cols =10 # zip bar #barcode 62,18,{shipzip$},900,12.0,2 # watermark - large font with light shading WATERMARK 1,51.25,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # sub totals cerase LEFTCOL,55,RIGHTCOL,55 cbox "Subtotal@1,53",-6,-1,RIGHTCOL,55,MBOXSIZE,crows=53.5::HSHADE box "Subtotal@1,53",9,-1,1,3 box "Tax@1,53",4,-1,1,3 box "Freight@1,53",8,-1,1,3 box "Misc.@1,53",6,-1,1,3 box "Prepaid@1,53",8,-1,1,3 #box "Total@1,53",6,-1,1,3 font "Subtotal@1,53",0,0,9,1,IRFONT font "Tax@1,53",0,0,4,1,IRFONT font "Freight@1,53",0,0,8,1,IRFONT font "Misc.@1,53",0,0,6,1,IRFONT,black font "Prepaid@1,53",0,0,8,1,IRFONT,black font "Total@1,53",0,0,27,1,IRFONT,black font "Subtotal@1,53",-4,1,13,1,DBRFONT font "Tax@1,53",-10,1,14,1,DBRFONT font "Freight@1,53",-6,1,14,1,DBRFONT font "Misc.@1,53",-8,1,14,1,DBRFONT font "Prepaid@1,53",-6,1,14,1,DBRFONT font "Total@1,53",-9,1,36,1,DBRFONT # message area cbox LEFTCOL,55,MAXCOLS,MAXROWS,MBOXSIZE cfont 2,56,10,56,IFONT cfont 12,56,60,56,IFONT cfont 2,57,60,65,IFONT # shade lines shade "~[0-9][0-9][0-9]@2,25,4,51",-.5,0,112,1,DSHADE # description font " @2,25,2,51",5,0,70,1,DLFONT # approval line cerase 61,56,RIGHTCOL,65 cbox 65,58,MAXRCOLS,58 text 65.5,58.75,"Received by",HCFONT,cols=45 cbox 65,62,MAXRCOLS,62 text 65.5,62.75,"Authorized Signature",HCFONT,cols=45 text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS text 1,{MAXROWS+.5},{cont$},DBRFONT,cols=MAXRCOLS # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="purchase order" prepage { noarchive=1 earc$="EARC_PURCHORDER",doing_recat=0 earca_formtype$="plain" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- SCANNING BARCODE -------------------------------------------------- prepage { bcod_docid$=get(69,4,8,"y") } precopy { # Add barcodes for scanning interface. bcod$="BCOD_PURCHORDER" # Y/N Switch from global section bcod_Copies$="2" # which copy(s) get barcode if lower(bcod$)="y" then: if pos(str(copy)=bcod_Copies$): bcod_Docty$="PORD" rows$=str(MAXROWS+7) cmd$="text 2,"+str(MAXROWS+1.5)+","+$22$+"Do not write below this line"+$22$+",cgtimes,10,italic" cmd$+=$0a$+"cbox LEFTCOL,"+str(MAXROWS+2)+",RIGHTCOL,"+str(MAXROWS+2) cmd$+=$0a$+"barcode "+str(inchtocols(.5))+","+str(MAXROWS+4)+","+$22$+bcod_Docty$+$22$+",BCSYMB,18.0,6,text" cmd$+=$0a$+"barcode "+str(inchtocols(3.5))+","+str(MAXROWS+4)+","+$22$+bcod_DocID$+$22$+",BCSYMB,18.0,6,text" exec(cmd$) end if end if } # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =69 # adjust as needed local XOFYM_ROW =4 # adjust as needed local XOFYM_NCOLS =8 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_INVOICE" if lower(edel$)="y": eDocid$=get(69,4,8,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="P.O." # Method 6: Address entity ID for lookup eAddrEnt$="ven-"+lower(get(12,14,30,"y")) # no vendor ID, just name! pp=pos(" "=eAddrEnt$); if pp eAddrEnt$=pad(eAddrEnt$,pp-1) endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # Control which copy prints rather than delivers, see pcopy$ variable # remark this to ALWAYS 'PRINT' ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=14,logorows=6 dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then : copy_title$[VENDOR_COPY]="Vendor Copy" endif if MAX_COPIES>=2 then : copy_title$[FILE_COPY]="File Copy" endif doc_title$="PURCHASE ORDER" merge "zMrg get watermark text" } prepage { xcol=6,xrow=1 merge "zMrg get company info" # add zip barcode xrow=17;xcols=40 #merge "zmrg get zip" # continued? cont$="",sub_line=52 for i=52 to MAXROWS x=pos("(continued"=text$[i]) if x then : cont$="Continued" sub_line=55 x$=set(x,i,30,"") break endif next i } [PO_PurchOrderStd] dsn_sample "/u0/unform_test/_oem/osas/txt7/po_std.txt" detect 68,1,"~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]" detect 85,1,"~[0-9]" # page # detect 68,4,"~ DATEMASK" # cust name # set up document constants local MAXCOLS=109 # max cols to output local MAXRCOLS=108 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local VENDOR_COPY=1 local FILE_COPY=2 local MAX_COPIES=2 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "Purchase Order - Standard" # view in pdf properties # shift down 1 for more room at top cmove LEFTCOL,1,RIGHTCOL,MAXROWS,2,4 # default detail line cerase LEFTCOL,22,MAXCOLS,22 cerase LEFTCOL,24,MAXCOLS,24 cbox LEFTCOL,22,RIGHTCOL,{sub_line},MBOXSIZE,crows=24::DSHADE, ccols=5.5 50 61 68 81 95 local BROW=22 local EROW=50 cfont 2,BROW,4,EROW,DCFONT # line # cfont 6,BROW,49,EROW,DBFONT # item # cfont 51,BROW,60,EROW,DBRFONT # price cfont 62,BROW,67,EROW,DCFONT # units cfont 69,BROW,80,EROW,DBRFONT # qty ord cfont 82,BROW,94,EROW,DBRFONT # qty rcvd cfont 96,BROW,MAXRCOLS,EROW,DBRFONT # b/o # line detail text 2,23,"Line",ICFONT,cols=3 text 7,23,"Item/Description",IFONT text 51,23,"Unit Price",IRFONT,cols=10 text 62,23,"Units",IRFONT,cols=5 text 69,23,"Ordered",IRFONT,cols=12 text 82,23,"Received",IRFONT,cols=13 text 96,23,"Backordered",IRFONT,cols=13 # header section cerase 1,1,MAXCOLS,9 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=9:MBOXSIZE merge "zMrg Form Header" # PO block cbox 84,5.5,MAXCOLS,8.5,1,ccols=99::ISHADE,crows=6.5 7.5 text 85,6,"PO Number",IFONT text 85,7,"Page",IFONT text 85,8,"Req'd Ship Date",IFONT text 100,6,{trim(get(69,1,8))},DBFONT text 100,7,{trim(get(83,1,3))},DBFONT text 100,8,{trim(get(69,4,10))},DBFONT # ribbon info cerase LEFTCOL,12,RIGHTCOL,12 cbox LEFTCOL,9,RIGHTCOL,12,MBOXSIZE,crows=10.5::ISHADE, ccols=12 33 44 69 text 2,10,"Ord. Date",ICFONT,cols=9 text 13,10,"Ordered By",ICFONT,cols=19 text 34,10,"Terms",ICFONT,cols=9 text 45,10,"F.O.B.",ICFONT,cols=22 text 69,10,"Ship Via",ICFONT,cols=40 cfont 2,11,11,11,DBCFONT cfont 13,11,32,11,DBCFONT cfont 34,11,43,11,DBCFONT cfont 45,11,67,11,DBCFONT cfont 69,11,MAXRCOLS,11,DBCFONT # vendor address cmove 12,20,MAXRCOLS,21,13,20 cmove 49,20,MAXRCOLS,21,62,20 cmove 13,13,49,21,22,13 cbox LEFTCOL,12,MAXCOLS,22,MBOXSIZE,ccols=10::ISHADE 50 59::ISHADE text 6,14,"Vendor",ICFONT cmove 13,13,49,21,11.5,13 cfont 11.5,13,47,21,DBLFONT # vend addr text 55,14,"Ship To",ICFONT cmove 62,13,MAXRCOLS,21,60.5,13 cfont 60.5,13,MAXRCOLS,21,DBFONT # ship to addr # zip bar #barcode 60.5,18,{shipzip$},900,12.0,2 # line detail # description font " @2,24,2,51",5,0,77,1,DFONT # description # watermark - large font with light shading WATERMARK 1,51.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # shade lines shade "~[0-9][0-9][0-9]@2,24,4,51",-.5,0,108,1,DSHADE # sub totals cbox "Subtotal@1,53",-6,-.5,RIGHTCOL,55.5,MBOXSIZE,crows=54.5::HSHADE box "Subtotal@1,53",9,-.5,1,2 box "Tax@1,53",4,-.5,1,2 box "Freight@1,53",8,-.5,1,2 box "Misc.@1,53",6,-.5,1,2 box "Prepaid@1,53",13,-.5,1,2 font "Subtotal@1,53",0,0,9,1,IRFONT font "Tax@1,53",0,0,4,1,IRFONT font "Freight@1,53",0,0,8,1,IRFONT font "Misc.@1,53",0,0,6,1,IRFONT,black font "Prepaid@1,53",0,0,13,1,IRFONT,black font "Total@1,53",0,0,23,1,IRFONT,black font "Subtotal@1,53",-4,1,13,1,DBRFONT font "Tax@1,53",-10,1,14,1,DBRFONT font "Freight@1,53",-6,1,14,1,DBRFONT font "Misc.@1,53",-8,1,14,1,DBRFONT font "Prepaid@1,53",-6,1,19,1,DBRFONT font "Total@1,53",-3,1,26,1,DBRFONT # message area cbox LEFTCOL,55.5,MAXCOLS,MAXROWS,MBOXSIZE cfont 2,56,10,56,IFONT cfont 12,56,60,56,IFONT cfont 2,57,60,65,IFONT # approval line cerase 61,56,RIGHTCOL,65 cbox 65,58,MAXRCOLS,58 text 65.5,58.75,"Received by",HCFONT,cols=45 cbox 65,62,MAXRCOLS,62 text 65.5,62.75,"Authorized Signature",HCFONT,cols=45 text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS text 1,{MAXROWS+.5},{cont$},DBRFONT,cols=MAXRCOLS # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="purchase order" prepage { noarchive=1 earc$="EARC_PURCHORDER",doing_recat=0 earca_formtype$="std" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- SCANNING BARCODE -------------------------------------------------- prepage { bcod_docid$=get(69,1,8,"y") } precopy { # Add barcodes for scanning interface. bcod$="BCOD_PURCHORDER" # Y/N Switch from global section bcod_Copies$="2" # which copy(s) get barcode if lower(bcod$)="y" then: if pos(str(copy)=bcod_Copies$): bcod_docty$="PORD" rows$=str(MAXROWS+7) cmd$="text 2,"+str(MAXROWS+1.5)+","+$22$+"Do not write below this line"+$22$+",cgtimes,10,italic" cmd$+=$0a$+"cbox LEFTCOL,"+str(MAXROWS+2)+",RIGHTCOL,"+str(MAXROWS+2) cmd$+=$0a$+"barcode "+str(inchtocols(.5))+","+str(MAXROWS+4)+","+$22$+bcod_docty$+$22$+",BCSYMB,18.0,6,text" cmd$+=$0a$+"barcode "+str(inchtocols(3.5))+","+str(MAXROWS+4)+","+$22$+bcod_DocID$+$22$+",BCSYMB,18.0,6,text" exec(cmd$) end if end if } # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =69 # adjust as needed local XOFYM_ROW =1 # adjust as needed local XOFYM_NCOLS =8 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_INVOICE" if lower(edel$)="y": eDocid$=get(69,1,8,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="P.O." # Method 6: Address entity ID for lookup eAddrEnt$="ven-"+lower(get(12,11,30,"y")) # no vendor ID, just name! pp=pos(" "=eAddrEnt$); if pp eAddrEnt$=pad(eAddrEnt$,pp-1) endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # Control which copy prints rather than delivers, see pcopy$ variable # remark this to ALWAYS 'PRINT' ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=14,logorows=6 dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then copy_title$[VENDOR_COPY]="Vendor Copy" if MAX_COPIES>=2 then copy_title$[FILE_COPY]="File Copy" doc_title$="PURCHASE ORDER" merge "zMrg get watermark text" } prepage { xcol=0,xrow=0 merge "zMrg get company info" # add zip barcode xrow=14;xcols=40 #merge "zmrg get zip" # continued? cont$="",sub_line=52 for i=52 to MAXROWS x=pos("(continued"=text$[i]) if x then : cont$="Continued" sub_line=55 x$=set(x,i,30,"") break endif next i } [PR_CheckLaser] dsn_sample "/u0/unform_test/_oem/osas/osas7/uf8/osas-txt/chklaser/pr_laser_checks.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/pr_laser_checks.txt" detect 0,8,"~ DATEMASK" detect 0,22,"~ [0-9][0-9]/[0-9][0-9]/[0-9][0-9] [0-9][0-9]/[0-9][0-9]/[0-9][0-9] " detect 0,1,"!D I R E C T D E P O S I T V O U C H E R" # set up document constants local MAXCOLS=81 local MAXRCOLS=80 local MAXROWS=66 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line cols MAXCOLS rows MAXROWS # copy 2 is for summary local MAX_COPIES=2 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "PR Check - laser" # view in pdf properties prejob { logocols=10,logorows=5 } prepage { dtype$=get(1,1,MAXCOLS,"Y") if dtype$="" then : # check docdate$=get(53,8,8,"Y") else # summary docdate$=get(36,3,10,"Y") endif } precopy { # Summary? xtype$=trim(get(1,1,20)) if copy=1 and xtype$<>"" then skip=1 if copy=2 and xtype$="" then skip=1 if copy=2 and not(skip) then : docdate$=get(36,3,10,"Y",1) endif } # make space on left cmove 1,1,MAXCOLS,MAXROWS,2,1 if copy 1 # first adjust format to standard cmove 1,20,MAXCOLS,60,1,22 cerase 1,1,30,6 # Check LOGO_IMAGE 1,1,10,5,"COMP_LOGO" cbox LEFTCOL,1,RIGHTCOL,17.75,MBOXSIZE text 15,2.25,"COMP_NAME",HBFONT,14 text 15,3.35,"COMP_ADDR1",HFONT,12 text 15,4.35,"COMP_ADDR2",HFONT,12 text 15,5.35,"COMP_ADDR3",HFONT,12 text 49,2.25,"PR_BANK_NAME",DBFONT text 49,3.05,"PR_BANK_ADDR1",DFONT text 49,3.85,"PR_BANK_ADDR2",DFONT text 70,3.35,"PR_ROUTING",DBFONT # rtg # cmove 53,8,MAXCOLS,8,53,7 cbox 44,5.5,RIGHTCOL,7.5,1,crows=6.5::100,ccols=52 63 text 45,6,"Check #",ICFONT,10,cols=7,shade=0 text 45,7,{trim(get(64,22,7))},DBCFONT,11,cols=7 text 53,6,"Date",ICFONT,10,cols=10,shade=0 cfont 53,7,62,7,DBCFONT,11 text 64,6,"Amount",IRFONT,10,cols=17,shade=0 cfont 64,7,MAXRCOLS,7,DBRFONT,11 text 2,10,"Pay",IFONT,14 text 7,10,{trim(cut(5,9,80,""))},DBFONT,italic,11,fit text 2,13,"Pay",IFONT text 2,14,"to the",IFONT text 2,15,"Order",IFONT text 2,16,"of",IFONT cmove 6,11,47,14,6,13 cfont 7,13,51,16,DBFONT,11 SIGNATURE_IMAGE 50,15,0,0,"SIGNATURE" box 50,16.25,30,1,3 text 50,14.5,"Check Void After 180 Days",ICFONT,cols=30 text 50,17,"Authorized Signature",ICFONT,cols=30 PR_MICR 15,18.5,"PR_MICR_ACCOUNTNO",{trim(get(64,22,7))} # top stub - employee's cerase 1,22,30,22 cbox LEFTCOL,21,MAXCOLS,21 text 15,22,"COMP_NAME",HBFONT,12 cbox LEFTCOL,22.5,MAXCOLS,24.5,MBOXSIZE,crows=23.5::DSHADE, ccols=15 33 45 54 64 cfont 2,23,14,23,ICFONT,proper cfont 16,23,32,23,ICFONT,proper cfont 34,23,44,23,ICFONT,proper cfont 46,23,53,23,ICFONT,proper cfont 55,23,63,23,ICFONT,proper cfont 65,23,MAXRCOLS,23,ICFONT,proper cfont 2,24,14,24,DBCFONT cfont 16,24,32,24,DBCFONT cfont 34,24,44,24,DBCFONT cfont 46,24,53,24,DBCFONT cfont 55,24,63,24,DBCFONT cfont 65,24,MAXRCOLS,24,DBCFONT cbox LEFTCOL,24.5,MAXCOLS,38.5,MBOXSIZE,crows=25.5::DSHADE, ccols=14 23 34 47 60 70 cfont 2,25,13,25,IFONT,proper cfont 14,25,22,25,IRFONT,black,proper cfont 24,25,33,25,IRFONT,proper cfont 35,25,46,25,IRFONT,proper cfont 48,25,59,25,IFONT,proper cfont 61,25,69,25,IRFONT,proper cfont 71,25,MAXRCOLS,25,IRFONT,proper cfont 2,26,13,35,DFONT cfont 14,26,22,35,DBRFONT,black cfont 24,26,33,35,DBRFONT cfont 35,26,46,35,DBRFONT cfont 48,26,59,38,DFONT cfont 61,26,69,38,DBRFONT cfont 71,26,MAXRCOLS,38,DBRFONT text 2,36,{mcut(1,34,15,2,"","Y","Y")},IBFONT text 14,36,{mcut(17,34,9,2,"","Y","Y")},DBRFONT,cols=9 cbox LEFTCOL,38.5,MAXCOLS,40.5,MBOXSIZE,crows=39.5::100, ccols=13 25 37 48 60 71 cfont 2,39,12,39,IFONT,shade=0 cfont 14,39,24,39,IRFONT,shade=0 cfont 26,39,36,39,IRFONT,shade=0 cfont 38,39,47,39,IRFONT,shade=0 cfont 49,39,59,39,IRFONT,shade=0 cerase 61,39,MAXCOLS,39 text 61,39,"YTD Ded",IRFONT,shade=0,cols=10 text 72,39,"YTD Net Pay",IRFONT,shade=0,cols=9 cfont 2,40,12,40,DBFONT cfont 14,40,24,40,DBRFONT cfont 26,40,36,40,DBRFONT cfont 38,40,47,40,DBRFONT cfont 49,40,59,40,DBRFONT cfont 61,40,70,40,DBRFONT cfont 72,40,MAXRCOLS,40,DBRFONT # Bottom stub - employer's cerase 1,43,30,43 cbox LEFTCOL,42,MAXCOLS,42 text 15,43,"COMP_NAME",HBFONT,12 cbox LEFTCOL,43.5,MAXCOLS,45.5,MBOXSIZE,crows=44.5::DSHADE, ccols=15 33 45 54 64 cfont 2,44,14,44,ICFONT,proper cfont 16,44,32,44,ICFONT,proper cfont 34,44,44,44,ICFONT,proper cfont 46,44,53,44,ICFONT,proper cfont 55,44,63,44,ICFONT,proper cfont 65,44,MAXRCOLS,44,ICFONT,proper cfont 2,45,14,45,DBCFONT cfont 16,45,32,45,DBCFONT cfont 34,45,44,45,DBCFONT cfont 46,45,53,45,DBCFONT cfont 55,45,63,45,DBCFONT cfont 65,45,MAXRCOLS,45,DBCFONT cbox LEFTCOL,45.5,MAXCOLS,59.5,MBOXSIZE,crows=46.5::DSHADE, ccols=14 23 34 47 60 70 cfont 2,46,13,46,IFONT,proper cfont 14,46,22,46,IRFONT,black,proper cfont 24,46,33,46,IRFONT,proper cfont 35,46,46,46,IRFONT,proper cfont 48,46,59,46,IFONT,proper cfont 61,46,69,46,IRFONT,proper cfont 71,46,MAXRCOLS,46,IRFONT,proper cfont 2,47,13,56,DFONT cfont 14,47,22,56,DBRFONT,black cfont 24,47,33,56,DBRFONT cfont 35,47,46,56,DBRFONT cfont 48,47,59,59,DFONT cfont 61,47,69,59,DBRFONT cfont 71,47,MAXRCOLS,59,DBRFONT text 2,57,{mcut(1,55,15,2,"","Y","Y")},IBFONT text 14,57,{mcut(17,55,9,2,"","Y","Y")},DBRFONT,cols=9 cbox LEFTCOL,59.5,MAXCOLS,61.5,MBOXSIZE,crows=60.5::100, ccols=13 25 37 48 60 71 cfont 2,60,12,60,IFONT,shade=0 cfont 14,60,24,60,IRFONT,shade=0 cfont 26,60,36,60,IRFONT,shade=0 cfont 38,60,47,60,IRFONT,shade=0 cfont 49,60,59,60,IRFONT,shade=0 cerase 61,60,MAXCOLS,60 text 61,60,"YTD Ded",IRFONT,shade=0,cols=10 text 72,60,"YTD Net Pay",IRFONT,shade=0,cols=9 cfont 2,61,12,61,DBFONT cfont 14,61,24,61,DBRFONT cfont 26,61,36,61,DBRFONT cfont 38,61,47,61,DBRFONT cfont 49,61,59,61,DBRFONT cfont 61,61,70,61,DBRFONT cfont 72,61,MAXRCOLS,61,DBRFONT end if # summary copy if copy 2 # title text 1,2,"Payroll Check Summary",HBCFONT,cols=MAXRCOLS,14 # summary text 25,6,{mcut(14,1,21,7,"","Y","Y")},HBFONT text 58,6,{mcut(36,1,13,7,"","Y","Y")},DBRFONT,11 # end of report text 2,15,{cut(1,10,13,"")},HBCFONT,cols=MAXRCOLS end if # ---------------------------------------------------------------------- prepage { # needed prior to archiving dtype$=get(1,1,MAXCOLS,"Y") if dtype$="" arcdtype$="check" else arcdtype$="summary" } # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="prcheck" prepage { noarchive=1 earc$="EARC_PRCHECK",doing_recat=0 earca_formtype$="laser" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=10,logorows=5 } prepage { if dtype$="" then : # check docdate$=get(53,8,8,"Y") else # summary docdate$=get(36,3,10,"Y") endif } precopy { # Summary? xtype$=trim(get(1,1,20)) if copy=1 and xtype$<>"" then skip=1 if copy=2 and xtype$="" then skip=1 if copy=2 and not(skip) then : docdate$=get(36,3,10,"Y",1) endif } [PR_CheckBlank] dsn_sample "/u0/unform_test/_oem/osas/osas7/uf8/osas-txt/chkblank/pr_blank_checks.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/pr_blank_checks.txt" detect 0,10,"~ DATEMASK" detect 0,24,"~ [0-9][0-9]/[0-9][0-9]/[0-9][0-9] [0-9][0-9]/[0-9][0-9]/[0-9][0-9] " detect 0,1,"!D I R E C T D E P O S I T V O U C H E R" # set up document constants local MAXCOLS=81 local MAXRCOLS=80 local MAXROWS=66 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line cols MAXCOLS rows MAXROWS page 42 # copy 2 is for summary local MAX_COPIES=2 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "PR Check - blank" # view in pdf properties # make space on left cmove 1,1,MAXCOLS,MAXROWS,2,1 if copy 1 # make room on left cmove 1,1,MAXCOLS,MAXROW,2,1 # Check cerase 1,1,MAXCOLS,20 LOGO_IMAGE 1,1,10,5,"COMP_LOGO" cbox LEFTCOL,1,RIGHTCOL,17.75,MBOXSIZE text 15,2.25,"COMP_NAME",HBFONT,14 text 15,3.35,"COMP_ADDR1",HFONT,12 text 15,4.35,"COMP_ADDR2",HFONT,12 text 15,5.35,"COMP_ADDR3",HFONT,12 text 49,2.25,"PR_BANK_NAME",DBFONT text 49,3.05,"PR_BANK_ADDR1",DFONT text 49,3.85,"PR_BANK_ADDR2",DFONT text 70,3.35,"PR_ROUTING",DBFONT # rtg # cbox 44,5.5,RIGHTCOL,7.5,1,crows=6.5::100,ccols=52 63 text 45,6,"Check #",ICFONT,10,cols=7,shade=0 text 45,7,{checkno$},DBCFONT,11,cols=7 text 53,6,"Date",ICFONT,10,cols=10,shade=0 text 53,7,{docdate$},DBCFONT,11,cols=10 text 64,6,"Amount",IRFONT,10,cols=17,shade=0 text 64,7,{chkamt$},DBRFONT,11,cols=17 text 2,10,"Pay",IFONT,14 text 7,10,{chktextamt$},DBFONT,italic,11,fit text 2,13,"Pay",IFONT text 2,14,"to the",IFONT text 2,15,"Order",IFONT text 2,16,"of",IFONT text 7,13,{emp$},DBFONT,11 SIGNATURE_IMAGE 50,15,0,0,"SIGNATURE" box 50,16.25,30,1,3 text 50,14.5,"Check Void After 180 Days",ICFONT,cols=30 text 50,17,"Authorized Signature",ICFONT,cols=30 PR_MICR 15,18.5,"PR_MICR_ACCOUNTNO",{trim(get(64,22,7))} # top stub - employee's cerase 1,22,MAXCOLS,22 cbox LEFTCOL,21,MAXCOLS,21 text 15,22,"COMP_NAME",HBFONT,12 cbox LEFTCOL,22.5,MAXCOLS,24.5,MBOXSIZE,crows=23.5::DSHADE,ccols=15 33 45 54 63 local SROW=23 cfont 2,SROW,14,SROW,ICFONT,proper cfont 16,SROW,32,SROW,ICFONT,proper cfont 34,SROW,43,SROW,ICFONT,proper cfont 45,SROW,53,SROW,ICFONT,proper cfont 55,SROW,62,SROW,ICFONT,proper cfont 64,SROW,MAXRCOLS,SROW,ICFONT,proper local SROW=24 cfont 2,SROW,14,SROW,DBCFONT cfont 16,SROW,32,SROW,DBCFONT cfont 34,SROW,43,SROW,DBCFONT cfont 45,SROW,53,SROW,DBCFONT cfont 55,SROW,62,SROW,DBCFONT cfont 64,SROW,MAXRCOLS,SROW,DBCFONT cmove LEFTCOL,26,MAXCOLS,38,LEFTCOL,25 cbox LEFTCOL,24.5,MAXCOLS,38.5,MBOXSIZE,crows=25.5::DSHADE,ccols=14 24 34 45 60 70 local SROW=25 cfont 2,SROW,13,SROW,IFONT,proper cfont 15,SROW,23,SROW,IRFONT,black,proper cfont 25,SROW,33,SROW,IRFONT,proper cfont 35,SROW,44,SROW,IRFONT,proper cfont 46,SROW,59,SROW,ILFONT,proper cfont 61,SROW,69,SROW,IRFONT,proper cfont 71,SROW,MAXRCOLS,SROW,IRFONT,proper local SROW=26 local EROW=35 cfont 2,SROW,13,EROW,DFONT cfont 15,SROW,23,EROW,DBRFONT,black cfont 25,SROW,33,EROW,DBRFONT cfont 35,SROW,44,EROW,DBRFONT local EROW=38 cfont 46,SROW,59,EROW,DLFONT cfont 61,SROW,69,EROW,DBRFONT cfont 71,SROW,MAXRCOLS,EROW,DBRFONT text 2,36,{mget(1,36,13,2,"Y","Y")},IBFONT text 15,36,{mget(17,36,9,2,"Y","Y")},DBRFONT,cols=9 cerase 1,36,14,37 cerase 16,36,26,37 cmove LEFTCOL,40,MAXCOLS,41,LEFTCOL,39 cbox LEFTCOL,38.5,MAXCOLS,40.5,MBOXSIZE,crows=39.5::100,ccols=14 25 37 48 60 71 local SROW=39 cfont 2,SROW,13,SROW,IFONT,shade=0 cfont 15,SROW,24,SROW,IRFONT,shade=0 cfont 26,SROW,36,SROW,IRFONT,shade=0 cfont 38,SROW,47,SROW,IRFONT,shade=0 cfont 49,SROW,59,SROW,IRFONT,shade=0 cerase 61,SROW,MAXCOLS,SROW text 61,SROW,"YTD Ded",IRFONT,shade=0,cols=10 text 72,SROW,"YTD Net Pay",IRFONT,shade=0,cols=9 local SROW=40 cfont 2,SROW,13,SROW,DBFONT cfont 15,SROW,24,SROW,DBRFONT cfont 26,SROW,36,SROW,DBRFONT cfont 38,SROW,47,SROW,DBRFONT cfont 49,SROW,59,SROW,DBRFONT cfont 61,SROW,70,SROW,DBRFONT cfont 72,SROW,MAXRCOLS,SROW,DBRFONT # Bottom stub - employer's cerase 1,43,MAXCOLS,43 cbox LEFTCOL,42,MAXCOLS,42 text 15,43,"COMP_NAME",HBFONT,12 cbox LEFTCOL,43.5,MAXCOLS,45.5,MBOXSIZE,crows=44.5::DSHADE,ccols=15 33 45 54 63 local SROW=44 cfont 2,SROW,14,SROW,ICFONT,proper cfont 16,SROW,32,SROW,ICFONT,proper cfont 34,SROW,43,SROW,ICFONT,proper cfont 45,SROW,53,SROW,ICFONT,proper cfont 55,SROW,62,SROW,ICFONT,proper cfont 64,SROW,MAXRCOLS,SROW,ICFONT,proper local SROW=45 cfont 2,SROW,14,SROW,DBCFONT cfont 16,SROW,32,SROW,DBCFONT cfont 34,SROW,43,SROW,DBCFONT cfont 45,SROW,53,SROW,DBCFONT cfont 55,SROW,62,SROW,DBCFONT cfont 64,SROW,MAXRCOLS,SROW,DBCFONT cmove LEFTCOL,47,MAXCOLS,59,LEFTCOL,46 cbox LEFTCOL,45.5,MAXCOLS,59.5,MBOXSIZE,crows=46.5::DSHADE,ccols=14 24 34 45 60 70 local SROW=46 cfont 2,SROW,13,SROW,IFONT,proper cfont 15,SROW,23,SROW,IRFONT,black,proper cfont 25,SROW,33,SROW,IRFONT,proper cfont 35,SROW,44,SROW,IRFONT,proper cfont 46,SROW,59,SROW,ILFONT,proper cfont 61,SROW,69,SROW,IRFONT,proper cfont 71,SROW,MAXRCOLS,SROW,IRFONT,proper local SROW=47 local EROW=56 cfont 2,SROW,13,EROW,DFONT cfont 15,SROW,23,EROW,DBRFONT,black cfont 25,SROW,33,EROW,DBRFONT cfont 35,SROW,44,EROW,DBRFONT local EROW=59 cfont 46,SROW,59,EROW,DLFONT cfont 61,SROW,69,EROW,DBRFONT cfont 71,SROW,MAXRCOLS,EROW,DBRFONT text 2,57,{mget(1,57,13,2,"Y","Y")},IBFONT text 15,57,{mget(17,57,9,2,"Y","Y")},DBRFONT,cols=9 cerase 1,57,14,58 cerase 16,57,26,58 cmove LEFTCOL,61,MAXCOLS,62,LEFTCOL,60 cbox LEFTCOL,59.5,MAXCOLS,61.5,MBOXSIZE,crows=60.5::100,ccols=14 25 37 48 60 71 local SROW=60 cfont 2,SROW,13,SROW,IFONT,shade=0 cfont 15,SROW,24,SROW,IRFONT,shade=0 cfont 26,SROW,36,SROW,IRFONT,shade=0 cfont 38,SROW,47,SROW,IRFONT,shade=0 cfont 49,SROW,59,SROW,IRFONT,shade=0 cerase 61,SROW,MAXCOLS,SROW text 61,SROW,"YTD Ded",IRFONT,shade=0,cols=10 text 72,SROW,"YTD Net Pay",IRFONT,shade=0,cols=9 local SROW=61 cfont 2,SROW,13,SROW,DBFONT cfont 15,SROW,24,SROW,DBRFONT cfont 26,SROW,36,SROW,DBRFONT cfont 38,SROW,47,SROW,DBRFONT cfont 49,SROW,59,SROW,DBRFONT cfont 61,SROW,70,SROW,DBRFONT cfont 72,SROW,MAXRCOLS,SROW,DBRFONT end if # summary copy if copy 2 notext # title text 1,2,"Payroll Check Summary",HBCFONT,cols=MAXRCOLS,14 # summary text 25,6,{mget(14,1,21,7,"Y","Y")},HBFONT text 58,6,{mget(36,1,13,7,"Y","Y")},DBRFONT,11 # end of report text 2,15,{get(1,10,13,"Y")},HBCFONT,cols=MAXRCOLS end if # ---------------------------------------------------------------------- prepage { # needed prior to archiving dtype$=get(1,1,MAXCOLS,"Y") if dtype$="" arcdtype$="check" else arcdtype$="summary" } # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="prcheck" prepage { noarchive=1 earc$="EARC_PRCHECK",doing_recat=0 earca_formtype$="blank" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=10,logorows=5 } prepage { if dtype$="" then : # check checkno$=get(57,10,8,"Y") docid$=checkno$ docdate$=get(46,10,8,"Y") chkamt$=get(65,10,15,"Y") chktextamt$=get(1,11,MAXCOLS,"Y") emp$=mget(6,14,40,4,"Y","Y") else # summary docid$=get(36,4,10,"Y") docdate$=get(36,3,10,"Y") endif for row=22 to 42 text$[row+21]=text$[row] next row } precopy { # Summary? if copy=1 and dtype$<>"" then skip=1 if copy=2 and dtype$="" then skip=1 if copy=2 and not(skip) then : docdate$=get(36,3,8,"Y",1) endif } [PR_CheckPreprinted] dsn_sample "/u0/unform_test/_oem/osas/osas7/uf8/osas-txt/chkpreprinted/pr_preprinted_checks.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/pr_preprinted_checks.txt" detect 0,27,"~ DATEMASK" detect 0,2,"~ [0-9][0-9]/[0-9][0-9]/[0-9][0-9] [0-9][0-9]/[0-9][0-9]/[0-9][0-9] " detect 0,1,"!D I R E C T D E P O S I T V O U C H E R" # set up document constants local MAXCOLS=81 local MAXRCOLS=80 local MAXROWS=66 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line cols MAXCOLS rows MAXROWS page 42 # copy 2 is for summary local MAX_COPIES=2 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "PR Check - preprinted" # view in pdf properties # make space on left cmove 1,1,MAXCOLS,MAXROWS,2,2 if copy 1 cerase 1,22,30,27 # Check LOGO_IMAGE 1,22,10,5,"COMP_LOGO" cbox LEFTCOL,22,RIGHTCOL,38.75,MBOXSIZE text 15,23.25,"COMP_NAME",HBFONT,14 text 15,24.35,"COMP_ADDR1",HFONT,12 text 15,25.35,"COMP_ADDR2",HFONT,12 text 15,26.35,"COMP_ADDR3",HFONT,12 text 49,23.25,"PR_BANK_NAME",DBFONT text 49,24.05,"PR_BANK_ADDR1",DFONT text 49,24.85,"PR_BANK_ADDR2",DFONT text 70,24.35,"PR_ROUTING",DBFONT # rtg # cbox 44,26.5,RIGHTCOL,28.5,1,crows=27.5::100,ccols=52 63 text 45,27,"Check #",ICFONT,10,cols=7,shade=0 text 45,28,{trim(get(63,2,7,""))},DBCFONT,11,cols=7 text 53,27,"Date",ICFONT,10,cols=10,shade=0 text 53,28,{trim(cut(58,27,8,""))},DBCFONT,11,cols=10 text 64,27,"Amount",IRFONT,10,cols=17,shade=0 cfont 64,28,MAXRCOLS,28,DBRFONT,11 text 2,31,"Pay",IFONT,14 text 7,31,{trim(cut(1,30,80,""))},DBFONT,italic,11,fit text 2,34,"Pay",IFONT text 2,35,"to the",IFONT text 2,36,"Order",IFONT text 2,37,"of",IFONT cmove 6,35,47,38,6,34 cfont 7,34,51,37,DBFONT,11 SIGNATURE_IMAGE 50,36,0,0,"SIGNATURE" box 50,37.25,30,1,3 text 50,35.5,"Check Void After 180 Days",ICFONT,cols=30 text 50,38,"Authorized Signature",ICFONT,cols=30 PR_MICR 15,39.5,"PR_MICR_ACCOUNTNO",{trim(get(64,41,7))} # top stub - employee's cerase 1,2,30,2 cbox LEFTCOL,21.5,MAXCOLS,21.5 text 15,1,"COMP_NAME",HBFONT,12 cbox LEFTCOL,1.5,MAXCOLS,3.5,MBOXSIZE,crows=2.5::DSHADE, ccols=15 33 45 54 64 text 2,2,"Emp No/Dept",ICFONT,cols=13 text 16,2,"Employee Name",ICFONT,cols=17 text 34,2,"SSN",ICFONT,cols=11 text 46,2,"Per Beg",ICFONT,cols=8 text 55,2,"Per End",ICFONT,cols=9 text 65,2,"Ck No.",ICFONT,cols=16 cfont 2,3,14,3,DBCFONT cfont 16,3,32,3,DBCFONT cfont 34,3,44,3,DBCFONT cfont 46,3,53,3,DBCFONT cfont 55,3,63,3,DBCFONT cfont 65,3,MAXRCOLS,3,DBCFONT cbox LEFTCOL,3.5,MAXCOLS,17.5,MBOXSIZE,crows=5.5::DSHADE, ccols=14 24 34 47 60 70 text 2,4.5,"Earnings",IFONT text 24,4.5,"Hrs/Units",IRFONT,black text 34,4.5,"Curr Amt",IRFONT text 47,4.5,"YTD",IRFONT text 48,4.5,"Deductions",IFONT text 70,4.5,"Curr Amt",IRFONT text 75,4.5,"YTD",IRFONT,cols=6 cfont 2,6,13,15,DFONT cfont 14,6,23,15,DBRFONT,black cfont 24,6,33,15,DBRFONT cfont 35,6,46,15,DBRFONT cfont 48,6,59,18,DFONT cfont 61,6,69,18,DBRFONT cfont 71,6,MAXRCOLS,18,DBRFONT text 2,16,{mcut(1,16,13,2,"","Y","Y")},IBFONT text 15,16,{mcut(17,16,9,2,"","Y","Y")},DBRFONT,cols=9 cbox LEFTCOL,18.5,MAXCOLS,20.5,MBOXSIZE,crows=19.5::100, ccols=13 25 37 48 60 71 text 2,19,"Pay Rate",IFONT,shade=0 text 25,19,"Curr Earn",IRFONT,shade=0 text 37,19,"Curr Ded",IRFONT,shade=0 text 48,19,"Net Pay",IRFONT,shade=0 text 60,19,"YTD Earn",IRFONT,shade=0 text 61,19,"YTD Ded",IRFONT,shade=0,cols=10 text 72,19,"YTD Net Pay",IRFONT,shade=0,cols=9 cfont 2,20,12,20,DBFONT cfont 14,20,24,20,DBRFONT cfont 26,20,36,20,DBRFONT cfont 38,20,47,20,DBRFONT cfont 49,20,59,20,DBRFONT cfont 61,20,70,20,DBRFONT cfont 72,20,MAXRCOLS,20,DBRFONT # Bottom stub - employer's cerase 1,42,30,42 cbox LEFTCOL,39.5,MAXCOLS,39.5 text 15,41,"COMP_NAME",HBFONT,12 cbox LEFTCOL,41.5,MAXCOLS,43.5,MBOXSIZE,crows=42.5::DSHADE, ccols=15 33 45 54 64 text 2,42,"Emp No/Dept",ICFONT,cols=13 text 16,42,"Employee Name",ICFONT,cols=17 text 34,42,"SSN",ICFONT,cols=11 text 46,42,"Per Beg",ICFONT,cols=8 text 55,42,"Per End",ICFONT,cols=9 text 65,42,"Ck No.",ICFONT,cols=16 cfont 2,43,14,43,DBCFONT cfont 16,43,32,43,DBCFONT cfont 34,43,44,43,DBCFONT cfont 46,43,53,43,DBCFONT cfont 55,43,63,43,DBCFONT cfont 65,43,MAXRCOLS,43,DBCFONT cbox LEFTCOL,43.5,MAXCOLS,57.5,MBOXSIZE,crows=45.5::DSHADE, ccols=14 24 34 47 60 70 text 2,44.5,"Earnings",IFONT text 24,44.5,"Hrs/Units",IRFONT,black text 34,44.5,"Curr Amt",IRFONT text 47,44.5,"YTD",IRFONT text 48,44.5,"Deductions",IFONT text 70,44.5,"Curr Amt",IRFONT text 75,44.5,"YTD",IRFONT,cols=6 cfont 2,46,13,55,DFONT cfont 14,46,23,55,DBRFONT,black cfont 24,46,33,55,DBRFONT cfont 35,46,46,55,DBRFONT cfont 48,46,59,58,DFONT cfont 61,46,69,58,DBRFONT cfont 71,46,MAXRCOLS,58,DBRFONT text 2,56,{mcut(1,56,13,2,"","Y","Y")},IBFONT text 15,56,{mcut(17,56,9,2,"","Y","Y")},DBRFONT,cols=9 cbox LEFTCOL,58.5,MAXCOLS,60.5,MBOXSIZE,crows=59.5::100, ccols=13 25 37 48 60 71 text 2,59,"Pay Rate",IFONT,shade=0 text 25,59,"Curr Earn",IRFONT,shade=0 text 37,59,"Curr Ded",IRFONT,shade=0 text 48,59,"Net Pay",IRFONT,shade=0 text 60,59,"YTD Earn",IRFONT,shade=0 text 61,59,"YTD Ded",IRFONT,shade=0,cols=10 text 72,59,"YTD Net Pay",IRFONT,shade=0,cols=9 cfont 2,60,12,60,DBFONT cfont 14,60,24,60,DBRFONT cfont 26,60,36,60,DBRFONT cfont 38,60,47,60,DBRFONT cfont 49,60,59,60,DBRFONT cfont 61,60,70,60,DBRFONT cfont 72,60,MAXRCOLS,60,DBRFONT end if # summary copy if copy 2 cerase 1,1,MAXCOLS,MAXROWS # title text 1,2,"Payroll Check Summary",HBCFONT,cols=MAXRCOLS,14 # summary text 25,6,{mget(14,1,21,8,"Y","Y")},HBFONT text 58,6,{mget(36,1,13,8,"Y","Y")},DBRFONT,11 # end of report text 2,15,{get(1,11,13)},HBCFONT,cols=MAXRCOLS cerase LEFTCOL,1,RIGHTCOL,MAXROWS end if # ---------------------------------------------------------------------- prepage { # needed prior to archiving dtype$=get(1,1,MAXCOLS,"Y") if dtype$="" arcdtype$="summary" else arcdtype$="check" } # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="prcheck" prepage { noarchive=1 earc$="EARC_PRCHECK",doing_recat=0 earca_formtype$="preprinted" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=10,logorows=5 } prepage { # mje 082307 dtype$=get(1,1,MAXCOLS,"Y") # note, opposite of other 2 check formats if dtype$<>"" then : # check docdate$=get(58,27,8,"Y") else # summary docid$=get(36,5,10,"Y") docdate$=get(36,4,10,"Y") endif for row=1 to 21 text$[row+40]=text$[row] next row } precopy { # Summary? if copy=1 and dtype$="" then skip=1 if copy=2 and dtype$<>"" then skip=1 if copy=2 and not(skip) then : docdate$=get(36,3,10,"Y",1) endif } [SO_Bol] # bill of lading rule set dsn_sample "/u0/unform_test/_oem/osas/osas7/uf8/txt7/bolading.txt" dsn_sample "/u0/unform_test/_oem/osas/osas7/uf8/txt7/bol2pg.txt" detect 64,1,"BILL" detect 122,2,"~[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]" # set up document constants local MAXCOLS=132 # max cols to output local MAXRCOLS=131 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local CUSTOMER_COPY=1 local FILE_COPY=2 local TOTALS_COPY=3 local MAX_COPIES=2 copies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "Shipping Order - Bill of Lading" # view in pdf properties # header section cerase 1,1,MAXCOLS,17 text 13,4.5,{received$}, DFONT cbox LEFTCOL,1.5,MAXCOLS,3.5,MBOXSIZE,ccols=18::ISHADE 46.5 64::ISHADE 80 87::ISHADE 100 118::ISHADE cbox LEFTCOL,3.5,RIGHTCOL,10.5,MBOXSIZE text 1,1,"Straight Bill of Lading",DBCFONT,12,cols=MAXCOLS text 10,2.5,"Name of carrier",ICFONT,10 text 33,2.5,{carrier$},DBCFONT,10 text 48,2.5,"Carrier number",IFONT,10 text 66,2.5,{carno$},DBFONT,10 text 82,2.5,"Date",IFONT,10 text 89,2.5,{date$},DBFONT,10 text 101,2.5,"Shipper number",IFONT,10 text 119,2.5,{shipno$},DBFONT,10 # from & to cbox LEFTCOL,10.5,MAXCOLS,16,MBOXSIZE,ccols=10::ISHADE 64 75::ISHADE text 2,11.5,"From:\nShipper",ICFONT,10,cols=7.5 text 11.5,11.5,{from$},DBFONT,10 text 65,11.5,"To:\nConsignee",ICFONT,10,cols=10 cfont 47,11,MAXRCOLS,18,DBFONT,black # ship to addr text 77,11.5,{to$},DBFONT,10 # ribbon 1 cbox LEFTCOL,16,MAXCOLS,19,MBOXSIZE,crows=17.5::ISHADE, ccols=40 100 text 3,16.75,"Delivering",ICFONT,ccols=37 text 1.5,18.25,{deliver$},DBCFONT,10,cols=37 text 53,16.75,"Route",ICFONT,cols=30 text 53,18.25,{route$},DBCFONT,10, cols=30 text 101,16.75,"Vehicle Number",ICFONT,cols=30 text 101,18.25,{vehicle$},DBCFONT,10,cols=30 cerase 12,22,12,50 cerase 17,22,17,50 #cerase 81,22,81,50 cerase 86,22,86,50 cerase 105,22,105,50 cerase 116,22,119,50 #detail section cbox LEFTCOL,19,RIGHTCOL,50.5,MBOXSIZE,crows=21.5::DSHADE,ccols=11 16 68 77 95.5 108 117 cmove 1,18,MAXCOLS,46,1,22 text 1,19.75,"No. of\nUnits",IRFONT,cols=9 cmove 3,22,11,50,1,22 cfont 1,22,9.75,50,DBRFONT text 13.75,19.75,"Hm",ICFONT cfont 12,22,15,50,DCFONT text 17.5,19.75,"Kind of Packaging, Description of Articles, \nSpecial Marks and Exceptions",ILFONT cfont 17,22,69,50,DLFONT text 69,19.75,"Erg #",ICFONT,cols=8 cmove 82,22,85,50,70,22 cfont 70,22,74,50,DCFONT text 77,19.75,"Weight (subject \nto correction)",IRFONT,cols=18 cmove 87,22,102,50,70,22 cfont 76,22,94,50,DBRFONT text 97,19.75,"Class\n or Rate",ICFONT,cols=10 cmove 107,22,112,50,97,22 cfont 97,22,107,50,DCFONT text 110,19.75,"CK",ICFONT,cols=5 cfont 109,22,116,50,DCFONT text 118.5,19.75,"Charges \n(Carrier Use)",IRFONT,cols=13 cfont 118,22,131,50,DBRFONT # shade lines shade "~[0-9][0-9]@6,22,8,50", 10,0,79,1,DFONT,20 # watermark - large font with light shading WATERMARK 1,54.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # bottom sections cerase 1,50,MAXCOLS,MAXROWS cbox LEFTCOL,50.5,MAXCOLS,53,MBOXSIZE,ccols=23::ISHADE 39 58::ISHADE 83 104::ISHADE cbox LEFTCOL,53,102,56,MBOXSIZE,ccols=13::ISHADE 65 77::ISHADE cbox 102,53,MAXCOLS,57,MBOXSIZE, crows 55::ISHADE cbox LEFTCOL,56,102,62,MBOXSIZE, ccols=33.5 cbox 102,57,MAXCOLS,60,MBOXSIZE, ccols=112::ISHADE cbox 102,60,MAXCOLS,64,MBOXSIZE, crows=62::ISHADE cbox LEFTCOL,62,102,64,MBOXSIZE cbox LEFTCOL,64,MAXCOLS,66,MBOXSIZE,ccols=59 99 text 2.5,51.75,"Placards supplied?",IFONT text 23,51.75,{placards$}, DBCFONT,10,cols=16 text 3,54.5,"Remit To",IFONT text 14,53.5,{remit$},10, DBFONT text 40,51.25,"Driver's\n signature",ICFONT,cols=21 text 84,51.25,"Emergency\n response phone",ICFONT,cols=20 text 109,51.75,{emerg$},10,DBFONT text 105,54,"C.O.D. Fee",ICFONT, cols=25 text 116,56.5,{codfee$}, DBRFONT,10,cols=15 text 68,54,"C.O.D.\nAmount",IFONT text 82,54.5,"$",DBFONT text 81,54.5,{codamt$}, DBRFONT,10,cols=20 text 105,55.5, "___Prepaid",IFONT text 118,55.5, "___Collect",IFONT text 118,56.5, "$",DBFONT text 107.5,58,"Total\nCharges",ICFONT text 117,58.5,"$",DBFONT text 115,58.5,{total$}, DBRFONT,10, cols=16 text 105,61,"Freight charges are:",IFONT text 104,63,{freight$},DCFONT,10,cols=23 text 3.5,56.75,{mcut(1,52,35,4,"","y","")},DFONT text 40,56.75,{mcut(38,52,67,4,"","y","")},DFONT text 3,62.5,"This is to certify that the above materials are properly classified, described, packaged, marked, labeled, and in proper\ncondition for transportation, according to the applicable regulations of the Department of Transportation.",DFONT,8 text 3,61,"$",DBFONT text 3,61,{perunit$},DBFONT,10 text 40,61,"Signature of Consignor:",IFONT text 60,64.75,"Shipper, per",IFONT text 100,64.75,"Agent, per",IFONT # handle copy title cbox 1.7,64.3,30,65.7,1,100 text 1,65,{copy_title$[copy]},HBCFONT,12,cols=30,shade 0 # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="bill of lading" prepage { noarchive=1 earc$="EARC_BILLOFLADING",doing_recat=0 if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PAGE X of Y FEATURE ----------------------------------------------- # Page X of Y feature # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =122 # adjust as needed local XOFYM_ROW =2 # adjust as needed local XOFYM_NCOLS =8 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- SCANNING BARCODE -------------------------------------------------- prepage { bcod_docid$=get(122,2,8,"y") } precopy { # Add barcodes for scanning interface. bcod$="BCOD_BILLOFLADING" # Y/N Switch from global section bcod_Copies$="2" # which copy(s) get barcode if lower(bcod$)="y" then: if pos(str(copy)=bcod_Copies$): bcod_docTy$="SOBOL" rows$=str(MAXROWS+7) cmd$="text 2,"+str(MAXROWS+1.5)+","+$22$+"Do not write below this line"+$22$+",cgtimes,10,italic" cmd$+=$0a$+"cbox LEFTCOL,"+str(MAXROWS+2)+",RIGHTCOL,"+str(MAXROWS+2) cmd$+=$0a$+"barcode "+str(inchtocols(.5))+","+str(MAXROWS+4)+","+$22$+bcod_Docty$+$22$+",BCSYMB,18.0,6,text" cmd$+=$0a$+"barcode "+str(inchtocols(3.5))+","+str(MAXROWS+4)+","+$22$+bcod_DocID$+$22$+",BCSYMB,18.0,6,text" exec(cmd$) end if end if } # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then copy_title$[CUSTOMER_COPY]="Customer Copy" if MAX_COPIES>=2 then copy_title$[FILE_COPY]="Accounting Copy" } prepage { carrier$=cut(16,2,25,"") carno$=cut(77,2,10,"") # mje 060710 chg cut to get re arc timing date$=cut(98,2,10,"") shipno$=cut(121,2,10,"") received$=mcut(1,3,132,6,"","y","") from$=mcut(10,9,30,5,"","y","") # mje 060710 chg cut to get re arc timing to$=mcut(83,9,30,5,"","y","") deliver$=cut(1,15,25,"") route$= cut(49,15,25,"") vehicle$=cut(115,15,5,"") #detail$=mcut(2,18,132,28,"","y","") placards$=cut(20,48,5,"") remit$=mcut(10,49,25,3,"","y","") codamt$=cut(90,51,14,"") emerg$=cut(107,48,30,"") codfee$=cut(120,51,13,"") total$=cut(120,53,13,"") freight$=cut(112,56,13,"") perunit$=cut(3,57,25,"") } [SO_InvLaser] # handles invoice, quote, credit memo dsn_sample "/u0/unform_test/_oem/osas/osas7/uf8/osas-txt/formlaser/so_invc_laser-nocopy.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/so_invc_laser-nocopy.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/so_invc_laser.txt" detect 111,6,"~ DATEMASK" detect 0,17,"~\.[0-9][0-9]" # mje 062910 # NOTE the difference between sample text files, one has the OSAS # multi-copy format, and the "-nocopy" sample has the OSAS multi-copy # text removed. The one with OSAS multi-copy format will not print # a barcode page, because the logic is designed to disable the UnForm # multiple copies in this case. # set up document constants local MAXCOLS=132 # max cols to output local MAXRCOLS=131 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local CUSTOMER_COPY=1 local FILE_COPY=2 local MAX_COPIES=2 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "Invoice - laser" # view in pdf properties # default detail line local BROW=1 local EROW=MAXROWS cfont 2,BROW,39,EROW,DBFONT # item # cfont 41,BROW,43,EROW,DCFONT # tx cfont 45,BROW,49,EROW,DCFONT # uom cfont 51,BROW,69,EROW,DBRFONT # qty ord cfont 71,BROW,89,EROW,DBRFONT,black # qty ship cfont 91,BROW,111,EROW,DBRFONT # price cfont 113,BROW,MAXRCOLS,EROW,DBRFONT # ext cbox LEFTCOL,26,MAXCOLS,55,MBOXSIZE,crows=27.5::DSHADE,ccols=40 44 50 70 90 112 text 2,27,"Item Information",IFONT text 41,27,"Tx",ICFONT,cols=3 text 45,27,"U/M",ICFONT,cols=5 text 51,27,"Ordered",IRFONT,cols=19 text 71,27,"Shipped",IRFONT,cols=19 text 91,27,"Unit Price",IRFONT,cols=21 text 113,27,"Extension",IRFONT,cols=19 # header section cerase 1,1,MAXCOLS,9 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=10:MBOXSIZE merge "zMrg Form Header" # Invoice block cbox 111,4,MAXCOLS,10,1,ccols=120::ISHADE,crows=6 8 text 112,5,"Invoice",IFONT text 112,7,"Date",IFONT text 112,9,"Page",IFONT text 121,5,{trim(cut(112,7,8,""))},DBFONT text 121,7,{trim(cut(112,6,8,""))},DBFONT text 121,9,{trim(cut(112,4,7,""))},DBFONT # sold to cerase 49,10,59,10 cbox LEFTCOL,10,MAXCOLS,20,MBOXSIZE,ccols=12::ISHADE 67 79::ISHADE text 1,11,"Sold\nTo:",ICFONT,cols=11 cfont 10,11,66,18,DBFONT,black # sold to addr text 1,13,{trim(cut(10,10,6,""))},DBCFONT, cols=11 cmove 10,11,66,18,17,11 # ship to text 68,11,"Ship\nTo:",ICFONT,cols=11 cfont 76,11,MAXRCOLS,18,DBFONT,black # ship to addr text 76,18,{shipto$},DBFONT text 80.75,19,{totaldue$},DBFONT cmove 76,11,MAXRCOLS,18,85,11 # ribbon 1 cbox LEFTCOL,20,MAXCOLS,23,MBOXSIZE,crows=21.5::ISHADE, ccols=7 13 24 38 60 78 96 119 text 2,21,"Slsp1",ICFONT,cols=5 text 8,21,"Slsp2",ICFONT,cols=5 text 25,21,"Due Date",ICFONT,cols=13 text 39,21,"Disc Due Date",ICFONT,cols=21 text 61,21,"Order No",ICFONT,cols=17 text 79,21,"Order Date",ICFONT,cols=17 text 97,21,"Ship Date",ICFONT,cols=22 text 120,21,"Ship No",ICFONT,cols=12 cfont 2,22,6,22,DBCFONT # slsp 1 cfont 8,22,23,22,DBCFONT # slsp 2 cfont 25,22,37,22,DBCFONT # due date cfont 39,22,59,22,DBCFONT # disc due date cfont 61,22,77,22,DBCFONT,black # order # cfont 79,22,95,22,DBCFONT # order date cfont 97,22,118,22,DBCFONT # ship date cfont 120,22,MAXRCOLS,22,DBCFONT # ship # # ribbon 2 cbox LEFTCOL,23,MAXCOLS,26,MBOXSIZE,crows=24.5::ISHADE,ccols=32 78 text 2,24,"Terms Description",ICFONT,cols=30 text 33,24,"Customer PO No",ICFONT,cols=45 text 79,24,"Ship Via",ICFONT,cols=53 cfont 2,25,31,25,DBCFONT # terms cfont 33,25,77,25,DBCFONT,black # cust po cfont 79,25,MAXRCOLS,25,DBCFONT,black # ship via # detail section # lot line font "Lot@4,28,6,54",0,0,3,1,IRFONT # lot font "Lot@4,28,6,54",4,0,30,1,DBFONT # lot id font "Lot@4,28,6,54",42,0,12,2,IRFONT # lot ord/ship font "Lot@4,28,6,54",59,0,12,2,DBRFONT,black # lot qty font "Lot@4,28,6,54",73,0,10,2,IFONT # lot uom # ser line font "Ser@6,28,8,54",0,0,3,1,IRFONT # ser font "Ser@6,28,8,54",4,0,20,1,DBFONT # ser id # component lines font "C@1,28,1,54",2,0,30,1,DBFONT # item # font "C@1,28,1,54",2,1,45,1,DFONT # desc font "C@1,28,1,54",44,0,5,1,DBCFONT # uom font "C@1,28,1,54",50,0,19,1,DBRFONT # qty # description font "R@1,28,1,54",1,0,77,1,DFONT # description cerase 1,28,1,54 # watermark - large font with light shading WATERMARK 1,54.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # message area cbox LEFTCOL,55,MAXCOLS,58,MBOXSIZE cfont 2,56,92,57,IFONT # mesg cfont 94,57,110,57,DBRFONT # subtotal: cfont 114,57,MAXRCOLS,57,DBRFONT # subtotal amt # footer text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS text 1,{MAXROWS+.5},{cont$},DBRFONT,cols=MAXRCOLS # shade lines shade "~\.[0-9][0-9]@128,28,130,54",-126.5,0,131,1,DSHADE # totals cerase LEFTCOL,60,RIGHTCOL,60 cfont 2,59,26,59,DBRFONT # taxable cfont 28,59,47,59,DBRFONT # non-taxable cfont 49,59,68,59,DBRFONT,black # freight cfont 70,59,89,59,DBRFONT # sales tax cfont 91,59,113,59,DBRFONT,black # misc cfont 115,59,MAXRCOLS,59,DBRFONT,10 # grand total # ---------------------------------------------------------------------- prepage { # get invoice title doc_title$="INVOICE",reprint$="" # get title from body of invoice, if available. # Must handle credit memo text/quote. x$=trim(cut(18,10,26,"")) x=pos("REPRINT"=x$) if x then reprint$="REPRINT" x=pos("C R E D I T"=X$) if x then doc_title$="CREDIT MEMO" x=pos("Q U O T E"=X$) if x then doc_title$="QUOTE" } # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="invoice" prepage { noarchive=1 earc$="EARC_INVOICE",doing_recat=0 earca_formtype$="laser" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- # # mje 062810 disabled due to different order doc types # merge "8.0 zMrg PDFLinks v2" # prepage { # exec(fnCreateAnnotations$("~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ",61,22,70,22,0,"","","DBCFONT","EARC_ORDLINKLIB","EARC_ORDLINKDOCTY")) # } # --- SCANNING BARCODE -------------------------------------------------- prepage { bcod_docid$=get(112,7,8,"y") } precopy { # Add barcodes for scanning interface. bcod$="BCOD_INVOICE" # Y/N Switch from global section bcod_Copies$="2" # which copy(s) get barcode if lower(bcod$)="y" then: if pos(str(copy)=bcod_Copies$): bcod_docty$="SOINV" rows$=str(MAXROWS+7) cmd$="text 2,"+str(MAXROWS+1.5)+","+$22$+"Do not write below this line"+$22$+",cgtimes,10,italic" cmd$+=$0a$+"cbox LEFTCOL,"+str(MAXROWS+2)+",RIGHTCOL,"+str(MAXROWS+2) cmd$+=$0a$+"barcode "+str(inchtocols(.5))+","+str(MAXROWS+4)+","+$22$+bcod_docty$+$22$+",BCSYMB,18.0,6,text" cmd$+=$0a$+"barcode "+str(inchtocols(3.5))+","+str(MAXROWS+4)+","+$22$+bcod_DocID$+$22$+",BCSYMB,18.0,6,text" exec(cmd$) end if end if } # --- PAGE X of Y FEATURE ----------------------------------------------- # Page X of Y feature # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =112 # adjust as needed local XOFYM_ROW =7 # adjust as needed local XOFYM_NCOLS =8 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_INVOICE" if lower(edel$)="y": eDocid$=get(112,7,8,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="Invoice" # Method 6: Address entity ID for lookup eAddrEnt$=get(10,10,6,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # remark this to ALWAYS print ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=16,logorows=7 dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then : copy_title$[CUSTOMER_COPY]="Customer Copy" endif if MAX_COPIES>=2 then : copy_title$[FILE_COPY]="File Copy" endif } prepage { if trim(get(1,1,80))<>"" then : pcopies=CUSTOMER_COPY copy_title$[CUSTOMER_COPY]=trim(get(1,1,80)) endif merge "zMrg get watermark text" xcol=0,xrow=0 merge "zMrg get company info" shipto$=trim(get(45,10,10)) if shipto$<>"" then : shipto$="Your ship to code is "+shipto$ endif totaldue$="" due$=trim(cut(110,17,12,"")) if doc_title$="INVOICE" then : totaldue$="Your total due is "+due$ endif # mark memo lines for i=28 to 54 if mid(text$[i],4,3)="Lot" and mid(text$[i],46,7)="Ordered" then : i=i+1 goto bottom_loop # lot line endif if mid(text$[i],6,3)="Ser" and mid(text$[i],107,1)="." then : goto bottom_loop # serial line endif if mid(text$[i],128,1)="." then goto bottom_loop # detail line # component? if mid(text$[i],2,17)="End of Components" then compon=0 if compon and len(trim(text$[i]))>2 and mid(text$[i],1,2)=" " then : text$[i](1,1)="C" i=i+1 goto bottom_loop endif if mid(text$[i],2,11)="Component :" then compon=1 # must be remark/desc if text$[i]<>"" then : text$[i](1,1)="R" bottom_loop: endif next i # continued? cont$="",sub_line=50 for i=50 to MAXROWS x=pos("(continued"=text$[i]) if x then : cont$="Continued on next page ..." sub_line=55; x$=set(x,i,30,"") break endif next i if cont$="" then : exec("cbox 1,58,RIGHTCOL,61,MBOXSIZE,crows=59.5 61::HSHADE,ccols=27 48 69 90 114") endif if cont$="" then exec("text 2,60.5,""Taxable"",HRFONT,cols=25,10") if cont$="" then exec("text 29,60.5,""Non-Taxable"",HRFONT,cols=19,10") if cont$="" then exec("text 50,60.5,""Freight"",HRFONT,cols=19,10") if cont$="" then exec("text 71,60.5,""Sales Tax"",HRFONT,cols=19,10") if cont$="" then exec("text 92,60.5,""Misc Charge"",HRFONT,cols=22,10") if cont$="" then exec("text 115,60.5,""Grand Total"",HBRFONT,cols=16,10") amount_paid$=trim(get(10,60,20)) amt_paid$=trim(get(31,60,20)) net_due$=trim(get(50,60,20)) nt_due$=trim(get(70,60,20)) if amount_paid$="" then goto no_amount_paid amount_paid$=amount_paid$(1,len(amount_paid$)-1) # remove colon net_due$=net_due$(1,len(net_due$)-1) # remove colon x$="cbox 90,61,MAXCOLS,64,1,ccols=114::DSHADE,crows=62.5" exec(x$) x$="text 91,62,"+$22$+amount_paid$+$22$+",IFONT,10" exec(x$) x$="text 118,62,"+$22$+amt_paid$+$22$+",DBRFONT,10,cols=14" exec(x$) x$="text 91,63.5,"+$22$+net_due$+$22$+",IBFONT,10" exec(x$) x$="text 118,63.5,"+$22$+nt_due$+$22$+",DBRFONT,10,cols=14" exec(x$) no_amount_paid: } [SO_Inv8.5x11] # handles invoice, quote, credit memo dsn_sample "/u0/unform_test/_oem/osas/osas7/uf8/osas-txt/form8.5x11/so_invc_8.5x11-nocopy.txt" dsn_sample "/u0/unform_test/_oem/osas/osas7/uf8/osas-txt/form8.5x11/so_invc_8.5x11.txt" detect 62,6,"~ DATEMASK " detect 77,17,"~\.[0-9][0-9]" # mje 062910 # NOTE the difference between sample text files, one has the OSAS # multi-copy format, and the "-nocopy" sample has the OSAS multi-copy # text removed. The one with OSAS multi-copy format will not print # a barcode page, because the logic is designed to disable the UnForm # multiple copies in this case. # set up document constants local MAXCOLS=80 # max cols to output local MAXRCOLS=79 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local CUSTOMER_COPY=1 local FILE_COPY=2 local TOTALS_COPY=3 local MAX_COPIES=3 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "Invoice - 8.5 x 11" # view in pdf properties # customer or file copy if copy CUSTOMER_COPY,FILE_COPY # default detail line local BROW=1 local EROW=MAXROWS cmove 1,28,MAXCOLS,53,1,29 cfont 2,BROW,21,EROW,DBFONT # item # cfont 23,BROW,24,EROW,DCFONT # tx cfont 26,BROW,30,EROW,DCFONT # uom cfont 32,BROW,41,EROW,DBRFONT # qty ord cfont 43,BROW,53,EROW,DBRFONT,black # qty ship cfont 55,BROW,65,EROW,DBRFONT # price cfont 67,BROW,MAXRCOLS,EROW,DBRFONT # ext cbox LEFTCOL,26,RIGHTCOL,55,MBOXSIZE,crows=27.5::DSHADE,ccols=22 25 31 42 54 66 text 2,27,"Item Information",IFONT text 23,27,"Tx",ICFONT,cols=2 text 26,27,"U/M",ICFONT,cols=5 text 32,27,"Ordered",IRFONT,cols=10 text 43,27,"Shipped",IRFONT,cols=11 text 55,27,"Unit Price",IRFONT,cols=11 text 67,27,"Extension",IRFONT,cols=13 # shade lines shade "~[0-9][0-9][0-9]@2,28,4,54", -.5,0,79,1,DSHADE # header section cerase 1,1,MAXCOLS,6 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=10:MBOXSIZE merge "zMrg Form Header" # Invoice block cbox 66,4,RIGHTCOL,10,1,ccols=72::ISHADE,crows=6 8 text 67,5,"Invoice",IFONT text 67,7,"Date",IFONT text 67,9,"Page",IFONT text 73,5,{trim(cut(52,6,8,""))},DBFONT text 73,7,{trim(cut(63,6,8,""))},DBFONT text 73,9,{trim(cut(72,6,7,""))},DBFONT # sold to cbox LEFTCOL,10,MAXCOLS,20,MBOXSIZE,ccols=7::ISHADE 40 46::ISHADE text 3,11,"Sold\nTo",ICFONT,cols=3 cmove 6,11,39,18,8,11 cfont 8,11,39,18,DBFONT,black # sold to addr text 2,13,{trim(cut(6,10,6,""))},DBFONT # ship to text 42,11,"Ship\nTo",ICFONT,cols=3 cmove 45,11,MAXRCOLS,18,47,11 cfont 47,11,MAXRCOLS,18,DBFONT,black # ship to addr text 41,13,{shipto$},DBFONT text 47,19,{totaldue$},DBFONT # zip bar #barcode 47,16,{shipzip$},900,12.0,2 # ribbon 1 cbox LEFTCOL,20,MAXCOLS,23,MBOXSIZE,crows=21.5::ISHADE,ccols=7 13 25 37 46 58 70 text 2,21,"Slsp1",ICFONT,cols=5 text 8,21,"Slsp2",ICFONT,cols=5 text 14,21,"Due Date",ICFONT,cols=11 text 26,21,"Disc Due Date",ICFONT,cols=11 text 38,21,"Order No",ICFONT,cols=8 text 47,21,"Order Date",ICFONT,cols=11 text 59,21,"Ship Date",ICFONT,cols=11 text 71,21,"Ship No",ICFONT,cols=9 cfont 2,22,6,22,DBCFONT # slsp 1 cfont 8,22,12,22,DBCFONT # slsp 2 cfont 14,22,24,22,DBCFONT # due date cfont 26,22,36,22,DBCFONT # disc due date cfont 38,22,45,22,DBCFONT,black # order # cfont 47,22,57,22,DBCFONT,black # order date cfont 59,22,69,22,DBCFONT # ship date cfont 71,22,MAXRCOLS,22,DBCFONT # ship # # ribbon 2 cbox LEFTCOL,23,MAXCOLS,26,MBOXSIZE,crows=24.5::ISHADE,ccols=18 45 text 2,24,"Terms Description",ICFONT,cols=17 text 19,24,"Customer PO No",ICFONT,cols=25 text 46,24,"Ship Via",ICFONT,cols=34 cfont 2,25,17,25,DBCFONT # terms cfont 19,25,44,25,DBCFONT,black # cust po cfont 46,25,MAXRCOLS,25,DBCFONT,black # ship via # detail section # lot line font "Lot@4,28,6,54",0,0,3,1,IRFONT # lot font "Lot@4,28,6,54",4,0,20,1,DBFONT # lot id font "Lot@4,28,6,54",34,0,9,2,IRFONT # lot ord/ship font "Lot@4,28,6,54",43,0,13,2,DBRFONT,black # lot qty font "Lot@4,28,6,54",57,0,10,2,IFONT # lot uom # ser line font "Ser@6,28,8,54",0,0,3,1,IRFONT # ser font "Ser@6,28,8,54",4,0,20,1,DBFONT # ser id # component lines font "C@1,28,1,54",2,0,30,1,DBFONT # item # font "C@1,28,1,54",2,1,45,1,DFONT # desc font "C@1,28,1,54",44,0,5,1,DBCFONT # uom font "C@1,28,1,54",50,0,19,1,DBRFONT # qty # description font "R@1,28,1,54",1,0,77,1,DFONT # description cerase 1,28,1,54 # watermark - large font with light shading WATERMARK 1,54.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # message area cbox LEFTCOL,55,MAXCOLS,58,MBOXSIZE cfont 2,56,55,57,ILFONT,black # mesg cfont 57,57,66,57,IBRFONT # subtotal: cfont 67,57,MAXRCOLS,57,DBRFONT # subtotal amt # footer text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS text 1,{MAXROWS+.5},{cont$},DBRFONT,cols=MAXRCOLS # totals cfont 2,60,14,60,DBRFONT # taxable cfont 16,60,27,60,DBRFONT # non-taxable cfont 29,60,40,60,DBRFONT,black # freight cfont 42,60,53,60,DBRFONT # sales tax cfont 55,60,66,60,DBRFONT,black # misc cfont 68,60,MAXRCOLS,60,DBRFONT,10 # grand total end if if copy TOTALS_COPY cfont 21,21,40,50,HFONT cfont 42,21,53,50,DFONT,right cfont 54,21,54,50,DFONT,black bold "Total",-5,0,25,1 end if # ---------------------------------------------------------------------- prepage { # get invoice title doc_title$="INVOICE",reprint$="" # get title from body of invoice, if available. # Must handle credit memo text/quote. x$=trim(cut(13,10,26,"")) x=pos("REPRINT"=x$) if x then reprint$="REPRINT" x=pos("C R E D I T"=X$) if x then doc_title$="CREDIT MEMO" x=pos("Q U O T E"=X$) if x then doc_title$="QUOTE" } # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="invoice" prepage { noarchive=1 earc$="EARC_INVOICE",doing_recat=0 earca_formtype$="8.5x11" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- # # mje 062810 disabled due to different order doc types # merge "8.0 zMrg PDFLinks v2" # prepage { # # inherit from arc logic: targDoctys$="Picking List,Packing List,Picking Slip" # exec(fnCreateAnnotations$("~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ",37,22,46,22,0,"","","DBCFONT","EARC_ORDLINKLIB",targDoctys$)) # } # --- SCANNING BARCODE -------------------------------------------------- prepage { bcod_docid$=get(52,6,8,"y") } precopy { # Add barcodes for scanning interface. bcod$="BCOD_INVOICE" # Y/N Switch from global section bcod_Copies$="2" # which copy(s) get barcode if lower(bcod$)="y" then: if pos(str(copy)=bcod_Copies$): bcod_docTy$="SOINV" rows$=str(MAXROWS+7) cmd$="text 2,"+str(MAXROWS+1.5)+","+$22$+"Do not write below this line"+$22$+",cgtimes,10,italic" cmd$+=$0a$+"cbox LEFTCOL,"+str(MAXROWS+2)+",RIGHTCOL,"+str(MAXROWS+2) cmd$+=$0a$+"barcode "+str(inchtocols(.5))+","+str(MAXROWS+4)+","+$22$+bcod_docTy$+$22$+",BCSYMB,18.0,6,text" cmd$+=$0a$+"barcode "+str(inchtocols(3.5))+","+str(MAXROWS+4)+","+$22$+bcod_DocID$+$22$+",BCSYMB,18.0,6,text" exec(cmd$) end if end if } # --- PAGE X of Y FEATURE ----------------------------------------------- # Page X of Y feature # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =52 # adjust as needed local XOFYM_ROW =6 # adjust as needed local XOFYM_NCOLS =8 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_INVOICE" if lower(edel$)="y": eDocid$=get(52,6,8,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="Invoice" # Method 6: Address entity ID for lookup eAddrEnt$=get(6,10,6,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # remark this to ALWAYS print ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=14,logorows=6 dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then copy_title$[CUSTOMER_COPY]="Customer Copy" if MAX_COPIES>=2 then copy_title$[FILE_COPY]="File Copy" } prepage { if trim(get(1,1,80))<>"" then : pcopies=CUSTOMER_COPY copy_title$[CUSTOMER_COPY]=trim(get(1,1,80)) endif # add zip barcode xrow=13;xcols=40 #merge "zmrg get zip" xcol=0,xrow=0 merge "zMrg get company info" shipto$=trim(cut(45,10,6,"")) due$=trim(get(70,17,11)),x$=set(70,17,11,"") totaldue$="" # mje 060210 fixed next line, said title$= if doc_title$="INVOICE" then : totaldue$="The total due on this invoice is $"+totaldue$+"." endif # continued? cont$="",sub_line=50 for i=50 to MAXROWS x=pos("(continued"=text$[i]) if x then : cont$="Continued on next page ..." sub_line=55 x$=set(x,i,30,"") break endif next i if cont$="" then : exec("cbox 1,58,RIGHTCOL,61,MBOXSIZE,crows=59.5::HSHADE 61,ccols=15 28 41 54 67") endif if cont$="" then exec("text 3,59,""Taxable"",HRFONT,cols=12,10") if cont$="" then exec("text 16,59,""Non-Taxable"",HRFONT,cols=12,10") if cont$="" then exec("text 29,59,""Freight"",HRFONT,cols=12,10") if cont$="" then exec("text 42,59,""Sales Tax"",HRFONT,cols=12,10") if cont$="" then exec("text 55,59,""Misc Charge"",HRFONT,cols=12,10") if cont$="" then exec("text 67,59,""Grand Total"",HBRFONT,cols=12,10") amount_paid$=trim(get(23,61,11)) amt_paid$=trim(get(36,61,15)) net_due$=trim(get(58,61,7)) nt_due$=trim(get(67,61,14)) if amount_paid$="" then goto no_amount_paid amount_paid$=amount_paid$(1,len(amount_paid$)-1) # remove colon net_due$=net_due$(1,len(net_due$)-1) # remove colon x$="cbox 61,61,RIGHTCOL,64,1,ccols=70::DSHADE,crows=62.5" exec(x$) x$="text 62,62,"+$22$+amount_paid$+$22$+",IFONT,10" exec(x$) x$="text 71,62,"+$22$+amt_paid$+$22$+",DBRFONT,10,cols=9" exec(x$) x$="text 62,63.5,"+$22$+net_due$+$22$+",IBFONT,10" exec(x$) x$="text 71,63.5,"+$22$+nt_due$+$22$+",DBRFONT,10,cols=9" exec(x$) no_amount_paid: # mark line types (D=detail, L=lot, R=remark/desc, S=serial for i=28 to 54 if mid(text$[i],4,3)="Lot" and mid(text$[i],38,7)="Ordered" then : i=i+1 goto bottom_loop endif if mid(text$[i],6,3)="Ser" and mid(text$[i],61,1)="." then goto bottom_loop if mid(text$[i],77,1)="." then goto bottom_loop # component? if mid(text$[i],2,17)="End of Components" then compon=0 if compon and len(trim(text$[i]))>2 and mid(text$[i],1,2)=" " then : text$[i](1,1)="C" i=i+1 goto bottom_loop endif if mid(text$[i],2,11)="Component :" then compon=1 # must be remark if text$[i]<>"" then text$[i](1,1)="R" bottom_loop: next i } precopy { x$=trim(get(1,21,MAXCOLS)) if copy=3 and x$<>"Run Totals:" then skip=1 if copy<3 and x$="Run Totals:" then skip=1 if copy=3 then doc_title$="Summary" merge "zMrg get watermark text" } [SO_InvPlain] # handles invoice, quote, credit memo dsn_sample "/u0/unform_test/_oem/osas/txt7/so_invc_plain-nocopy.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/so_invc_plain.txt" detect 0,2,"~(I N V O I C E)|(C R E D I T)|(Q U O T E)" # mje 062910 # NOTE the difference between sample text files, one has the OSAS # multi-copy format, and the "-nocopy" sample has the OSAS multi-copy # text removed. The one with OSAS multi-copy format will not print # a barcode page, because the logic is designed to disable the UnForm # multiple copies in this case. # set up document constants local MAXCOLS=120 # max cols to output local MAXRCOLS=119 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local CUSTOMER_COPY=1 local FILE_COPY=2 local MAX_COPIES=2 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "Invoice - plain" # view in pdf properties # more room at top cmove LEFTCOL,1,RIGHTCOL,MAXROWS,1,2 # default detail line local BROW=19 # 1 local EROW=MAXROWS cfont 2,BROW,45,EROW,DBLFONT # item # cfont 47,BROW,54,EROW,DFONT,black # o/s cfont 55,BROW,68,EROW,DBRFONT # qty cfont 70,BROW,76,EROW,DCFONT # units cfont 78,BROW,99,EROW,DBRFONT # price cfont 101,BROW,MAXRCOLS,EROW,DBRFONT # ext cbox LEFTCOL,19.5,MAXCOLS,48,MBOXSIZE,CROWS=20.5::DSHADE, ccols=46 54 69 77 100 local BROW=20 local EROW=20 cfont 2,BROW,45,EROW,ILFONT # item # cerase 47,BROW,68,EROW # mislabeling text 50.5,BROW,"O/S",ICFONT text 66.5, BROW,"Qtys", ICFONT # qtys #cfont 47,BROW,68,EROW,ICFONT # qtys cfont 70,BROW,76,EROW,ICFONT # units cfont 78,BROW,99,EROW,IRFONT # price cfont 101,BROW,MAXRCOLS,EROW,IRFONT # ext # header section cerase 1,1,MAXCOLS,8 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=9:MBOXSIZE merge "zMrg Form Header" # page block text 1,7,{trim(get(111,6,10))},HFONT,right,cols=MAXRCOLS # address region cbox LEFTCOL,9,MAXCOLS,16,MBOXSIZE,ccols=10::ISHADE 61 70::ISHADE cmove 11,10,18,10,2,10 cmove 20,9,60,15,11,9 cmove 71,10,78,10,62,10 cmove 81,9,MAXRCOLS,15,71.5,9 cerase 1,10,9,10 # mje 061510 ,ICFONT, cols=6 text 6,10,"Sold\nTo:",ICFONT cfont 11,10,60,15,DBFONT cerase 62,10,70,10 # mje 061510 ,ICFONT, cols=8 text 66,10,"Ship\nTo:",ICFONT cfont 71,8,MAXRCOLS,15,DBFONT text 1,12,{trim(get(20,7,10))},DBCFONT, cols=9 # subhead 1 cbox LEFTCOL,16,MAXCOLS,18.5,MBOXSIZE,crows=17.5::ISHADE, ccols=30 38 48 64 85 106 cfont 2,17,29,17,ICFONT,black cfont 31,17,37,17,ICFONT,black cfont 39,17,48,17,ICFONT,black cfont 50,17,63,17,ICFONT,black cfont 65,17,84,17,ICFONT,black cfont 86,17,105,17,ICFONT,black cfont 107,17,MAXCOLS,17,ICFONT cfont 2,18,29,18,DBCFONT,black cfont 31,18,37,18,DBCFONT,black cfont 39,18,48,18,DBCFONT,black cfont 39,19,84,19,DBCFONT,black cfont 50,18,63,18,DBCFONT,black cfont 65,18,84,18,DBCFONT,black cfont 86,18,105,18,DBCFONT,black cfont 107,18,MAXCOLS,18,DBCFONT,black # watermark - large font with light shading WATERMARK 1,47.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # message area cbox LEFTCOL,48,MAXCOLS,51.5,MBOXSIZE cfont 2,49,91,51,IFONT,black cfont 93,51,102,51,IFONT,black # shade lines shade "~[0-9][0-9][0-9]@11,22,13,46",-9.5,0,118.75,1,DSHADE # item descs font "~[0-9][0-9][0-9]@11,20,13,46",-9,1,44,1,DLFONT # totals cfont 1,52,24,52,IRFONT,black cfont 26,52,39,52,IRFONT,black cfont 41,52,54,52,IRFONT,black cfont 56,52,69,52,IRFONT,black cfont 71,52,84,52,IRFONT,black cfont 86,52,MAXRCOLS,52,IRFONT,black cfont 1,53,24,53,DBRFONT,black cfont 26,53,39,53,DBRFONT,black cfont 41,53,54,53,DBRFONT,black cfont 56,53,69,53,DBRFONT,black cfont 71,53,84,53,DBRFONT,black cfont 86,53,MAXRCOLS,53,DBRFONT,black text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS text 1,{MAXROWS+.5},{cont$},DBRFONT,cols=MAXRCOLS cerase 80,55,MAXCOLS,58 # ---------------------------------------------------------------------- prepage { # get invoice title doc_title$="INVOICE",reprint$="" # get title from body of invoice, if available. # Must handle credit memo text/quote. x$=trim(cut(70,2,50,"")) x=pos("REPRINT"=x$) if x then reprint$="REPRINT" x=pos("C R E D I T"=X$) if x then doc_title$="CREDIT MEMO" x=pos("Q U O T E"=X$) if x then doc_title$="QUOTE" } # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="invoice" prepage { noarchive=1 earc$="EARC_INVOICE",doing_recat=0 earca_formtype$="plain" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- # # mje 062810 disabled due to different order doc types # merge "8.0 zMrg PDFLinks v2" # prepage { # exec(fnCreateAnnotations$("~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ",39,17,48,17,0,"","","DBCFONT","EARC_ORDLINKLIB","EARC_ORDLINKDOCTY")) # } # --- SCANNING BARCODE -------------------------------------------------- prepage { bcod_docid$=get(107,17,8,"y") } precopy { # Add barcodes for scanning interface. bcod$="BCOD_INVOICE" # Y/N Switch from global section bcod_Copies$="2" # which copy(s) get barcode if lower(bcod$)="y" then: if pos(str(copy)=bcod_Copies$): bcod_docty$="SOINV" rows$=str(MAXROWS+7) cmd$="text 2,"+str(MAXROWS+1.5)+","+$22$+"Do not write below this line"+$22$+",cgtimes,10,italic" cmd$+=$0a$+"cbox LEFTCOL,"+str(MAXROWS+2)+",RIGHTCOL,"+str(MAXROWS+2) cmd$+=$0a$+"barcode "+str(inchtocols(.5))+","+str(MAXROWS+4)+","+$22$+bcod_docty$+$22$+",BCSYMB,18.0,6,text" cmd$+=$0a$+"barcode "+str(inchtocols(3.5))+","+str(MAXROWS+4)+","+$22$+bcod_DocID$+$22$+",BCSYMB,18.0,6,text" exec(cmd$) end if end if } # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_INVOICE" if lower(edel$)="y": eDocid$=get(107,17,8,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="Invoice" # Method 6: Address entity ID for lookup eAddrEnt$=get(21,7,6,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # remark this to ALWAYS print ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =107 # adjust as needed local XOFYM_ROW =17 # adjust as needed local XOFYM_NCOLS =8 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=14,logorows=6 dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then : copy_title$[CUSTOMER_COPY]="Customer Copy" endif if MAX_COPIES>=2 then : copy_title$[FILE_COPY]="File Copy" endif } prepage { if trim(get(70,1,80))<>"" then : pcopies=CUSTOMER_COPY copy_title$[CUSTOMER_COPY]=trim(get(70,1,80)) endif merge "z Mrg get watermark text" xcol=30,xrow=1 merge "zMrg get company info" amount_paid$=trim(get(80,55,20)) amt_paid$=trim(get(100,55,20)) net_due$=trim(get(80,57,20)) nt_due$=trim(get(100,57,20)) if amount_paid$="" then goto no_amount_paid amount_paid$=amount_paid$(1,len(amount_paid$)-1) # remove colon net_due$=net_due$(1,len(net_due$)-1) # remove colon x$="cbox 85,53,MAXCOLS,56,1,ccols=104::DSHADE,crows=54.5" exec(x$) x$="text 86,54,"+$22$+amount_paid$+$22$+",IFONT,11" exec(x$) x$="text 108,54,"+$22$+amt_paid$+$22$+",DBRFONT,11,cols=12" exec(x$) x$="text 86,55.5,"+$22$+net_due$+$22$+",IBFONT,11" exec(x$) x$="text 108,55.5,"+$22$+nt_due$+$22$+",DBRFONT,11,cols=12" exec(x$) no_amount_paid: # continued? cont$="",sub_line=47 for i=47 to MAXROWS x=pos("(continued"=text$[i]) if x then : cont$="Continued on next page ..." sub_line=55 x$=set(x,i,30,"") break endif next i if cont$="" then : exec("cbox LEFTCOL,51.5,MAXCOLS,53.5,MBOXSIZE,crows=52.5::ISHADE, ccols=25 40 55 70 85") endif if cont$<>"" then : exec("erase 1,52,MAXCOLS,53") endif } [SO_InvStd] dsn_sample "/u0/unform_test/_oem/osas/txt7/so_invc_std-nocopy.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/so_invc_std-test-nocopy.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/so_invc_std-test.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/so_invc_std.txt" detect 0,10,"~DATEMASK" detect 80,1,"Page" detect 98,1,"Page" # mje 062910 # NOTE the difference between sample text files, one has the OSAS # multi-copy format, and the "-nocopy" sample has the OSAS multi-copy # text removed. The one with OSAS multi-copy format will not print # a barcode page, because the logic is designed to disable the UnForm # multiple copies in this case. # set up document constants local MAXCOLS=93 # max cols to output local MAXRCOLS=92 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows page 51 local CUSTOMER_COPY=1 local REMITTANCE_COPY=2 local FILE_COPY=3 local MAX_COPIES=3 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "Invoice - std" # view in pdf properties cmove LEFTCOL,1,RIGHTCOL,MAXROWS,2,2 # default detail line #cmove 2,20,93,43,2,21 local BROW=1 local EROW=MAXROWS cfont 2,BROW,36,EROW,DBFONT # item # cfont 38,BROW,45,EROW,DFONT,black # o/s cfont 46,BROW,59,EROW,DBRFONT # qty cfont 61,BROW,65,EROW,DCFONT # units cfont 67,BROW,80,EROW,DBRFONT # price cfont 82,BROW,92,EROW,DBRFONT # ext cbox LEFTCOL,18.5,MAXCOLS,44,MBOXSIZE,CROWS=19.5::DSHADE, ccols=37 44 60 66 81 text 2,19,"Item/Description",ILFONT text 37,19,"O/S",ICFONT, cols=8 text 38,19,"Quantities",IRFONT,cols=22 text 61,19,"Units",ICFONT,cols=5 text 67,19,"Price",IRFONT,cols=14 text 82,19,"Amount",IRFONT,cols=11 # header section cerase 1,1,MAXCOLS,8 cerase 93,1,110,MAXROWS cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=9:MBOXSIZE merge "zMrg Form Header" # page block text 1,8,{pageno$},HRFONT,cols=MAXRCOLS # address region cbox LEFTCOL,9,MAXCOLS,15,ccols=7::ISHADE 44 50::ISHADE text 1,10,"Sold\nTo",ICFONT, cols=7 text 2,12,{custno$},DBFONT, cols=6 text 44,10,"Ship\nTo",ICFONT, cols=7 cfont 8,8,43,14,DBLFONT cmove 52,8,MAXRCOLS,14,51,8 cfont 51,8,MAXRCOLS,14,DBFONT # subhead 1 cbox LEFTCOL,15,MAXCOLS,17.5,MBOXSIZE,crows=16.5::ISHADE,ccols=12 19 34 45 67 83 cbox LEFTCOL,17.5,MAXCOLS,18.5,MBOXSIZE,ccols=19 67 text 1,16,"Date",ICFONT,cols=11 text 13,16,"Rep ID",ICFONT, cols=5.5 text 20,16,"Order No",ICFONT, cols=14 text 35,16,"Ord Date",ICFONT,cols=10 text 46,16,"Ship Via",ICFONT, cols=20 text 68,16,"Terms",ICFONT, cols=15 text 84,16,"Invoice No",ICFONT, cols=9 cfont 1,17,11,17,DBCFONT cfont 13,17,18,17,DBCFONT cfont 20,17,33,17,DBCFONT cfont 20,18,66,18,DBCFONT cfont 35,17,44,17,DBCFONT cfont 46,17,66,17,DBCFONT cfont 68,17,82,17,DBCFONT cfont 84,17,92,17,DBCFONT # watermark - large font with light shading WATERMARK 1,43.25,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # shade lines shade "~[0-9][0-9][0-9]@2,22,4,39",-.5,0,92,1,DSHADE #item descs font "~[0-9][0-9][0-9]@2,20,4,39",0,1,35,1,DLFONT # message area cbox LEFTCOL,44,MAXCOLS,47,MBOXSIZE cfont 1,45,MAXCOLS,45,IFONT,black cfont 1,46,66,46,IFONT,black cfont 68,46,78,46,IFONT cfont 79,46,91,46,IRFONT,black # totals cfont 1,49,13,49,DBRFONT cfont 15,49,26,49,DBRFONT cfont 28,49,39,49,DBRFONT cfont 41,49,51,49,DBRFONT,black cfont 53,49,63,49,DBRFONT cfont 65,49,92,49,DBRFONT,black text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS text 1,{MAXROWS+.5},{cont$},DBRFONT,cols=MAXRCOLS # ---------------------------------------------------------------------- prepage { # get invoice title # mje 061610 fixed title logic compared w/previous doc_title$="INVOICE" title$=trim(get(50,2,40)) if title$="" then doc_title$="INVOICE" x$=doc_title$ x$=sub(x$,"<",""); x$=sub(x$,">",""); x$=sub(x$," ","~ "); x$=sub(x$," ",""); x$=sub(x$,"~"," ") if x$>"" then doc_title$=x$ } # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="invoice" prepage { noarchive=1 earc$="EARC_INVOICE",doing_recat=0 earca_formtype$="std" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- # mje 060210 disabling re row down shift after prepage not handled ## #moving these below archiving section re globals # merge "8.0 zMrg PDFLinks v2" # prepage { # exec(fnCreateAnnotations$("~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ",20,16,29,16,0,"","","DBCFONT","EARC_ORDLINKLIB","EARC_ORDLINKDOCTY")) # } # --- SCANNING BARCODE -------------------------------------------------- prepage { bcod_docid$=get(84,10,8,"y") } precopy { # Add barcodes for scanning interface. bcod$="BCOD_INVOICE" # Y/N Switch from global section bcod_Copies$="3" # which copy(s) get barcode if lower(bcod$)="y" then: if pos(str(copy)=bcod_Copies$): bcod_docty$="SOINV" rows$=str(MAXROWS+7) cmd$="text 2,"+str(MAXROWS+1.5)+","+$22$+"Do not write below this line"+$22$+",cgtimes,10,italic" cmd$+=$0a$+"cbox LEFTCOL,"+str(MAXROWS+2)+",RIGHTCOL,"+str(MAXROWS+2) cmd$+=$0a$+"barcode "+str(inchtocols(.5))+","+str(MAXROWS+4)+","+$22$+bcod_docty$+$22$+",BCSYMB,18.0,6,text" cmd$+=$0a$+"barcode "+str(inchtocols(3.5))+","+str(MAXROWS+4)+","+$22$+bcod_DocID$+$22$+",BCSYMB,18.0,6,text" exec(cmd$) end if end if } # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_INVOICE" if lower(edel$)="y": eDocid$=get(84,10,8,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="Invoice" # Method 6: Address entity ID for lookup eAddrEnt$=get(8,2,10,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # remark this to ALWAYS print ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =84 # adjust as needed local XOFYM_ROW =10 # adjust as needed local XOFYM_NCOLS =8 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=14,logorows=6 dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then : copy_title$[CUSTOMER_COPY]="Customer Copy" endif if MAX_COPIES>=2 then : copy_title$[REMITTANCE_COPY]="Remittance Copy" endif if MAX_COPIES>=3 then : copy_title$[FILE_COPY]="File Copy" endif } prepage { if trim(get(50,1,27))<>"" then : pcopies=CUSTOMER_COPY copy_title$[CUSTOMER_COPY]=trim(get(50,1,27)) endif # mje 061610 title logic was here, moved up pageno$=trim(get(80,1,10)) custno$=trim(get(8,2,10)) # x$ merge "zMrg get watermark text" xcol=0,xrow=0 merge "zMrg get company info" # now move down to allow space for logo, etc. for i=MAXROWS to 9 step -1 text$[i]=text$[i-6] text$[i-6]="" next i remit$="Remittance Copy - Please return with payment" # continued? cont$="",sub_line=30 for i=30 to MAXROWS x=pos("(continued"=text$[i]) if x then : cont$="Continued on next page ..." sub_line=55 x$=set(x,i,30,"") break endif next i if cont$="" then : exec("cbox LEFTCOL,47,MAXCOLS,50,1,crows=48.5::ISHADE, ccols=14 27 40 52 64") endif if cont$="" then exec("text 1,48,""Non-Taxable"",IRFONT,cols=13") if cont$="" then exec("text 15,48,""Taxable"",IRFONT,cols=12") if cont$="" then exec("text 28,48,""Sales Tax"",IRFONT,cols=12") if cont$="" then exec("text 41,48,""Freight"",IRFONT,cols=11") if cont$="" then exec("text 53,48,""Misc"",IRFONT,cols=11") if cont$="" then exec("text 65,48,""Invoice Total"",IBRFONT,cols=27") } [SO_PickPackListLaser] dsn_sample "/u0/unform_test/_oem/osas/txt7/so_pick_laser-nocopy.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/so_pack_laser-nocopy.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/so_pick_laser.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/so_pack_laser.txt" detect 62,4,"~ DATEMASK " detect 6,9,"~ [A-Z0-9a-z*]+" detect 6,10,"~ [A-Z0-9a-z]+" # set up document constants local MAXCOLS=80 # max cols to output local MAXRCOLS=79 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local WHSE_COPY=1 local MAX_COPIES=1 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "Pick/Pack List - laser" # view in pdf properties # default detail line local BROW=1 local EROW=MAXROWS cfont 2,BROW,4,EROW,DCFONT # line # cfont 6,BROW,25,EROW,DBFONT # item # cfont 27,BROW,31,EROW,DCFONT # uom cfont 33,BROW,38,EROW,DCFONT # bin cfont 40,BROW,52,EROW,DBRFONT # qty ord cfont 54,BROW,66,EROW,DBRFONT # qty ship cfont 68,BROW,MAXRCOLS,EROW,DBRFONT # qty b/o # header section cerase 1,1,MAXCOLS,9 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=9:MBOXSIZE merge "zMrg Form Header" # right header cbox 60,3,RIGHTCOL,7,1,ccols=70::ISHADE,crows=4 5 6 7 text 61,3.5,"Order #",IFONT,cols=9 text 61,4.5,"Order Date",IFONT,cols=9 text 61,5.5,"Batch #",IFONT,cols=9 text 61,6.5,"Page",IFONT,cols=9 text 71,3.5,{trim(cut(51,4,8,""))},DBFONT,cols=9 text 71,4.5,{trim(cut(63,4,8,""))},DBFONT,cols=9 text 71,5.5,{trim(cut(40,4,6,""))},DBFONT,cols=9 text 71,6.5,{trim(cut(74,4,2,""))},DBFONT,cols=9 cbox 60,7,MAXCOLS,9,1,crows=8::ISHADE text 61,7.5,"Customer PO #",ICFONT,cols=19 text 61,8.5,{trim(cut(51,7,25,""))},DBFONT # ship to section cbox LEFTCOL,9,MAXCOLS,19,MBOXSIZE,ccols=7::ISHADE 41 47::ISHADE text 2,10,"Ship",ICFONT,cols=5 text 2,11,"To:",ICFONT,cols=5 cfont 7,10,40,17,DBFONT,black text 2,12,{shipto$},DBCFONT, cols=5 cmove 7,10,40,17,11,10 # sold to section text 42,10,"Sold",ICFONT,cols=5 text 42,11,"To:",ICFONT,cols=5 cfont 47,10,MAXRCOLS,17,DBFONT text 42,12,{soldto$},DBCFONT,cols=5 cmove 47,10,MAXRCOLS,17,51,10 # ribbon section cbox LEFTCOL,19,RIGHTCOL,22,MBOXSIZE,crows=20.5::ISHADE, ccols=7 13 21 44 58 69 text 2,20,"Slsp 1",ICFONT,cols=5 text 8,20,"Slsp 2",ICFONT,cols=5 text 14,20,"Location",ICFONT,cols=7 text 22,20,"Ship Via",ICFONT,cols=22 text 45,20,"Pack List #",ICFONT,cols=13 text 59,20,"Rqstd Ship Date",ICFONT,cols=10 text 70,20,"Actual Ship Date",ICFONT,cols=10 cfont 2,21,6,21,DBCFONT cfont 8,21,12,21,DBCFONT,black cfont 14,21,20,21,DBCFONT cfont 22,21,43,21,DBCFONT cfont 45,21,57,21,DBCFONT cfont 59,21,68,21,DBCFONT cfont 70,21,MAXRCOLS,21,DBCFONT # detail cbox LEFTCOL,22,RIGHTCOL,62,MBOXSIZE, crows=23.5::DSHADE,ccols=5 32 39 53 67 text 2,23,"Line",ICFONT,cols=3 text 6,23,"Item ID",IFONT,cols=21 text 27,23,"U/M",ICFONT,cols=5 text 33,23,"Bin",ICFONT,cols=6 text 40,23,"Ordered",IRFONT,cols=13 text 54,23,"Shipped",IRFONT,cols=13 text 68,23,"Back Ordered",IRFONT,cols=12 #shade lines shade "~[0-9][0-9][0-9]@2,24,4,57",-.5,0,79,1,DSHADE # handle memo lines font " @2,24,4,61",4,0,40,1,DFONT,black # memo lines # watermark - large font with light shading WATERMARK 1,61.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # footer text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS text 1,{MAXROWS+.5},{cont$},DBRFONT,cols=MAXRCOLS cfont 2,63,MAXCOLS,65,IFONT # memo lines # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="pickpack" prepage { noarchive=1 earc$="EARC_PICKPACK",doing_recat=0 earca_formtype$="pickpacklaser" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- # merge "8.0 zMrg PDFLinks v2" # prepage { # exec(fnCreateAnnotations$("~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ",37,22,46,22,0,"","","DBCFONT","EARC_ORDLINKLIB","EARC_ORDLINKDOCTY")) # } # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =51 # adjust as needed local XOFYM_ROW =4 # adjust as needed local XOFYM_NCOLS =8 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- SCANNING BARCODE -------------------------------------------------- prepage { bcod_docid$=get(51,4,8,"y") if doc_title$="PICKING SLIP" bcod_docTy$="PSL" if doc_title$="PACKING LIST" bcod_docTy$="PAL" } precopy { # Add barcodes for scanning interface. bcod$="BCOD_PICKPACK" # Y/N Switch from global section bcod_Copies$="1" # which copy(s) get barcode if lower(bcod$)="y" then: if pos(str(copy)=bcod_Copies$): # see prepage above, bcod_docTy$="PL" rows$=str(MAXROWS+7) cmd$="text 2,"+str(MAXROWS+1.5)+","+$22$+"Do not write below this line"+$22$+",cgtimes,10,italic" cmd$+=$0a$+"cbox LEFTCOL,"+str(MAXROWS+2)+",RIGHTCOL,"+str(MAXROWS+2) cmd$+=$0a$+"barcode "+str(inchtocols(.5))+","+str(MAXROWS+4)+","+$22$+bcod_docTy$+$22$+",BCSYMB,18.0,6,text" cmd$+=$0a$+"barcode "+str(inchtocols(3.5))+","+str(MAXROWS+4)+","+$22$+bcod_DocID$+$22$+",BCSYMB,18.0,6,text" exec(cmd$) end if end if } # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_PICKPACK" if lower(edel$)="y": eDocid$=get(51,4,8,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="Pick List" # Method 6: Address entity ID for lookup eAddrEnt$=get(7,9,10,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # remark this to ALWAYS print ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=12,logorows=6 # pick list qty fields are shifted right 1 character more than pack pick=0 for i=24 to 61 if trim(get(52,i,1))<>"" then pick=1;break next i if pick then doc_title$="PICKING SLIP" else doc_title$="PACKING LIST" merge "zMrg get watermark text" # set up copy titles dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then : if pick then : copy_title$[WHSE_COPY]="Warehouse Copy" else copy_title$[WHSE_COPY]="Customer Copy" endif endif # determine if picking list or packing list } prepage { if trim(get(1,7,50))<>"" then : pcopies=WHSE_COPY copy_title$[WHSE_COPY]=trim(get(1,7,80)) endif xcol=0,xrow=0 merge "zMrg get company info" shipto$="" soldto$="" if trim(get(7,9,10))<>"" then : shipto$=trim(get(7,9,10)) endif if trim(get(47,9,10))<>"" then : soldto$=trim(get(47,9,10)) endif # continued? cont$="",sub_line=52 for i=52 to MAXROWS x=pos("(continued"=text$[i]) if x then : cont$="Continued on next page ..." sub_line=55 x$=set(x,i,30,"") break endif next i } [SO_PickPackList8.5x11] dsn_sample "/u0/unform_test/_oem/osas/txt7/so_pick_8.5x11-nocopy.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/so_pack_8.5x11-nocopy.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/so_pick_8.5x11.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/so_pack_8.5x11.txt" detect 0,4,"~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] " detect 0,4,"~ DATEMASK " detect 5,9,"~ [A-Z0-9a-z*]+" detect 5,10,"~ [A-Z0-9a-z]+" # set up document constants local MAXCOLS=80 # max cols to output local MAXRCOLS=79 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local WHSE_COPY=1 local MAX_COPIES=1 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "Pick/Pack List - 8.5 x 11" # view in pdf properties cmove LEFTCOL,1,MAXCOLS,MAXROWS,2,1 # default detail line local BROW=1 local EROW=MAXROWS cfont 2,BROW,4,EROW,DCFONT # line# cfont 6,BROW,25,EROW,DBFONT # item # cfont 27,BROW,31,EROW,DCFONT # uom cfont 33,BROW,38,EROW,DCFONT # bin cfont 40,BROW,52,EROW,DBRFONT # qty ord cfont 54,BROW,66,EROW,DBRFONT # qty ship cfont 68,BROW,MAXRCOLS,EROW,DBRFONT # qty b/o # header section cerase 1,1,MAXCOLS,9 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=9:MBOXSIZE merge "zMrg Form Header" # right header cbox 60,3,RIGHTCOL,7,1,ccols=70::ISHADE,crows=4 5 6 7 text 61,3.5,"Order #",IFONT,cols=9 text 61,4.5,"Order Date",IFONT,cols=9 text 61,5.5,"Batch #",IFONT,cols=9 text 61,6.5,"Page",IFONT,cols=9 # mje 060310 chg cut to get re archive timing text 71,3.5,{trim(get(51,4,8))},DBFONT,cols=9 text 71,4.5,{trim(get(63,4,8))},DBFONT,cols=9 text 71,5.5,{trim(get(40,4,6))},DBFONT,cols=9 text 71,6.5,{trim(cut(74,4,2,""))},DBFONT,cols=9 cbox 60,7,MAXCOLS,9,1,crows=8::ISHADE text 61,7.5,"Customer PO #",ICFONT,cols=19 text 61,8.5,{trim(get(51,7,25))},DBFONT # ship to section cbox LEFTCOL,9,MAXCOLS,19,MBOXSIZE,ccols=6::ISHADE 41 46::ISHADE text 2,10,"Ship",ICFONT,cols=4 text 2,11,"To",ICFONT,cols=4 cfont 7,10,40,17,DBFONT,black text 1,12,{shipto$},DBCFONT,cols=6 # sold to section text 42,10,"Sold",ICFONT,cols=4 text 42,11,"To",ICFONT,cols=4 cfont 47,10,MAXRCOLS,17,DBFONT text 41,12,{soldto$},DBCFONT,cols=6 # zip bar #barcode 41,16,{shipzip$},900,12.0,2 # ribbon section cbox LEFTCOL,19,RIGHTCOL,22,MBOXSIZE,crows=20.5::ISHADE, ccols=7 13 21 44 58 69 text 2,20,"Slsp 1",ICFONT,cols=5 text 8,20,"Slsp 2",ICFONT,cols=5 text 14,20,"Location",ICFONT,cols=7 text 22,20,"Ship Via",ICFONT,cols=22 text 45,20,"Pack List #",ICFONT,cols=13 text 59,20,"Rqstd Ship Date",ICFONT,cols=10 text 70,20,"Actual Ship Date",ICFONT,cols=10 cfont 2,21,6,21,DBCFONT cfont 8,21,12,21,DBCFONT,black cfont 14,21,20,21,DBCFONT cfont 22,21,43,21,DBCFONT cfont 45,21,57,21,DBCFONT cfont 59,21,68,21,DBCFONT cfont 70,21,MAXRCOLS,21,DBCFONT # detail cbox LEFTCOL,22,RIGHTCOL,62,MBOXSIZE, crows=23.5::DSHADE,ccols=5 32 39 53 67 text 2,23,"Line",ICFONT,cols=3 text 6,23,"Item ID",IFONT,cols=21 text 27,23,"U/M",ICFONT,cols=5 text 33,23,"Bin",ICFONT,cols=6 text 40,23,"Ordered",IRFONT,cols=13 text 54,23,"Shipped",IRFONT,cols=13 text 68,23,"Back Ordered",IRFONT,cols=12 # handle memo lines font " @2,24,4,61",4,0,40,1,DFONT,black # memo lines # move for shading cmove 1,24,MAXCOLS,60,1,25 # shade lines shade "~[0-9][0-9][0-9]@2,24,4,61",-.5,0,79,1,DSHADE # watermark - large font with light shading WATERMARK 1,61.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # footer text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS text 1,{MAXROWS+.5},{cont$},DBRFONT,cols=MAXRCOLS cfont 2,63,MAXCOLS,65,IFONT # memo lines # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="pickpack" prepage { noarchive=1 earc$="EARC_PICKPACK",doing_recat=0 earca_formtype$="pickpack8.5x11" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- # merge "8.0 zMrg PDFLinks v2" # prepage { # exec(fnCreateAnnotations$("~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ",37,22,46,22,0,"","","DBCFONT","EARC_ORDLINKLIB","EARC_ORDLINKDOCTY")) # } # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =51 # adjust as needed local XOFYM_ROW =4 # adjust as needed local XOFYM_NCOLS =8 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- SCANNING BARCODE -------------------------------------------------- prepage { bcod_docid$=get(51,4,8,"y") if doc_title$="PICKING SLIP" bcod_docTy$="PSL" if doc_title$="PACKING LIST" bcod_docTy$="PAL" } precopy { # Add barcodes for scanning interface. bcod$="BCOD_PICKPACK" # Y/N Switch from global section bcod_Copies$="1" # which copy(s) get barcode if lower(bcod$)="y" then: if pos(str(copy)=bcod_Copies$): # see prepage, bcod_docTy$="PL" rows$=str(MAXROWS+7) cmd$="text 2,"+str(MAXROWS+1.5)+","+$22$+"Do not write below this line"+$22$+",cgtimes,10,italic" cmd$+=$0a$+"cbox LEFTCOL,"+str(MAXROWS+2)+",RIGHTCOL,"+str(MAXROWS+2) cmd$+=$0a$+"barcode "+str(inchtocols(.5))+","+str(MAXROWS+4)+","+$22$+bcod_docTy$+$22$+",BCSYMB,18.0,6,text" cmd$+=$0a$+"barcode "+str(inchtocols(3.5))+","+str(MAXROWS+4)+","+$22$+bcod_DocID$+$22$+",BCSYMB,18.0,6,text" exec(cmd$) end if end if } # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_PICKPACK" if lower(edel$)="y": eDocid$=get(51,4,8,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="Pick List" # Method 6: Address entity ID for lookup eAddrEnt$=get(6,9,10,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # remark this to ALWAYS print ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=12,logorows=6 # pick list qty fields are shifted right 1 character more than pack pick=0 for i=24 to 61 if trim(get(51,i,1))<>"" then pick=1;break next i if pick then : doc_title$="PICKING SLIP" else doc_title$="PACKING LIST" endif merge "zMrg get watermark text" # set up copy titles dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then : if pick then : copy_title$[WHSE_COPY]="Warehouse Copy" else copy_title$[WHSE_COPY]="Customer Copy" endif endif # determine if picking list or packing list } prepage { if trim(get(1,7,80))<>"" then : pcopies=WHSE_COPY copy_title$[WHSE_COPY]=trim(get(1,7,80)) endif xcol=0,xrow=0 merge "zMrg get company info" shipto$="" soldto$="" if trim(get(6,9,10))<>"" then : shipto$=trim(get(6,9,10)) endif if trim(get(46,9,10))<>"" then : soldto$=trim(get(46,9,10)) endif # continued? cont$="",sub_line=52 for i=52 to MAXROWS x=pos("(continued"=text$[i]) if x then : cont$="Continued on next page ..." sub_line=55 x$=set(x,i,30,"") break endif next i # add zip barcode xrow=13;xcols=40 #merge "zmrg get zip" } [SO_PackListPlain] dsn_sample "/u0/unform_test/_oem/osas/osas7/uf8/osas-txt/formplain/so_pack_plain-nocopy.txt" dsn_sample "/u0/unform_test/_oem/osas/osas7/uf8/osas-txt/formplain/so_pack_plain.txt" detect 0,1,"P A C K I N G L I S T" # set up document constants local MAXCOLS=125 # max cols to output local MAXRCOLS=124 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local CUSTOMER_COPY=1 local MAX_COPIES=1 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "Pack List - plain" # view in pdf properties cmove LEFTCOL,1,MAXCOLS,MAXROWS,1,4 cerase 127,1,131,MAXROWS # mje 062910, why needed if maxcols is 125? # default detail line cbox LEFTCOL,21.5,RIGHTCOL,64,MBOXSIZE,crows=22.5::DSHADE,ccols=14 65 72 88 107 local BROW=1 local EROW=MAXROWS cfont 7,BROW,13,EROW,DBLFONT # line # cfont 15,BROW,53,EROW,DFONT # item #/desc cfont 55,BROW,64,EROW,DBCFONT # bin cfont 66,BROW,71,EROW,DCFONT # units cfont 73,BROW,87,EROW,DBRFONT # qty ord cfont 89,BROW,106,EROW,DBRFONT # qty ship cfont 108,BROW,MAXRCOLS,EROW,DBRFONT # qty b/o local BROW=22 local EROW=22 cfont 7,BROW,13,EROW,ILFONT # line # cfont 15,BROW,53,EROW,IFONT # item #/desc cfont 55,BROW,64,EROW,ICFONT # bin cfont 66,BROW,71,EROW,ICFONT # units cfont 73,BROW,87,EROW,IRFONT # qty ord cfont 89,BROW,106,EROW,IRFONT # qty ship cfont 108,BROW,MAXRCOLS,EROW,IRFONT # qty b/o # header section cerase 1,1,MAXCOLS,7 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=9.5:MBOXSIZE merge "zMrg Form Header" # right header cbox 100,5.5,RIGHTCOL,7.5,1,ccols=115::ISHADE,crows=6.5 text 101,6,"Batch No.",IFONT text 116,6,{trim(cut(83,4,6,""))},DBFONT text 101,7,"Picking Slip #",IFONT text 116,7,{trim(cut(107,5,15,""))},DBFONT # ribbon section cbox LEFTCOL,9.5,RIGHTCOL,12.5,MBOXSIZE,crows=10.5::ISHADE, ccols= 22 34 44 55 72 115 cbox 92,9.5,115,11.5 cfont 8,10,20,10,ILFONT cfont 22,10,33,10,ICFONT cfont 35,10,43,10,ICFONT cfont 45,10,54,10,ICFONT cfont 56,10,71,10,ICFONT cfont 73,10,90,10,ICFONT cfont 92,10,113,10,ICFONT cfont 115,10,MAXCOLS,10,ICFONT cfont 8,11,20,11,DBLFONT,black cfont 22,11,33,11,DBCFONT,black cfont 35,11,43,11,DBCFONT,black cfont 45,11,54,11,DBCFONT,black cfont 56,11,71,11,DBCFONT,black cfont 73,11,90,11,DBCFONT,black cfont 73,12,113,12,DBFONT,black cfont 92,11,113,11,DBCFONT,black cfont 115,11,MAXCOLS,11,DBCFONT,black #remove ship to and sold to cerase 16,15,24,15 cerase 57,15,65,15 # ship to section cbox LEFTCOL,12.5,MAXCOLS,21.5,MBOXSIZE,ccols=10::ISHADE 57 66::ISHADE text 2,13,"Ship\nTo:",ICFONT,cols=8 text 11,13,{mcut(26,12,30,4,"","Y","Y")},DBFONT text 3,15,{shipto$},DBFONT #shade lines shade "~[0-9][0-9][0-9]@11,23,13,60",-9.5,0,124,1,DSHADE #item descriptions font "~[0-9][0-9][0-9]@11,23,13,60",4,0,10,1,DBLFONT # sold to section text 58,13,"Sold\nTo:",ICFONT,cols=8 text 67,13,{mcut(67,12,30,4,"","Y","Y")},DBFONT text 58.5,15,{soldto$},DBFONT # watermark - large font with light shading WATERMARK 1,63.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # footer text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS text 1,{MAXROWS+.5},{cont$},DBRFONT,cols=MAXRCOLS cfont 2,63,MAXCOLS,65,IFONT # memo lines # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="pickpack" prepage { noarchive=1 earc$="EARC_PICKPACK",doing_recat=0 earca_formtype$="packplain" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- # merge "8.0 zMrg PDFLinks v2" # prepage { # exec(fnCreateAnnotations$("~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ",37,22,46,22,0,"","","DBCFONT","EARC_ORDLINKLIB","EARC_ORDLINKDOCTY")) # } # --- SCANNING BARCODE -------------------------------------------------- prepage { bcod_docid$=get(11,8,8,"y") # targDoctys$="Picking List,Packing List,Picking Slip" } precopy { # Add barcodes for scanning interface. bcod$="BCOD_PICKPACK" # Y/N Switch from global section bcod_Copies$="1" # which copy(s) get barcode if lower(bcod$)="y" then: if pos(str(copy)=bcod_Copies$): bcod_docTy$="PAL" rows$=str(MAXROWS+7) cmd$="text 2,"+str(MAXROWS+1.5)+","+$22$+"Do not write below this line"+$22$+",cgtimes,10,italic" cmd$+=$0a$+"cbox LEFTCOL,"+str(MAXROWS+2)+",RIGHTCOL,"+str(MAXROWS+2) cmd$+=$0a$+"barcode "+str(inchtocols(.5))+","+str(MAXROWS+4)+","+$22$+bcod_docTy$+$22$+",BCSYMB,18.0,6,text" cmd$+=$0a$+"barcode "+str(inchtocols(3.5))+","+str(MAXROWS+4)+","+$22$+bcod_DocID$+$22$+",BCSYMB,18.0,6,text" exec(cmd$) end if end if } # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_PICKPACK" if lower(edel$)="y": eDocid$=get(11,8,8,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="Pack List" # Method 6: Address entity ID for lookup eAddrEnt$=get(67,11,10,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # remark this to ALWAYS print ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =11 # adjust as needed local XOFYM_ROW =8 # adjust as needed local XOFYM_NCOLS =8 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=14,logorows=6 doc_title$="PACKING LIST" merge "zMrg get watermark text" # set up copy titles dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then copy_title$[CUSTOMER_COPY]="Customer Copy" } prepage { if trim(get(80,2,80))<>"" then : pcopies=CUSTOMER_COPY copy_title$[CUSTOMER_COPY]=trim(get(80,2,80)) endif xcol=31,xrow=2 merge "zMrg get company info" shipto$="" soldto$="" if trim(get(26,11,10))<>"" then : shipto$=trim(cut(26,11,10,"")) endif if trim(get(67,11,10))<>"" then : soldto$=trim(cut(67,11,10,"")) endif # continued? nextpageno$="" cont$="" nextpageno$=get(119,8,1,1,pagenum+1) if nextpageno$<>"1" then : cont$="Continued on Next Page..." if nextpageno$="" then : cont$="" endif endif } [SO_PickSlipPlain] dsn_sample "/u0/unform_test/_oem/osas/osas7/uf8/osas-txt/formplain/so_pick_plain.txt" dsn_sample "/u0/unform_test/_oem/osas/osas7/uf8/osas-txt/formplain/so_pick_plain-nocopy.txt" detect 0,1,"P I C K I N G S L I P" # set up document constants local MAXCOLS=125 # max cols to output local MAXRCOLS=124 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local WHSE_COPY=1 local MAX_COPIES=1 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "Pick Slip - plain" # view in pdf properties cmove LEFTCOL,1,MAXCOLS,MAXROWS,1,3 # default detail line cbox LEFTCOL,21,RIGHTCOL,64,MBOXSIZE,crows=23::DSHADE,ccols=14 54 65 72 88 107 local BROW=21 local EROW=59 cfont 2,BROW,13,EROW,DCFONT # line # cfont 15,BROW,53,EROW,DFONT # item #/desc cfont 55,BROW,64,EROW,DCFONT # bin cfont 66,BROW,71,EROW,DCFONT # units cfont 73,BROW,87,EROW,DBRFONT # qty ord cfont 89,BROW,106,EROW,DBRFONT # qty ship cfont 108,BROW,MAXRCOLS,EROW,DBRFONT # qty b/o local BROW=22 local EROW=22 cfont 2,BROW,13,EROW,ICFONT # line # cfont 15,BROW,53,EROW,IFONT # item #/desc cfont 55,BROW,64,EROW,ICFONT # bin cfont 66,BROW,71,EROW,ICFONT # units cfont 73,BROW,87,EROW,IRFONT # qty ord cfont 89,BROW,106,EROW,IRFONT # qty ship cfont 108,BROW,MAXRCOLS,EROW,IRFONT # qty b/o # header section cerase 1,1,MAXCOLS,8 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=9:MBOXSIZE merge "zMrg Form Header" # right header cbox 100,5.5,RIGHTCOL,7.5,1,ccols=115::ISHADE,crows=6.5 text 101,6,"Batch No.",IFONT text 116,6,{trim(cut(83,5,6,""))},DBFONT text 101,7,"Picking Slip #",IFONT text 116,7,{trim(cut(107,6,15,""))},DBFONT # ribbon section cbox LEFTCOL,9,RIGHTCOL,12.5,MBOXSIZE,crows=10.5::ISHADE, ccols= 19 34 44 55 72 115 cbox 91,9,115,11.5 cfont 2,10,18,10,ICFONT cfont 20,10,33,10,ICFONT cfont 35,10,43,10,ICFONT cfont 45,10,54,10,ICFONT cfont 56,10,71,10,ICFONT cfont 73,10,90,10,ICFONT cfont 92,10,113,10,ICFONT cfont 115,10,MAXCOLS,10,ICFONT cfont 2,11,18,11,DBCFONT,black cfont 20,11,33,11,DBCFONT,black cfont 35,11,43,11,DBCFONT,black cfont 45,11,54,11,DBCFONT,black cfont 56,11,71,11,DBCFONT,black cfont 73,11,90,11,DBCFONT,black cfont 73,12,113,12,DBFONT,black cfont 92,11,113,11,DBCFONT,black cfont 115,11,MAXCOLS,11,DBCFONT,black # ship to section cbox LEFTCOL,12.5,MAXCOLS,21,MBOXSIZE,ccols=10::ISHADE 57 66::ISHADE text 2,14,{trim(cut(17,13,8,""))},ICFONT,cols=8 text 11,14,{mcut(26,13,30,5,"","Y","Y")},DBFONT text 2,15,{shipto$},DBFONT # sold to section text 58,14,{trim(cut(58,13,8,""))},ICFONT,cols=8 text 67,14,{mcut(67,13,30,5,"","Y","Y")},DBFONT text 58,15,{soldto$},DBFONT # zip bar #barcode 41,16,{shipzip$},900,12.0,2 # shade lines shade "~[0-9][0-9][0-9]@11,24,13,59",-9.5,0,124,1,DSHADE # bold item numbers font "~[0-9][0-9][0-9]@11,24,13,59",3,0,35,1,DBFONT # watermark - large font with light shading WATERMARK 1,63.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # footer text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS text 1,{MAXROWS+.5},{cont$},DBRFONT,cols=MAXRCOLS cfont 2,63,MAXCOLS,65,IFONT # memo lines # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="pickpack" prepage { noarchive=1 earc$="EARC_PICKPACK",doing_recat=0 earca_formtype$="pickplain" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- # merge "8.0 zMrg PDFLinks v2" # prepage { # exec(fnCreateAnnotations$("~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ",37,22,46,22,0,"","","DBCFONT","EARC_ORDLINKLIB","EARC_ORDLINKDOCTY")) # } # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =11 # adjust as needed local XOFYM_ROW =9 # adjust as needed local XOFYM_NCOLS =8 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- SCANNING BARCODE -------------------------------------------------- prepage { bcod_docid$=get(11,9,8,"y") } precopy { # Add barcodes for scanning interface. bcod$="BCOD_PICKPACK" # Y/N Switch from global section bcod_Copies$="1" # which copy(s) get barcode if lower(bcod$)="y" then: if pos(str(copy)=bcod_Copies$): bcod_docTy$="PSL" rows$=str(MAXROWS+7) cmd$="text 2,"+str(MAXROWS+1.5)+","+$22$+"Do not write below this line"+$22$+",cgtimes,10,italic" cmd$+=$0a$+"cbox LEFTCOL,"+str(MAXROWS+2)+",RIGHTCOL,"+str(MAXROWS+2) cmd$+=$0a$+"barcode "+str(inchtocols(.5))+","+str(MAXROWS+4)+","+$22$+bcod_docTy$+$22$+",BCSYMB,18.0,6,text" cmd$+=$0a$+"barcode "+str(inchtocols(3.5))+","+str(MAXROWS+4)+","+$22$+bcod_DocID$+$22$+",BCSYMB,18.0,6,text" exec(cmd$) end if end if } # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_PICKPACK" if lower(edel$)="y": eDocid$=get(11,9,8,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="Pick List" # Method 6: Address entity ID for lookup eAddrEnt$=get(67,12,10,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # remark this to ALWAYS print ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=14,logorows=6 doc_title$="PICKING SLIP" merge "zMrg get watermark text" # set up copy titles dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then : copy_title$[WHSE_COPY]="Warehouse Copy" endif } prepage { if trim(get(70,2,60))<>"" then : pcopies=WHSE_COPY copy_title$[WHSE_COPY]=trim(get(70,2,60)) endif xcol=31,xrow=2 merge "zMrg get company info" shipto$="" soldto$="" if trim(get(26,12,10))<>"" then : shipto$=trim(cut(26,12,10,"")) endif if trim(get(67,12,10))<>"" then : soldto$=trim(cut(67,12,10,"")) endif # continued? cont$="",sub_line=52 for i=52 to MAXROWS x=pos("(continued"=text$[i]) if x then : cont$="Continued on next page ..." sub_line=55 x$=set(x,i,30,"") break endif next i # add zip barcode xrow=13;xcols=40 #merge "zmrg get zip" } [SO_PickListStd] dsn_sample "/u0/unform_test/_oem/osas/txt7/so_pick_std-nocopy.txt" dsn_sample "/u0/unform_test/_oem/osas/txt7/so_pick_std.txt" detect 0,1,"Batch" detect 0,5,"~[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] " detect 0,5,"~ DATEMASK " detect 56,9,"~ [A-Z0-9a-z*]+" detect 56,10,"~ [A-Z0-9a-z]+" # set up document constants local MAXCOLS=107 # max cols to output local MAXRCOLS=106 # MAXCOLS-1 local LEFTCOL=1 # left vertical line local RIGHTCOL=MAXCOLS # right vertical line local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows page 66 local WHSE_COPY=1 local MAX_COPIES=1 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "Pick List - std" # view in pdf properties cmove LEFTCOL,1,RIGHTCOL,MAXROWS,2,2 # header section cerase 1,1,MAXCOLS,7 cbox LEFTCOL,1,RIGHTCOL,MAXROWS,MBOXSIZE,crows=9:MBOXSIZE merge "zMrg Form Header" # right header cbox 80,6.5,MAXCOLS,9,1,crows=7.5::ISHADE,ccols=95 text 81,7,"Picking Slip #",ICFONT, cols=14 text 96,7,"Batch #",ICFONT, cols=11 text 81,8,{pslipno$},DBCFONT, cols=14 text 96,8,{batchno$},DBCFONT, cols=11 # subhead cbox LEFTCOL,9,MAXCOLS,10.5,1,ISHADE,ccols=10 20 31 42 57 69 101 cbox LEFTCOL,10.5,57,11.5,ccols=10 20 31 42 cbox 69,10.5,MAXCOLS,11.5,ccols=101 57 cbox 57,9,57,12.5 cbox 101,9,101,12.5 cbox 57,12.5,101,12.5 text 1,10,"Order #",ICFONT, cols=10 text 11,10,"Order Date",ICFONT,cols=9 text 21,10,"Loc Id",ICFONT, cols=10 text 32,10,"Ship Date",ICFONT,cols=10 text 43,10,"Req'd Ship Date",ICFONT,cols=15 text 58,10,"Cust. P/O #",ICFONT,cols=11 text 70,10,"Ship Via",ICFONT, cols=31 text 102,10,"Page #",ICFONT, cols=5 cmove 1,9,MAXCOLS,10,1,11 cfont 2,11,9,11,DBCFONT cfont 11,11,19,11,DBCFONT cfont 21,11,30,11,DBCFONT cfont 32,11,41,11,DBCFONT cfont 43,11,56,11,DBCFONT cfont 58,11,68,11,DBCFONT cfont 70,11,100,11,DBCFONT cfont 102,11,MAXCOLS,11,DBCFONT cfont 58,12,100,12,DBCFONT # address region cbox LEFTCOL,13,MAXCOLS,19,ccols=8::ISHADE 49 57::ISHADE text 1,14,"Ship \nTo:",ICFONT, cols=7 text 50,14,"Sold \nTo:",ICFONT, cols=7 cfont 9,14,49,19,DBFONT cfont 57,14,MAXCOLS,19,DBFONT text 50,16,{custno$},DBFONT, cols=7.5 cmove 16,14,49,19,9,14 cmove 57,14,MAXCOLS,19,59,14 # items cbox LEFTCOL,19,MAXCOLS,63,1,,crows=21::DSHADE, ccols=5 51 57 73 88 text 2,20,"Line",IFONT text 6,20,"Item/Description",IFONT text 52,20,"Units",ICFONT, cols=5 text 58,20,"Qty Ordered",IRFONT,cols=15 text 74,20,"Qty Shipped",IRFONT,cols=14 text 89,20,"Qty Backordered",IRFONT,cols=18 cfont 2,21,4,62,DFONT cfont 6,21,50,62,DFONT cfont 52,21,56,62,DCFONT cfont 58,21,72,62,DBRFONT cfont 74,21,87,62,DBRFONT cfont 89,21,105,62,DRFONT cerase 43,21,47,54 #shade lines shade "~[0-9][0-9][0-9]@2,22,4,58",-.5,0,106,1,DSHADE #bold item numbers font "~[0-9][0-9][0-9]@2,22,4,58",4.5,0,40,0,DBLFONT,9 # watermark - large font with light shading WATERMARK 1,62.5,{doc_title$},cgtimes,120,shade=WATERMARK_SHADE,center,cols=MAXCOLS,fit,spacing=.75 # memo lines font " @1,21,4,55",5,0,90,1,DLFONT # footer text 1,{MAXROWS+.5},{copy_title$[copy]},DBCFONT,cols=MAXCOLS text 1,{MAXROWS+.5},{cont$},DBRFONT,cols=MAXRCOLS # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="pickpack" prepage { noarchive=1 earc$="EARC_PICKPACK",doing_recat=0 earca_formtype$="pickstd" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- # merge "8.0 zMrg PDFLinks v2" # prepage { # exec(fnCreateAnnotations$("~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ",37,22,46,22,0,"","","DBCFONT","EARC_ORDLINKLIB","EARC_ORDLINKDOCTY")) # } # --- PAGE X of Y FEATURE ----------------------------------------------- # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =1 # adjust as needed local XOFYM_ROW =5 # adjust as needed local XOFYM_NCOLS =8 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- SCANNING BARCODE -------------------------------------------------- prepage { bcod_docid$=get(1,5,8,"y") } precopy { # Add barcodes for scanning interface. bcod$="BCOD_PICKPACK" # Y/N Switch from global section bcod_Copies$="1" # which copy(s) get barcode if lower(bcod$)="y" then: if pos(str(copy)=bcod_Copies$): bcod_docTy$="PL" rows$=str(MAXROWS+7) cmd$="text 2,"+str(MAXROWS+1.5)+","+$22$+"Do not write below this line"+$22$+",cgtimes,10,italic" cmd$+=$0a$+"cbox LEFTCOL,"+str(MAXROWS+2)+",RIGHTCOL,"+str(MAXROWS+2) cmd$+=$0a$+"barcode "+str(inchtocols(.5))+","+str(MAXROWS+4)+","+$22$+bcod_docTy$+$22$+",BCSYMB,18.0,6,text" cmd$+=$0a$+"barcode "+str(inchtocols(3.5))+","+str(MAXROWS+4)+","+$22$+bcod_DocID$+$22$+",BCSYMB,18.0,6,text" exec(cmd$) end if end if } # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_PICKPACK" if lower(edel$)="y": eDocid$=get(1,5,8,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="Pick List" # Method 6: Address entity ID for lookup eAddrEnt$=get(57,9,10,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # remark this to ALWAYS print ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- prejob { logocols=12,logorows=6 # set up copy titles dim copy_title$[MAX_COPIES] if MAX_COPIES>=1 then : if pick then : copy_title$[WHSE_COPY]="Warehouse Copy" else copy_title$[WHSE_COPY]="Customer Copy" endif endif # mje 062810 moved from prepage doc_title$="PICKING LIST" } prepage { if trim(get(1,2,70))<>"" then : pcopies=WHSE_COPY copy_title$[WHSE_COPY]=trim(get(1,2,70)) endif xcol=0,xrow=0 merge "zMrg get company info" batchno$=trim(get(83,1,6)) pslipno$=trim(get(100,2,6)) custno$=trim(cut(57,9,10,"")) for i=MAXROWS to 5 step -1 text$[i]=text$[i-3] text$[i-3]="" next i # continued? cont$="",sub_line=52 for i=52 to MAXROWS x=pos("(continued"=text$[i]) if x then : cont$="Continued on next page ..." sub_line=55 x$=set(x,i,30,"") break endif next i } [Generic] # This rule set will set columns & rows and # enhance the hdg for all other reports # requires UnForm 5 detect 0,1,"~(PAGE)|(Page)" # set up document constants local MAXCOLS=250 # max cols to output local MAXROWS=66 # max rows to output cols MAXCOLS # max output columns rows MAXROWS # max output rows local MAX_COPIES=1 pcopies MAX_COPIES portrait dpi 600 # see global constant above #GSON # graphical shading title "Generic" # view in pdf properties prepage { maxlen=80 # min columns is 80 for i=1 to MAXROWS if len(cvs(text$[i],2))>maxlen then : maxlen=len(cvs(text$[i],2)) endif next i cols$=str(maxlen+1) # load row 1 variables rptdate$=trim(get(1,1,10)) x=pos("PAGE"=text$[1]) if x=0 then x=pos("Page"=text$[1]) pageno$=trim(get(x,1,11)) compname$=trim(get(21,1,x-1-20)) x$=set(1,1,200,"") # load row 2 variables time$=trim(get(1,2,10)) x=pos("AM"=time$) if x=0 then x=pos("PM"=time$) if x=0 then : left2$=trim(get(1,2,20)) time$="" endif title$=trim(get(21,2,100)) x$=set(1,2,200,"") # load row 3 variables if time$="" then time$=trim(get(1,3,10)) subtitle$=trim(get(21,3,100)) x$=set(1,3,200,"") # Now draw box around header exec("cbox 1,.5,"+cols$+",3.75,MBOXSIZE,HSHADE") # now place line 1 headers that need justification x$="text 1,1.25,"+$22$+compname$+$22$+ ",HBCFONT,14,cols="+str(maxlen) exec(x$) x$="text 1,1.25,"+$22$+pageno$+$22$+ ",HBRFONT,cols="+str(maxlen) exec(x$) # now place line 2 headers that need justification x$="text 1,2.25,"+$22$+title$+$22$+ ",HBCFONT,12,cols="+str(maxlen) exec(x$) # now place line 3 headers that need justification x$="text 1,3.25,"+$22$+subtitle$+$22$+ ",HBCFONT,cols="+str(maxlen) exec(x$) } text 2,1.25,{rptdate$},HBFONT text 2,2.25,{time$},HBFONT text 2,3.25,{left2$},HBFONT font "~(End of Report)|(END OF REPORT)",0,0,13,1,HBFONT [-------] [8.0 README] dsn_sample "/u0/unform_test/_oem/osas/osas7/uf8/readme-osas-uf8.txt" # To view this readme section inside the design tool without # color and syntax error red-mark lines, TURN OFF syntax # highlighting by pressing the color palette on the ribbon # menu above!! UnForm 8.0 Rule-file and supporting demo files for Osas 7.5 Including these integrated features: (as of 07/14/2010) - Archiving preconfigured with standard properties - Scanning barcodes on forms - Statement with attached scanned proof of delivery copies out of archive - PDF hyperlinks to invoices in archived statement - Electronic form delivery by email or fax - Page X of Y counters on forms and reports ------ 1 ------ "osas7-8.zip" File Extract or place the contents into the main unform server folder. Contents: - osas7-8.rul file - build80demo.sh for Linux/Unix - build80demo.vbs for Windows - osas-txt/ folder containing sample text files - osas-scan/ folder containing sample scans and the OSAS_DOCS image manager job definition. ------ 2 ------ New "utility" rulesets in the osas7-8.rul file which support the new features: [8.0 zMrg Configurator] [8.0 zMrg ArcProps] [8.0 zMrg PDFLinks v2] [8.0 EDM6 BOOK] [8.0 ED TAG PARSER] [8.0 ED Selective Copy Printing] [zMrgMultiPageXofY] [zMrgSinglePageXofY] ------ 3 ------ TURNING FEATURES OFF AND ON: Top global section of the rule file has: merge "8.0 zMrg Configurator" to include the global constants that turn the new features ON/OFF by feature and ruleset. See the constants in "8.0 zMrg Configurator" for which forms are archive-enabled, deliver-enabled, or scanning barcode-enabled, and to turn them on/off. BY DEFAULT THEY ARE TURNED OFF WHEN DISTRIBUTED. ------ 4 ------ For each Osas "enhancement" rule-set: Original code blocks were moved to the bottom of the rule-set so that timing of text movement would be performed AFTER get() functions needed for archiving and deliver properties. Where applicable, the following code sections were inserted with processing code at the BOTTOM of existing rule-sets, but BEFORE the original code block section. # --- 8.0 ARCHIVING ------------------ # --- PDF HYPERLINK FOR ARCHIVING ---- # --- 8.0 DELIVER -------------------- # --- PAGE X of Y FEATURE ------------ # --- ATTACH SCANNED IMAGES ---------- # --- SCANNING BARCODE --------------- Here's a cross-reference between the new rule-set sections and the new utility rule-sets that are merged: # --- 8.0 ARCHIVING ------------------ merge "8.0 zMrg Arcprops" # --- PDF HYPERLINK FOR ARCHIVING ---- merge "8.0 zMrg PDFLinks v2 # --- 8.0 DELIVER -------------------- merge "8.0 EDM6 BOOK" (which in turn does: merge "8.0 ED TAG PARSER") merge "8.0 Selective Copy Printing" # --- PAGE X of Y FEATURE ------------ Forms: merge "zMrgMultiPageXofY" Reports: merge "zMrgSinglePageXofY" # --- ATTACH SCANNED IMAGES ---------- (No merges) (Statement forms only) # --- SCANNING BARCODE --------------- (No merges) ------ 5 ------ ARCHIVING notes: Archiving properties for each form and report are maintained centrally in the "8.0 zMrg ArcProps" rule-set. This model is used to facilitate mass re-indexing processes. By centralizing archive properties by form or report type in a single rule-set, a mass re-indexing rule-set will be able to access property assignments for multiple doc types in the same place that the new property assignments are coded for print jobs. For OSAS, because of multiple form-type selections, a mass re-indexing job would need to account for the proper form type when using this model. Contact SDSI for consultation or assistance if you encounter the need to re-index your archive libraries. "8.0 zMrgArcProps" rule-set Maintenance: To change the library names created on your system: Change the following local constant to zero: local EARC_LIBCOABRSUB=1 And/or change or make null ("") this library company abgreviation prefix: local EARC_COABREVSUJ="Osas80" See the individual form "case" statements for each ruleset to modify the earca_library$ variable to change the library name from "Sales", "Accounting", etc. ------ 6 ------ DELIVER notes: 8.0 uses the new DELIVER command. Addresses are retrieved from an address book named "osas" using an address entity ID somewhere on the form, e.g. customer number, vendor number, etc. If the address retrieved contains an @-sign an EMAIL will be submitted. If the address retrieved does NOT contain @-sign, a FAX will be initiated. You can customize tags for each form individually within each rule-set, in the routine underneath the merge for the address book. You must configure/maintain the deliver.ini file for email tag and fax settings. You must configure/maintain the prog/mailcall.ini file for email smtp server settings. More information is available on *.ini configuration in unform80.pdf. The "osas" address book can be defined in the UnForm browser interface. You can import addresses from an appropriately mapped CSV file to populate the address book. See the "8.0 EDM6 BOOK" merged rule-set to see a hierarchy for looking up address info that demonstrates how to look up addresses with or without document types, suffixes or prefixes. The routines here are for demonstration purposes -- you can modify the address lookup logic to suit your needs, and/or contact SDSI for assistance. If you want to use a method other than the address book method, contact SDSI about tailoring one of the pre-developed merge rule-sets for other methods that are contained in the samples/eDeliver8.0.rul file. Contact SDSI for possible updates to these templates. ------ 7 ------ SCANNING BARCODE notes: See the "BCOD_" series of contants in "8.0 zMrg Configurator" to turn scanning barcodes ON or OFF by form. This line in the scanning barcode section opens up 7 rows at the bottom of the form for placement of barcodes, and causes the rest of the form to resize with a maintenance of its aspect ratio: rows$=str(MAXROWS+7) This line allows you to specify which copy of a form gets a barcode: bcod_Copies$="2" # which copy(s) get barcode To include the barcode on multiple copies, add the copy numbers to the string, e.g. bcod_Copies$="123". Note that this syntax maxes out at 9 copies, so the pos() function would need to be modified if copy numbers above 9 need to be referenced. The bcod_docty$ variable places an abbreviated doctype code on the form that is mapped to the full archive document type in the image manager job definition that automates property index assignment on scanned documents. IF YOU CHANGE A DOCUMENT TYPE IN THE ARCHIVING RULE-SET, YOU MUST CHANGE THE CORRESPONDING ENTRY IN THE SCANNING JOB DEFINITION, IF THAT DOCUMENT WILL BE SCANNED AND UPLOADED. ------ 8 ------ SCANNING JOB DEFINITION notes: A scanning job defintion is provided called "OSAS_DOCS.ufz" in the "osas-scan" folder. Copy this file to the scanning/JobDefs folder of the image manager workstation. It has been designed to detect and process all the barcoded osas forms using a single job, including header/attachment jobs where attachment pages receive the same indexes as the header page. Demo scanned images are provided for importing, both regular scans with no attachment pages, as well as ones with attachment pages. ------ 9 ------ DEMO BUILD SCRIPT notes: **CAUTION** THESE SCRIPTS ARE DESTRUCTIVE TO PREVIOUSLY ARCHIVED DOCUMENTS. PLEASE READ THIS CAREFULLY BEFORE USING THEM. - build80demo.sh for Linux/Unix - build80demo.vbs for Windows Execute the appropriate script from the server folder where the zip file was extracted. It builds demo archives from the text samples contained in the "osas-txt" subfolders. Note that the scripts have some settings at the top of each file for specifying what form types you want to build for forms and checks. WHEN LAUNCHED, THE SCRIPTS START BY REMOVING THE SAMPLE LIBRARIES, SO DO NOT RUN THESE SCRIPTS ON A LIVE SYSTEM THAT USES THE SAME LIBRARY NAMES AS THE DEMO!! See the Archive notes for how to change the library names for the live system. Or modify the library name prefix at the top of the scripts to reference a non-live set of libraries. The build scripts will also create PDF's of the documents in the respective text file folders. If deliver feature is enabled and address book entries exist for document recipient entities then emails or faxes will be attempted, assuming proper configuration of deliver.ini and mailcall.ini. ------ 10 ------ ATTACH SCANNED IMAGE notes: The AR statement rule-sets contain a routine to retrieve scanned copies of invoices from the archive and attach them to the statement. There is a global to turn this feature ON or OFF in the constants merged rule-sets. By default, for each invoice listed on a statement, the routine looks for document images based on the following variables: dotypes$="Scan" - the image sub-id begins with the word "Scan" - change this in the ruleset if you change the sub-id in the scanning job definition tktlib$="Osas80_Sales" - change this in the ruleset to match your ssytem tktdocty$="Invoice" - change this in the ruleset if you change the doc type for archived invoices Imagemagick and/or Ghostscript must be available for this feature to work. By default images are tiled 2 across, 2 down in portrait orientation, as seen in the below command: images {images$},across 2, down 2 Remove the across and down arguments to attach full page images. [8.0 zMrg Configurator] # Attach scanned invoice proof of delv to statement copy 1 global STM_ATTCH_SCAN=N # Archiving ON=Y OFF=N for rule-sets global EARC_INVOICE=N global EARC_PICKPACK=N global EARC_BILLOFLADING=N global EARC_STATEMENT=N global EARC_PURCHORDER=N global EARC_APCHECK=N global EARC_PRCHECK=N global EARC_DDVOUCH=N global EARC_TRIALBAL=N global EARC_BALSHEET=N global EARC_INCSTMT=N global EARC_APAGING=N global EARC_ARAGING=N # Barcode for Scanning Copy: ON=Y OFF=N for rule-sets global BCOD_INVOICE=N global BCOD_PICKPACK=N global BCOD_BILLOFLADING=N global BCOD_PURCHORDER=N global EDEL_METHOD="8.0 EDM6 BOOK" # Delivery(Email/Fax/Selective Copy Print) # ON=Y OFF=N for rule-sets global EDEL_INVOICE=N global EDEL_PICKPACK=N global EDEL_STATEMENT=N global EDEL_PURCHORDER=N global EDEL_DDVOUCH=N # Note, below rule-sets do not have deliver logic embedded # global EDEL_BILLOFLADING=N # global EDEL_PRCHECK=N # global EDEL_APCHECK=N # global EDEL_TRIALBAL=N # global EDEL_BALSHEET=N # global EDEL_INCSTMT=N # global EDEL_APAGING=N # global EDEL_ARAGING=N # Barcode symbology selection # 400=Code 3 of 9, supported by virtually all devices. # Note it only supports digits, upper-case letters # spaces, and these characters: - . $ / + %. # 605=Code 128 Series B, which offers support for # a wide range of printable characters. Most barcode # reading devices, including UnForm Image Manager # software, support this symbology. # We default to 605 due to its flexible character support. const BCSYMB=605 [8.0 zMrg ArcProps] # version 8.0 # placing archiving-related property assignments together in a # merged rule-set like this is designed to make the RE-GENERATION # of properties # establish text-based docdate format for date conversion # into segments adjust this format to fit your document local EARCA_DATEFMT="MM/DD/YYYY" # Turn flag off (=0) to bypass prefixing the Co Abbrev to the library names local EARC_LIBCOABRSUB=1 local EARC_COABREVSUJ="Osas80" prejob { day_format "EARCA_DATEFMT" earca_momask$="%Mz(%Ms)" earca_dtsep$="-" # v 7.x category compatibility # earca_71$="N" # "EARCA_71" # if lower(earca_71$)="y": # earca_momask$="%Ms" # earca_dtsep$=" " # endif # defs for date categories def fnearca_yyyy$(q$)=dte(q$:"%Ys") def fnearca_mmm$(q$)=earca_dtsep$+dte(q$:earca_momask$) def fnearca_dd$(q$)=earca_dtsep$+dte(q$:"%Dz") def fnearca_yyyymmmdd$(q$)=fnearca_yyyy$(q$)+"|"+fnearca_yyyy$(q$)+fnearca_mmm$(q$)+"|"+fnearca_yyyy$(q$)+fnearca_mmm$(q$)+fnearca_dd$(q$) def fnearca_yyyymmm$(q$)=fnearca_yyyy$(q$)+"|"+fnearca_yyyy$(q$)+fnearca_mmm$(q$) # mje 060210 def fnUpdateLink(local doclib$,local doctype$,local docid$,local link$) local props$ arcrval=0 if docidexists(doclib$,doctype$,docid$) then: arcrval=1 getdocidprop(doclib$,doctype$,docid$,props$) props.links$=sub(props.links$,link$,"") props.links$=sub(props.links$,";;",";") if props.links$>"" then props.links$+=";" props.links$+=link$ putdocidprop(doclib$,doctype$,docid$,props$) end if return arcrval end def # mje 052810, handle "MAR 15 2010" style date def fnumo$(umo$) dd1$="janfebmaraprmayjunjulaugsepoctnovdec" dd2$="01 02 03 04 05 06 07 08 09 10 11 12 " umo$=lower(umo$),newmo$="" xx=pos(umo$=dd1$) if xx newmo$=dd2$(xx,2) return newmo$ fnend } # AR statement pdf hot link library and docty global EARC_STMLINKLIB="Osas80_Sales" global EARC_STMLINKDOCTY="Invoice" # Invoice pdf hot link library and docty global EARC_ORDLINKLIB="Osas80_Sales" global EARC_ORDLINKDOCTY="Order" postjob { # bypass during postjob; code is for gosub purposes goto skipcode1 process_arcprops: # note recat needs all variables, but currently will only update the categories if not(doing_recat): arcrule$="ARCRULE" endif if not(uf.arcjob): switch arcrule$ case "purchase order" day_format "MM/DD/YYYY" earca_library$="Purchasing" earca_libcoabrsub=EARC_LIBCOABRSUB if earca_libcoabrsub: earca_library$="EARC_COABREVSUJ"+"_"+earca_library$ endif earca_doctype$="Purchase Order" # if earca_formtype$="8.5x11": earca_docid$=get(54,3,8,"y") earca_docdate$=get(65,3,10,"y") earca_vendname$=get(6,9,30,"y") endif if earca_formtype$="laser": earca_docid$=get(54,4,8,"y") earca_docdate$=get(65,4,10,"y") earca_vendname$=get(6,10,30,"y") endif if earca_formtype$="plain": earca_docid$=get(69,4,8,"y") earca_docdate$=get(1,11,10,"y") earca_vendname$=get(12,14,30,"y") endif if earca_formtype$="std": earca_docid$=get(69,1,8,"y") earca_docdate$=get(1,8,10,"y") earca_vendname$=get(12,11,30,"y") endif # earca_subid$="" earca_title$=earca_vendname$ earca_yyyy$=dte(earca_docdate$:"%Ys") earca_mmm$=dte(earca_docdate$:earca_momask$) earca_dd$=dte(earca_docdate$:"%Dz") earca_yyyymmmdd$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$+"|"+earca_yyyy$+" "+earca_mmm$+" "+earca_dd$ earca_yyyymmm$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$ earca_cats$+="Vendor|Name|"+earca_vendname$+"|"+earca_yyyymmm$+";" # see add'l date categories at bottom of rule-set earca_xty$="Forms" earca_links$="" earca_args$="-ce 1" earca_mm$=dte(earca_docdate$:"%Mz") earca_dtm$=earca_yyyy$+earca_mm$+earca_dd$ earca_subtitle$="" earca_subdtm$="" earca_notes$="" earca_keywords$="*;" # form missing vendor ID! # earca_entid$=earca_vendid$ break case "pickpack" day_format "MM/DD/YY" earca_library$="Sales" earca_libcoabrsub=EARC_LIBCOABRSUB if earca_libcoabrsub: earca_library$="EARC_COABREVSUJ"+"_"+earca_library$ endif earca_doctype$=proper(doc_title$) # "Order" # if earca_formtype$="packplain": earca_docid$=get(11,8,8,"y") earca_docdate$=get(23,8,8,"y") earca_custid$=get(67,11,6,"y") earca_custname$=get(67,12,30,"y") earca_oid$=get(11,8,8,"y") earca_custpo$="PO "+get(74,8,15,"Y") endif if earca_formtype$="pickplain": earca_docid$=get(11,9,8,"y") earca_docdate$=get(23,9,8,"y") earca_custid$=get(67,12,6,"y") earca_custname$=get(67,13,30,"y") earca_oid$=get(11,9,8,"y") earca_custpo$="PO "+get(74,9,15,"Y") earca_batchno$="Batch# "+trim(get(83,5,6)) earca_pslipno$="Pickslip# "+trim(get(110,6,6)) endif if earca_formtype$="pickstd": earca_docid$=get(1,5,8,"y") earca_docdate$=get(10,5,8,"y") earca_custid$=get(57,9,6,"y") earca_custname$=get(57,10,30,"y") earca_oid$=get(1,5,8,"y") earca_custpo$="PO "+get(58,5,11,"Y") earca_batchno$="Batch# "+trim(get(83,1,6)) earca_pslipno$="Pickslip# "+trim(get(100,5,6)) endif if earca_formtype$="pickpack8.5x11": earca_docid$=get(51,4,8) earca_docdate$=get(63,4,8) earca_custid$=get(6,9,6,"y") earca_custname$=get(46,10,30,"y") earca_oid$=get(51,8,8,"y") earca_slsp1$="Slsp "+get(2,21,5,"y") earca_slsp2$="Slsp "+get(8,21,5,"y") earca_custpo$="PO "+get(51,7,25,"Y") earca_batchno$="Batch# "+trim(get(40,4,6)) earca_pslipno$="Packslip# "+trim(get(45,21,13)) endif if earca_formtype$="pickpacklaser": earca_docid$=get(51,4,8) earca_docdate$=get(63,4,8) earca_custid$=get(7,9,6,"y") earca_custname$=get(47,10,30,"y") earca_oid$=get(51,4,8,"y") earca_slsp1$="Slsp "+get(3,21,5,"y") earca_slsp2$="Slsp "+get(9,21,5,"y") earca_custpo$="PO "+get(52,7,25,"Y") earca_batchno$="Batch# "+trim(get(40,4,6)) earca_pslipno$="Packslip# "+trim(get(45,21,13)) endif earca_orderid$="Order "+earca_oid$ if earca_docdate$="" then earca_docdate$=dte(0:"%Mz/%Dz/%Yz") if trim(earca_orderid$)="Order" then earca_orderid$="Order (none)" if trim(earca_slsp1$)="Slsp" then earca_slsp1$="" if trim(earca_slsp2$)="Slsp" then earca_slsp2$="" if trim(earca_custpo$)="PO" then earca_custpo$="PO (none)" if trim(earca_batchno$)="Batch#" then earca_batchno$="" if trim(earca_pslipno$)="Pickslip#" then earca_pslipno$="" if trim(earca_pslipno$)="Packslip#" then earca_pslipno$="" # earca_title$=earca_custid$+": "+earca_custname$+" "+earca_custpo$ if earca_slsp1$<>"": earca_title$+=" "+earca_slsp1$ endif if earca_slsp2$<>"": earca_title$+=" "+earca_slsp2$ endif earca_subid$="@unform" earca_subtitle$=doc_title$ if earca_batchno$<>"": earca_title$+=" "+earca_batchno$ endif if earca_pslipno$<>"": earca_title$+=" "+earca_pslipno$ endif earca_yyyy$=dte(earca_docdate$:"%Ys") earca_mmm$=dte(earca_docdate$:earca_momask$) earca_dd$=dte(earca_docdate$:"%Dz") earca_yyyymmmdd$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$+"|"+earca_yyyy$+" "+earca_mmm$+" "+earca_dd$ earca_yyyymmm$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$ earca_cats$="Customer|Id|"+earca_custid$+" "+earca_custname$+"|"+earca_yyyymmm$+";" earca_cats$+="Customer|Name|"+earca_custname$+"|"+earca_yyyymmm$+";" earca_cats$+="OrderId|Customer Id|"+earca_custid$+" "+earca_custname$+"|"+earca_orderid$+";" earca_cats$+="OrderId|Customer Name|"+earca_custname$+"|"+earca_orderid$+";" if earca_slsp1$<>"": earca_cats$+="Salesperson|"+earca_slsp1$+"|Customer Id|"+earca_custid$+" "+earca_custname$+"|"+earca_yyyy$+";" earca_cats$+="Salesperson|"+earca_slsp1$+"|Customer Name|"+earca_custname$+"|"+earca_yyyy$+";" endif if earca_slsp2$<>"": earca_cats$+="Salesperson|"+earca_slsp2$+"|Customer Id|"+earca_custid$+" "+earca_custname$+"|"+earca_yyyy$+";" earca_cats$+="Salesperson|"+earca_slsp2$+"|Customer Name|"+earca_custname$+"|"+earca_yyyy$+";" endif earca_cats$+="CustPo|Id|"+earca_custid$+":"+earca_custname$+"|"+earca_custpo$+";" earca_cats$+="CustPo|Name|"+earca_custname$+"|"+earca_custpo$+";" if earca_batchno$<>"": earca_cats$+="Batch|"+earca_batchno$+";" endif # see add'l date categories at bottom of rule-set earca_xty$="Forms" earca_args$="-ce 1" earca_mm$=dte(earca_docdate$:"%Mz") earca_dtm$=earca_yyyy$+earca_mm$+earca_dd$ earca_subdtm$="" earca_notes$="" earca_keywords$="*;" earca_links$="" earca_entid$=earca_custid$ break case "invoice" day_format "MM/DD/YY" earca_library$="Sales" earca_libcoabrsub=EARC_LIBCOABRSUB if earca_libcoabrsub: earca_library$="EARC_COABREVSUJ"+"_"+earca_library$ endif earca_doctype$=proper(doc_title$) # "Invoice" # if earca_formtype$="8.5x11": earca_docid$=get(52,6,8,"y") earca_docdate$=get(63,6,8,"y") earca_custid$=get(6,10,6,"y") earca_custname$=get(6,12,30,"y") earca_oid$=get(38,22,8,"y") earca_slsp1$="Slsp "+get(2,22,5,"y") earca_slsp2$="Slsp "+get(8,22,5,"y") endif if earca_formtype$="laser": earca_docid$=get(112,7,8,"y") earca_docdate$=get(112,6,8,"y") earca_custid$=get(10,10,6,"y") earca_custname$=get(10,12,30,"y") earca_oid$=get(62,22,8,"y") earca_slsp1$="Slsp "+get(2,22,5,"y") earca_slsp2$="Slsp "+get(8,22,5,"y") endif if earca_formtype$="plain": earca_docid$=get(107,17,8,"y") earca_docdate$=get(13,17,8,"y") earca_custid$=get(21,7,6,"y") earca_custname$=get(21,10,30,"y") earca_oid$=get(40,17,8,"y") earca_slsp1$="Slsp "+get(31,17,5,"y") # earca_slsp2$="Slsp "+get(8,22,5,"y") endif if earca_formtype$="std": earca_docid$=get(84,10,8,"y") earca_docdate$=get(1,10,8,"y") earca_custid$=get(8,2,6,"y") earca_custname$=get(8,4,30,"y") earca_oid$=get(21,10,8,"y") earca_slsp1$="Slsp "+get(13,10,5,"y") # earca_slsp2$="Slsp "+get(8,22,5,"y") endif # earca_subid$="" earca_orderid$="Order "+earca_oid$ if earca_docdate$="" then earca_docdate$=dte(0:"%Mz/%Dz/%Yz") if trim(earca_orderid$)="Order" then earca_orderid$="Order (none)" if trim(earca_slsp1$)="Slsp" then earca_slsp1$="" if trim(earca_slsp2$)="Slsp" then earca_slsp2$="" # earca_title$=earca_custid$+": "+earca_custname$+" "+earca_orderid$ if earca_slsp1$<>"": earca_title$+=" "+earca_slsp1$ endif if earca_slsp2$<>"": earca_title$+=" "+earca_slsp2$ endif earca_yyyy$=dte(earca_docdate$:"%Ys") earca_mmm$=dte(earca_docdate$:earca_momask$) earca_dd$=dte(earca_docdate$:"%Dz") earca_yyyymmmdd$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$+"|"+earca_yyyy$+" "+earca_mmm$+" "+earca_dd$ earca_yyyymmm$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$ earca_cats$="Customer|Id|"+earca_custid$+" "+earca_custname$+"|"+earca_yyyymmm$+";" earca_cats$+="Customer|Name|"+earca_custname$+"|"+earca_yyyymmm$+";" earca_cats$+="OrderId|Customer Id|"+earca_custid$+" "+earca_custname$+"|"+earca_orderid$+";" earca_cats$+="OrderId|Customer Name|"+earca_custname$+"|"+earca_orderid$+";" if earca_slsp1$<>"": earca_cats$+="Salesperson|"+earca_slsp1$+"|Customer Id|"+earca_custid$+" "+earca_custname$+"|"+earca_yyyy$+";" earca_cats$+="Salesperson|"+earca_slsp1$+"|Customer Name|"+earca_custname$+"|"+earca_yyyy$+";" endif if earca_slsp2$<>"": earca_cats$+="Salesperson|"+earca_slsp2$+"|Customer Id|"+earca_custid$+" "+earca_custname$+"|"+earca_yyyy$+";" earca_cats$+="Salesperson|"+earca_slsp2$+"|Customer Name|"+earca_custname$+"|"+earca_yyyy$+";" endif # see add'l date categories at bottom of rule-set earca_xty$="Forms" earca_args$="-ce 1" earca_dtm$="" earca_subtitle$="" earca_mm$=dte(earca_docdate$:"%Mz") earca_dtm$=earca_yyyy$+earca_mm$+earca_dd$ earca_notes$="" earca_keywords$="*;" earca_links$="" earca_entid$=earca_custid$ if earca_oid$<>"": targLib$=earca_library$ targDocid$=earca_oid$ targDoctys$="Picking List,Packing List,Picking Slip" w=1 while w<4 targDocty$=parse(targDoctys$,w,",") w+=1 if docidexists(targLib$,targDocty$,targDocid$) then: # assign forward link earca_links$=targLib$+"|"+targDocty$+"|"+targDocID$+"|"+"@" arcRevLink$=earca_Library$+"|"+earca_DocType$+"|"+earca_DocID$+"|"+"@" # update reverse Link x=fnUpdateLink(targLib$,targDocty$,targDocid$,arcRevLink$) endif wend endif break case "statement" day_format "MM/DD/YYYY" earca_library$="Accounting" earca_libcoabrsub=EARC_LIBCOABRSUB if earca_libcoabrsub: earca_library$="EARC_COABREVSUJ"+"_"+earca_library$ endif earca_doctype$="Statement" # if earca_formtype$="8.5x11": # handle extra linefeed at top of page 2 and greater # here in case of re-indexing from master ruleset if mask(text$[8]," DATEMASK")=49: for i=2 to 66 text$[i-1]=text$[i],text$[i]="" next i endif earca_docdate$=get(50,7,10,"y") earca_custid$=get(62,7,6,"y") earca_custname$=get(4,11,35,"y") earca_args$="-r AR_Statement8.5x11" endif if earca_formtype$="laser": earca_docdate$=get(62,6,10,"y") earca_custid$=get(66,7,6,"y") earca_custname$=get(4,11,35,"y") endif if earca_formtype$="plain": earca_docdate$=get(60,9,10,"y") earca_custid$=get(47,9,6,"y") earca_custname$=get(4,11,35,"y") endif if earca_formtype$="std": earca_docdate$=get(60,6,10,"y") earca_custid$=get(47,6,6,"y") earca_custname$=get(12,8,35,"y") endif # if earca_docdate$="" then earca_docdate$=dte(0:"%Mz/%Dz/%Yz") earca_yyyy$=dte(earca_docdate$:"%Ys") earca_mmm$=dte(earca_docdate$:earca_momask$) earca_mm$=dte(earca_docdate$:"%Mz") earca_dd$=dte(earca_docdate$:"%Dz") earca_docid$=earca_custid$+"-"+earca_yyyy$+upper(earca_mm$)+earca_dd$ earca_subid$="" earca_title$=earca_custid$+": "+earca_custname$ earca_yyyymmmdd$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$+"|"+earca_yyyy$+" "+earca_mmm$+" "+earca_dd$ earca_yyyymmm$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$ earca_cats$="Customer|Id|"+earca_custid$+"|"+earca_yyyy$+";" earca_cats$+="Customer|Name|"+earca_custname$+"|"+earca_yyyy$+";" # see add'l date categories at bottom of rule-set earca_xty$="Forms" earca_links$="" earca_args$+=" -ce 1" earca_mm$=dte(earca_docdate$:"%Mz") earca_dtm$=earca_yyyy$+earca_mm$+earca_dd$ earca_subtitle$="" earca_subdtm$="" earca_notes$="" earca_keywords$="*;" earca_entid$=earca_custid$ break case "apcheck" day_format "EARCA_DATEFMT" earca_library$="Accounting" earca_libcoabrsub=EARC_LIBCOABRSUB if earca_libcoabrsub: earca_library$="EARC_COABREVSUJ"+"_"+earca_library$ endif earca_doctype$="A/P Check" if earca_formtype$="blank": earca_docid$=str(num(get(54,8,7,"y")):fill(7,"0")) earca_docdate$=get(43,8,10,"y") earca_vendid$=get(25,23,6,"y") earca_vendname$=get(36,23,30,"y") endif if earca_formtype$="laser": earca_docid$=str(num(get(43,8,7,"y")):fill(7,"0")) earca_docdate$=get(51,8,10,"y") earca_vendid$=get(25,22,6,"y") earca_vendname$=get(36,22,30,"y") endif if earca_formtype$="preprinted": earca_docid$=str(num(get(54,8,7,"y")):fill(7,"0")) earca_docdate$=get(43,8,10,"y") earca_vendid$=get(34,23,6,"y") earca_vendname$=get(48,23,30,"y") endif earca_subid$="" earca_title$=earca_vendid$+":"+earca_vendname$ earca_yyyy$=dte(earca_docdate$:"%Ys") earca_mmm$=dte(earca_docdate$:earca_momask$) earca_dd$=dte(earca_docdate$:"%Dz") earca_yyyymmmdd$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$+"|"+earca_yyyy$+" "+earca_mmm$+" "+earca_dd$ earca_yyyymmm$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$ earca_cats$="Vendor|Id|"+earca_vendid$+":"+earca_vendname$+"|"+earca_yyyymmm$+";" earca_cats$+="Vendor|Name|"+earca_vendname$+"|"+earca_yyyymmm$+";" # see add'l date categories at bottom of rule-set earca_xty$="Forms" earca_links$="" earca_args$="-ce 1" earca_mm$=dte(earca_docdate$:"%Mz") earca_dtm$=earca_yyyy$+earca_mm$+earca_dd$ earca_subtitle$="" earca_subdtm$="" earca_notes$="" earca_keywords$="*;" earca_entid$=earca_vendid$ break case "prcheck" earca_library$="Payroll" earca_libcoabrsub=EARC_LIBCOABRSUB if earca_libcoabrsub: earca_library$="EARC_COABREVSUJ"+"_"+earca_library$ endif # check if arcdtype$="check": day_format "MM/DD/YY" earca_doctype$="P/R Check" if earca_formtype$="blank": earca_docid$=str(num(get(58,10,7,"y")):fill(8,"0")) earca_docdate$=get(46,10,8,"y") earca_empid$=get(1,24,6) earca_empname$=get(15,24,30,"y") endif if earca_formtype$="laser": earca_docid$=str(num(get(64,22,7,"y")):fill(8,"0")) earca_docdate$=get(53,8,8,"y") earca_empid$=get(1,22,6) earca_empname$=get(15,22,30,"y") endif if earca_formtype$="preprinted": earca_docid$=str(num(get(63,2,7,"y")):fill(8,"0")) earca_docdate$=get(58,27,8,"y") earca_empid$=get(1,2,6) earca_empname$=get(15,2,30,"y") endif earca_subid$="@unform*" earca_title$=earca_empid$+" "+earca_empname$ earca_yyyy$=dte(earca_docdate$:"%Ys") earca_mmm$=dte(earca_docdate$:earca_momask$) earca_dd$=dte(earca_docdate$:"%Dz") earca_yyyymmmdd$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$+"|"+earca_yyyy$+" "+earca_mmm$+" "+earca_dd$ earca_yyyymmm$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$ earca_cats$="Employee|Id|"+earca_empid$+":"+earca_empname$+"|"+earca_yyyy$+";" earca_cats$+="Employee|Name|"+earca_empname$+"|"+earca_yyyy$+";" # see add'l date categories at bottom of rule-set earca_xty$="Forms" earca_links$="" earca_args$="-ce 1" earca_mm$=dte(earca_docdate$:"%Mz") earca_dtm$=earca_yyyy$+earca_mm$+earca_dd$ earca_subtitle$="" earca_subdtm$="" earca_notes$="" earca_keywords$="*;" endif # payroll summary if arcdtype$="summary": day_format "MM/DD/YYYY" earca_doctype$="P/R Check Summary" earca_docid$="" earca_subid$="" if earca_formtype$="blank": earca_docdate$=get(36,3,10,"y") earca_args$="-r PR_CheckBlank" # "-ce 2" endif if earca_formtype$="laser": earca_docdate$=get(36,3,10,"y") earca_args$="-r PR_CheckLaser" # "-ce 2" endif if earca_formtype$="preprinted": earca_docdate$=get(36,4,10,"y") earca_args$="-r PR_CheckPreprinted" # "-ce 2" endif earca_title$=earca_docdate$ earca_yyyy$=dte(earca_docdate$:"%Ys") earca_mmm$=dte(earca_docdate$:earca_momask$) earca_dd$=dte(earca_docdate$:"%Dz") earca_yyyymmmdd$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$+"|"+earca_yyyy$+" "+earca_mmm$+" "+earca_dd$ earca_yyyymmm$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$ earca_cats$="" # see add'l date categories at bottom of rule-set earca_xty$="Forms" earca_links$="" earca_mm$=dte(earca_docdate$:"%Mz") earca_dtm$=earca_yyyy$+earca_mm$+earca_dd$ earca_subtitle$="" earca_subdtm$="" earca_notes$="" earca_keywords$="*;" endif break case "ddvouch" if not(sumpage): # protect against laser summary page with no date getting thru earca_library$="Payroll" earca_libcoabrsub=EARC_LIBCOABRSUB if earca_libcoabrsub: earca_library$="EARC_COABREVSUJ"+"_"+earca_library$ endif day_format "MM/DD/YY" earca_doctype$="D/D Voucher" if earca_formtype$="blank": earca_docid$=str(num(get(63,25,8,"y")):fill(8,"0")) earca_subid$="@unform*" earca_docdate$=get(60,8,8,"y") earca_empid$=get(1,25,6) earca_empname$=get(15,25,30,"y") endif if earca_formtype$="laser": earca_docid$=str(num(get(68,22,8,"y")):fill(8,"0")) earca_subid$="@unform*" earca_docdate$=get(60,8,8,"y") earca_empid$=get(1,22,6) earca_empname$=get(15,22,30,"y") endif if earca_formtype$="preprinted": earca_docid$=str(num(get(63,25,8,"y")):fill(8,"0")) earca_subid$="@unform*" earca_docdate$=get(60,8,8,"y") earca_empid$=get(1,25,6) earca_empname$=get(15,25,30,"y") endif earca_title$=earca_empid$+" "+earca_empname$ earca_yyyy$=dte(earca_docdate$:"%Ys") earca_mmm$=dte(earca_docdate$:earca_momask$) earca_dd$=dte(earca_docdate$:"%Dz") earca_yyyymmmdd$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$+"|"+earca_yyyy$+" "+earca_mmm$+" "+earca_dd$ earca_yyyymmm$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$ earca_cats$="Employee|Id|"+earca_empid$+":"+earca_empname$+"|"+earca_yyyy$+";" earca_cats$+="Employee|Name|"+earca_empname$+"|"+earca_yyyy$+";" # see add'l date categories at bottom of rule-set earca_xty$="Forms" earca_links$="" earca_args$="-ce 1" earca_mm$=dte(earca_docdate$:"%Mz") earca_dtm$=earca_yyyy$+earca_mm$+earca_dd$ earca_subtitle$="" earca_subdtm$="" earca_notes$="" earca_keywords$="*;" endif break case "bill of lading" day_format "MM/DD/YY" earca_library$="Sales" earca_libcoabrsub=EARC_LIBCOABRSUB if earca_libcoabrsub: earca_library$="EARC_COABREVSUJ"+"_"+earca_library$ endif earca_doctype$="Bill of Lading" earca_docid$=get(122,2,8,"y") earca_subid$="" earca_docdate$=get(99,2,12,"y") if earca_docdate$="" then earca_docdate$=dte(0:"%Mz/%Dz/%Yz") earca_custname$=get(83,9,35,"y") earca_title$=earca_custname$ earca_yyyy$=dte(earca_docdate$:"%Ys") earca_mmm$=dte(earca_docdate$:earca_momask$) earca_dd$=dte(earca_docdate$:"%Dz") earca_yyyymmmdd$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$+"|"+earca_yyyy$+" "+earca_mmm$+" "+earca_dd$ earca_yyyymmm$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$ earca_cats$+="BOL Consignee|"+earca_custname$+"|"+earca_yyyymmm$+";" # see add'l date categories at bottom of rule-set earca_xty$="Forms" earca_links$="" earca_args$="-ce 1" earca_mm$=dte(earca_docdate$:"%Mz") earca_dtm$=earca_yyyy$+earca_mm$+earca_dd$ earca_subtitle$="" earca_subdtm$="" earca_notes$="" earca_keywords$="*;" # form has no cust ID! # earca_entid$=earca_custid$ break case "balance sheet" if pagenum=1: day_format "EARCA_DATEFMT" earca_library$="Financials" earca_libcoabrsub=EARC_LIBCOABRSUB if earca_libcoabrsub: earca_library$="EARC_COABREVSUJ"+"_"+earca_library$ endif earca_doctype$="Balance Sheet" earca_docid$="" earca_subid$="" # dd$=text$[4] pp=pos("AS OF"=dd$) # if pp=0 pp=pos("ENDED"=dd$) if pp=0 dd$=dte(0:"%Mz/%Dz/%Ys") if pp: dd$=dd$(pp+7),dd$=trim(sub(dd$,","," ")),dd$=sub(dd$," "," "),mo$=parse(dd$,1," ") savedd$=dd$ newmo$=str(num(fnumo$(mo$)):"00"),da$=str(num(parse(dd$,2," ")):"00"),yr$=str(num(parse(dd$,3," ")):"0000") dd$=newmo$+"/"+da$+"/"+yr$ endif earca_docdate$=dd$ # earca_title$=trim(get(12,1,55))+", "+proper(trim(text$[3]))+" as of "+dd$ earca_yyyy$=dte(earca_docdate$:"%Ys") earca_mmm$=dte(earca_docdate$:earca_momask$) earca_yyyymmmdd$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$+"|"+earca_yyyy$+" "+earca_mmm$+" "+earca_dd$ earca_yyyymmm$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$ # see add'l date categories at bottom of rule-set earca_xty$="Reports" earca_links$="" earca_args$="-ce 1" earca_mm$=dte(earca_docdate$:"%Mz") earca_dtm$=earca_yyyy$+earca_mm$+earca_dd$ earca_subtitle$="" earca_subdtm$="" earca_notes$="" earca_keywords$="*;" endif break case "financials" if pagenum=1: day_format "MM/DD/YYYY" earca_library$="Financials" earca_libcoabrsub=EARC_LIBCOABRSUB if earca_libcoabrsub: earca_library$="EARC_COABREVSUJ"+"_"+earca_library$ endif if earca_formtype$="income statement" earca_doctype$="Income Statement" if earca_formtype$="balance sheet" earca_doctype$="Balance Sheet" if earca_formtype$="trial balance" earca_doctype$="Trial Balance" earca_docid$="" earca_subid$="" # if earca_formtype$<>"trial balance": dd$=text$[4] pp=pos("THROUGH"=dd$) if pp=0 pp=pos("ENDED"=dd$) if pp=0 pp=pos("AS OF"=dd$) if pp=0 dd$=dte(0:"%Mz/%Dz/%Ys") if pp: dd$=dd$(pp+7),dd$=trim(sub(dd$,","," ")),dd$=sub(dd$," "," "),mo$=parse(dd$,1," ") savedd$=dd$ newmo$=str(num(fnumo$(mo$)):"00"),da$=str(num(parse(dd$,2," ")):"00"),yr$=str(num(parse(dd$,3," ")):"0000") dd$=newmo$+"/"+da$+"/"+yr$ endif endif if earca_formtype$="trial balance": dd$=text$[4] dd$=mid(dd$,50,30),dd$=trim(sub(dd$,","," ")),dd$=sub(dd$," "," "),mo$=pad(parse(dd$,1," "),3) newmo$=str(num(fnumo$(mo$)):"00"),da$=str(num(parse(dd$,2," ")):"00"),yr$=str(num(parse(dd$,3," ")):"0000") dd$=newmo$+"/"+da$+"/"+yr$ endif earca_docdate$=dd$ # earca_title$=trim(get(12,1,105))+", "+proper(trim(mid(text$[3],10,120)))+" for "+dd$ if earca_formtype$="trial balance": earca_period$=trim(get(1,2,80)) earca_title$+=", "+earca_period$ endif earca_yyyy$=dte(earca_docdate$:"%Ys") earca_mmm$=dte(earca_docdate$:earca_momask$) earca_yyyymmmdd$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$+"|"+earca_yyyy$+" "+earca_mmm$+" "+earca_dd$ earca_yyyymmm$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$ # see add'l date categories at bottom of rule-set earca_xty$="Reports" earca_links$="" earca_args$="-ce 1" earca_mm$=dte(earca_docdate$:"%Mz") earca_dtm$=earca_yyyy$+earca_mm$+earca_dd$ earca_subtitle$="" earca_subdtm$="" earca_notes$="" earca_keywords$="*;" endif break case "ap aging" if pagenum=1: day_format "MM/DD/YYYY" earca_library$="Accounting" earca_libcoabrsub=EARC_LIBCOABRSUB if earca_libcoabrsub: earca_library$="EARC_COABREVSUJ"+"_"+earca_library$ endif earca_doctype$="A/P Aging" if earca_formtype$="detail" earca_doctype$+=" Detail" if earca_formtype$="summary" earca_doctype$+=" Summary" earca_docid$="" earca_subid$="" # dd$=text$[5] pp=pos("Aging Date:"=dd$) if pp=0 dd$=dte(0:"%Mz/%Dz/%Ys") if pp dd$=mid(dd$,pp+12,10) earca_docdate$=dd$ # earca_title$=trim(get(12,1,100))+", "+proper(trim(text$[3]))+", "+proper(trim(text$[4]))+", "+proper(trim(text$[5])) earca_yyyy$=dte(earca_docdate$:"%Ys") earca_mmm$=dte(earca_docdate$:earca_momask$) earca_yyyymmmdd$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$+"|"+earca_yyyy$+" "+earca_mmm$+" "+earca_dd$ earca_yyyymmm$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$ # see add'l date categories at bottom of rule-set earca_xty$="Reports" earca_links$="" earca_args$="-ce 1" earca_mm$=dte(earca_docdate$:"%Mz") earca_dtm$=earca_yyyy$+earca_mm$+earca_dd$ earca_subtitle$="" earca_subdtm$="" earca_notes$="" earca_keywords$="*;" endif break case "ar aging" if pagenum=1: day_format "MM/DD/YYYY" earca_library$="Accounting" earca_libcoabrsub=EARC_LIBCOABRSUB if earca_libcoabrsub: earca_library$="EARC_COABREVSUJ"+"_"+earca_library$ endif earca_doctype$="A/R Aging" if earca_formtype$="detail" earca_doctype$+=" Detail" if earca_formtype$="summary" earca_doctype$+=" Summary" earca_docid$="" earca_subid$="" # earca_docdate$=dte(0:"%Mz/%Dz/%Ys") # earca_title$=trim(get(12,1,100))+", "+proper(trim(mid(text$[3],8,100)))+", "+proper(trim(text$[4])) earca_yyyy$=dte(earca_docdate$:"%Ys") earca_mmm$=dte(earca_docdate$:earca_momask$) earca_yyyymmmdd$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$+"|"+earca_yyyy$+" "+earca_mmm$+" "+earca_dd$ earca_yyyymmm$=earca_yyyy$+"|"+earca_yyyy$+" "+earca_mmm$ # see add'l date categories at bottom of rule-set earca_xty$="Reports" earca_links$="" earca_args$="-ce 1" earca_mm$=dte(earca_docdate$:"%Mz") earca_dtm$=earca_yyyy$+earca_mm$+earca_dd$ earca_subtitle$="" earca_subdtm$="" earca_notes$="" earca_keywords$="*;" endif break endswitch # "CASE ALL" if (earca_xty$="Reports" and pagenum=1) or earca_xty$="Forms": earca_cats$+="by Year|"+fnearca_yyyy$(earca_docdate$)+";" earca_cats$+="by Month|"+fnearca_yyyymmm$(earca_docdate$)+";" earca_cats$+=earca_xty$+" By Type/Period|"+earca_doctype$+"|by Year|"+fnearca_yyyy$(earca_docdate$)+";" earca_cats$+=earca_xty$+" By Type/Period|"+earca_doctype$+"|by Month|"+fnearca_yyyymmm$(earca_docdate$)+";" earca_cats$+=earca_xty$+" By Period/Type|by Year|"+fnearca_yyyy$(earca_docdate$)+"|"+earca_doctype$+";" earca_cats$+=earca_xty$+" By Period/Type|by Month|"+fnearca_yyyymmm$(earca_docdate$)+"|"+earca_doctype$+";" if earca_xty$="Forms": earca_cats$+="by Day|"+fnearca_yyyymmmdd$(earca_docdate$)+";" earca_cats$+=earca_xty$+" By Type/Period|"+earca_doctype$+"|by Day|"+fnearca_yyyymmmdd$(earca_docdate$)+";" earca_cats$+=earca_xty$+" By Period/Type|by Day|"+fnearca_yyyymmmdd$(earca_docdate$)+"|"+earca_doctype$+";" endif endif endif # not(uf.arcjob) # line label for postjob goto skipcode1: # note, a closing brace is an implicit 'return' } [8.0 zMrg PDFLinks v2] # Implementation note: merge this near the top of a rule set # that needs the embedded (annotation-based) links # Use the fnCreateAnnotations$() function in precopy, # not prepage, as the uf.cpi value it may rely on isn't # updated until after prepage is run. prejob { js$="" crlf$=$0d0a$ if uf.arcjob then: js$+="function showDoc(url,lb,dtp,did) {"+crlf$ js$+=" var qpos=url.indexOf('?a=vw');"+crlf$ js$+=" if (qpos<0) {"+crlf$ js$+=" app.alert('This feature is only available when viewing this document via the UnForm archive browser interface.');"+crlf$ js$+=" return;"+crlf$ js$+=" }"+crlf$ js$+=" var base=url.substr(0,qpos);"+crlf$ js$+=" if (lb=='') {"+crlf$ js$+=" var querystring=url.substr(qpos);"+crlf$ js$+=" var lpos=querystring.indexOf('lb=');"+crlf$ js$+=" lb=querystring.substr(lpos+3);"+crlf$ js$+=" lpos=lb.indexOf('&');"+crlf$ js$+=" lb=lb.substr(0,lpos);"+crlf$ js$+=" lb=unescape(lb);"+crlf$ js$+=" }"+crlf$ js$+=" var myurl=base+'?a=vw&lb='+escape(lb)+'&doctype='+escape(dtp)+'&docid='+escape(did)+'&subid=@';"+crlf$ js$+=" app.launchURL(myurl,true);"+crlf$ js$+="}"+crlf$ end if def fnCreateAnnotations$(local pattern$,local startcol,local startrow,local endcol,local endrow,local colshift,local rowshift,local idpfx$,local idsfx$,local fontinfo$,local lib$,local doctype$) # returns 'annotate' lines for inter-document links # mje 062810 added rowshift, mje 070610 added local targDocty$ local annotations$,c,item,item$,cmd$,col,row,cols,pat$,width local fontname$,fontsize,fontattr,alignment$ local x,x$,getofs,getcols,haveofs local expr$,ignore$ local targDocty$ if uf.arcjob then: fontinfo$=sub(lcs(fontinfo$),"fit","") fontinfo$=sub(fontinfo$,"wrap","") fontname$="Courier",fontsize=uf.cpi,fontattr=0 c=count(fontinfo$,",") if c>0 then: for item=1 to c item$=parse(fontinfo$,item,",") if trim(item$)="" then continue fontsize=num(item$,err=*next);continue if lcs(item$)="bold" fontattr=fontattr+1;continue if lcs(item$)="italic" fontattr=fontattr+2;continue if lcs(item$)="center" or lcs(item$)="right" alignment$=lcs(item$);continue fontname$=item$ next item end if # Pattern can contain control info # expression prefixed by == # !! ignore word list (comma separated, case sensitive) x=pos("!!"=pattern$,-1) if x>0 then ignore$=pattern$(x+2),pattern$=pattern$(1,x-1) x=pos("=="=pattern$,-1) if x>0 then expr$=pattern$(x+2),pattern$=pattern$(1,x-1) # offset cols, length prefixed by // x=pos("//"=pattern$,-1) if x>0 then : haveofs=1 x$=pattern$(x+2),pattern$=pattern$(1,x-1) x=pos(","=x$) if x>0 then : getofs=num(x$(1,x-1)) getcols=num(x$(x+1)) else getofs=num(x$) getcols=1+endcol-startcol end if end if pat$=pattern$+"@"+str(startcol)+","+str(startrow)+","+str(endcol)+","+str(endrow) c=findpos(text$[],pat$,positions[]) if c>0 then: for item=0 to c-1 col=positions[item,0] row=positions[item,1] cols=1+endcol-startcol if haveofs then : col=col+getofs cols=getcols end if item$=get(col,row,cols) # Expression example: ==mid(item$,8,2)+$2D$+mid(item$,1,6) # To set a prefix and leave the link under a single column # use a compound statement starting with just item$ (becomes # item$=item$... Also, you can manipulate col to adjust position # eg: item$,idpfx$=mid(item$,1,2),item$=mid(item$,3),col+=3 if expr$>"" then execute "item$="+expr$ if fontinfo$="" then: leftpad=pos(" "<>item$) if leftpad>0 then leftpad-- end if item$=trim(item$) if ignore$>"" then if pos(","+item$+","=","+ignore$+",")>0 then continue width=textwidth(item$,fontname$,fontsize,fontattr) if alignment$="center" then col=col+(cols/2-width/2) if alignment$="right" then col=col+cols-width cmd$="annotate "+str(col-.5+colshift+leftpad)+","+str(rowshift+row-.5)+","+str(width)+",1,"+$22$+"javascript:showDoc(this.URL," cmd$+="'"+lib$+"'," # mje 070610 allow comma-delim list of docty's to test existence before creating link if pos(","=doctype$): w=1 while w<4 targDocty$=parse(doctype$,w,",") w+=1 if w=1 or docidexists(Lib$,targDocty$,item$) then: doctype$=targDocty$; break endif wend endif cmd$+="'"+doctype$+"'," cmd$+="'"+idpfx$+item$+idsfx$+"')" cmd$+=$22$+",link,style U,color blue" annotations$+=cmd$+$0a$ next item end if end if return annotations$ end def def fnAnnotation$(local col,local row,local fontinfo$,local lib$,local doctype$,local docid$,local idpfx$,local idsfx$,colshift) # returns 'annotate' lines for inter-document links local annotation$,c,item,item$,cmd$,cols,width local fontname$,fontsize,fontattr,alignment$,ofs local leftpad if uf.arcjob then: fontinfo$=sub(lcs(fontinfo$),"fit","") fontinfo$=sub(fontinfo$,"wrap","") fontname$="Courier",fontsize=uf.cpi,fontattr=0 c=count(fontinfo$,",") if c>0 then: for item=1 to c item$=parse(fontinfo$,item,",") if trim(item$)="" then continue fontsize=num(item$,err=*next);continue if lcs(item$)="bold" fontattr=fontattr+1;continue if lcs(item$)="italic" fontattr=fontattr+2;continue if lcs(item$)="center" or lcs(item$)="right" alignment$=lcs(item$);continue fontname$=item$ next item end if item$=docid$ if fontinfo$="" then: leftpad=pos(" "<>item$) if leftpad>0 then leftpad-- end if cols=len(item$) item$=trim(item$) width=textwidth(item$,fontname$,fontsize,fontattr) if alignment$="center" then ofs=cols/2-width/2 if alignment$="right" then ofs=cols-width cmd$="annotate "+str(col+ofs+leftpad+colshift-.5)+","+str(row-.5)+","+str(width)+",1,"+$22$+"javascript:showDoc(this.URL," cmd$+="'"+lib$+"'," cmd$+="'"+doctype$+"'," cmd$+="'"+idpfx$+item$+idsfx$+"');" cmd$+=$22$+",link,style U,color blue" annotation$=cmd$ end if return annotation$ end def } javascript {js$} [8.0 EDM6 BOOK] # address method 6 "Address Book" prepage { if lower(edel$)="y": if not(uf.subjob): edocid$=trim(edocid$) dlm$="|" eAddrEnt$=trim(eAddrEnt$) book$="osas" # if eDocty$="Invoice" book$="osas-customers" # if eDocty$="purchase order" book$="osas-vendors" # As an example, # ASSUME a Hierarchy of address book entries to check # check with specific doctype doctype$=eDocty$ prfx$="",sufx$="-E",entityid$=prfx$+eAddrEnt$+sufx$ xx=getaddress(book$,entityid$,doctype$,address$) if not(xx): prfx$="",sufx$="-F",entityid$=prfx$+eAddrEnt$+sufx$ xx=getaddress(book$,entityid$,doctype$,address$) endif if not(xx): prfx$="",sufx$="",entityid$=prfx$+eAddrEnt$+sufx$ xx=getaddress(book$,entityid$,doctype$,address$) endif if not(xx): # check with null or hard-coded doctype doctype$="" prfx$="",sufx$="-E",entityid$=prfx$+eAddrEnt$+sufx$ xx=getaddress(book$,entityid$,doctype$,address$) if not(xx): prfx$="",sufx$="-F",entityid$=prfx$+eAddrEnt$+sufx$ xx=getaddress(book$,entityid$,doctype$,address$) endif if not(xx): prfx$="",sufx$="",entityid$=prfx$+eAddrEnt$+sufx$ xx=getaddress(book$,entityid$,doctype$,address$) endif endif ex$="",fx$="",sx$="",yx$="",eaddr$="" if xx=1: yx$=address.sendto$ # determine email versus fax if pos("@"=yx$): eaddr$=yx$ einvno$="e"+edocid$ else faddr$=yx$ finvno$="f"+edocid$ ftoco$=address.entityname$ ftnam$=address.contactname$ endif endif endif endif } # do merge just for variable Inits merge "8.0 ED TAG PARSER" # UnForm Address book template # address.entityid$ (key seg1) # address.doctype$ (key seg2) # address.entityname$ # address.contactname$ # address.sendto$ # address.combine [8.0 ED TAG PARSER] # Common delimited tag parsing routine prepage { if lower(eDel$)="y": if not(skipInit): # reset tag variables for next Doc if not(uf.subjob): # email, ref tags in deliver.ini ecopy$="",efrom$="",esubj$="",ebody$="" etach$="",ecccc$="",ebbcc$="",eohdr$="" elogn$="",epswd$="",emime$="" eArg$="" # fax, ref tags in deliver.ini fcopy$="",ffrom$="",fsubj$="",fbody$="" ftach$="",fcovr$="" # ,ftnam$="",ftoco$="" ffrco$="",f11$="",f12$="" fArg$="" pcopy$="" if not(doing_method=6): ftnam$="",ftoco$="" endif endif endif okToParse=1 if doing_method=1 okToParse=0 if doing_method=6 okToParse=0 if doing_method=8 okToParse=0 if doing_method=4 and edocConnect_ok=0 then okToParse=0 if doing_method=5 and pagenum<>1 then okToParse=0 if okToParse: if not(uf.subjob): if ex$<>"": einvno$="e"+edocid$ ecopy$=fnEq$(parse(ex$,1,dlm$)) eaddr$=fnEq$(parse(ex$,2,dlm$)) if eaddr$<>"": efrom$=fnEq$(parse(ex$,3,dlm$)) esubj$=fnEq$(parse(ex$,4,dlm$)) ebody$=fnEq$(parse(ex$,5,dlm$)) etach$=fnEq$(parse(ex$,6,dlm$)) ecccc$=fnEq$(parse(ex$,7,dlm$)) ebbcc$=fnEq$(parse(ex$,8,dlm$)) eohdr$=fnEq$(parse(ex$,9,dlm$)) elogn$=fnEq$(parse(ex$,10,dlm$)) epswd$=fnEq$(parse(ex$,11,dlm$)) emime$=fnEq$(parse(ex$,12,dlm$)) pcopy$=fnEq$(parse(ex$,13,dlm$)) # LONG BODY, unique to method 5 if doing_method=5: lbrk$="
" # "\n" for regular text, "
" for mime text/html ebody$="" for rw=14 to 60 ebody$+=lbrk$+fnEq$(parse(ex$,rw,dlm$)) next rw mlf$=lbrk$+lbrk$+lbrk$ while pos(mlf$=ebody$) ebody$=sub(ebody$,mlf$,lbrk$) wend endif endif endif if fx$<>"": finvno$="f"+edocid$ fcopy$=fnEq$(parse(fx$,1,dlm$)) faddr$=fnEq$(parse(fx$,2,dlm$)) if faddr$<>"": ffrom$=fnEq$(parse(fx$,3,dlm$)) fsubj$=fnEq$(parse(fx$,4,dlm$)) fbody$=fnEq$(parse(fx$,5,dlm$)) ftach$=fnEq$(parse(fx$,6,dlm$)) fcovr$=fnEq$(parse(fx$,7,dlm$)) ftnam$=fnEq$(parse(fx$,8,dlm$)) ftoco$=fnEq$(parse(fx$,9,dlm$)) ffrco$=fnEq$(parse(fx$,10,dlm$)) f11$=fnEq$(parse(fx$,11,dlm$)) f12$=fnEq$(parse(fx$,12,dlm$)) pcopy$=fnEq$(parse(fx$,13,dlm$)) # LONG BODY, unique to method 5 if doing_method=5: lbrk$="\n" fbody$="" for rw=14 to 60 fbody$+=lbrk$+fnEq$(parse(fx$,rw,dlm$)) next rw mlf$=lbrk$+lbrk$+lbrk$ while pos(mlf$=fbody$) fbody$=sub(fbody$,mlf$,lbrk$) wend endif endif endif # for method 2; if a print| line exists, use it if sx$<>"" pcopy$=parse(sx$,1,dlm$) endif endif endif # allow "tag=value" format def fnEq$(q2$) q2$=sub(q2$,QUO,"") if pos("="=q2$): q2$=parse(q2$,2,"=") endif return q2$ end def } [8.0 ED Selective Copy Printing] precopy { if lower(edel$)="y": if not(uf.subjob) then : # selective copy printing from pcopy$ in eDel merges; # note new pcopy$ option in email and fax delimited lines # to eliminate need for separate 'print|' line in method 2 # re pcopy$ variable in eDel merges: # pcopy$ is print copy field, 0=suppress print, or see scopy options if pcopy$<>"": switch lower(pcopy$) case "none","0","" skip=1 break case "all" break default if pos(","+str(copy)+","=","+pcopy$+",")=0 then : skip=1 endif end switch endif endif # endif } [zMrgMultiPageXofY] # v8.0 # This merge rule set will determine the # of pages # for each document in the text stream, # and using a look ahead methodology # display Page X of Y on the row specified using # the font & justification specified # # copy the following global constant to the globals # area of the rule file, for the purpose of making the # font used standard for all rule sets, if it doesn't # already exist. Un-comment and adjust as needed. #global XOFYM_FONT="univers,10,bold,left" # copy the following code from feature comment to merge # command, to the bottom of the rule set being changed # Un-comment and adjust as needed. # ok to remove if not needed or already set # Page X of Y feature # change XOFYM_COPIES to "0" to turn off #local MAXCOLS =80 # adjust as needed #local MAXROWS =66 # adjust as needed #local XOFYM_COPIES="ALL" # or copy #'s to display #local XOFYM_FONT ="XOFYM_FONT" # use global or ??? # if not using justification, set XOFYM_DCOL to start col #local XOFYM_DCOL =10 #local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id #local XOFYM_COL =70 # adjust as needed #local XOFYM_ROW =5 # adjust as needed #local XOFYM_NCOLS =10 # adjust as needed #merge "zMrgMultiPageXofY" prepage { # check ahead to see if same doc id lastpgdocid$=get(XOFYM_COL,XOFYM_ROW,XOFYM_NCOLS,"Y",pagenum-1) thispgdocid$=trim(get(XOFYM_COL,XOFYM_ROW,XOFYM_NCOLS)) nextpgdocid$=get(XOFYM_COL,XOFYM_ROW,XOFYM_NCOLS,"Y",pagenum+1) # only run when on the first page # of a new document in the stream if thispgdocid$<>"" and thispgdocid$<>lastpgdocid$ then: xofym_maxpgs=1 # reset total pages for doc xofym_pageno=0 # reset doc page counter checkpage=pagenum checknextpgdocid$=nextpgdocid$ while checknextpgdocid$=thispgdocid$ checkpage+=1,xofym_maxpgs+=1 checknextpgdocid$=get(XOFYM_COL,XOFYM_ROW,XOFYM_NCOLS,"Y",checkpage+1) wend endif # set page # xofym_pageno+=1 # find start col & # of cols from justification xofym_font$=lower("XOFYM_FONT") xofym_dcol=0 # left justification if pos("left"=xofym_font$) then : xofym_dcol=2,xofym_dcols=MAXCOLS endif # center justification if pos("center"=xofym_font$) then : xofym_dcol=1,xofym_dcols=MAXCOLS endif # right justification if pos("right"=xofym_font$) then : xofym_dcol=1,xofym_dcols=MAXCOLS-1 endif # no justification, use XOFY_DCOL if xofym_dcol=0 then xofym_dcol=XOFYM_DCOL if xofym_dcol=0 then xofym_dcol=1 # setup X of Y cmd xofym_cmd$ ="text "+str(xofym_dcol)+","+str(XOFYM_DROW)+"," xofym_cmd$+=quo+"Page "+str(xofym_pageno)+" of " xofym_cmd$+=str(xofym_maxpgs)+quo xofym_cmd$+=","+xofym_font$+",cols="+str(xofym_dcols) } precopy { if pos(str(copy)="XOFYM_COPIES") or "XOFYM_COPIES"="ALL" then : # display page x of y exec(xofym_cmd$) endif } # end zMrgMultiPageXofY [zMrgSinglePageXofY] # v8.0 # This merge rule set will use the internal variables # pagenum, for the current page # and # uf.maxpage, for the total # of pages # for this single document text stream and # display Page X of Y on the row specified using # the font & justification specified # copy the following global constant to the globals # area of the rule file, for the purpose of making the # font used standard for all rule sets, if it doesn't # already exist. Un-comment and adjust as needed. #global XOFYS_FONT="univers,10,bold,left" # copy the following code from feature comment to merge # command, to the bottom of the rule set being changed # Un-comment and adjust as needed. # ok to remove if not needed or already set # Page X of Y feature # change XOFYS_COPIES to "0" to turn off #local MAXCOLS =80 # adjust as needed #local MAXROWS =66 # adjust as needed #local XOFYS_COPIES="ALL" # or copy #'s to display #local XOFYS_FONT ="XOFYS_FONT" # use global or ??? # if not using justification, set XOFYS_DCOL to start col #local XOFYS_DCOL =10 #local XOFYS_DROW =MAXROWS+.5 # row to display title #merge "zMrgSinglePageXofY" prepage { # find start col & # of cols from justification xofy_font$=lower("XOFYS_FONT") xofy_dcol=0 # left justification if pos("left"=xofy_font$) then : xofy_dcol=2,xofy_dcols=MAXCOLS endif # center justification if pos("center"=xofy_font$) then : xofy_dcol=1,xofy_dcols=MAXCOLS endif # right justification if pos("right"=xofy_font$) then : xofy_dcol=1,xofy_dcols=MAXCOLS-1 endif # no justification, use XOFYS_DCOL if xofy_dcol=0 then xofy_dcol=XOFYS_DCOL if xofy_dcol=0 then xofy_dcol=1 # setup X of Y cmd xofy_cmd$ ="text "+str(xofy_dcol)+","+str(XOFYS_DROW)+"," xofy_cmd$+=quo+"Page "+str(pagenum)+" of " xofy_cmd$+=str(uf.maxpage)+quo xofy_cmd$+=","+xofy_font$+",cols="+str(xofy_dcols) } precopy { if pos(str(copy)="XOFYS_COPIES") or "XOFYS_COPIES"="ALL" then : # display page x of y exec(xofy_cmd$) endif } # end zMrgSinglePageXofY [Drop In Code Sample] # Invoice Laser code as Drop In Code Sample # Section above archiving section is from "old" code block that # needed to be before archiving for timing purposes, rest of # old code is at bottom (except it was removed for sample) :) # ---------------------------------------------------------------------- prepage { # get invoice title doc_title$="INVOICE",reprint$="" # get title from body of invoice, if available. # Must handle credit memo text/quote. x$=trim(cut(18,10,26,"")) x=pos("REPRINT"=x$) if x then reprint$="REPRINT" x=pos("C R E D I T"=X$) if x then doc_title$="CREDIT MEMO" x=pos("Q U O T E"=X$) if x then doc_title$="QUOTE" } # --- 8.0 ARCHIVING ---------------------------------------------------- const ARCRULE="invoice" prepage { noarchive=1 earc$="EARC_INVOICE",doing_recat=0 earca_formtype$="laser" if lower(earc$)="y": noarchive=0 if not(uf.subjob): gosub process_arcProps # see 8.0 zMrg ArcProps ruleset endif endif } merge "8.0 zMrg ArcProps" if uf.arcenabled ARCHIVE {earca_library$},{earca_doctype$},{earca_docid$},subid {earca_subid$},title {earca_title$},notes {earca_notes$},keywords {earca_keywords$},categories {earca_cats$},links {earca_links$},args {earca_args$},dtm {earca_dtm$},subtitle {earca_subtitle$},subdtm {earca_subdtm$},entityid {earca_entid$} endif # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- # # mje 062810 disabled due to different order doc types # merge "8.0 zMrg PDFLinks v2" # prepage { # exec(fnCreateAnnotations$("~ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ",61,22,70,22,0,"","","DBCFONT","EARC_ORDLINKLIB","EARC_ORDLINKDOCTY")) # } # --- SCANNING BARCODE -------------------------------------------------- prepage { bcod_docid$=get(112,7,8,"y") } precopy { # Add barcodes for scanning interface. bcod$="BCOD_INVOICE" # Y/N Switch from global section bcod_Copies$="2" # which copy(s) get barcode if lower(bcod$)="y" then: if pos(str(copy)=bcod_Copies$): bcod_docty$="SOINV" rows$=str(MAXROWS+7) cmd$="text 2,"+str(MAXROWS+1.5)+","+$22$+"Do not write below this line"+$22$+",cgtimes,10,italic" cmd$+=$0a$+"cbox LEFTCOL,"+str(MAXROWS+2)+",RIGHTCOL,"+str(MAXROWS+2) cmd$+=$0a$+"barcode "+str(inchtocols(.5))+","+str(MAXROWS+4)+","+$22$+bcod_docty$+$22$+",BCSYMB,18.0,6,text" cmd$+=$0a$+"barcode "+str(inchtocols(3.5))+","+str(MAXROWS+4)+","+$22$+bcod_DocID$+$22$+",BCSYMB,18.0,6,text" exec(cmd$) end if end if } # --- PAGE X of Y FEATURE ----------------------------------------------- # Page X of Y feature # change XOFYM_COPIES to "0" to turn off local XOFYM_COPIES="ALL" # or copy #'s to display local XOFYM_DROW =MAXROWS+.5 # row to display title # location of unique doc id local XOFYM_COL =112 # adjust as needed local XOFYM_ROW =7 # adjust as needed local XOFYM_NCOLS =8 # adjust as needed global XOFYM_FONT="univers,10,bold,left" merge "zMrgMultiPageXofY" # --- 8.0 DELIVER ------------------------------------------------------ # deliver email command - no change needed, ref tags in deliver.ini deliver {eaddr$},{einvno$},args {eArg$},from {efrom$},cc {ecccc$},bcc {ebbcc$},subject {esubj$},note {ebody$},login {elogn$},password {epswd$},attach {etach$},otherhead {eohdr$},bodymime {emime$},combine {eCombine$} # deliver fax command - no change needed, ref tags in deliver.ini deliver {faddr$},{finvno$},args {fArg$},fromname {ffrom$},subject {fsubj$},note {fbody$},coverpage {fcovr$},attach {ftach$},toname {ftnam$},tocompany {ftoco$},fromcompany {ffrco$},combine {fCombine$} prepage { # form-based data locations edel$="EDEL_INVOICE" if lower(edel$)="y": eDocid$=get(112,7,8,"y") # Required ALL methods # Method 6: Address Book doc type, or subject component eDocty$="Invoice" # Method 6: Address entity ID for lookup eAddrEnt$=get(10,10,6,"y") endif } # ADDRESS RETRIVAL METHOD, set in global section! merge "EDEL_METHOD" # EMAIL defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if eAddr$<>"": # email, ref tags in deliver.ini if ecopy$="" ecopy$="1" if efrom$="" efrom$="" if esubj$="" esubj$=eDocty$+" "+eDocid$ if ebody$="" ebody$="\nThank you for your business.\n\nThe Management" if etach$="" etach$="" if ecccc$="" ecccc$="" if ebbcc$="" ebbcc$="" if eohdr$="" eohdr$="" if elogn$="" elogn$="" if epswd$="" epswd$="" if emime$="" emime$="" # "text/html" if pcopy$="" pcopy$="" eArg$="-ce "+ecopy$ eCombine$="no" endif endif endif } # FAX defaults or overrides, remove conditional for override prepage { if lower(edel$)="y": if not(uf.subjob): if fAddr$<>"": # fax, ref tags in deliver.ini if fcopy$="" fcopy$="1" if ffrom$="" ffrom$="" if fsubj$="" fsubj$=eDocty$+" "+eDocid$ if fbody$="" fbody$="" if ftach$="" ftach$="" if fcovr$="" fcovr$="" # Fax Pkg cover page if ftnam$="" ftnam$="" if ftoco$="" ftoco$="" if ffrco$="" ffrco$="" if pcopy$="" pcopy$="" fArg$="-ce "+fcopy$ fCombine$="no" endif endif endif } # remark this to ALWAYS print ALL copies of a delivered document merge "8.0 ED Selective Copy Printing" # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- # --- 8.0 ARCHIVING ---------------------------------------------------- # --- PDF HYPERLINK FOR ARCHIVING -------------------------------------- # --- SCANNING BARCODE -------------------------------------------------- # --- PAGE X of Y FEATURE ----------------------------------------------- # --- 8.0 DELIVER ------------------------------------------------------ # --- ATTACH SCANNED IMAGES --------------------------------------------- # --- ORIGINAL CODE-BLOCK SECTION --------------------------------------- [-------] [zMrg Form Header] LOGO_IMAGE 1,1,{logocols},{logorows},"COMP_LOGO" text 1,2.25,{doc_title$},HBRFONT,16,cols=MAXRCOLS text 1,3.25,{reprint$},HRFONT,12,cols=MAXRCOLS text 1,2.25,{comp_name$},HBCFONT,14,cols=MAXRCOLS text 1,3.25,{comp_addr1$},HCFONT,12,cols=MAXRCOLS text 1,4.25,{comp_addr2$},HCFONT,12,cols=MAXRCOLS text 1,5.25,{comp_addr3$},HCFONT,12,cols=MAXRCOLS text 1,6.25,"COMP_PHONES",HCFONT,12,cols=MAXRCOLS text 1,7.25,"COMP_EMAIL",HCFONT,cols=MAXRCOLS text 1,8.25,"COMP_WEBSITE",HCFONT,cols=MAXRCOLS [zMrg get company info] if xcol>0 and xrow>0 and trim(get(xcol,xrow,40))<>"" then : comp_name$=trim(get(xcol,xrow,40)) comp_addr1$=trim(get(xcol,xrow+1,40)) comp_addr2$=trim(get(xcol,xrow+2,40)) comp_addr3$=trim(get(xcol,xrow+3,40)) endif if xcol=0 or xrow=0 or trim(get(xcol,xrow,40))="" then : comp_name$="COMP_NAME" comp_addr1$="COMP_ADDR1" comp_addr2$="COMP_ADDR2" comp_addr3$="COMP_ADDR3" endif [zMrg get watermark text] wmlines=1,wdoc_title$="",xdoc_title$=trim(doc_title$) watermark_loop: x=pos(" "=xdoc_title$) if x=0 then if wdoc_title$="" then wdoc_title$=xdoc_title$ else wdoc_title$=wdoc_title$+$0a$+trim(xdoc_title$) fi; goto end_watermark_loop if wdoc_title$="" then wdoc_title$=trim(xdoc_title$(1,x)) else wdoc_title$=wdoc_title$+$0a$+trim(xdoc_title$(1,x)) xdoc_title$=trim(xdoc_title$(x+1)) wmlines=wmlines+1 goto watermark_loop end_watermark_loop: [zMrg get zip] shipzip$="" # Retrieve the zip code from either xrow or xrow-1 #x=mask(left(text$[xrow],xcols),"[0-9][0-9][0-9][0-9][0-9]") if x>0 then shipzip$=get(x,xrow,10,1) #if x=0 then x=mask(trim(left(text$[xrow-1],xcols)),"[0-9][0-9][0-9][0-9][0-9]") if x=0 then x=mask(left(text$[xrow-1],xcols),"[0-9][0-9][0-9][0-9][0-9]") if shipzip$="" then if x>0 then shipzip$=get(x,xrow-1,10,1) shipzip$=sub(shipzip$,"-","") [zMrg load rpt header] rptdate$=trim(get(1,1,10)) x=pos(" Page "=text$[1]) compname$=trim(get(20,1,x-1-20)) pageno$=trim(get(x,1,20)) time$=trim(get(1,2,8)) title$=trim(get(20,2,150)) opt1$=trim(get(20,3,150)) if brow>=4 then opt2$=trim(get(20,4,150)) if brow>=5 then opt3$=trim(get(20,5,150)) if brow>=6 then opt4$=trim(get(20,6,150)) [zMrg Report Header] cerase 1,1,MAXCOLS,{brow} cbox LEFTCOL,.5,RIGHTCOL,{brow+1.25},MBOXSIZE,HSHADE text 2,1.5,{rptdate$},HFONT,black text 2,2.5,{time$},HFONT,black text 1,1.5,{pageno$},HRFONT,cols=MAXRCOLS,black text 1,1.5,{compname$},HBCFONT,14,cols=MAXCOLS,black text 1,2.75,{title$},HBCFONT,12,cols=MAXCOLS,black text 1,3.69,{opt1$},HCFONT,9,cols=MAXCOLS,black text 1,4.88,{opt2$},HCFONT,9,cols=MAXCOLS,black text 1,5.82,{opt3$},HCFONT,9,cols=MAXCOLS,black text 1,6.75,{opt4$},HCFONT,9,cols=MAXCOLS,black [zMrg Report Header 2] cerase 1,1,MAXCOLS,{brow} cbox LEFTCOL,.5,RIGHTCOL,{brow+1.25},MBOXSIZE,HSHADE text 2,1.5,{rptdate$},HFONT,black text 2,2.5,{time$},HFONT,black text 1,1.5,{pageno$},HRFONT,cols=MAXRCOLS,black text 1,1.5,{compname$},HBCFONT,14,cols=MAXCOLS,black text 1,2.82,{title$},HBCFONT,12,cols=MAXCOLS,black text 1,3.95,{opt1$},HCFONT,9,cols=MAXCOLS,black text 1,4.87,{opt2$},HCFONT,9,cols=MAXCOLS,black text 1,5.72,{opt3$},HCFONT,9,cols=MAXCOLS,black text 1,6.65,{opt4$},HCFONT,9,cols=MAXCOLS,black b 2