Disabling Prompt "Is this Packing Slip Ready to Ship"

Hi all,
Good day!
Is there anyway we can somehow disable this prompt after printing the packing slip?


We normally don’t ship items after printing the packing slip.

Thanks,
Chemuel

There must be a way, because I had one user where it never showed. And subsequently didn’t automatically mark it as shipped.

I think I had to d a personalization purge to fix it for him. So maybe that’s a place to start looking.

Hi Calvin,
I tried exploring on personalization purge and it’s not it.
I suspect a BPM would stop it from popping up but don’t have any idea yet how to do it.

You need to customize the Print Packing Slip form, using the Form Event Wizard on the Closing event:

3 Likes

Hi Brian,
Merry Christmas.

I found some minor errors when executing this.


Not sure how to fix the binding flags error.

It’s all good Brian,
I had to add using system Reflections and it work as desired.

Thanks a lot.

Great topic - We just got the request to do this. I added the code, included “using System.Reflection;” in the top. It compiled with no errors, but I still get the pop-up on closing. I’ve restarted and cleared cache, but still not suppressing the pop-up. I added a label box to the UI so I know my customization is being called.

@bmgarver - How did you know to try that code in the first place? Could something have changed between 10.2.300 & 10.2.700?

// **************************************************
// Custom code for PackingSlipPrintForm
// Created: 4/16/2021 2:20:56 PM
// **************************************************
using System;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Windows.Forms;
using System.Reflection;
using Erp.Adapters;
using Erp.UI;
using Ice.Lib;
using Ice.Adapters;
using Ice.Lib.Customization;
using Ice.Lib.ExtendedProps;
using Ice.Lib.Framework;
using Ice.Lib.Searches;
using Ice.UI.FormFunctions;

public class Script
{
	// ** Wizard Insert Location - Do Not Remove 'Begin/End Wizard Added Module Level Variables' Comments! **
	// Begin Wizard Added Module Level Variables **

	// End Wizard Added Module Level Variables **

	// Add Custom Module Level Variables Here **

	public void InitializeCustomCode()
	{
		// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Variable Initialization' lines **
		// Begin Wizard Added Variable Initialization

		this.PackingSlipPrintForm.Closing += new System.ComponentModel.CancelEventHandler(this.PackingSlipPrintForm_Closing);
		// End Wizard Added Variable Initialization

		// Begin Wizard Added Custom Method Calls

		// End Wizard Added Custom Method Calls
	}

	public void DestroyCustomCode()
	{
		// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Object Disposal' lines **
		// Begin Wizard Added Object Disposal

		this.PackingSlipPrintForm.Closing -= new System.ComponentModel.CancelEventHandler(this.PackingSlipPrintForm_Closing);
		// End Wizard Added Object Disposal

		// Begin Custom Code Disposal

		// End Custom Code Disposal
	}

	private void PackingSlipPrintForm_Closing(object sender, System.ComponentModel.CancelEventArgs args)
	{
		// Add Event Handler Code
		oTrans.GetType().GetField("ReportPrinted", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(oTrans, false);
	}

}

We just upgraded to 10.2.700 from 10.1.500 and we are experiencing the same results. The customization is no longer suppressing the “Ready to Ship” dialog.

Brian,

Thanks for confirming that. How did you determine the code in the first place? Decompile? I’ve got a few other places I’d like to do the same, and could dig, but I’ve never done that before.

My trial and error method isn’t working - Downloaded dnSpy, opened the Erp.UIRpt.PackingSlipPrint.dll
and found ‘OnClosing’ and ‘OnClosed’ derived type. The UI wizard has a “closing” dropdown, but not “closed”

Any suggestions on my next step? Trace doesn’t show anything, and what worked in the UI in the earlier version doesn’t in 10.2.700 (expertly copied from @bmgarver) @Chris_Conn @Banderson @hasokeric @josecgomez ?

@timshuwy - Finding and suppressing triggers from the UI would be a fantastic Insights class! I have no idea how to do this, or if I’m even close. I’m trying to learn, but it’s not clear how to start.

You can add events manually.
create
FormName.Event += MyHandler;
destroy
FormName.Event -= MyHandler;

But to the point of the original post, are we sure that prompt is triggered by the Rpt or by the CustShip form?

I believe it’s a bug in the newer version. The prompt shows up even if exiting the print dialog without printing. Prior version did not do this.

3 Likes

Submitted a claim regarding this functionality. Below is the response from support:

This functionally changed as the result of Problem PRB0224759 since Kinetic did not have a way to detect the answer, it was decided to always ask until the feature becomes available.

Problem PRB0224759 does not have a target version assigned at this time.

Ugh, that’s terrible. Thanks for asking, though.

Is there any way we could automate closing the pop-up if we can’t prevent it in the first place?

We used the code from the original posts and seems to be working just fine on our end.

On our end, we applied the customization on the “Packing Slip Print”.
This is located under Menu Maintenance>Processes.

Thanks, @chemuel! (and @chemuelmardie!). Are you on 10.2.700 or Kinetic 2021?

I’ll dig back into it this week.

@askulte we are running with version 10.2.600

Current Version 10.2.700.5

Attempted to implement this also selected customization in Menu Maintenance for packing slip.

Still have issue when closing the print page

I’m back at it, but am getting an “Object reference not set to an instance of an object.” error when I close the pack slip form in 10.2.700.6… Also tried setting dispPrintedMessage false instead of ReportPrinted, but still errors out.

Do I need to add a ‘bool dispPrintedMessage = false;’ somewhere? I used the form wizard… I figure Epicor already instantiated it when calling UIRpt.PackingSlipPrint, though…

image