Job Entry Kinetic customization - Trigger problem

I am on Kinetic 2023.1.12, and created a Kinetic customization layer for Job Entry. I have a new checkbox which I assigned to TransView.chkJobCompleteStatus, which binds OK. When the checkbox is unchecked, I wish to set JobHead.JobComplete = false. My approach is to use a trigger which is monitoring the value change of TransView.chkJobCompleteStatus:


The trigger works OK. As you can see in the screen snapshot, there is a condition that examines expression:
‘{TransView.chkJobCompleteStatus}’ !== ‘undefined’ && ‘{TransView.chkJobCompleteStatus}’ === ‘false’

… and if the Condition is True, then does a ROW-UPDATE:

To test, I simply enter a Job Number and press tab. The problem is that no rows get returned. When I run without the customization, I get rows returned. It seems as if simply running the trigger is causing the problem. I have even simplified the flow just display a dialog after the trigger runs, and no rows get returned. I attempted to debug (i.e. F12, CTRL-ALT-8), but I cannot determine why no rows are being returned.

As a note, back in 2016, I went through the process of converting Vantage client customizations to Epicor client customizations which went well. We now run many client customizations in Epicor 10.2.700 which we want to convert to Kinetic 2023.1.12, but am finding it very difficult to make any descent progress and consuming a lot of time in the process. I am wondering why Epicor took this proprietary NO-CODE approach, when Microsoft has client development schemes such a Blazer WASM and Blazer Server. Any help would be appreciated :slight_smile:

Job complete (and closed) are not maintained this way. You need to use the JobClosing BO if you want to complete/close a job.

1 Like

In 10.2.700 with the legacy Epicor client customization (i.e. Window Forms), I was able to implement this as described, by running BO method CloseJob(jobClosingDataSet, out pcMessage). My issue with the Kinetic customization for Job Entry is that the trigger itself, is somehow preventing the Job Number from being retrieved. I simply enter a Job Number and press tab, but no row gets returned for the given Job Number:

I simplified the flow for the trigger, so that it only displays a dialogbox:

Here are the trigger parameters:

So the trigger gets fired when I enter a Job Number and press tab, but the ‘Detail’ page is not shown, and no data is returned. When I disable the trigger, the ‘Detail’ page is shown for the given Job Number. The question is, why does the simple trigger event cause the Job ‘Detail’ page from not being shown. Note that I added column chkJobCompleteStatus to view TransView, and bound the new checkbox to TransView.chkJobCompleteStatus.

Have you turned on debugging in the browser to see what is happening?

Yes, when the trigger is disabled, the debugger shows GetByID_OnSuccess is run. However, with the trigger enabled which is what I desire, GetByID_OnSuccess does not run for some reason. I don’t see anything in the debugger that shows why GetByID_OnSuccess is not run when the trigger is enabled.

The debugger partial listing below, shows the events that run when the trigger is disabled and the GetByID_OnSuccess is run. However, when the trigger is enabled, execution stops just before the GetByID_OnSuccess, and that is the problem. Not sure why GetByID_OnSuccess is not run.

Try deleting the event and recreating, better yet try with a new layer and simple event with messagebox.

I created a new simple layer and had the same problem. Nothing appears obvious in the debug log describing what is causing the error. I would think what I setup in the customization layer is OK, but feeling like a test pilot :airplane:

There are some other quirky behaviors in 2023.1.12, as some of the data rules simply do not show up, or sometimes they are not reconstituted properly in the UI, especially when the boolean logic becomes complex. I can see them in the database table though (thanks Hannah for this information in your other blogs). The data rules appear correct when stored to the database table.

Another observation, is that after working a bit in a customization layer then previewing it, after a couple of cycles the response slows down to a crawl, then eventually the UI completely freezes. I have to logout and log back in again, when things return to normal.