Can I get rid of pop-up messages for job links and ready to calculate on Order Entry? Also, does everyone create job links as part of the order entry process?

Care to share that BPM code? @dhewi Also do you every worry about material or capacity constraints? How could the BPM handle those?

The Ready to Process popup can be suppressed via Company Configuration

image

1 Like

Right, but I don’t necessarily want to default it because changing it from false to true activates our tax software which calculates and adds tax to the order.

There are many times where order entry leaves the order knowing that it is not checked. They are sick and tired of having to confirm that message.

I’ll see if I can dig it out tomorrow.

We don’t (currently) use any kind of capacity, but we have standard lead times (which are enforced at order entry) and users can see material stock as they enter orders too. There’s still a lot we can do to improve that area, I will admit, but it isn’t a serious problem.

The key is that the Order Job Wizard allows jobs to be created at a selected level of readiness anyway - you can create them but not engineer them or release them or schedule them, or you can do any or all of those. We default to everything but scheduling in the automation, but you don’t have to.

Bummer. Well there is a way to suppress that message with BPMs but I’m not sure how you would remind the users to eventually do it.

Some day I hope to have the understanding of business objects, how to trace something and re-build it via c#, adapters, etc. so that I can feel comfortable attempting something like this.

That’s hardcore. Hat off.
Call me callous, but I think I prefer telling my users they have to put up with the pop-up box.

1 Like

Its often the Adapter that has the MessageBox wrapped… The BO’s are silent and will output messages usually to an out variable or throw an exception… So by not using the Adapter you can sometimes get around it… Now if Epicor calls Update() and that calls 10 other methods, then it becomes much more difficult =)

Agreed, I only do it when I have to like in fast paced Packout where a Popup blocking your Handheld as you try to rapid fire through labels was a No =) Instead I played an error.wav and showed the message but the error.wav screamed “stop scanning, pull up Handheld and look at screen I need you to push something”

Best method: Train users to deal with it.

1 Like

Yeah… @dhewi I told them that I would look into it, but maybe we should look into using the Order Job wizard to create job links before leaving the sales order, then they won’t see the pop up anymore.That would require a lot of training about job planning, etc. Unless I can harness @hkeric.wci 's amazing developer powers and figure out a trick, I think we are just stuck dealing with it.

Here’s the BPM code for automating the job creation anyway, in case that helps.

string e = "";
Erp.Tablesets.OrderJobWizTableset OrderJobWizDataSet;
Erp.Contracts.OrderJobWizSvcContract job = null;

job = Ice.Assemblies.ServiceRenderer.GetService<Erp.Contracts.OrderJobWizSvcContract>(Db);

using (var txScope = IceContext.CreateDefaultTransactionScope())
{
	var thisOrderHed = (from row in Db.OrderHed where row.Company == Session.CompanyID && row.OrderNum == orderNum select row).FirstOrDefault();
	if (thisOrderHed != null)
	{ 
		orderNum = thisOrderHed.OrderNum;
		var orderRows = (from orderrelRow in Db.OrderRel join partRow in Db.Part on new { orderrelRow.Company, orderrelRow.PartNum } equals new { partRow.Company, partRow.PartNum } where orderrelRow.Company == Session.CompanyID && orderrelRow.OrderNum == orderNum && orderrelRow.Make == true select new { orderrelRow.OrderNum, orderrelRow.OrderLine, orderrelRow.OrderRelNum, orderrelRow.PartNum, OrderQty = orderrelRow.OurReqQty } );
	
	foreach (var oRow in orderRows)
	{ 
		var jobRow = (from row in Db.JobProd where row.Company == Session.CompanyID && row.OrderNum == oRow.OrderNum && row.OrderLine == oRow.OrderLine && row.OrderRelNum == oRow.OrderRelNum select row).FirstOrDefault(); 
		
		if (jobRow == null)
		{
			e = "no job " + oRow.OrderNum.ToString() + "." + oRow.OrderLine.ToString();
			OrderJobWizDataSet = job.GetMatrix(oRow.OrderNum, oRow.OrderLine, 1);

			var JWJobOrderDtl = (from row in OrderJobWizDataSet.JWJobOrderDtl where row.Company == Session.CompanyID && row.OrderNum == oRow.OrderNum && row.OrderLine == oRow.OrderLine select row).FirstOrDefault();
			var orderRel = (from row in Db.OrderRel where row.Company == Session.CompanyID && row.OrderNum == oRow.OrderNum && row.OrderLine == oRow.OrderLine && row.OrderRelNum == oRow.OrderRelNum && row.ActionAhead_c == true select row).FirstOrDefault();
			
			if (JWJobOrderDtl != null)
			{
				JWJobOrderDtl.JobChkBox = true;
				JWJobOrderDtl.DetailChkBox = true;
				//JWJobOrderDtl.ReleaseChkBox = true;
				JWJobOrderDtl.ScheduleChkBox = true;
				JWJobOrderDtl.RowMod = "U";
			}

			job.ValidateJobs(ref OrderJobWizDataSet, out e);
			if (e.Length == 0)
			{
				job.CreateJobs(ref OrderJobWizDataSet, out e);
			}
			Db.Validate();
			
		}
		else
		{
			e = "job already exists: " + jobRow.JobNum;
		}
		
	}
	}
	try
	{
			txScope.Complete();
	}
	catch (Exception err)
	{
			Ice.Diagnostics.Log.WriteEntry("SalesOrder.MasterUpdate Method Post CreateOtherJob: " + err.Message);
	}
	if (e != string.Empty)
	{
			this.PublishInfoMessage(e,Ice.Common.BusinessObjectMessageType.Information, Ice.Bpm.InfoMessageDisplayMode.Individual,"",""); 
	}
}
2 Likes

Any way I can use this but have the job be created with the order-line-release number (like in the planning workbench) and not just the next job number?

That’s what it does by default. I think that part is down to your company configuration, and then the Order Job Wizard follows whatever you’ve set.

1 Like

This is the setting for that I’m pretty sure.

image

1 Like

@dhewi @Banderson I should have known they would hide that in there. Thank you both.

I was researching this problem just today because the Job Link message is more prominent in 10.2.400 than it was in 10.1.600. My users are now seeing it every time they click new line on an order if it’s not linked, where before it would only come up once when they clicked on new order. I found a check box in Site Configuration that disables that first box that Utah Taylor commented about.

Here is a shot of the box I checked off to make that message go away without having to create any links.

9 Likes

DUDE! Awesome! @FTI-SeniorAdmin

We never create job links as part of the order process. That’s done by another department, days, weeks, even months later. Thanks for asking this, and thanks to @FTI-SeniorAdmin for the answer. You made our sales department’s day!

1 Like

Well damn, I’m glad that I was able to assist in this. When I got the call from our repairs department about the problem my first thought was, you can’t disable Epicor “prompts” and they will say it’s working as designed if I start a call and complain about the logic change. I honestly didn’t think I was going to find that box digging through the config tabs.

1 Like