Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

Tracking Field Changes


This topic is 8432 days old. Please don't post here. Open a new topic instead.

Recommended Posts

I need to be able to track who changed what at what day & time. Is there an easy way to do this like a plug-in or do I have to write some way out script to do this? If I have to write a complex script, can someone please lead me in the right direction?

Thanks a bunch!

~Addam~

Link to comment
Share on other sites

One way is to implement editing is by creating two additional field for each field to be edited. One is a global for temporary storage and the second contains time and date information. The operation is as follows:

1) The user selects a record and clicks an "Edit" button.

2) The "Edit" script copies all the fields contents for the record into the corresponding global fields which are displayed on a layout for editing.

3) The user edits the information in the global fields and clicks either "Cancel" or "Enter". "Cancel" just clears the globals and exits the process. "Enter" compares each global to the corresponding real field, if they are different, the real field and the corresponding Date/Time field are updated.

For each field used, you need three fields, for example:

Name

gName <--- global

NameDateTime <--- date and time of last change to "Name"

-bd

Link to comment
Share on other sites

  • 1 month later...

Do these steps IN ORDER:

Create new field SERIAL (number, auto enter, strict, unique) - if you already have one, then use that one.

Create new field MATCH (calculation)

case ( isempty (field 1) or isempty (field2) or isempty (field3) or ... or ismpty (last critical field), Serial, Serial)

***** Now, create a self-join relationship based on Match ***********

For each important field you want to monitor, create a duplicate and make it a lookup (use Match relationship to point back to the original important field)

Create new field CHANGES (*unstored* calculation)

"On " & datetotext(status(currentdate)) & ", at " & timetotext(status(currtenttime)) & ", " & status(currentusername) & " changed the field " & status(currentfieldname) & " from: " &

case(

Field 1 <> Field 1_lookup, Field 1_lookup & " to: " & Field 1,

Field 2 <> Field 2_lookup, Field 2_lookup & " to: " & Field 2,

etc...)

& "P" [this is the paragraph symbol, not a the letter P]

Create new field HISTORY (text, lookup (MATCH relationship:CHANGES) )

Now go back to the CHANGES calculation and append HISTORY after the paragraph sign.

Create a new layout and put SERIAL, MATCH, CHANGES, and HISTORY fields on it. Also put a couple of the important fields and their clones on it. Watch the action as you toggle the original fields - it's easier than me explaining it.

When actually implemented everything should be hidden, because an easy workaround is to change one's Edit/Preferences/Application name to one's favorite enemy and go in and destroy data under their name. Capturing the IP address can minimize impact of that unlikely scenario, however.

Link to comment
Share on other sites

This topic is 8432 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

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