I have been asked when a user clicks on the Shipped checkbox, popup a form asking the user an existing route# (list of routes attached to shipments of today or future) or a new Route# which comes from a UDfield of XaSyst table. A route# is to allow to group multiple packs going to different addresses into one shipment route. If I would use a data directive of TFShipHead to detect if a new route has been chosen, to increment the field. (Format is year+4digits ex: 190001)
I thought it was simple task…but became a nightmare…so need help of the best way to acheive this.
The way I tought would work is detect under TFShipHead_BeforeFieldChange if the field Shipped has changed, and if it has a value true, popup the question.
Then via a data directive BPM I would perform the increment of the route number, if necessary.
BUT I found via my testing that this form behaves quite differently that what I am used to. I have placed messages in the BPM and if the form and found that the BPM (either the data directive or a method directive (Erp.TransOrderShip.ShipPackingSlip) post-traitment are showing BEFORE the TFShipHead_BeforeFieldChange in the form!!!
So my updating done in code of the form does not happen to be saved as the check is true, and thus no updates are allowed…urrrgghhh!
So I decided to try a Plan B:
Use the BPMForm. in the method directive (Erp.TransOrderShip.ShipPackingSlip) Pre-Traitement
The popup shows but I need to customize it. I named it RoutePopup.
But the customized version of the popup does not show, only the base one, even though I selected to use the customized version in the setup of the widget…
How do I make sure it shows the modified form ? or this a known bug?
(we are on 10.0.700 )
I closed Epicor and restarted and the customized version comes up… So i will pursue that route.