dabo Commit
Revision 5190
Date: 2009-04-22 11:57:04 -0700 (Wed, 22 Apr 2009)
Author: Paul
Trac: http://trac.dabodev.com/changeset/5190
Changed:
A branches/paul_reporting/dabo/lib/reporting_tests/
A branches/paul_reporting/dabo/lib/reporting_tests/invoice_demo/
A
branches/paul_reporting/dabo/lib/reporting_tests/invoice_demo/bizcard01_medium.jpg
A branches/paul_reporting/dabo/lib/reporting_tests/invoice_demo/invoice.py
A branches/paul_reporting/dabo/lib/reporting_tests/invoice_demo/invoice.rfxml
A
branches/paul_reporting/dabo/lib/reporting_tests/invoice_demo/logo_2cannisters_medium.jpg
Log:
Added a reporting_tests directory which includes the old invoice report demo,
modernized and working with the new report writer changes.
Actually, there are problems with it which will help me fix the problems with
the new report writer.
Diff:
Added:
branches/paul_reporting/dabo/lib/reporting_tests/invoice_demo/bizcard01_medium.jpg
===================================================================
(Binary files differ)
Property changes on:
branches/paul_reporting/dabo/lib/reporting_tests/invoice_demo/bizcard01_medium.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: branches/paul_reporting/dabo/lib/reporting_tests/invoice_demo/invoice.py
===================================================================
--- branches/paul_reporting/dabo/lib/reporting_tests/invoice_demo/invoice.py
(rev 0)
+++ branches/paul_reporting/dabo/lib/reporting_tests/invoice_demo/invoice.py
2009-04-22 18:57:04 UTC (rev 5190)
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+"""
+This demo uses a copy of my invoice report with bogus data to show how to
+interact with the ReportWriter to create a PDF. Run this script to create
+invoice.pdf. To modify the report form, use daboide/ReportDesigner to open
+the invoice.rfxml file.
+"""
+
+from dabo.lib.reportWriter import ReportWriter
+from dabo.lib import reportUtils
+
+outFile = "invoice.pdf"
+
+print "Instantiating the report writer..."
+rw = ReportWriter()
+
+# Set some required properties:
+rw.ReportFormFile = "invoice.rfxml"
+rw.OutputFile = "%s" % outFile
+# (Normally, you'd also set the Cursor property, to provide the data,
+# but this sample just uses the test cursor inside the report form.)
+
+# Set some optional properties:
+rw.UseTestCursor = True
+rw.ShowBandOutlines = True
+
+print "Writing %s..." % outFile
+rw.write()
+
+print "Trying to preview it..."
+reportUtils.previewPDF(outFile)
Property changes on:
branches/paul_reporting/dabo/lib/reporting_tests/invoice_demo/invoice.py
___________________________________________________________________
Name: svn:executable
+ *
Added:
branches/paul_reporting/dabo/lib/reporting_tests/invoice_demo/invoice.rfxml
===================================================================
--- branches/paul_reporting/dabo/lib/reporting_tests/invoice_demo/invoice.rfxml
(rev 0)
+++ branches/paul_reporting/dabo/lib/reporting_tests/invoice_demo/invoice.rfxml
2009-04-22 18:57:04 UTC (rev 5190)
@@ -0,0 +1,695 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+
+<!--
+ This is a Dabo report form xml (rfxml) document, describing a
+ report form. It was generated by the Dabo Report Writer, and can
+ be edited by hand or by using the Dabo Report Designer.
+-->
+
+<Report>
+ <title>Invoice</title>
+
+ <page>
+ <MarginBottom>".4 in"</MarginBottom>
+ <marginLeft>".75 in"</marginLeft>
+ <marginRight>".75 in"</marginRight>
+ <marginTop>".75 in"</marginTop>
+ <orientation>"portrait"</orientation>
+ <size>"letter"</size>
+ </page>
+
+ <variables>
+ <Variable>
+ <expr>self.Variables['clientBalance'] +
self.Record['amount']</expr>
+ <initialValue>decimal.Decimal('0.00')</initialValue>
+ <name>clientBalance</name>
+ <resetAt>self.Record['clientid']</resetAt>
+ </Variable>
+ <Variable>
+ <expr>self.Variables['timeCodeBalance'] +
self.Record['amount']</expr>
+ <initialValue>decimal.Decimal('0.00')</initialValue>
+ <name>timeCodeBalance</name>
+ <resetAt>"%s-%s" % (self.Record['clientid'],
self.Record['timecodeid'])</resetAt>
+ </Variable>
+ <Variable>
+ <expr>self.Variables['recordsPrinted_timecode'] +
1</expr>
+ <initialValue>decimal.Decimal('0.00')</initialValue>
+ <name>recordsPrinted_timecode</name>
+ <resetAt>"%s-%s" % (self.Record['clientid'],
self.Record['timecodeid'])</resetAt>
+ </Variable>
+ </variables>
+
+ <groups>
+ <Group>
+ <expr>self.clientid</expr>
+ <ResetPageNumber>True</ResetPageNumber>
+ <startOnNewPage>True</startOnNewPage>
+ <groupHeader>
+ <Height>"1.75 in"</Height>
+ <objects>
+ <String>
+ <expr>self.clientname</expr>
+ <fontSize>14</fontSize>
+ <hAnchor>"Left"</hAnchor>
+ <Height>'14.0 pt'</Height>
+ <width>"6 in"</width>
+ <x>"0 in"</x>
+ <y>'1.5497 in'</y>
+ </String>
+ <String>
+ <expr>self.clientaddress1</expr>
+ <fontSize>14</fontSize>
+ <hAnchor>"Left"</hAnchor>
+ <Height>'14.0 pt'</Height>
+ <width>"6 in"</width>
+ <x>"0 in"</x>
+ <y>'1.3297 in'</y>
+ </String>
+ <String>
+ <expr>self.clientaddress2</expr>
+ <fontSize>14</fontSize>
+ <hAnchor>"Left"</hAnchor>
+ <Height>'14.0 pt'</Height>
+ <width>"6 in"</width>
+ <x>"0 in"</x>
+ <y>'1.1097 in'</y>
+ </String>
+ <String>
+ <expr>self.clientaddress3</expr>
+ <fontSize>14</fontSize>
+ <hAnchor>"Left"</hAnchor>
+ <Height>'14.0 pt'</Height>
+ <width>"6 in"</width>
+ <x>"0 in"</x>
+ <y>'0.9012 in'</y>
+ </String>
+ </objects>
+ </groupHeader>
+ <groupFooter>
+ <height>"0.25 in"</height>
+ <objects>
+ <String>
+ <align>"right"</align>
+ <expr>"Amount due: $
%s" % locale.format('%.2f', self.clientBalance, True)</expr>
+ <fontSize>14</fontSize>
+ <hAnchor>"Right"</hAnchor>
+ <height>20</height>
+ <width>"6 in"</width>
+ <x>"6.925 in"</x>
+ <y>"0 in"</y>
+ </String>
+ </objects>
+ </groupFooter>
+ </Group>
+ <Group>
+ <expr>self.subclientid</expr>
+ <ReprintHeaderOnNewPage>True</ReprintHeaderOnNewPage>
+ <GroupHeader>
+ <Height>28.8</Height>
+ <Objects>
+ <Rectangle>
+ <fillColor>(.9, .9,
.9)</fillColor>
+ <height>".25 in"</height>
+ <strokeWidth>".25
pt"</strokeWidth>
+ <width>"7 in"</width>
+ <x>"0 in"</x>
+ <y>"0 in"</y>
+ </Rectangle>
+ <String>
+ <expr>self.subclientname</expr>
+ <Height>'11.0 pt'</Height>
+ <width>'165.0 pt'</width>
+ <y>'20.0 pt'</y>
+ </String>
+ <Line>
+ <height>"0.25 in"</height>
+ <LineSlant>"|"</LineSlant>
+
<strokeColor>(.2,.2,.2)</strokeColor>
+ <strokeWidth>0.25</strokeWidth>
+ <width>2</width>
+ <x>".575 in"</x>
+ <y>0</y>
+ </Line>
+ <Line>
+ <height>"0.25 in"</height>
+ <LineSlant>"|"</LineSlant>
+
<strokeColor>(.2,.2,.2)</strokeColor>
+ <strokeWidth>0.25</strokeWidth>
+ <width>2</width>
+ <x>"5.25 in"</x>
+ <y>0</y>
+ </Line>
+ <Line>
+ <height>"0.25 in"</height>
+ <LineSlant>"|"</LineSlant>
+
<strokeColor>(.2,.2,.2)</strokeColor>
+ <strokeWidth>0.25</strokeWidth>
+ <width>2</width>
+ <x>"5.78 in"</x>
+ <y>0</y>
+ </Line>
+ <Line>
+ <height>"0.25 in"</height>
+ <LineSlant>"|"</LineSlant>
+
<strokeColor>(.2,.2,.2)</strokeColor>
+ <strokeWidth>0.25</strokeWidth>
+ <width>2</width>
+ <x>"6.3 in"</x>
+ <y>0</y>
+ </Line>
+ <String>
+ <expr>"Date"</expr>
+ <Height>'11.0 pt'</Height>
+ <width>'0.5305 in'</width>
+ <x>"0.025 in"</x>
+ <y>5</y>
+ </String>
+ <String>
+ <expr>"Description"</expr>
+ <Height>'11.0 pt'</Height>
+ <width>"4.6225 in"</width>
+ <x>"0.6075 in"</x>
+ <y>5</y>
+ </String>
+ <String>
+ <align>"right"</align>
+ <expr>"Hours"</expr>
+ <hAnchor>"right"</hAnchor>
+ <Height>'11.0 pt'</Height>
+ <width>'0.4166 in'</width>
+ <x>"5.6975 in"</x>
+ <y>5</y>
+ </String>
+ <String>
+ <align>"right"</align>
+ <expr>"Rate"</expr>
+ <hAnchor>"right"</hAnchor>
+ <Height>'11.0 pt'</Height>
+ <width>'0.4166 in'</width>
+ <x>"6.2225 in"</x>
+ <y>5</y>
+ </String>
+ <String>
+ <align>"right"</align>
+ <expr>"Amount"</expr>
+ <hAnchor>"right"</hAnchor>
+ <Height>'11.0 pt'</Height>
+ <width>'0.5832 in'</width>
+ <x>"6.925 in"</x>
+ <y>5</y>
+ </String>
+ </Objects>
+ </GroupHeader>
+ <GroupFooter>
+ <Objects></Objects>
+ </GroupFooter>
+ </Group>
+ <Group>
+ <expr>self.timecodeid</expr>
+ <reprintHeaderOnNewPage>True</reprintHeaderOnNewPage>
+ <startOnNewPage>False</startOnNewPage>
+ <groupHeader>
+ <height>"0.25 in"</height>
+ <objects>
+ <Rectangle>
+ <fillColor>(.3, .3,
.3)</fillColor>
+ <height>".25 in"</height>
+ <strokeWidth>".25
pt"</strokeWidth>
+ <width>"7 in"</width>
+ <x>"0 in"</x>
+ <y>0</y>
+ </Rectangle>
+ <String>
+ <align>"center"</align>
+ <expr>"%s: %s%s" %
(self.timecode, self.timecodename, self.recordsPrinted_timecode > 1 and "
(continued)" or "")</expr>
+ <fontColor>(1,1,1)</fontColor>
+ <fontItalic>True</fontItalic>
+ <height>15</height>
+ <width>"7 in"</width>
+ <x>"0.0 in"</x>
+ <y>5</y>
+ </String>
+ </objects>
+ </groupHeader>
+ <groupFooter>
+ <height>"0.25 in"</height>
+ <objects>
+ <Rectangle>
+ <height>".25 in"</height>
+ <strokeWidth>".25
pt"</strokeWidth>
+ <width>"7 in"</width>
+ <x>"0 in"</x>
+ <y>1</y>
+ </Rectangle>
+ <String>
+ <align>"right"</align>
+ <expr>"Total for code %s:
$ %s" % (self.Record["timecode"], locale.format('%.2f',
self.Variables["timeCodeBalance"], True))</expr>
+ <fontItalic>True</fontItalic>
+ <hAnchor>"right"</hAnchor>
+ <height>15</height>
+ <width>"6.5 in"</width>
+ <x>"6.925 in"</x>
+ <y>6</y>
+ </String>
+ </objects>
+ </groupFooter>
+ </Group>
+ </groups>
+
+ <pageBackground>
+ <objects>
+ <Rectangle>
+ <height>.25</height>
+ <strokeColor>(.7,.7,.7)</strokeColor>
+ <width>.25</width>
+ <x>".25 in"</x>
+ <y>"6.875 in"</y>
+ </Rectangle>
+ <Rectangle>
+ <height>.25</height>
+ <strokeColor>(.7,.7,.7)</strokeColor>
+ <width>.25</width>
+ <x>"6.75 in"</x>
+ <y>"6.875 in"</y>
+ </Rectangle>
+ </objects>
+ </pageBackground>
+
+ <pageHeader>
+ <height>"1.75 in"</height>
+ <Objects>
+ <Rectangle>
+ <fillColor>(1, 1, 1)</fillColor>
+ <hAnchor>"right"</hAnchor>
+ <height>".5 in"</height>
+ <strokeWidth>".25 pt"</strokeWidth>
+ <width>"3 in"</width>
+ <x>self.Bands["pageHeader"]["width"]-1</x>
+ <y>"0.65 in"</y>
+ </Rectangle>
+ <Rectangle>
+ <fillColor>(1, 1, 1)</fillColor>
+ <hAnchor>"right"</hAnchor>
+ <height>".3 in"</height>
+ <strokeWidth>".25 pt"</strokeWidth>
+ <width>"1 in"</width>
+ <x>self.Bands["pageHeader"]["width"]-1</x>
+ <y>"0.65 in"</y>
+ </Rectangle>
+ <Image>
+ <borderColor>(.7, .7, .7)</borderColor>
+ <borderWidth>0</borderWidth>
+ <expr>"logo_2cannisters_medium.jpg"</expr>
+ <height>"1.22 in"</height>
+ <mode>"scale"</mode>
+ <width>"0.95 in"</width>
+ <x>"0 in"</x>
+ <y>"0.6375 in"</y>
+ </Image>
+ <String>
+ <align>"left"</align>
+ <borderWidth>"0 pt"</borderWidth>
+ <expr>"Paul McNett"</expr>
+ <fontBold>True</fontBold>
+ <FontName>"Helvetica"</FontName>
+ <fontSize>14</fontSize>
+ <hAnchor>"left"</hAnchor>
+ <height>16</height>
+ <name>companyName</name>
+ <vAlign>"top"</vAlign>
+ <vAnchor>"top"</vAnchor>
+ <Width>"2.875 in"</Width>
+ <x>"1.1 in"</x>
+ <y>"1.7875 in"</y>
+ </String>
+ <String>
+ <align>"left"</align>
+ <borderWidth>"0 pt"</borderWidth>
+ <expr>"881 B Street"</expr>
+ <fontName>"Helvetica"</fontName>
+ <fontSize>14</fontSize>
+ <hAnchor>"left"</hAnchor>
+ <height>16</height>
+ <name>companyAddress1</name>
+ <vAlign>"top"</vAlign>
+ <vAnchor>"top"</vAnchor>
+ <Width>"2.875 in"</Width>
+ <x>"1.1 in"</x>
+ <y>"1.5575 in"</y>
+ </String>
+ <String>
+ <align>"left"</align>
+ <borderWidth>"0 pt"</borderWidth>
+ <expr>"Hollister, CA 95023"</expr>
+ <fontName>"Helvetica"</fontName>
+ <fontSize>14</fontSize>
+ <hAnchor>"left"</hAnchor>
+ <height>16</height>
+ <name>companyAddress1</name>
+ <vAlign>"top"</vAlign>
+ <vAnchor>"top"</vAnchor>
+ <Width>"2.875 in"</Width>
+ <x>"1.1 in"</x>
+ <y>"1.3275 in"</y>
+ </String>
+ <String>
+ <align>"left"</align>
+ <borderWidth>"0 pt"</borderWidth>
+ <expr>"(831) 636-9900"</expr>
+ <fontName>"Helvetica"</fontName>
+ <fontSize>14</fontSize>
+ <hAnchor>"left"</hAnchor>
+ <height>16</height>
+ <name>companyAddress1</name>
+ <vAlign>"top"</vAlign>
+ <vAnchor>"top"</vAnchor>
+ <Width>"2.875 in"</Width>
+ <x>"1.1 in"</x>
+ <y>"1.0975 in"</y>
+ </String>
+ <String>
+ <align>"right"</align>
+ <borderWidth>"0 pt"</borderWidth>
+ <expr>"Invoice"</expr>
+ <fontName>"Helvetica"</fontName>
+ <fontSize>36</fontSize>
+ <hAnchor>"right"</hAnchor>
+ <height>30</height>
+ <name>title</name>
+ <vAlign>"top"</vAlign>
+ <vAnchor>"top"</vAnchor>
+ <width>'2.9992 in'</width>
+ <x>self.Bands["pageHeader"]["width"]-1</x>
+ <y>self.Bands["pageHeader"]["height"]</y>
+ </String>
+ <Rectangle>
+ <fillColor>(.9, .9, .9)</fillColor>
+ <hAnchor>"right"</hAnchor>
+ <height>".2 in"</height>
+ <strokeWidth>".25 pt"</strokeWidth>
+ <width>"1 in"</width>
+ <x>self.Bands["pageHeader"]["width"]-1</x>
+ <y>"0.95 in"</y>
+ </Rectangle>
+ <String>
+ <align>"center"</align>
+ <expr>"Due"</expr>
+ <hAnchor>"right"</hAnchor>
+ <height>15</height>
+ <width>"1 in"</width>
+ <x>self.Bands["pageHeader"]["width"]-1</x>
+ <y>"1 in"</y>
+ </String>
+ <String>
+ <align>"center"</align>
+ <expr>"%s %s %s" % (self.duedate.day,
self.duedate.strftime("%b"), self.duedate.year)</expr>
+ <fontSize>12</fontSize>
+ <hAnchor>"Left"</hAnchor>
+ <height>15</height>
+ <width>"1 in"</width>
+ <x>'430.0 pt'</x>
+ <y>'0.7500 in'</y>
+ </String>
+ <Rectangle>
+ <fillColor>(.9, .9, .9)</fillColor>
+ <hAnchor>"right"</hAnchor>
+ <height>".2 in"</height>
+ <strokeWidth>".25 pt"</strokeWidth>
+ <width>"1 in"</width>
+ <x>self.Bands["pageHeader"]["width"]-1 - 72</x>
+ <y>"0.95 in"</y>
+ </Rectangle>
+ <String>
+ <align>"center"</align>
+ <expr>"Date"</expr>
+ <hAnchor>"right"</hAnchor>
+ <height>15</height>
+ <width>"1 in"</width>
+ <x>self.Bands["pageHeader"]["width"]-1 - 72</x>
+ <y>"1 in"</y>
+ </String>
+ <Rectangle>
+ <fillColor>(1, 1, 1)</fillColor>
+ <hAnchor>"right"</hAnchor>
+ <height>".3 in"</height>
+ <strokeWidth>".25 pt"</strokeWidth>
+ <width>"1 in"</width>
+ <x>self.Bands["pageHeader"]["width"]-1 - 72</x>
+ <y>"0.65 in"</y>
+ </Rectangle>
+ <String>
+ <align>"center"</align>
+ <expr>"%s %s %s" % (self.invdate.day,
self.invdate.strftime("%b"), self.invdate.year)</expr>
+ <fontSize>12</fontSize>
+ <hAnchor>"Left"</hAnchor>
+ <height>15</height>
+ <width>"1 in"</width>
+ <x>'359.0 pt'</x>
+ <y>'0.7500 in'</y>
+ </String>
+ <Rectangle>
+ <fillColor>(.9, .9, .9)</fillColor>
+ <hAnchor>"right"</hAnchor>
+ <height>".2 in"</height>
+ <strokeWidth>".25 pt"</strokeWidth>
+ <width>"1 in"</width>
+ <x>self.Bands["pageHeader"]["width"]-1 - 72 -
72</x>
+ <y>"0.95 in"</y>
+ </Rectangle>
+ <String>
+ <align>"center"</align>
+ <expr>"Invoice #"</expr>
+ <hAnchor>"right"</hAnchor>
+ <height>15</height>
+ <width>"1 in"</width>
+ <x>self.Bands["pageHeader"]["width"]-1 - 72 -
72</x>
+ <y>"1 in"</y>
+ </String>
+ <Rectangle>
+ <fillColor>(1, 1, 1)</fillColor>
+ <hAnchor>"right"</hAnchor>
+ <height>".3 in"</height>
+ <strokeWidth>".25 pt"</strokeWidth>
+ <width>"1 in"</width>
+ <x>self.Bands["pageHeader"]["width"]-1 - 72 -
72</x>
+ <y>"0.65 in"</y>
+ </Rectangle>
+ <String>
+ <align>"center"</align>
+ <expr>self.invnum</expr>
+ <fontSize>12</fontSize>
+ <hAnchor>"Left"</hAnchor>
+ <height>15</height>
+ <width>"1 in"</width>
+ <x>'287.0 pt'</x>
+ <y>'0.7500 in'</y>
+ </String>
+ <String>
+ <align>"center"</align>
+ <expr>"COPY"</expr>
+ <fontColor>(.7, .1, .1)</fontColor>
+ <fontSize>24</fontSize>
+ <hAnchor>"center"</hAnchor>
+ <height>"1 in"</height>
+ <rotation>33</rotation>
+ <show>self.Record["copy"] == True</show>
+ <width>"2 in"</width>
+ <x>self.Bands["pageHeader"]["width"]-1 - 72 -
72 - 60</x>
+ <y>"0.64 in"</y>
+ </String>
+ </Objects>
+ </pageHeader>
+
+ <detail>
+ <height>None</height>
+ <Objects>
+ <Rectangle>
+
<height>self.Bands["detail"]["TotalHeight"]</height>
+ <name>test2</name>
+ <strokeWidth>".25 pt"</strokeWidth>
+ <width>"7 in"</width>
+ <x>"0 in"</x>
+ <y>self.Bands["detail"]["Height"]</y>
+ <vAnchor>"top"</vAnchor>
+ </Rectangle>
+ <String>
+ <expr>"%s %s" % (self.Record["date"].day,
self.Record["date"].strftime("%b"))</expr>
+ <height>12</height>
+ <vAnchor>"top"</vAnchor>
+ <width>"0.60 in"</width>
+ <x>"0.025 in"</x>
+ <y>self.Bands["detail"]["height"]</y>
+ </String>
+ <Frameset>
+ <borderWidth>0</borderWidth>
+ <height>None</height>
+ <padBottom>4</padBottom>
+ <padTop>2</padTop>
+ <vAnchor>"top"</vAnchor>
+ <width>"4.6225 in"</width>
+ <x>"0.6075 in"</x>
+ <y>self.Bands["detail"]["height"]</y>
+ <objects>
+ <Paragraph>
+
<expr>self.Record["invdesc"]</expr>
+ <fontName>"Helvetica"</fontName>
+ </Paragraph>
+ </objects>
+ </Frameset>
+ <String>
+ <align>"right"</align>
+ <expr>self.Record["hours"]</expr>
+ <hAnchor>"right"</hAnchor>
+ <height>12</height>
+ <show>self.Record["mode"] == 1</show>
+ <vAnchor>"top"</vAnchor>
+ <width>'0.4166 in'</width>
+ <x>"5.6975 in"</x>
+ <y>self.Bands["detail"]["height"]</y>
+ </String>
+ <String>
+ <align>"right"</align>
+ <expr>"$%s" % int(self.Record["rate"])</expr>
+ <hAnchor>"right"</hAnchor>
+ <height>12</height>
+ <show>self.Record["mode"] == 1</show>
+ <vAnchor>"top"</vAnchor>
+ <width>'0.4166 in'</width>
+ <x>"6.2225 in"</x>
+ <y>self.Bands["detail"]["height"]</y>
+ </String>
+ <String>
+ <align>"right"</align>
+ <expr>locale.format("%.2f",
self.Record["amount"], True)</expr>
+ <hAnchor>"right"</hAnchor>
+ <height>12</height>
+ <vAnchor>"top"</vAnchor>
+ <width>'0.5832 in'</width>
+ <x>"6.925 in"</x>
+ <y>self.Bands["detail"]["height"]</y>
+ </String>
+ <Line>
+
<height>self.Bands["detail"]["TotalHeight"]</height>
+ <LineSlant>'|'</LineSlant>
+ <strokeColor>(.2,.2,.2)</strokeColor>
+ <strokeWidth>0.25</strokeWidth>
+ <Width>3</Width>
+ <x>".575 in"</x>
+ <y>self.Bands["detail"]["Height"]</y>
+ <vAnchor>"top"</vAnchor>
+ </Line>
+ <Line>
+
<height>self.Bands["detail"]["TotalHeight"]</height>
+ <LineSlant>'|'</LineSlant>
+ <strokeColor>(.2,.2,.2)</strokeColor>
+ <strokeWidth>0.25</strokeWidth>
+ <width>'2.0 pt'</width>
+ <x>"5.25 in"</x>
+ <y>self.Bands["detail"]["Height"]</y>
+ <vAnchor>"top"</vAnchor>
+ </Line>
+ <Line>
+
<height>self.Bands["detail"]["TotalHeight"]</height>
+ <LineSlant>'|'</LineSlant>
+ <strokeColor>(.2,.2,.2)</strokeColor>
+ <strokeWidth>0.25</strokeWidth>
+ <width>'2.0 pt'</width>
+ <x>"5.78 in"</x>
+ <y>self.Bands["detail"]["Height"]</y>
+ <vAnchor>"top"</vAnchor>
+ </Line>
+ <Line>
+
<height>self.Bands["detail"]["TotalHeight"]</height>
+ <LineSlant>'|'</LineSlant>
+ <strokeColor>(.2,.2,.2)</strokeColor>
+ <strokeWidth>0.25</strokeWidth>
+ <width>'2.0 pt'</width>
+ <x>"6.3 in"</x>
+ <y>self.Bands["detail"]["Height"]</y>
+ <vAnchor>"top"</vAnchor>
+ </Line>
+ </Objects>
+ </detail>
+
+ <pageFooter>
+ <Height>163.5</Height>
+ <objects>
+ <String>
+ <Align>"left"</Align>
+ <borderWidth>"0 pt"</borderWidth>
+ <expr>"Please make your check payable to 'Paul
McNett'. Thank you for your business!"</expr>
+ <fontItalic>True</fontItalic>
+ <fontName>"Helvetica"</fontName>
+ <FontSize>10</FontSize>
+ <hAnchor>"center"</hAnchor>
+ <Height>'0.1666 in'</Height>
+ <name>message</name>
+ <width>'5.4717 in'</width>
+ <x>'2.7525 in'</x>
+ <y>'0.2 pt'</y>
+ </String>
+ <Image>
+ <borderColor>(.7, .7, .7)</borderColor>
+ <borderWidth>".25 pt"</borderWidth>
+ <expr>"bizcard01_medium.jpg"</expr>
+ <hAnchor>"center"</hAnchor>
+ <height>"2 in"</height>
+ <mode>"scale"</mode>
+ <width>"3.5 in"</width>
+ <x>"3.5 in"</x>
+ <y>'0.2083 in'</y>
+ </Image>
+ <String>
+ <Align>"right"</Align>
+ <expr>"Page %s" % self.PageNumber</expr>
+ <FontName>Helvetica</FontName>
+ <FontSize>10</FontSize>
+ <hAnchor>"Left"</hAnchor>
+ <height>11.0</height>
+ <width>'63.244924093 pt'</width>
+ <x>'440.5 pt'</x>
+ <y>'0.2 pt'</y>
+ </String>
+ </objects>
+ </pageFooter>
+
+ <PageForeground>
+ <Objects></Objects>
+ </PageForeground>
+
+ <TestCursor>
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 27)" rate="Decimal("85.00")"
invdesc="u'Added a way to select for customers without a discount
structure in the customer select page.'" id="4794L" clientname="u'XYZ
Co., Inc.'" invoiceid="0L" subclientid="1001L"
fixedamount="Decimal("0.00")" duedate="datetime.date(2005, 11, 1)"
calculatedamount="106.25" hours="Decimal("1.25")"
timecode="u'230'" clientterms="u'Net 30'"
subclientname="u'XYZ Co., Inc.'" timecodeid="1002L"
timecodename="u'Custom Application Design and Programming'"
amount="Decimal("106.25")" mode="1" invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 27)" rate="Decimal("85.00")"
invdesc="u'Permanently deleted all the zzz customers, without saving
history, per Simones instructions.'" id="4795L" clientname="u'XYZ
Co., Inc.'" invoiceid="0L" subclientid="1001L"
fixedamount="Decimal("0.00")" duedate="datetime.date(2005, 11, 1)"
calculatedamount="15.300000000000001" hours="Decimal("0.18")"
timecode="u'230'" clientterms="u'Net 30'"
subclientname="u'XYZ Co., Inc.'" timecodeid="1002L"
timecodename="u'Custom Application Design and Programming'"
amount="Decimal("15.30")" mode="1" invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 29)" rate="Decimal("85.00")"
invdesc="u'Added a fax attachment feature to memos.'" id="4803L"
clientname="u'XYZ Co., Inc.'" invoiceid="0L" subclientid="1001L"
fixedamount="Decimal("0.00")" timecodename="u'Custom Application
Design and Programming'" calculatedamount="91.799999999999997"
hours="Decimal("1.08")" timecode="u'230'"
clientterms="u'Net 30'" subclientname="u'XYZ Co., Inc.'"
timecodeid="1002L" amount="Decimal("91.80")" mode="1"
invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 29)" rate="Decimal("85.00")"
invdesc="u'Add select page in printing of labels, so that labels can be
printed by product line for sending out the Pinnacle Book.'" id="4804L"
clientname="u'XYZ Co., Inc.'" invoiceid="0L" subclientid="1001L"
fixedamount="Decimal("0.00")" duedate="datetime.date(2005, 11, 1)"
calculatedamount="136.0" hours="Decimal("1.60")"
timecode="u'230'" clientterms="u'Net 30'"
subclientname="u'XYZ Co., Inc.'" timecodeid="1002L"
timecodename="u'Custom Application Design and Programming'"
amount="Decimal("136.00")" mode="1" invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 29)" rate="Decimal("85.00")"
invdesc="u'Continued working on the fax attachment project.'"
id="4805L" clientname="u'XYZ Co., Inc.'" invoiceid="0L"
subclientid="1001L" fixedamount="Decimal("0.00")"
duedate="datetime.date(2005, 11, 1)" calculatedamount="112.2"
hours="Decimal("1.32")" timecode="u'230'"
clientterms="u'Net 30'" subclientname="u'XYZ Co., Inc.'"
timecodeid="1002L" timecodename="u'Custom Application Design and
Programming'" amount="Decimal("112.20")" mode="1"
invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 29)" rate="Decimal("85.00")"
invdesc="u'Continued working on the fax attachment project.'"
id="4807L" clientname="u'XYZ Co., Inc.'" invoiceid="0L"
subclientid="1001L" fixedamount="Decimal("0.00")"
duedate="datetime.date(2005, 11, 1)" calculatedamount="82.450000000000003"
hours="Decimal("0.97")" timecode="u'230'"
clientterms="u'Net 30'" subclientname="u'XYZ Co., Inc.'"
timecodeid="1002L" timecodename="u'Custom Application Design and
Programming'" amount="Decimal("82.45")" mode="1"
invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 29)" rate="Decimal("85.00")"
invdesc="u'Updating new version of application, and rebuilding
database.'" id="4808L" clientname="u'XYZ Co., Inc.'"
invoiceid="0L" subclientid="1001L" fixedamount="Decimal("0.00")"
duedate="datetime.date(2005, 11, 1)" calculatedamount="36.549999999999997"
hours="Decimal("0.43")" timecode="u'230'"
clientterms="u'Net 30'" subclientname="u'XYZ Co., Inc.'"
timecodeid="1002L" timecodename="u'Custom Application Design and
Programming'" amount="Decimal("36.55")" mode="1"
invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 6)" rate="Decimal("85.00")"
invdesc="u'More changes to the Pinnacle Book, per Simone.'"
id="4733L" clientname="u'XYZ Co., Inc.'" invoiceid="0L"
subclientid="1001L" fixedamount="Decimal("0.00")"
duedate="datetime.date(2005, 11, 1)" calculatedamount="161.5"
hours="Decimal("1.90")" timecode="u'260'"
clientterms="u'Net 30'" subclientname="u'XYZ Co., Inc.'"
timecodeid="1020L" timecodename="u'Document Design (Word, Excel, Adobe
Products, etc.)'" amount="Decimal("161.50")" mode="1"
invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 9)" rate="Decimal("85.00")"
invdesc="u'With Simone finalizing the strip sheets of the Pinnacle
Book.'" id="4736L" clientname="u'XYZ Co., Inc.'" invoiceid="0L"
subclientid="1001L" fixedamount="Decimal("0.00")"
duedate="datetime.date(2005, 11, 1)" calculatedamount="127.5"
hours="Decimal("1.50")" timecode="u'260'"
clientterms="u'Net 30'" subclientname="u'XYZ Co., Inc.'"
timecodeid="1020L" timecodename="u'Document Design (Word, Excel, Adobe
Products, etc.)'" amount="Decimal("127.50")" mode="1"
invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 14)" rate="Decimal("85.00")"
invdesc="u'Capturing images from the primed component CD for the new
Primed Component document, and then meeting with Simone preparing an initial
version of the document, and finalizing the Pinnacle Book.'" id="4741L"
clientname="u'XYZ Co., Inc.'" invoiceid="0L" subclientid="1001L"
fixedamount="Decimal("0.00")" duedate="datetime.date(2005, 11, 1)"
calculatedamount="226.94999999999999" hours="Decimal("2.67")"
timecode="u'260'" clientterms="u'Net 30'"
subclientname="u'XYZ Co., Inc.'" timecodeid="1020L"
timecodename="u'Document Design (Word, Excel, Adobe Products, etc.)'"
amount="Decimal("226.95")" mode="1" invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 19)" rate="Decimal("85.00")"
invdesc="u'Preparing Pinnacle Book CD for submission to the
printers.'" id="4786L" clientname="u'XYZ Co., Inc.'"
invoiceid="0L" subclientid="1001L" fixedamount="Decimal("0.00")"
duedate="datetime.date(2005, 11, 1)" calculatedamount="100.3"
hours="Decimal("1.18")" timecode="u'260'"
clientterms="u'Net 30'" subclientname="u'XYZ Co., Inc.'"
timecodeid="1020L" timecodename="u'Document Design (Word, Excel, Adobe
Products, etc.)'" amount="Decimal("100.30")" mode="1"
invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 13)" rate="Decimal("85.00")"
invdesc="u'On site assessing noise in fax server: bad cpu fan. Also
discussing component brochure and other items with Simone.'" id="4739L"
clientname="u'XYZ Co., Inc.'" invoiceid="0L" subclientid="1001L"
fixedamount="Decimal("0.00")" duedate="datetime.date(2005, 11, 1)"
calculatedamount="63.75" hours="Decimal("0.75")"
timecode="u'210'" clientterms="u'Net 30'"
subclientname="u'XYZ Co., Inc.'" timecodeid="1634L"
timecodename="u'System Setup / Upgrades'"
amount="Decimal("63.75")" mode="1" invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 13)" rate="Decimal("85.00")"
invdesc="u'On site removing and replacing cpu fan in the faxserver, and
discussing the component brochure and other items with Simone.'"
id="4740L" clientname="u'XYZ Co., Inc.'" invoiceid="0L"
subclientid="1001L" fixedamount="Decimal("0.00")"
duedate="datetime.date(2005, 11, 1)" calculatedamount="159.80000000000001"
hours="Decimal("1.88")" timecode="u'210'"
clientterms="u'Net 30'" subclientname="u'XYZ Co., Inc.'"
timecodeid="1634L" timecodename="u'System Setup / Upgrades'"
amount="Decimal("159.80")" mode="1" invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 19)" rate="Decimal("85.00")"
invdesc="u'The source code for the XYZ custom application and for the
pricebooks is saved in what is known as a source control repository. Every
change is logged, and if something goes wrong Ill be able to revert to a prior
revision. I needed to spend a couple hours doing some repository maintenance
and cleanup - this is something that doesnt need to happen more than once a
year or so.'" id="4743L" clientname="u'XYZ Co., Inc.'"
invoiceid="0L" subclientid="1001L" fixedamount="Decimal("0.00")"
duedate="datetime.date(2005, 11, 1)" calculatedamount="170.0"
hours="Decimal("2.00")" timecode="u'210'"
clientterms="u'Net 30'" subclientname="u'XYZ Co., Inc.'"
tim
ecodeid="1634L" timecodename="u'System Setup / Upgrades'"
amount="Decimal("170.00")" mode="1" invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 20)" rate="Decimal("85.00")"
invdesc="u'On site delivering Jerrys new computer to the server room for
off-site confuration. Discussing various customer-account issues with Carol:
numbering in the custom app versus in MAS90.'" id="4750L"
clientname="u'XYZ Co., Inc.'" invoiceid="0L" subclientid="1001L"
fixedamount="Decimal("0.00")" duedate="datetime.date(2005, 11, 1)"
calculatedamount="127.5" hours="Decimal("1.50")"
timecode="u'210'" clientterms="u'Net 30'"
subclientname="u'XYZ Co., Inc.'" timecodeid="1634L"
timecodename="u'System Setup / Upgrades'"
amount="Decimal("127.50")" mode="1" invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 21)" rate="Decimal("85.00")"
invdesc="u'Setting up Jerrys new system. Had to go back on site because
the computer must have lost power - needed to reboot. Also had to turn off the
computers firewall for the setup process.'" id="4787L"
clientname="u'XYZ Co., Inc.'" invoiceid="0L" subclientid="1001L"
fixedamount="Decimal("0.00")" duedate="datetime.date(2005, 11, 1)"
calculatedamount="55.25" hours="Decimal("0.65")"
timecode="u'210'" clientterms="u'Net 30'"
subclientname="u'XYZ Co., Inc.'" timecodeid="1634L"
timecodename="u'System Setup / Upgrades'"
amount="Decimal("55.25")" mode="1" invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 22)" rate="Decimal("85.00")"
invdesc="u'Continuing with the setup of Jerrys system. DHCP, DNS, Samba,
Athosfax, XYZ, and began downloading OpenOffice 1.1.5. '" id="4788L"
clientname="u'XYZ Co., Inc.'" invoiceid="0L" subclientid="1001L"
fixedamount="Decimal("0.00")" duedate="datetime.date(2005, 11, 1)"
calculatedamount="95.200000000000003" hours="Decimal("1.12")"
timecode="u'210'" clientterms="u'Net 30'"
subclientname="u'XYZ Co., Inc.'" timecodeid="1634L"
timecodename="u'System Setup / Upgrades'"
amount="Decimal("95.20")" mode="1" invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'7646
Q. Way'" invdate="datetime.date(2005, 10, 1)" clientid="1001L"
date="datetime.date(2005, 9, 23)" rate="Decimal("85.00")"
invdesc="u'Continued setting up Jerrys system. OpenOffice.org, Firefox,
Thunderbird, icons, XYZ, Athosfax.Then went on site to finalize the setup at
Jerrys desk.'" id="4790L" clientname="u'XYZ Co., Inc.'"
invoiceid="0L" subclientid="1001L" fixedamount="Decimal("0.00")"
duedate="datetime.date(2005, 11, 1)" calculatedamount="246.5"
hours="Decimal("2.90")" timecode="u'210'"
clientterms="u'Net 30'" subclientname="u'XYZ Co., Inc.'"
timecodeid="1634L" timecodename="u'System Setup / Upgrades'"
amount="Decimal("246.50")" mode="1" invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'23
South Fork'" invdate="datetime.date(2005, 10, 1)" clientid="1011L"
date="datetime.date(2005, 9, 23)" rate="Decimal("95.00")"
invdesc="u'Went on site: Monica called that computer is shutting down
regularly while she is working. I reconnected the monitor and computer to the
battery unit, but never witnessed the problem myself.'" id="4792L"
clientname="u'Petroleum Supply, Inc.'" invoiceid="0L"
subclientid="1011L" fixedamount="Decimal("0.00")"
duedate="datetime.date(2005, 11, 1)" calculatedamount="42.75"
hours="Decimal("0.45")" timecode="u'270'"
clientterms="u'Net 30'" subclientname="u'Petroleum Supply,
Inc.'" timecodeid="1004L" timecodename="u'General Consulting'"
amount="Decimal("42.75")" mode="1" invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'23
South Fork'" invdate="datetime.date(2005, 10, 1)" clientid="1011L"
date="datetime.date(2005, 9, 27)" rate="Decimal("125.00")"
invdesc="u'2-256 MB RAM modules from my inventory.'" id="4799L"
clientname="u'Petroleum Supply, Inc.'" invoiceid="0L"
subclientid="1011L" fixedamount="Decimal("100.00")"
duedate="datetime.date(2005, 11, 1)" calculatedamount="0.0"
hours="Decimal("0.00")" timecode="u'900'"
clientterms="u'Net 30'" subclientname="u'Petroleum Supply,
Inc.'" timecodeid="1080L" timecodename="u'Misc. Expense'"
amount="Decimal("100.00")" mode="2" invnum="'12345'" />
+ <record clientaddress3="u''"
clientaddress2="u'Hollister, CA 95023'" clientaddress1="u'23
South Fork'" invdate="datetime.date(2005, 10, 1)" clientid="1011L"
date="datetime.date(2005, 9, 28)" rate="Decimal("95.00")"
invdesc="u'Replacement power supply for one in the computer that is
failing, charged to my credit card.'" id="4802L"
clientname="u'Petroleum Supply, Inc.'" invoiceid="0L" subclien
(11630 bytes were truncated as it was too long for the email (max 40000 bytes.)
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message:
http://leafe.com/archives/byMID/[email protected]