Solved

FM - Setting Timestamp Field Based on Another Field set via a Script

Posted on 2011-03-17
10
723 Views
Last Modified: 2012-06-27
This is really hard to test as I have a lot of scripts run off of my Status field.  Already searched EE and FM Help.  I want a timestamp field to be filled with the current date/time anytime there is a modification in my Status field.  This seems easy - just put a script trigger on OnOjbectSave.  However, what if the field is set in a script.  I think this bypasses the trigger.  I have so many scripts that alter this field (Retain, Retire, or Refer status) that it would be nice if I could just set the timestamp field to alter anytime this status field alters.  I thought of doing this via the field's properties AutoEntry, but my understanding is that these fields only run on record creation and not any time in the future when the field might be modified.  Suggestions?
0
Comment
Question by:rvfowler2
  • 6
  • 3
10 Comments
 
LVL 24

Accepted Solution

by:
Will Loving earned 500 total points
ID: 35159486
Use the following auto-enter calculation with the "Do not update..." checkbox unchecked.

Let (
trigger = Status ;
Get (CurrentTimeStamp)
)
0
 
LVL 24

Expert Comment

by:Will Loving
ID: 35159509
Also, you might want to consider an audit trail for Status, which tracks what field was changed and when. Check out this video tutorial from John Mark Osborne on Object Script Triggers. The whole video is a good introduction to an explanation of the differences between the various triggers, but at just before the 10 minute mark he shows how to create an audit trail.
0
 
LVL 24

Expert Comment

by:Will Loving
ID: 35159512
Sorry, I meant the "Do not replace existing value of field (if any)" checkbox.
0
 
LVL 4

Expert Comment

by:challengeday
ID: 35159523
Sounds like a cool video, I don't see the url though. Thanks!
0
 
LVL 24

Expert Comment

by:Will Loving
ID: 35159963
0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 
LVL 2

Author Comment

by:rvfowler2
ID: 35161032
Thanks, I'll look into the video.  Easier than I thought.  But I created 3 timestamp fields so we can have a record if somone moves from retain to refer and then to retire.  So, can you do the calc like this?

If (Status = "Retain";
Let (
RetainStamp = Status ;
Get (CurrentTimeStamp)
)
)
0
 
LVL 24

Expert Comment

by:Will Loving
ID: 35161081
Yes, doing it conditionally works (at least on my test)
0
 
LVL 2

Author Comment

by:rvfowler2
ID: 35162303
Yes, it worked, thanks, but I'm having a hard time understanding it in English.  Let sets a variable and then uses it in a calc after the semicolon.  However, here, it seems that the entirety of the calc is simply Get (CurrentTimeStamp), so the variable, or in this case the field, is equal to the timestamp since it is equal to whatever comes after the semicolon.  Did I say it or explain it correctly?
0
 
LVL 24

Assisted Solution

by:Will Loving
Will Loving earned 500 total points
ID: 35162453
I got the calc elsewhere myself, so I don't have a technical explanation but I think that in either case, what is happening is that setting the Let variable to equal the Status field causes the calc to evaluate whenever Status changes. It's some aspect of how/when a Let variable evaluates in a calculation which is different from just doing an If statement.
0
 
LVL 2

Author Closing Comment

by:rvfowler2
ID: 35165321
Thanks.
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Pop up windows can be a useful feature of any Filemaker database.  Though best used sparingly, they can be employed in a multitude of different ways, for example;  as a splash screen at login, during scripted processes to control user input, as pick…
Conversion Steps for merging and consolidating separate Filemaker files The following is a step-by-step guide for the process of consolidating two or more FileMaker files (version 7 and later) into a single file with multiple tables. Sometimes th…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now