August 4, 201510 yr Hello peeps, I'm just getting to grips with Filemaker 14, skipped 13 so this is the first time I've had the opportunity to play with the popovers which I've been much looking forward to. I have to admit that I'm a little surprised that data entry hasn't been made much easier with the advent of popovers. Creating a data entry interface is certainly easier and looks good too, but the process of entering new record criteria and confirming or cancelling the process is much the same. Currently I use global fields to place on a popover and when data entry is confirmed scripts will: Copy the entered data to a new record, field by field Clear all global fields used for entry or Cancel and clear global fields However this takes more script writing the more fields you have and can be approached in many different ways from a control perspective. Before I was doing this, I instinctively wanted to do away with the global 'Entry' fields mirroring actual data fields and instead; create a new record when launching a data entry popover, the fields are probably the same as those already on the layout but only the new blank record has focus, and the new procedure be: Commit record or Cancel and delete record This would, at least in some scenarios be suitable and requires less development overhead because cancelling requires only that the record is deleted and the committing is already done by the user (as long as the record isn't cancelled or validation fails...). ...Yet you can't do this using popovers. Creating a record cancels a popover, end of. The button that launches a popover can't be set to create a record either so I'm stuck with my old methods. Does this actually bother many people? I thought this would be a common functional desire but haven't found much to read on data entry approaches in Filemaker ...what alternative approaches do other people use? Lee Edited August 4, 201510 yr by Leelike
August 4, 201510 yr Wherever did you get that idea? There are in fact, examples of new record creation, in popovers, without using globals. Time to look over the example files more carefully. Look in particular at the Invoice example file and the various ways new records (contacts, invoices, products) are created in that file. Also do a web search for FileMaker transactions. Transaction-based editing allows you to create a new record; optionally, create related "child" records; and then save or cancel. If you cancel before committing the new record(s) you do NOT need to delete them because they were never actually stored and saved. The technique does not depend on dummy global data entry fields. Edited August 5, 201510 yr by BruceR
August 5, 201510 yr In addition to the invoice example that Bruce mentions, I would also recommend looking into emerging techniques like the "selector connector" that has been discussed. http://www.seedcode.com/filemaker-data-modeling-with-selector-connector/
August 5, 201510 yr Author Thanks for the research tips BruceR, I did just that and found the 'Invoices' example an interesting learning curve. I also re-read some Filemaker transactions info, which actually made more sense than it did the first time around so I have plenty to consider and will continue to reference these things as I build. I'm certainly no guru so readily admit that I have much to learn, but am excited by the prospect! However I think my initial point still stands, the project I'm working on has perhaps the simplest initial data entry requirement possible, creating records requires several pieces of information with minimal pull/push from/to related tables. Once data is entered correctly the new record will appear in a list view, what happens from there gets more tricky but that's another matter. Now perhaps I should take the related table route and create a transaction/data entry table solely for creating new records, well I did do this already but then decided it seemed superfluous to have a table and set of fields simply to create a record in another table. So I switched to the global fields, same table method. List function values offer an interesting alternative that I haven't tried, but, whats wrong with the idea that hitting a button both creates a new record in the current table and launches a popup listing only the required fields, either quit or commit, quit deletes the record but 'Save' closes the popup with your new record on screen? The only thing I can see currently wrong with such a simple solution is that Filemaker script triggers don't work on a popup button, so I can't create a record before the popup launches. I understand that there would be potential integrity problems with this approach yet I should stress this project is limited to one user, no network requirements ...yet. So I'm forced to use a relatively creative solution for very basic data entry. Thanks Mike, will take a look...
August 5, 201510 yr You keep doing things the same way and then complaining that you are doing things the same way, and claiming that there is no other way. You do not need to do that. You do not need to use dummy global fields. Your popover can create the new record when it opens. I suggest you attach your file or simplified example file which demonstrates what you are trying to accomplish. Edited August 5, 201510 yr by BruceR
August 5, 201510 yr The only thing I can see currently wrong with such a simple solution is that Filemaker script triggers don't work on a popup button, so I can't create a record before the popup launches. You are missing the fact that you aren't restricted to the popover button itself to open that popover; you could e.g. use a regular button that launches a script which performs any numbers of actions, then opens the popover …
August 5, 201510 yr Author Ok maybe I'm missing something, when I try and create a record using a script via a popup or popup button in the same table (not via a relationship or portal) the popup cancels before any data can be entered. If I use a script to make the popup persistent, the 'create new record' script step can't run because it requires moving away from the popup. But point taken, you guys have given me plenty to read and think about and I don't wish to sound ignorant so I'm cracking on with my build to get some more experience in the new version. I'll upload a file if I hit a wall later on. Cheers guys Ps - I'm not doing things the same way, I'm rebuilding my project in the new version 14 so wanted to explore new data entry methods, hence the post! You are missing the fact that you aren't restricted to the popover button itself to open that popover; you could e.g. use a regular button that launches a script which performs any numbers of actions, then opens the popover … Bingo! I think I came across a create popup script step in the Invoices solution Bruce mentioned. Will give that a go... Edit, there is no script step to open a popover but it can be done like this: https://filemakermisc.wordpress.com/2015/03/11/layout-tip-opening-a-popover-with-a-script/ Edited August 5, 201510 yr by Leelike
August 5, 201510 yr Bingo! I think I came across a create popup script step in the Invoices solution Bruce mentioned. Will give that a go... There is no such script step; what I meant was to give your popover panel an object name and use Go to Object [ name ], which will open the popover (navigating to a named object on the popover panel will have the same effect).
August 6, 201510 yr So let's see. For a popup we may want independent control of the button; and the popup panel. How about a buttonbar with two buttons, one to run the script, one which has the popover. The second button is set to always hide. See attached example file. Be sure to look at the variations on each of the layouts. NewRecordPop.zip
August 8, 201510 yr Updated version, new features like more popups on the last layout. NewRecordPopv2.zip Edited August 8, 201510 yr by BruceR Update features; return goes to next field etc.
August 23, 201510 yr Author Many thanks Bruce this is slick, I really like the button bar with hidden buttons solution so that's what I'm currently using in mine. Thanks to all who contributed here. I looked further into everything mentioned and for anyone on my level reading this here's some interesting links I ended up reading: Transaction based data entry: http://www.modularfilemaker.org/module/transactions/ https://www.geistinteractive.com/filemaker-transactions/ Edit dialogs with rollback: http://www.soliantconsulting.com/blog/2012/08/easy-filemaker-modal-edit-dialogs-full-rollback-support Advanced Filemaker data modelling: http://www.seedcode.com/filemaker-data-modeling-with-selector-connector/ https://www.geistinteractive.com/2014/11/21/filemaker-selector-connector-video/ http://www.modularfilemaker.org/module/master-detail/ http://www.modularfilemaker.org/module/masterdetail-2-0/
August 23, 201510 yr There is some interesting behavior of hidden buttonbar buttons that I have not seen mentioned. Just because a button is hidden does NOT mean that it is not active! If buttons are in the tab order you can use the space bar to trigger them. Try this: use the buttons to create or edit a record. Immediately afterwards, use the space bar. The "Edit" popup will be triggered, because the Edit button is still active. On the last layout, there is a "Hide" button that lets you show or hide the Edit button. When the button is visible, it is easy to see when the button is active. NewRecordPopv3.fmp12.zip Edited August 23, 201510 yr by BruceR
February 19, 20169 yr Newbies On 23 Αυγούστου 2015 at 7:32 PM, BruceR said: There is some interesting behavior of hidden buttonbar buttons that I have not seen mentioned. Just because a button is hidden does NOT mean that it is not active! If buttons are in the tab order you can use the space bar to trigger them. Try this: use the buttons to create or edit a record. Immediately afterwards, use the space bar. The "Edit" popup will be triggered, because the Edit button is still active. On the last layout, there is a "Hide" button that lets you show or hide the Edit button. When the button is visible, it is easy to see when the button is active. NewRecordPopv3.fmp12.zip Hi Bruce! Al things you mention are quite elegant and works nicely, but, is there a way to keep the popover open and keep adding records until your hand gets tired? Or am i asking a lot :-)
February 19, 20169 yr Popovers close when navigating between records. There ways to create new records through a global field and auto-create relationship that would not require you to navigate to the new record. Yes, it can be done; and it would be simple enough. "Or am i asking a lot :-)" What exactly are you asking? But it's the kind of thing you should puzzle out for yourself.
February 20, 20169 yr Newbies 10 hours ago, BruceR said: Popovers close when navigating between records. There ways to create new records through a global field and auto-create relationship that would not require you to navigate to the new record. Yes, it can be done; and it would be simple enough. "Or am i asking a lot :-)" What exactly are you asking? But it's the kind of thing you should puzzle out for yourself. Thanx Bruce. I finally did it with the popover and a couple of globals. "New Record/Request" (popover closes) "Go to Object [popover name]" and the popover opens again. And because it doing so fast (and of course without the animation effect) it seems like it never closes. Have a nice day!
February 20, 20169 yr Newbies It's part of a larger solution. I'll prepare one today and i'll post it here. The thing goes like this: 1. The popover operates with globals of the same layout/table. No portals/self joins or other 2. Click on a button (on the pop) performs script which writes new record with the values of globals ('cause it has to; not to mess with existent records) 3. When "New Record..." executes, the pop closes by default. You can't avoid this. 4. But if you open it again (with go to obj) and NOT perform the "Set Layout Object Animation", it simply not doing any effect and looks like it never close at all. I'll post a sample today. Thanx icon
Create an account or sign in to comment