Over 46,000+ Business Solution Developers Find answers, ask questions, and connect with our community of business solutions developers, business owners and partners.
Over the course of its development, a FileMaker custom solution takes on many shapes. Its schema grows, shrinks, twists and bends to fit the needs of its design. Keeping the design of the solution simplified is a challenge, but ultimately leads to a good foundation for a developer to stand on. To aid with this simplification, FileMaker offers a powerful tool for the developer’s toolbelt: custom functions. Custom functions are as you would expect – they are FileMaker functions that are custom defined by the developer and can do anything the developer programs them to do. Our Custom Functions videos go into detail about five different types of custom functions that you, as a developer, can utilize in your solution.
Take a look at our Must Have Custom Functions video series to learn more about what custom functions can do to simplify and streamline your development work.
Part 1- Fields and Parameters
Our first Custom Functions video covers using custom functions to handle field and parameter data. One such function is “GetNamedValue”, which provides the value belonging to a key-value pair’s key, when given a list of key-value pairs.
This is quite handy when you are passing lots of different data through a single parameter from one script to another and want to ensure you get the right one.
We have made use of this function in conjunction with another pair of custom functions: Compress and Expand. The Compress custom function takes the new line character (commonly called “pilcrow” or “carriage return”) and replaces it with the special character called “no-break space” that looks like a space character but is functionally distinct. The Expand custom function does just the opposite, returning that non-breaking space character back into its original pilcrow state. When used together, the Compress and Expand custom functions help protect against value-based parsing errors that would arise when passing data that contains multiple lines. This is quite handy!