dabo Commit
Revision 5217
Date: 2009-05-15 14:24:36 -0700 (Fri, 15 May 2009)
Author: Paul
Trac: http://trac.dabodev.com/changeset/5217
Changed:
U branches/paul_reporting/dabo/lib/reportWriter.py
Log:
More work on the report writer para problem. It feels like it's getting closer.
John's sample seems to print sanely, although I'm not sure if the missing data
problem persists.
Diff:
Modified: branches/paul_reporting/dabo/lib/reportWriter.py
===================================================================
--- branches/paul_reporting/dabo/lib/reportWriter.py 2009-05-13 23:27:01 UTC
(rev 5216)
+++ branches/paul_reporting/dabo/lib/reportWriter.py 2009-05-15 21:24:36 UTC
(rev 5217)
@@ -1546,7 +1546,7 @@
y -= bandHeight
if band == "detail":
- print "maxBandHeight, deferred:",
maxBandHeight, bool(deferred)
+ print "(detail band) page, record,
maxBandHeight, deferred:", self.PageNumber, self.RecordNumber,maxBandHeight,
bool(deferred)
# Non-detail band special cases:
if band == "pageHeader":
@@ -1570,7 +1570,9 @@
del_deferred_idxs = []
objects = bandDict.get("Objects", [])
+ was_deferred = False
if deferred:
+ was_deferred = True
objects = deferred
for idx, obj in enumerate(objects):
if isinstance(obj, tuple):
@@ -1634,12 +1636,22 @@
for idx in del_deferred_idxs:
del(deferred[idx])
- if deferred:
+ if was_deferred and not deferred:
+ # just printed the last page of deferreds
+ print "!!!", y, maxBandHeight, bandHeight
+ return y - maxBandHeight
+
+ elif deferred:
# the deferred objs will print on the next
page. RECURSE WARNING.
dy = printBand(band=band, y=-1, group=group,
deferred=deferred)
- y -= (maxBandHeight-bandHeight)
- print y, maxBandHeight, bandHeight
- return y
+ print "returned from printing deferred", dy
+ return dy
+ else:
+ # no deferreds ever involved
+ y -= (maxBandHeight-bandHeight)
+ if band == "detail":
+ print "(returning y from detail) page,
record, y, maxBandHeight, bandHeight:", self.PageNumber, self.RecordNumber, y,
maxBandHeight, bandHeight
+ return y
def beginPage():
@@ -1721,10 +1733,10 @@
y = printBand("groupHeader", y, group)
- print "printing detail...", self.PageNumber,
self.RecordNumber, y
+ print "printing detail (page, recordnumber, y)...",
self.PageNumber, self.RecordNumber, y
# print the detail band:
y = printBand("detail", y)
- print "...done printing detail", self.PageNumber,
self.RecordNumber, y
+ print "...done printing detail(page, recordnumber, y)",
self.PageNumber, self.RecordNumber, y
self._recordNumber += 1
_______________________________________________
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]