Hello all Handheld users. I’m trying to work through an issue where selecting Job Receipt to Job (3,1,2) I get an Object Reference not set to an instance of an object. The form still opens after you click ok on the error. But on a handheld it will be unacceptable.
seeing this on 10.1.600.6, 10.1.600.25 and 10.1.600…34 it does not show on 10.1.600.4 or 10.2.100. 22.
So if anyone has 5 minutes to let me know what version you are on and if you see the error when going through the handheld menu (Material Management->Data Collection->Handheld->Handheld Menu (3,1,2) , I’d really appreciate it.
I meant to mention this does not appear happen when you access the form directly via Material Management->Data Collection->Handheld->Material Handling->Job Receipt to Job.
Would need to test, but haven’t seen this in 10.1.400.30 and now on 10.2.300.7. Again, have not tested on 10.2.300.7. Do not do a ton of these moves anymore, but they still occur and i have not heard anything.
I went off to support and after looking at the release notes again and I do see a fix in 10.600.10 for “an error” on opening that particular form. But I can’t understand why we have the error considering we are on 10.1.600.25. I thought all resolved issues in the release notes were cumulative.
No that’s a plain one. Erp.Menu.Handheld is customised, but even with plain vanilla it still throws and Epicor has confirmed that it is happening in 10.1.600.35.
Here’s my stab (some irrelevant code removed because it’s irrelavant I dont want to get in trouble):
At this method, the lfo is not detected as RcptsToJobEntryArgs (Line A).
This means rcptArgs is never assigned (Line B)
protected override void LaunchForm(object options)
{
if (options is RcptsToJobEntryArgs) //Line A
{
this.rcptArgs = (RcptsToJobEntryArgs)options; //Line B
}
}
Later: At Line C - we crash because this.rcptArgs is null, and attempts to access it fail
protected override void OnFormLoaded()
{
if (this.LaunchFormOpts != null && !string.IsNullOrEmpty(this.rcptArgs.JobNum)) //Line C
}
Changing this line to this would probably fix it:
if (this.rcptArgs != null && !string.IsNullOrEmpty(this.rcptArgs.JobNum))
Also ensuring the lfo passed in (in Epicor code) was RcptsToJobEntryArgs should also fix it.
And one final thing if you are impatient and willing - maybe getting access to rcptArgs (via reflection since it’s private) in Initialize, then creating a blank one would make it go away.
void Initialize()
{
//reflection to get rcptArg here, then
rcptArgs = new RcptsToJobEntryArgs(oTrans);
}
Hint: RcptToJobEntryArgs is defined in RecieptsFromMfgAdapter