I’m trying to create a BPM that prevents a user from changing a part number on a quote line.
Once the line is created and established, we’d prefer them to delete the line and create a new one instead of changing the part for various business reasons.
I’m having troubles achieving that result.
Through a trace, I see that it’s using ChangePartNumMaster and ChangePartNum. Some scenarios only one gets called while other scenarios, they both get called. Trying to get something to block changing the part on those has been difficult as somethings still change like an update is being done within those methods.
Here’s an instance where both are called and then one is called:
- Find a quote with an existing line
- Change the part number (ChangePartNumMaster and ChangePartNum gets called)
- Block message comes up (Set on ChangePartNumMaster)
- Click OK to the message
- Immediately change the part number again
- Block message does not come up (Only ChangePartNum gets called)
If I put the block on ChangePartNum, fields change, such as pricing, before the block comes up and even if I hit okay through the message, I can still hit save and it will take it. If I put it only on ChangePartNumMaster, the numbered scenario above will allow the user to still change the part.
If I put it on Update, then I can truly block the change at the very end, but fields visually change in the interim. Breaks get refreshed if they choose to do so, pricing for the new part pulls in, etc. I’m worried that if I do this, the user will waste time updating things before saving only to be hit with block message and have to start over, but maybe that’s the price they pay for not following our process?
Anyone have a more elegant solution to this?