+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Baby Steps - Slightly more complex report layout


(Matthew Fuerst) #1

Greetings all,

Hopefully this will be a simple question for my fellow Combit users out there.

I’m making a more complex report (which is still pretty simplistic I believe) than I’ve done before, so I’m not sure how to get it to layout and flow properly.

I’ve attached a link that shows a screen capture of the report as I currently have it designed in the Combit report designer. Even without looking at the report, I’ll quickly describe it.

The report is broken in to 3 sections. Section 1 is the header that gives some basic information about a task (the name of the task, hours it is expected to take to complete, the name of the customer, etc…). Section 1 is a fixed size - it consumes about the top 5 inches (~12.7 cm) of the sheet. Right now, everything in Section 1 are basically Combit Text objects with the property set to only show on the first page.

Section 2 and 3 are tables. Section 2 may run long enough to run in to page 2, but typically will be fairly small. Section 3 will often be quite extensive, possibly several pages worth.

Right now when I run the report, the tables stay in their “fixed” position on pages 2 and beyond, instead of just “flowing”. Section 1 correctly does not show up on the top 5" of the pages, but instead it’s just blank space.

By “flowing” I mean I want the table in Section 2 to start right after the fixed length of Section 1, run as long as it takes to output the data (flowing to the top of page 2 if it consumes all of page 1) with section 3 following suit (consuming the entire length of the page).

I imagine I need to use layers to achieve this, but am not fully certain. Should I put Section 2 on it’s own layer, and then Section 3 on it’s own layer?

If you could recommend a chapter or section of the manual, or maybe an included Combit example that does this that should be more than enough to point me in the right direction.


(Andrew Riebe) #2

I have accomplished this like this:

  1. create 2 user variables. The first should be the distance from the top of the page. The second should be the distance between the top margin and the top of your report container. I usually name them TopMargin and HeaderHeight
  2. create a 3rd variable that has a conditional formula that will look at the page height and subtract the top margin and the header height. Something like this Val(LL.Device.Page.Size.cy-@TopMargin-@HeaderHeight). Trust me, you will want this wrapped in the Val function
  3. create a 4th variable that is a copy of the last, but only do the top margin like this: Val(LL.Device.Page.Size.cy-@TopMargin)

Finally, you can use conditional formulas to assign the location and height of the report container based on the page number.

Hope this helps (sorry for the bad formatting…on my phone right now)


(combit Support - Erdal Alacali) #3

Dear Matthew,
thank you for your note.

The best and recommended solution is to use the ReportContainer, when you use the ReportContainer you can add the tables in the container and they will printed one after one.
To change the startposition you have to link the items, best practice is to use an dummy-rectangle (condition = Page()=1) the height of the rectangle must be the height of your section 1 then you have to link the rectangle with the ReportContainer or table.

Linking steps:
Interlinktype: Individual size and position adaption
Vertical Interlink> Position Adaptation: Relative to end
Vertical Interlink> Size fit: Vertical

To set the rectangle invisible only change the border to “Transparent”.

To see how it works i recommend to take a look into our DemoApplicaton, to see the linking sample you have to open the invoice case.

Kind regards

Erdal Alacali
Technical support
combit GmbH