Re: Printing multiiple lines on a standardized form

Keith Canniff
 

Sherm,

 

Yeah Fixed Size = No will give you only a table the height of the actual rows populated and will cause everything around it to move.

 

As for the text around the table. You can’t

  1. Define an RTF (or on RTF) control that’s certain fixed height and width and have it do word wrap? Obviously it has to be large enough to handle the total text you’re going to have. It will a text field’s size (let’s say 100) and then init it with 100 “W”s to see if the control is large enough to handle the maximum content.

 

So you have a fixed size table and a fixed size control… both than can contain a varying about of data. This should keep the form from adjusting its size.

 

I’ve had some fairly complex full page forms in the past that I’ve been able to consistently put out the same form. So much so that the were used to import into an OCR scan where the data had to remain in the same areas for it to pick up certain information.

 

Keith

 

From: main@magicu-l.groups.io <main@magicu-l.groups.io> On Behalf Of sherman levine
Sent: Sunday, March 22, 2020 9:18 AM
To: main@magicu-l.groups.io
Subject: Re: [magicu-l] Printing multiiple lines on a standardized form

 

Keith

 

Fix size table=Yes works perfectly, but ends up with a blank are where I need to put the section for totals (which need to follow the details, and only on the last page). 

 

Fix size table=No is funky - and I suspect the problem relates to the text controls which are alongside the table.

If I print with an 8" vertical form, the form actually expands vertically beyond 8" (with a blank area at the bottom).  Magic has always had a problem dealing with vertically expanding controls (in this case the table) next to other controls, and this is probably just another example.

 

Probably simplest for me to limit myself to fixed-width text and go the RTF route

 

Thanks for your help. 

 

Sherm

 

On 3/22/2020 8:45 AM, Keith Canniff wrote:

Sherm,

 

Try the following. From the Data Repository do a Ctrl+G on your table, tell it to generate a “Print” output. Not sure if 9.4 did this but XPA will generate an output with a table control in a form, but I’m sure you have a copy of XPA around you could do this with just to verify

 

I would then:

  • expand the form (Change to inches from Dialog Units, and make it 8.5 x 11… or the Dialog Unit equivalent)
  • expand the table size to the 9 rows you want
  • change the table control properties to “Fix size table = Yes”
  • Move the table on the form approximately where you want it before entering all the other fields around it
  • Change the output to Preview so you can see it on the screen
  • Run it

 

You should get the desired output… at least you do in XPA.

 

Note: There should only be one form and it should be a “Detail” area and Expand Form = No

 

Keith

 

From: main@magicu-l.groups.io <main@magicu-l.groups.io> On Behalf Of sherman levine
Sent: Sunday, March 22, 2020 5:34 AM
To: main@magicu-l.groups.io
Subject: Re: [magicu-l] Printing multiiple lines on a standardized form

 

Keith,

 

Thanks. Got it working

 

Output form needed to be set to Auto instead of Top (of course)

 

Also I needed to set table height to fixed, otherwise it would print just 2 records per page and pull the bottom text up to below the 2-record table instead of at the bottom of the page. I might be able to handle the text shift via a separate form, but I'm not sure why it printed just 2 records per page.  Any thoughts?

 

Sherm

 

On 3/21/2020 11:17 PM, sherman levine wrote:

Just tried it (not much to do here these days).

Gives me one record per page.

Sherm

 

On 3/21/2020 10:49 PM, Sherman Levine wrote:

Really? I’ll give that a try tomorrow. 

Thanks

Sherm

 




On Mar 21, 2020, at 22:35, Keith Canniff <kcanniff@...> wrote:



Sherrm

You should be able to define the entire page as a single form with a table control in the middle just like an online screen.

The table control has 7 columns in it.

If you have less than 9 records the remainder of the 9 rows will be blank and so any fields outside the table will print in the same location

If there are more than 9 items then Magic will automatically start a new page with table continuing from record 10-19 and so on.

Is that what you're looking for?

Keith


From: main@magicu-l.groups.io <main@magicu-l.groups.io> on behalf of sherman levine <sherman.levine@...>
Sent: Saturday, March 21, 2020 10:11:09 PM
To: main@magicu-l.groups.io <main@magicu-l.groups.io>
Subject: [magicu-l] Printing multiiple lines on a standardized form

 

This is a 9.4 question, but I suspect it's still relevant to newer releases.

I have a form (in this case a Bill of Lading) which includes a fixed
height table plus lots of fixed text above, to the right, and below the
table.

  In this case, the table consists of up to 9 line items, each of which
has 7 fields.

Now, I've handled this in the past by putting 63 virtuals on the form, 
populating them by scanning a table and doing a bunch of varsets (in
this case 7) for each of the 9 line items, then printing the page etc.

It works, but lacks grace and elegance.

An alternative approach is to use 9 RTF edit controls, and synthesize
one RTF string for each line item.  That actually works quite nicely. I
can mix font sizes and styles, but I'm limited to fixed-width fonts if I
want the columns to align. (For those who want to try this, its easiest
to build a test line as a RTF text control, export the Magic task, and
see what the Magic-acceptable RTF looks like, then copy and replace)

I was wondering if anybody had found a better solution.

Thanks

Sherm





 

 

 

Virus-free. www.avast.com

 

Join main@magicu-l.groups.io to automatically receive all group messages.