SIMPLE1 - invoice rule set |
Top Previous Next |
This is the first example of an invoice rule set, found in simple.rul. To produce this example:
uf90c –i sample1.txt –f simple.rul –p pdf –o client:simple1.pdf
A title header prefixes all rule sets, which is just a unique name enclosed in brackets. [simple1]
Detect statements are used to identify this form from any other report that the application might send to the printer through UnForm. Unlike most form packages, UnForm doesn't dedicate a printer name to a particular form (though it can be configured to do so). Instead, it reads the first page of data, then compares it to the detect statements found in the various rule sets in the rule file.
The detect statements below indicate that
detect 61,5,"~../../.. ......." # invoice date and # detect 9,11,"~......" # customer code detect 10,21,"~../../.. ......" # ord date and cust code
The following lines define that the dimensions of the page are 80 columns by 66 rows. All positioning will be based on 80 columns and 66 rows appearing within the printed margins of the page.
cols 80 # max output columns rows 66 # max output rows
The header section draws a box around the entire form with a cbox command, then adds a logo and some header text. The" \n" character sequence represents a line break, so you can print a column of text easily. All the text commands are using the univers font, which is standard in all supported laser printers and which maps to Helvetica in PDF output.
# header section cbox .5,.5,80.5,66.5,5 image 1,1,12,6,"sdsilogo.pcl" text 15,2,"Company Name",univers,14,bold text 15,3,"Company Address\nCompany City, St Zipcode\nCompany Phone",univers,12,bold text 15,6,"Web: www.myweb.com\nEmail: sales@myweb.com",univers,11,bold text 70,2,"INVOICE",univers,16,bold
The upper right of the form contains a box with grid lines and some title text, placed around the existing text supplied from the input stream (in this example, the file sample1.txt). The cbox command draws an outer box using the primary dimensions, and then adds internal horizontal lines at rows 6 and 8, and internal vertical lines at columns 69 and 78. The second row simply duplicates the bottom row, but adds 20% shading between rows 6 and 8.
# invoice # section cbox 60,4,80.5,8,crows=6 8::20,ccols=69 78 text 61,7,"Date",univers,italic,10 text 70,7,"Invoice #",univers,italic,10 text 79,7,"Pg",univers,italic,10
# bill to / ship to section cbox .5,10,80.5,18.5,5,ccols=7::20 43.5 50::20 text 2,11,"Sold To",cgtimes,italic,10 text 45,11,"Ship To",cgtimes,italic,10
# ribbon section cbox .5,18.5,80.5,22.5,5,crows=20.5::20,ccols=9 18 25 65 # special internal grid in ribbon box cbox 29,18.5,65,21.5 cbox 42,18.5,56,21.5 text 1,19,"Order\nNumber",univers,italic,10 text 10,19,"Order\nDate",univers,italic,10 text 19,19,"Cust.\nNumber",univers,italic,10 text 26,19,"Sls\nPrs",univers,italic,10 text 30,19,"Purchase\nOrder No.",univers,italic,10 text 43,19,"\nShip Via",univers,italic,10 text 57,19,"Ship\nDate",univers,italic,10 text 66,19,"\nTerms",univers,10,italic
# detail section cbox .5,22.5,80.5,56.5,5,crows=24.5::10,ccols=5 10 16 51 55 69 text 1,23,"Qty\nOrd",univers,italic,10 text 6,23,"Qty\nShip",univers,italic,10 text 11,23,"Qty\nBkord",univers,10,italic text 17,23,"\nItem & Description",univers,italic,10 text 52,23,"\nU/M",univers,italic,10 text 56,23,"Unit\nPrice",univers,italic,10 text 70,23,"Extended\nPrice",univers,italic,10
# footer section cbox 57,57,80.5,65,crows=59 63,ccols=69::20 text 58,58,"Sales Amt",univers,11 text 58,61,"Sales Tax",univers,11 text 58,62,"Freight",univers,11 text 58,64.25,"TOTAL",univers,bold,14
|