![]() |
sponsored links |
|
|
sponsored links
|
|
|
2
3rd April 22:35
External User
Posts: 1
|
In article <1129760174.850779.214750@g47g2000cwa.googlegroups .com>,
sug@evworks.com says... Portals on printouts that span multiple pages and slide around rarely work well. One thing to remember is that 'sliding' printing will always leave space between portals intact, even when it works it just collapses 'the size of the object'. So if one of the portals is empty, even if it collapses to nothing it will still have extra space between it and the next portal. You may also need to 'reduce the size of the enclosing part' to resolve some of the issues. Unfortunately large portals just don't seem to slide/condense well, and the usual advice is to avoid using them. Given that you are trying to show data from multiple dynamic portals in a single report you are right, you can't build the layout in the portals table however there are a couple options: 1) Do you really need it to be all on one report? If the report is large, and the portals each may span multiple pages it might make sense to just create it as 4 distinct reports: script a batch print: pritn report 1 print report 2 print report 3 print report 4 2) If the amount of data is reasonably small, you could consider exporting it all into a 'utility table' for handling the print out. Define separate fields for each import, and then on the layout, overlay each set of fields as needed. It sounds kludgy (and it is) but for reasonably small data sets ( say <100 to 200 records) the performance hit for the export is minimal, and it works brilliantly. e.g. you have 2 tables: addresses, friends addresses = {addressline1, line2, city, province, postal code} friends = {name first, name last, phone number, email} utilitytable = {type, al1, al2, city, prov, postalcode, nfirst, nlast, phonenumber, email} (use all text fields regardless of what they are in the real database) script: delete all records in the utility table get found set of addresses to print import address to utility tables "address" fields replace type = "10-address" get found set of friends to print import friends to utility tables "friend" fields replace type = "30-friends" new record set field type "20-blankRow" find all sort by type the actual layout will be a simple body, with ALL the fields on it. The friend fields will be blank for the address rows, and vice versa so even though all the fields are on 'every record' you can't see them, and for printout it doesn't matter. You add header rows by creating new records, and settign the fields apprpriately... e.g. to put a header row between the blank row and the friends row: new record set field type = "25-friends header" set field nfirst = "First Name" set field nlast = "Last Name" .... .... You can also make the record types vary in height if necessary by using the sliding/printing options. Anyhow, its a pain because of all the overlapping fields, and you'll want to "group" the fields so you can drag an entire "layout" in and out to work on it. Of course, if it happens that the portals are all very similiar, there's no reason you can't reuse the fields over and over. -regards, Dave |
|
|