Epicor BPM & Functions Design Feedback

I agree, there had got to be a way for customers to maintain their holiday schedule.

4 posts were split to a new topic: How to call a function in code from a BPM

In BPM, using the AutoPrint widget (which I discovered recently !) you can setup to use email.
Well, it would be much appreciated if we could have the same email interface as the email widget where we can add variables from the context menus so it can be better configured !!
Pierre

You mean like across multiple calendars?

Maybe that’s not what you mean, but it’s something I think of. I make liberal use of calendars (one for production, one for suppliers, three for cycle counts, one for sales). But our holidays are the same company-wide.

It would be nice to have the option to layer the calendars, IMHO.

1 Like

Yes- I haven’t personally done much with ‘calendars’ but that sounds like the correct place to
have the data required associated to.

That’s a perfect use case for json.
Epicor has libraries available in the assemblies to handle that.

I’ve worked around the absence of a dedicated “notes” widget by adding an unconnected code widget containing only a block comment.

Not exactly BPM or Functions, but I recently joined a company using Kinetic and sorely miss the ability to run ad hoc queries to answer business questions or develop SSRS reports. We can write BAQs or upload RDLs, but it would shorten the change/test cycle if there were a facility for running SQL directly.

Something like what Epic Games do with comments in Unreal Engine blueprints would work really well.

@timshuwy - Could you get Epicor to have you create this for the BPM Cookbook as a functions example? I’d love to have this!!! I would bet every Epicor customer would use this.

1 Like

A post was split to a new topic: Better Design for business objects

A post was split to a new topic: Add Misc Charges to Cust Shipment

It would be nice to be able to see the using statements in a Function without having to demote it and click edit. Maybe as another tab right next to Overview, Signature, Notes?

Since Epicor already drops the code you write into the body of a generated function in a generated class that you never see, it should be pretty simple to parse out any using statements you write inline and put them where they belong.

My wish list:

Add the ability to call ContextLibrary classes in custom code. Like Erp.Internal.LibFindPart and Erp.Internal.Lib.CalendarDate. There a handful of helpful Context Bound classes.

Not sure if this was implemented or not but add the ability alias assemblies. Currently, you can’t use two services with the same Table signatures such as the SelectedSerialNumbersTable.

Add the ability to copy a Function to another Library or list a Function as a template and then have the ability to create a function from a Template function.

I agree with all the modal comments, sometimes I have to have two instances of Epicor running so I don’t have to close the designer all the time to lookup or trace things.

I agree with VS Editor or just a formatting tool to prettify the code.

Add the ability to Group Widgets so the group can be used on more than one result row after a condition widget so you don’t have to use custom code to loop through. Or even if it was only the Function widget that had the ability like the custom code/email/autoprint widget in a standard directive. Maybe there is a solution that exists that I’m simply missing. :man_shrugging:

image

image

Hmm. Table search supports multi-selection. Definitely, if you need items from different areas of a list, it will be difficult.

BPM/EFx are not source code based. They are metadata-based. What would you expect to store in a source control?

Colleagues,

Brain is not a right person for such questions/requests. He is discussing UI design, not functionality.

1 Like

It is the limitation for the Tuple<>-based version of the InvokeFunction method.
There is another overload of this function. Something like object InvokeFunction(lib, func, object args). Array-based overload works for cases covered by Tuple<>-based one too.

You can try to call a function with more than 7 in or out parameters with widget and look at generated code.

Tuple<>-based overload was implemented for performance reason.

Also, if you think about named tuples, then they are value types, so they are very inefficient in our case.

I’ll start a new thread on this since it is tied to the ability to use DevSecOps practices for ALL Epicor customizations.

But briefly, I would want to store the same information that one would get in an BPM/EFx Export. I understand that with EFx, we might have to rely on encrypted artifacts for functions that are distributed by 3rd party providers but that’s a whole other version management issue.