Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Text splitting across page boundaries

Featured Replies

Can one stop lines of text being shaved when printing portals across page boundaries?

I am trying to print a directory of departments with department members appearing in a portal below each department field. All fields slide up to produce a continuous list and the 'Allow part to break across page boundaries' is checked.

On some pages the top of a portal row prints at the foot of one page (the top of the characters), and the bottom appears on the next page. It appears FM does not know how to deal with widows and orphans.

Preventing the part breaking is not an answer as this will mean some pages are only half full (where the following portal has many rows and is forced onto the next page).

I'd be grateful for any help on this.

This has always been a limitation of portals. FileMaker can't seem to figure out exactly where the rows end when printing. The standard answer to your question is, "Print from a line items table layout." You can always access "parent" data from the line item. You can sort by the parent, putting its fields in a Subsummary part, in order to "group" the data.

The only time this becomes a problem is if you have portals from different tables on the parent layout, and want to print them all; since they'd be pointing to different line item tables.

If you have FileMaker Pro Advanced, there are custom functions which can transform portal (related) data into a calculation text field, such as GetRows(). But you don't appear to have FileMaker Pro Advanced, so you can't use that technique.

  • Author

Fenton

Thanks for this.

I do in fact have 8.5 Advanced (i thought I'd checked this but obviously not!) - could you tell me more about the custom functions that could be used?

Many thanks

Mike Owen

Even a large text block will still have problems when it is spread across multiple pages.

It's much better in 8.5 but I have struggled for years to get a decent "fit" on the page.

The GetRows() custom function can be found on Brian Dunning's web site, and it also needs the GetNthRow() - all can be found at

http://www.briandunning.com

Thanks for the heads up by Fenton - I never realised there were so many custom functions around.

I've sometimes found that putting the field on the layout as a Merge field helps. The GetRows() Custom Function has a somewhat unique syntax. Example:

Let (

N = Count ( Invoice Line::Item_num );

GetRows ( "Invoice Line::Manufacturer ¶ Invoice Line::Item_num ¶ Invoice Line::Product Name"; N ; Tab )

)

You put return-separated fields AS TEXT into it. Because it wants the field names, not the values in the field. This means that those field names are hard-coded, so don't change the names afterwards.

The Tab at the end is just a Custom Function where I pasted a real tab character into. This allowed me to use tabs in the calculation result to separate the fields.

Looks like:

Inventory_wCF.png

  • Author

Thanks to both of you - plenty of ideas to find a solution from.

Mike Owen

Create an account or sign in to comment

Important Information

By using this site, you agree to our Terms of Use.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.