Follwo up on configurator

I am trying to figure out why in E9 you have to input a value in a dec box and then tab out in order to get it to process the expression.

All of the configurations I have in Vantage 8 process by just tabing out of the box - no input is done at all. The on leave rule is at the field level and works fine.

Most of these are 1 page configurations. I have tried them both ways with the do not process on leave when load turned on and off. On difference in the processing. Won't work either way.

In the tech guide for the configurator it shows the set up as I have it in the parts.

My new simple test part has the following:

dec4 = (dec18w + dec18p). Even this will not process unless I put the On Leave rule with the dec4 field and I still have to input some kind of positive value in the dec4 field then tab to get it to process.

In Vantage 8 I could have this on leave rule with the dec18w field and tab from there to populate the result in dec4.

Is this something "new" in E9?

Gene
We are Testing Epicor 9 the following is the problems that I am encountering with the configured parts. Any thoughts would be apperciated

1ST field
THis Works - It Populates on the on leave
If the combo box character is correct then this works as designed
populates the decimal box correctly

If cmbD = "27-8" then dec10 = 1.
If cmbD = "30-11" then dec10 = 1.
If cmbD = "27-8" then dec5 = 1.
If cmbD = "30-11" then dec5 = 1.

This On Leave is on the 3rd field but kicks in as soon as the
configuration is opened

The dec field is Part.UnitPrice X a direct non changing Qty.

FIND Part WHERE Part.partNum = chrMS AND Part.Company = "JSI" NO-LOCK.

if available Part then

decPMS = Part.UnitPrice * 8.


This Does Not Work

dec128 = dec10 * 4.
dec64 = dec5 * 4.

Decimal fields that populate from an expression will not work.

FIND Part WHERE Part.partNum = chr128 AND Part.Company = "JSI" NO-LOCK.

if available Part then

dec128w = dec10 * Part.NetWeight.
dec128p = dec10 * Part.UnitPrice.

FIND Part WHERE Part.partNum = chr64 AND Part.Company = "JSI" NO-LOCK.

if available Part then

dec64w = dec64 * Part.NetWeight.
dec64p = dec64 * Part.UnitPrice.


If manual input is required in the dec field it appears to process correctly

This is a simple addition On Leave Rule

It will not work unless you manually input a value in the field then tab out
It will at that point do the proper addition of all the fields in the expression.

decTW = dec128w + dec64w + decHR128w + decHR64w + dec40PLw + dec40PRw + decAR41w +
decAR14w + decAR15w + decSTw + decH6w + decHRSw + decHRCw + decMTw + decSDTw + decBFw + decNFw.

All of the above expressions work correctly in Vantage 8.03.403.




Thank You
Gene
It will not work unless you manually input a value in the field then tab out
It will at that point do the proper addition of all the fields in the
expression.

There are properties for each page for when onLeave events occur. I think
some new options were introduced in 9.

Mark W.


[Non-text portions of this message have been removed]
On-leave statements can appear to interact oddly at times. The default behavior is all on-leave statements fire when the configurator is first loaded. This makes the tab order important. After that the on-leave statement will only fire when you leave a control by tabbing or clicking in another control. When you leave the page all the on-leave statements fire again. There are some options to control this behavior.

To control some of this behavior I consolidate all my on-leave code into one or more procedures. You declare the procedure as part of an on-leave statement typically on the first control. Then use the run command to call the procedure. In this way all the code is in one place and you can easily test if a control has a value before running specific code. The code does get called multiple times but unless you are doing some heavy lifting performance isn't impacted. Usually you can add logic to avoid running intense routines more than needed.

For example I declare a procedure called "validate" in the on-leave code of a character box that has "prompt when = false" and invisible. Since it is a procedure it will only execute if called. The on-leave statement just serves to declare the procedure.

procedure validate:
/* do stuff */
end procedure

Then for ALL controls the user will interact with I put "run validate" as the on-leave statement and usually nothing else.

Jim Kinneman
Encompass Solutions, Inc

--- In vantage@yahoogroups.com, "gmack110256" <genemack@...> wrote:
>
> We are Testing Epicor 9 the following is the problems that I am encountering with the configured parts. Any thoughts would be apperciated
>
> 1ST field
> THis Works - It Populates on the on leave
> If the combo box character is correct then this works as designed
> populates the decimal box correctly
>
> If cmbD = "27-8" then dec10 = 1.
> If cmbD = "30-11" then dec10 = 1.
> If cmbD = "27-8" then dec5 = 1.
> If cmbD = "30-11" then dec5 = 1.
>
> This On Leave is on the 3rd field but kicks in as soon as the
> configuration is opened
>
> The dec field is Part.UnitPrice X a direct non changing Qty.
>
> FIND Part WHERE Part.partNum = chrMS AND Part.Company = "JSI" NO-LOCK.
>
> if available Part then
>
> decPMS = Part.UnitPrice * 8.
>
>
> This Does Not Work
>
> dec128 = dec10 * 4.
> dec64 = dec5 * 4.
>
> Decimal fields that populate from an expression will not work.
>
> FIND Part WHERE Part.partNum = chr128 AND Part.Company = "JSI" NO-LOCK.
>
> if available Part then
>
> dec128w = dec10 * Part.NetWeight.
> dec128p = dec10 * Part.UnitPrice.
>
> FIND Part WHERE Part.partNum = chr64 AND Part.Company = "JSI" NO-LOCK.
>
> if available Part then
>
> dec64w = dec64 * Part.NetWeight.
> dec64p = dec64 * Part.UnitPrice.
>
>
> If manual input is required in the dec field it appears to process correctly
>
> This is a simple addition On Leave Rule
>
> It will not work unless you manually input a value in the field then tab out
> It will at that point do the proper addition of all the fields in the expression.
>
> decTW = dec128w + dec64w + decHR128w + decHR64w + dec40PLw + dec40PRw + decAR41w +
> decAR14w + decAR15w + decSTw + decH6w + decHRSw + decHRCw + decMTw + decSDTw + decBFw + decNFw.
>
> All of the above expressions work correctly in Vantage 8.03.403.
>
>
>
>
> Thank You
> Gene
>