Jump to content


Popular Content

Showing content with the highest reputation since 03/02/2020 in all areas

  1. 1 point
    Hi BCooney, Tutorial on using the package makes a huge difference - no, I didn't watch it before (hangs head in shame). Thanks, Greg
  2. 1 point
    This might be helpful https://www.geistinteractive.com/2018/03/13/filemaker-json-parsing-generator/
  3. 1 point
    The problem here is not curly braces, but square brackets. Same as with your previous question, these signify an array whose objects need to be accessed by their index number. In this case there is only one object, so the expression: JSONGetElement ( $$_JSON ; "list[0].weather[0].id" ) will return 801. Do note that list is also an array and it contains no less than 40 objects. The above expression extracts the weather id value from the first object only. Not all objects have the same weather id value, for example: JSONGetElement ( $$_JSON ; "list[2].weather[0].id" ) returns 800. How to solve such problems in general: It is very convenient to use the JSONListKeys() function to analyze the given JSON and help to select the next step in your keyOrIndexOrPath expression. Starting with an empty path, the expression: JSONListKeys ( $$_JSON ; "" ) returns: city cnt cod list message If you pick list, then: JSONListKeys ( $$_JSON ; "list" ) will tell you there are 40 objects to pick from. If you pick the first one, then: JSONListKeys ( $$_JSON ; "list[0]" ) will return: clouds dt dt_txt main sys weather wind Next: JSONListKeys ( $$_JSON ; "list[0].weather" ) returns "0". This is how we know it's an array containing a single object. And finally: JSONListKeys ( $$_JSON ; "list[0].weather[0]" ) gives us: description icon id main allowing us to construct the final path used above. -- Note that the dots after the index predicate are optional; the expression: JSONGetElement ( $$_JSON ; "list[0]weather[0]id" ) will work just as well.
  4. 1 point

    Version 1.0.0


    Wim Decorte and I are pleased to announce release of Addendum2 in our oAuth series for the Claris FileMaker Platform. This one focuses on the use of the OneLogin IDaaS service.


  5. 1 point
    you need to change the sub summary on the layout to that of the new number field. Then sorting by the ProductType isn't necessary you are sorting by Category and ProductTypeNumber.
  6. 1 point
    I believe you have missed the edit to my previous post.
  7. 1 point
    I am not able to reproduce this behavior. Can you provide a step-by-step description of what you are doing? EDIT: I managed to get the error when trying to use the * or # operators (but not the = operator). To get around this, use a numeric expression - e.g. search for > 99 to find entries with 3 or more digits.
  8. 1 point
    There isn't. But it sounds like there is an opportunity to change the design a little. If you find that many fields are repeated across the panels then add them outside the tab panel object so that you don't need to repeat it. Resize the tab panel and use it only for those pieces of information that are different.
  9. 1 point
    Try ScribeDifferenceReport: https://static.360works.com/plugins/Scribe/documentation.html#ScribeDifferenceReport
  10. 1 point
    Does this work the way you expect? A_Better_Example.fmp12
  11. 1 point
    Hi Kent, As long as the session to QB is opened the number of stacks should not have an effect. There is a chance that something within the stack in between could have caused the connection to end early, or interfere with the data. It is great to hear you got it working though! If you wish to investigate it further, then I suggest closely looking at the second call stack to see if you can spot anything that may cause one of these issues. Also, another option is to view the Windows event logs and, if you are lucky, it could show a bit more information about the error. Thanks! PCIPal
  12. 1 point
    Ideally you would click on a button on the message go to a related detail page of the message and have yet another portal to the recipient each person would get their own record - if you intending to send these out then they have an independent timestamp or respond for the target person. You could create some portal or other button bar to add each person to the join table, and a means to remove them from the list (if added in error)
  13. 1 point
    Hi Kent, This error indicates a FileMaker or system error generated by FileMaker. The best recommendation is to review and walk through the scripts to find where the error is occurring. As a general rule of thumb, if the dialog box or error box has a red X icon, (i) symbol, or an <!> icon it is a system generated error. Thanks, PCIPal
  14. 1 point
    And in one of these posts you'll find me saying that if a method is not reliable enough to be used for keys, then it's not good enough to be used for any other purpose.
  15. 1 point
    Keep in mind that Google is going to take away that kind of 'basic authentication' (or less secure as they call it) for the SMPT protocol and other protocols. Consider switching over to their APIs as quickly as you can. Here's a write-up for Office 365, it has links to the Google announcements and some links to other community blog posts that show how to use the Google APIs https://www.soliantconsulting.com/blog/microsoft-graph-api-filemaker-one/
  16. 1 point
    The TextStyleAdd() function does not "transform" the text. It merely adds a style to the existing text. When you copy styled text and paste it into another application, you may get the styled text or the plain text version, depending on the target application. Certainly, only plain text is exported when the target is a plain text file. If you want to really "transform" the text - i.e. modify the actual characters - use the Proper() function instead.
  17. 1 point
    I don't think there is. See if this helps: https://fmforums.com/topic/105432-find-to-the-nearest-sum/?do=findComment&comment=477089
  18. 1 point
    Most APIs these days offer functionality over and beyond just moving data. Once you have the basics of the API connection set up, tapping into the extra functionality is a piece of cake. In the next few days for instance we'll have a series of blog posts on how to use the Office 365 APIs. Sure you can get and send email using SMTP natively and through POP/IMAP with a plugin but the APIs offer that and much more. Access to your OneDrive for instance, or a simple endpoint to convert a Word doc you have there into a PDF... adding data to an Excel sheet without having it on your computer. Besides that, many providers are actively moving way from old technology and protocols, you won't find many that let you touch their underlying data tables directly through ODBC. They provide an API so that there is level of abstraction that allows them to change things on their backend. As a result our integration is more robust.
  19. 1 point
    A lot depends on how you define "integration". Connecting via an API is not much different from importing the data - you only eliminate the part where you need to export the data from the other system first. A much fuller integration may be possible if you can connect to the other system as an ODBC client application. -- P.S. If you do connect via an API, ask about getting an XML response. This can be imported directly from the API - unlike JSON that needs to be parsed.
  20. 1 point
    You wouldn't want to use a plugin for this. Most of these online systems like SIS have APIs that they expose to developers. FM happens to be extremely good at using those APIs (FM 16+). Most of these APIs these day use REST, which means that you send and receive Json. The script step to use here is the "insert from URL" since it supports cURL. It sounds harder than it is, it's actually very easy (and very rewarding). Start by asking them about their APIs.
  21. 1 point
    Basically, you have two options: 1. Use 3 portals, each defined to sort by a different field, and show only one of them based on the user's choice; 2. Sort the portal by an unstored calculation field, where the value is calculated according to the user's choice held in a global field/variable. Each approach has its own pros and cons. The two main problems with the 2nd approach are accommodating different data types and performance (these two are related: the more comprehensive the solution of the first problem is, the slower it gets).
  22. 1 point
    Finally, after many turns, I've found what's going on: /bin/bash needs to have Full Disk Access privileges. In order to do so I went to Apple Menu > System Preferences > Security & Privacy, selected Privacy tab, unlocked the settings and added /bin/bash to the list. Now I can read and write the mounted share, but even after doing this the script doesn't work when called from FMS17 but that's a different story: first I should upgrade to FMS 18.0.3 or downgrade Catalina to Mojave, as @Wim Decorte suggested
  23. 1 point
    Well, I suggest you put some restriction on the number of allowed values, because otherwise this gets (even more) complicated. Some background: Your question is a variation of the subset sum problem, which in turn is a special case of the knapsack problem. Both are VERY difficult problems to solve programatically. Even worse, the known solutions are difficult to implement in Filemaker, because its calculation engine has no arrays. Fortunately, with a small number of values, a naive brute-force solution is feasible: enumerate all possible combinations of the given values, calculate the sum of each combination, and compare it to the target sum. The attached demo is designed to deal with up to 7 values. It has 127 records to enumerate the 2^7 -1 = 127 possible combinations, and a repeating calculation field with 7 repetitions to list the values of each combination. You can extend the limit by adding more records and more repetitions, but - as I said - this is a brute-force approach and it will get slower as the number of values increases. SubsetSum.fmp12
  24. 1 point
    Mod 2, set up as Comment suggests (change calc to Last( Booked::Booked To ) Test-23Mod2.fmp12.zip
This leaderboard is set to Los Angeles/GMT-07:00
  • Create New...

Important Information

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