6 Replies Latest reply on Mar 14, 2011 9:33 AM by philmodjunk

    Conditional protection for modification

    jasongan_1

      Title

      Conditional protection for modification

      Post

      Hi Folks,

      I need help. I have the shipper to calculate the ship cost when he shippes the order. But I don't want him to modify

      the ship cost when the order is invoiced. As sometimes the shipper changes the ship cost after the order is invoiced,

      it causes discrepancy between the customer payment and the final invoice total.

      Thanks,

      Jason

        • 1. Re: Conditional protection for modification
          philmodjunk

          You can use manage security lock records to prevent editing on a record by record basis. I'ts a matter of having a field or fields that clearly identify which records may not be editable and then setting privileges for the user's privilege set that check those values to determine whether the current record may be edited.

          See "Editing record access privileges" in FileMaker Help and check out this particular sub section: "Entering a formula for limiting access on a record-by-record basis" for a detailed description of how to set this up.

          • 2. Re: Conditional protection for modification
            jasongan_1

            Hi Phil

            But my goal is: I want the shipper to enter or modify the value for the ship cost before the order is invoiced. I just don't want him to modify the ship cost after the order is inoviced.

            Thanks,

            Jason

            • 3. Re: Conditional protection for modification
              philmodjunk

              Exactly analogous to what we do here and which can be controlled through manage security as I have suggested.

              Here where I work, once an invoice's status field changes to "printed", it may no longer be changed and the method I am suggesting prevents all but users with full access from modifying the record. If you have a status field that identifies which orders are "invoiced" and which are not, you can use this type of record level access control to keep the value from being modified after it has been invoiced.

              • 4. Re: Conditional protection for modification
                jasongan_1

                Hi Phil

                Thank you. It is the best answer. But as I have something further, I am still seeking a better solution. You know, we can flag the order invoiced to protect the record being modified except those full access users. But my case is: after the invoice is issued, I just don't want him to touch those fileds that would effect the invoice total.  I still want him to modify some other fields for this order, for example he can still add shipping notes after inoviced. So, freezing access to the record after invoiced will freeze access to all other fields too.

                So far I can't find a Field level access restriction . If you have any idea, please let me know.

                Thanks again,

                Jason

                • 5. Re: Conditional protection for modification
                  philmodjunk

                  There is no field access restriction possible with current Filemaker. It'd make a nice new feature: (http://www.filemaker.com/company/feature_request.html)

                  You can subdivide your records into two records linked by a one to one relationship. Put all the order fields you want to lock into one table and all the one you want to leave unlocked in the other. The fields from both tables can be put on the same layout and the user's won't see any difference except that one set of fields will be locked and the others will be unlocked when the records status changes to "invoiced".

                  The other approach you can use is to set up OnObjectEnter script triggers that perform a script that checks the status field and prohibits entry into the field by using Go To Field or Go To Object to move the cursor/focus to a different location when the status is "invoiced".

                  • 6. Re: Conditional protection for modification
                    philmodjunk

                    You can also set up field validation calculations that prohibit field modification if the record's status is "invoiced".