Hello, I’ve hunted this forum over… but is there any way to do Launch Form from a BPM
What I’m trying to achieve is, when our sales team convert a Quote to a Sales Order from Quote Entry, I would like it to launch the Order Entry form after the quote is converted,
At the moment we have a Post Method that copies other data across, so I imagine I would put it on that… but I’m not sure of the LFO code for a BPM
Right. But isn’t the BPM server side? How does it know where to launch the form? The same issue as why you can’t just do a MessageBox.Show(“”) as the BPM has to communicate back to the client to launch the form.
The following may help:
It seems that a customized BPM form that then does the client side bit could work.
You can’t do it from a BPM its all server-side. A few options you can try:
Throw a BPM Form that is merely some friendly message box look-alike “You Did! You Converted, we Won!” and then Customize that BPM Form to LaunchForm. (Probably on BPMForm Closing Event)
You should be able to find an UI Event or AfterAdapterCall when that value is changed to WON and monitor on UI side and LaunchForm.
I’m just wondering if there isn’t a way to fire off a UI form. Especially if it’s just to run asynchronously. I like your idea of customizing the BPM form to fire off the LaunchForm.
It’s just not possible to launch a client form directly from a BPM.
Also BPM forms are an abomination no one should choose to use.
As noted by hasokeric up above, what you need to do is launch it client side, and it’s fairly simple to do with a customization on the Quote Entry form. Add a handler for the AfterAdapterMethod event, for the CreateOrder method. You can figure out the order number by searching the OrderDtl table for QuoteNum == your original quote number.
Agree they are messy – one thing that comes to mind as a hack… what if you used a BPM Form to hide itself on load, perform X action and then close itself – kind of hijack it to Launch your own UD Form one could say then that BPMs allow you to launch your own Form’s … pass in the FormID through BPMData and viola!
I would still use UI – just find an event sometimes the AfterAdapter is not enough its merely an “Update” so you have to resort to checking a value of a field in there etc…
Would need to try it, but I have a sneaking suspicion doing this would cause all kinds of fun issues related to the context and session… I’m not convinced the full context is properly passed from the BPM to the BPM form…