Pop-up on closing Sales Order Entry screen

We’re thinking of having Sales Order Entry’s Ready to Process button no longer auto-checked, but need a reminder for the sales people to check it when the order is complete (and maybe Ready to Fulfill also)…

This pop-up would happen at the end of the order if RTP is not checked:

  1. When Order Entry is being closed
  2. When an Order Number is changed

I could use a trace to find the method to use a BPM for #2, but don’t know where to start for #1. Would this be a C# customization for the Order Entry UI? Something with WinForms (I’m just name dropping… Very unfamiliar with it, but can copy/paste with the best of 'em!)

Thank you for the help.

You are correct that it would be a UI Customization.

I believe it is the Closing Form Event. Open up the Customization screen and go to the Wizards tab and the Form Event Wizard. You should be able to put a message pop up here that could ask if they need to check RTP.

Once in the event handler, is there a way to terminate the “closing” process?

Like if the pop-up had: “Return to the order?” and the user selects “YES”, then the form doesn’t close.

Not 100% sure, but I would just throw a break behind a button.

Thanks guys! That was fast… Now I’m googling “Break behind a button Epicor” and found this thread: Epicor Customizations: Add Action Menu Entries — GingerHelp

Below sample which I used for the same purpose.
private void SalesOrderForm_Closing(object sender, System.ComponentModel.CancelEventArgs args)
{
// Add Event Handler Code
if (edvOrderHed.HasRow)
{
if (Convert.ToBoolean(edvOrderHed.dataView[edvOrderHed.Row][“ReadyToCalc”].ToString()) == false)
{
args.Cancel = true;
Epicor.Mfg.UI.EpiMessageBox.Show(“Unable to close the Sales Order Entry form without Ready To Process flag checked. Please check the flag.”,“Critical Warning”,MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
else return;

}

private void baseToolbarsManager_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs args)
{
  if (args.Tool.Key == "ClearTool")
  {
    if (edvOrderHed.HasRow)
    {
      if (Convert.ToBoolean(edvOrderHed.dataView[edvOrderHed.Row]["ReadyToCalc"].ToString()) == false)
      {
        throw new System.ArgumentException("Unable to close the Sales Order Entry form without Ready To Process flag checked. Please check the flag.", "original");
      }
    }
    else return;
    }

}

1 Like

There is already a system warning that will display if ready to process is not set.

image

1 Like

Yes @Carson . But warning messages are generally ignored. I have linked Reservation, picklist print, minimum order charge to ReadyToProcess flag.

Trust that your users will take notice of the standard Epicor warning…

…but then for belt and braces setup an SSIS Package that runs every 15 mins and looks for any Sales Order where RTP = false, and the ChangeDate is >15 mins ago. Send it to either the “Entered By” person listed, or a team responsible for processing Sales Orders.

3 Likes

Hi Carson - Thanks! I completely forgot about that. That would work!

1 Like