On Leave Event in Kinetic?

Lol, good one.

Take a few shots of vodka.

The “Leave Event” would be OnBlur.

image

Create two DataViews. One for your Jobs, then one for the related parts.
When the OnBlur event activates, use dataview-filter-set and filter the part DataView by the current job.

2 Likes

So the vodka raises the on-blur event? :thinking:

3 Likes

I wonder if that’s how Epicor created Kinetic? :thinking:

2 Likes

I heard it was Bourbon in Kinetics case.

1 Like

This sounds so easy! What is the datasource for my Jobs DV?
I think the datasource for my Parts DV would be my BAQ “PartsForJob”. Right?

What screen are you working in? The dataview for your jobs would be where ever that info is sourced from.
For the parts, yes–create a BAQView for your query.

Here’s some more info on that, however, it’s a bit dated. Let me play with the new stuff and see if there’s a more elegant way. BAQ Combo customization - how to convert from Classic to Kinetic - Kinetic 2021 - Epicor User Help Forum (epiusers.help)

I am working in a custom dashboard. The dashboard contains a BAQ that lists the contents of UD08. Ideally the user types in the job number as the start of the data entry process. I will keep playing with the dataviews on my end. Thank you for your help!

You wouldn’t need a view for it then. I was assuming you had two dropdowns.
If JobNum is just a textbox, then you don’t need to worry about a dataview for it. Just bind it appropiately–say TransView.JobNum or something.

1 Like

I just hate this experience so much! Nothing seems to be working, but there are no errors or anything to point me in the right direction.

I have a Job text box with ID: TextBox-c38d0 I have an OnBlur event setup that triggers a dataview -filter-set action. Dataview = MyParts, Filter = JobAsmbl.JobNum=TextBox-c38d0.Value. No EpiBinding.

I have a part combo box with ID: ComboBox-b4259. No EpiBinding.

I have a dataview for my parts, which is just a view of the PartsForJob BAQ.

The PartsForJob BAQ has a parameter for job number. I was filling in this parameter with custom code in my classic form. But I don’t see a way to do it here in Kinetic. The side menu keeps popping out asking me for a job number. I don’t want that. I just want to type it in the first text box.

So, something I can’t stand is the row filter on the combo only lets you filter from the bound dataset–not from others which would make this task SO much easier.

Try this out, instead:

Set up your view to receive the BAQ data:

Set up your combo:

image

Create your event for the textbox OnBlur:

Fill out the erp-rest widget:
image

image

image

{
	"ExecutionSetting": [
		{
			"Name": "Select",
			"Value": "JobMtl_PartNum"
		},
		{
			"Name": "Where",
			"Value": "JobMtl_JobNum='{TransView.JobNum}'"
		}
	]
}

2 Likes

You can either remove the parameter and do as I did or you can do the same steps, but add your parameter value in the Execution Settings instead of using the where clause.

1 Like

Here’s the syntax for adding a parameter:

{
	"ExecutionSetting": [
		{
			"Name": "Select",
			"Value": "JobMtl_PartNum"
		}
	],
	"ExecutionParameter": [
		{
			"ParameterID": "JobNum",
			"ParameterValue": "{TransView.JobNum}",
			"ValueType": "string"
		}
	]
}

I assume all the places you use the JobtMtl table I should be using the JobAsmbl table? As that is the table inside my BAQ. Right?

Correct.

I keep getting “Query with ‘JobPart’ id is not found…” My setup is just like the screenshots you posted. Should queryID under MethodParmeters by set to my BAQ ID “PartsForJob”? I removed the parameter from my BAQ.

“JobPart” is the name of my actual query. Change yours to “PartsForJob”.

I changed my queryID as I suggested above and now the Parts combo returns all the parts, not just the one I want.

Can I see what you set for your Execution Settings?

I don’t understand the how and why of the dataview in this use case. Shouldn’t the dataview be a BAQ schema pointing to my BAQ name?

It can be, sure, but we’re attempting to work around the initial call that would happen for the view since the row filter doesn’t work the way we want.
So, we’re creating a dataview as a placeholder for the data we bring back from our manual REST-ERP call.