3 Replies Latest reply on Jun 15, 2017 9:22 AM by philmodjunk

    Modifying a Status field


      Hi There,


      We are busy creating a stand alone suppliers register for a client and I want to ask the thoughts from the community what would be the best way to work the status field for the invoices. There are going to be a number of values for the status field, for example, Unallocated, Assigned to Ops, Assigned to Finance, Query, Rejected, Authorized, Finalized, Processed, Paid. There is going to be various validations per status option, for example, a status can't be marked as Paid if it has been rejected, or Authorized if it has not yet been assigned to Finance. Those validations are the easy part because that will just be scripted,  the issue is, what if the user wants to change the status from Authorized back to Assigned to Ops?


      Lets say that by the time the invoice has reached the finance department they pick up something on the invoice and operations needs to check it again. Changing the status back to Assigned to Ops would be easy, but adding security around it so that once the invoice has reached finance only finance can change the status, or if it has been marked as Query, it cant be marked as Finalized or another one could be, for the invoice to be marked as Finalized, it has have been marked as Assigned to Ops, Assigned to Finance and Authorized before it can be marked as Finalized.


      We have thought about 2 options for this. First having a check field for every option and when the status changes, the corresponding field will have a check mark added to it. The other idea is to have a StatusCheck field and then that would get updated based on the Status field. For example, if the user changes the Status from Assigned to Ops to Authorized, the word Authorized gets added to the bottom of the StatusCheck, or if they go from Authorized back to Assigned to Ops, then the word Authorized gets removed from the StatusCheck field. The reason I thought about the second option is then we could use PatternCount ( StatusCheck ; Status ) = 1 or 0 and then do validation based on the result.


      The 2 options that we are thinking about, do they sound plausible or should we re-think this one?

        • 1. Re: Modifying a Status field

          Start with modeling the current end to end business process for handling invoices in something like BPMN.

          The model should be database/tool agnostic.

          Optimize the business process.

          Build a scripted process in FM for handle the business process.

          I might use a popover button and controls/scripting within the popover button to handle changes in status of an invoice but thats me looking at the problem from a 50,000 foot level with little knowledge of what you have already done.

          2 of 2 people found this helpful
          • 2. Re: Modifying a Status field

            Cool, thanx for this. I will look into BPMN.

            • 3. Re: Modifying a Status field

              Sounds like you should only allow a script to change the status--such as by using a button bar or popover filled with buttons with one button for each possible status. The logic controlling what can or cannot be done to this field can be controlled in the script--assisted by some conditional formatting that can change the appearance of the buttons--even make them invisible to show that a specific option is not possible.