Hi All,
Does anyone know a way of making the Job Entry landing page only show Open Jobs on first load? I know how to do it for myself as a personalisation but need this to be as standard for all users. Is this possible?
Thanks
Hi All,
Does anyone know a way of making the Job Entry landing page only show Open Jobs on first load? I know how to do it for myself as a personalisation but need this to be as standard for all users. Is this possible?
Thanks
I would do this by adding a new âViewâ for the landing page grid. You can make that âviewâ the default, but users can easily change that to something else if they want.
Basically you just need to reverse engineer the existing stock Views that are already available, and then add a new one.
Looking at the stock views, they include parameters⌠and those parameters are actually defined in TransView columns⌠so we need to find when and where those are set.
Theyâre defined via a row-update to TransView columns in the BeforeInitialize Event:
So, I would start by making a new event that runs after BeforeInitialize:
Weâll use a Row Update to set up a new âOpenâ TransView column. That way youâre not working against base functionality, youâre just building a new option.
RowUpdate Binding: TransView.LandingPageWhereClauseOpen
RowUpdate Value (JSON):
"Plant = '{Constant.CurrentPlant}' and JobType != 'MNT' and JobClosed = false BY CreateDate desc, JobNum desc"
JobClosed = false is what we need to only return Open jobs in this view.
If the event works and you preview now⌠youâll see our new TransView column ready to be used in the debugger:
Now⌠you need to edit the Landing PageâŚ
Open the View Options on the landing page grid Properties > Advanced > View Options. The first one is âAllâ⌠take note of all those settings⌠also copy the Rest Params from the âAllâ view (JSON) and paste them into Notepad or whatever you prefer, weâll need those in a second and you donât want to have to retype them all.
Create a NEW view and use all the same settings as the original âAllâ view⌠except set the description to âOpenâ. Paste a copy of all the Rest Parameters into the new âOpenâ view. You only need to change the top parameter from the original:
"whereClauseJobHead": "?{TransView.LandingPageWhereClauseAll}"
To your new TransView column you made earlier:
"whereClauseJobHead": "?{TransView.LandingPageWhereClauseOpen}"
Preview:
You should see your new Open View as an option:
If it worked, you should get results in your landing page grid and to test⌠Add a filter on the âClosedâ column⌠set it to IS TRUE.
Since your view should only include Open jobs, but you just asked for only CLOSED jobs⌠you should get âNo records available.â This tells you your View parameters worked:
Back in App Studio, check the âIs Defaultâ option on the new Open View for your Landing Page Grid.
Preview again. If it doesnât load the page with your new âOpenâ view as default. Look at all the other available Views and make sure theyâre not ALSO checked with the default setting. Setting one doesnât appear to clear the others.
Wow. Thank you for this very indepth response. Really appreciate it.
I have followed along as best as I can (Iâm not very technical and still learning kinetic)
I now have the view âOpenâ and when launching Job Entry it opens as âOpenâ but there are closed jobs still in the view.
The only thing I can see that I didn differently is I omitted the JobType - any ideas??
Can you paste in what your parameter is then for that row-update⌠just want to see if that is why itâs not filtering correctly.
The parameter I put is:
{
âwhereClauseâ: âPlant = â{Constant.CurrentPlant}â and JobClosed = false BY JobNum descâ
}
I also tried âPlant = â{Constant.CurrentPlant}â and JobClosed = false BY JobNum descâ
Hmm⌠just tested that and it worked okay for me. (You shouldnât need the curly brackets).
Can you double check/verify that top line in your View parameters is correct on your end?
Sorry not sure how to do that bit?
So, edit your landing page⌠when that opens, click on your grid and click on Properties. Scroll down to Advanced and click on View Options.
Select your âOpenâ view and then click on the pencil and show me whatâs in the JSON window that pops up:
Really appreciate your patience here
As you can see, it shows closed orders and the jobnum is not desc
No worries.
So, I think you still need all the other parameters (there are a bunch!).
So, open the âAllâ view and copy all of them! Then go to your âOpenâ view and paste them all in!
Then, just change the top one to your Open transview clause. See if that works better.
So now its displaying the jobs in the order I want as in newest at the top but its still including closed orders
No⌠it should look like this:
See how many parameters there are?
Are those NOT in your âAllâ view?
No all I have is that 1 line in my All view
The reason you need them ALL is because youâre populating this landing page view via a rest-call:
The GetRows service is expecting ALL OF THESE INPUTS:
It will then want to send back a response based on those inputs.
We only CARE about the JobHead, so we give that a parameter that means something⌠and everything else gets a parameter of â1=0ââŚwhich is a false statement⌠so it wonât return anything for those, but we still have to include them or the call itself will fail.
If you evaluate this in the Debugger⌠(I set mine up the way you had yours)âŚ
The Payload is what youâre sending⌠and weâre only sending 1 out of many parameters:
In that case, the Response is a failure:
If you include all the parameters⌠itâll look like this:
Payload (includes everything):
So Response will be all records that meet those parameters.
Check your other views⌠Firm / Unfirm. Do THEY have more parameters?
Youâre in an older version⌠perhaps Epicor changed what service theyâre using here.
Are these the same services your stock views are using (All, Firm, Unfirm)?
All, Firm, Unfirm⌠not a technical term⌠just saying âStockâ is what comes with Epicor out-of-the-box.
Iâm guessing that means it canât be done in this version then?
Copy the below and paste them into your âOpenâ view⌠letâs see what happensâŚ
{
"whereClauseJobHead": "?{TransView.LandingPageWhereClauseOpen}",
"whereClauseJobHeadAttch": "1=0",
"whereClauseJobAsmbl": "1=0",
"whereClauseJobAsmblAttch": "1=0",
"whereClauseJobAsmblInsp": "1=0",
"whereClauseJobMtl": "1=0",
"whereClauseJobMtlAttch": "1=0",
"whereClauseJobMtlInsp": "1=0",
"whereClauseJobMtlRefDes": "1=0",
"whereClauseJobMtlRestriction": "1=0",
"whereClauseJobMtlRestrictSubst": "1=0",
"whereClauseJobOper": "1=0",
"whereClauseJobOperAttch": "1=0",
"whereClauseJobOperAction": "1=0",
"whereClauseJobOperActionParam": "1=0",
"whereClauseJobOperInsp": "1=0",
"whereClauseJobOperMachParam": "1=0",
"whereClauseJobOpDtl": "1=0",
"whereClauseJobResources": "1=0",
"whereClauseJobOperRestriction": "1=0",
"whereClauseJobOperRestrictSubst": "1=0",
"whereClauseJobAsmblRestriction": "1=0",
"whereClauseJobAsmblRestrictSubst": "1=0",
"whereClauseJobAsmRefDes": "1=0",
"whereClauseJobAudit": "1=0",
"whereClauseJobPart": "1=0",
"whereClauseJobProd": "1=0",
"whereClauseJobStage": "1=0"
}