Customer Shipment Entry - Stop Our Ship Qty defaulting

Hello,

We had a request to stop the defaulting of the Our Ship Qty field in the Customer Shipment Entry > Lines form. It’s due to their data and how it was converted from another system.

So I tried a BPM on Erp.BO.CustShip.GetOrderRelInfo (due to notificing the field defaults right after I enter a release number) to force the field to 0 using all 3 types (Pre, Base, Post). Pre and Post didn’t change the value, Base seems to just kill the rest of the form processing from happening (things like Warehouse, UOM, etc. don’t load).

I looked at the Field Help and it is a calculated field, so I tried both setting the DisplayInvQty to 0, then I tried OurInventoryShipQty, both to no avail. I then attempted to use a form customization, EpiViewNotification > Initialize, but that didn’t work most likely due to order of processing.

I’m at a loss on how to get this to work, so I was hoping someone here may have experience in the matter and could assist.

Thank you for your time! It is much appreciated :slight_smile:

image

I tried a few things and I think the background calculation of the shipped and remaining is never going to allow you to clear that value. What I would try is to add an unbound field and on leave from that field set OurShippedQty from it and set RowMod of that dataview to U call Notify to tell the app the change happened.

Once you have that running you can put your field over theirs or stick their field at the bottom of the section.

1 Like

I will give that a try, thank you Greg! But what do you mean by calling Notify? I am not familiar with that.

Here is the code I use in receipt entry to scan a barcode and strip out just the tracking number.

private void txtLongTrack_Leave(object sender, System.EventArgs args)
	{
		// ** Place Event Handling Code Here **

			EpiDataView sdView = (EpiDataView)(oTrans.EpiDataViews["ReceiptRcvDtl"]);//gets your data view
			if(txtLongTrack.Text.Length >= 12)
			{
			sdView.dataView[sdView.Row]["TranReference"] = txtLongTrack.Text.Substring(txtLongTrack.Text.Length-12,12); //txtreference
			}
			else
			{
			sdView.dataView[sdView.Row]["TranReference"] = txtLongTrack.Text; //txtreference
			}

			sdView.dataView[sdView.Row]["RowMod"]="U"; // sets the row mod so that it knows it's upated
			txtLongTrack.Text = "";
			sdView.Notify(new EpiNotifyArgs(oTrans, sdView.Row , sdView.Column)); //triggers the change so it goes to the server to do the work.
	}

1 Like

This was a great idea Greg! I didn’t implement it exactly, but I ended up creating a Leave event on the Part# input field. So the idea is after they tab out of Part#, I set the Our Ship Qty to 0. I just had our BA team test to see if that broke anything and their tests passed, so now onto user review. Thank you!!