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.

Featured Replies

  • Newbies

Is there any way to give regular users a way to create and modify simple merge documnets? Anyway to fake it?

The only thing I could think of is a kludge of nested Substitute and GetField functions, but it's not as dynamic as I would like.

How dynamic do you want it? The nested substitute function method works pretty well. You can't do anything about text styles though. But, you can give the user the ability to create any body text and use any data fields in any position. What kind of features are you looking for?

  • Newbies

If you put the 'raw' merg text into a global field, and have placemarkers for the fields, using square brackets (or some such) around them to differentiate them from the rest of the text, a merge can be totally dynamic.

You have a 'compose' layout and can include a bunch of buttons to auto-insert field placmarkers at the current cursor position in the field. Plus you can have placemarkers for current date and time and other system variables.

Then you simply need a corresponding script to generate the output text (preferably to a related 'letters log' file).

No need to use 'GetField'. No need to nest. Just use a series of Set Field steps one after the other, each dealing with the insertion of a single field in place of the corresponding placemarker. It's dead easy to set up and easy to maintain.

Set Field [ LetterLog::BodyText, gLetterOne ]

Set Field [ LetterLog::BodyText, Substitute(LetterLog::BodyText, "[FirstName]", FirstName ]

Set Field [ LetterLog::BodyText, Substitute(LetterLog::BodyText, "[LastName]", LastName ]

Set Field [ LetterLog::BodyText, Substitute(LetterLog::BodyText, "[DateDue]", DateDue ]

Set Field [ LetterLog::BodyText, Substitute(LetterLog::BodyText, "[CurrentDate]", DateToText(Status(CurrentDate)) ]

etc...

Looks pretty dynamic to me. wink.gif

  • 8 months later...
  • Newbies

I hoped to find a way to somehow use the FieldNames(dbname, "") design function to somehow accomplish this. I'm still looking.

Nested/Sequential substitute is adequate, but some function/calc that would replace any occurrence of any field name with the contents of that field would make it truly dynamic and maintenance free.

Create an account or sign in to comment

Important Information

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

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.