I’m hoping this is a simple one. I setup a BAQDV on Inventory Transfer for the express purpose of looking up a specific value in the PkgControlHeader table. Basically, I am using the PkgControlBoolean01 field to toggle whether we are going to allow the PCID to be used. This is obviously tied to the PCID value.
So my BAQDV seems to work as you’d expect for the first result you pull up. But if you enter a new PCID, it doesn’t refresh the EpiDataView associated to the BAQDV. Am I missing an obvious step? I did setup a pub/sub in the initial BAQDV creation. Here’s the code I used for that.
public void CreatePCIDHeaderDV()
{
PCIDHeaderDV = new BAQDataView("BAQDV_PCIDClosed");
oTrans.Add("PCIDClosed", PCIDHeaderDV);
string pub1Binding = "view.PCID";
IPublisher pub1 = oTrans.GetPublisher(pub1Binding);
if (pub1 == null)
{
string pubName = Guid.NewGuid().ToString();
oTrans.PublishColumnChange(pub1Binding, pubName);
pub1 = oTrans.GetPublisher(pub1Binding);
}
if (pub1 != null)
PCIDHeaderDV.SubscribeToPublisher(pub1.PublishName, "PkgControlHeader_PCID");
}
My BAQ literally consists of two columns, PCID and PkgControlBoolean01.
Is there something in Inventory Transfer that doesn’t function like a normal form when you go between PCIDs/parts? Can I force a publish when the PCID field is changed on the form? When I clear the form, and enter a PCID, it works properly. It only doesn’t work if I jump between two that I have opened.
There are three views in that form with PCID in it. view.PCID is what the field is bound to on the form. Part.PCID also seems to work (on initial PCID). PkgControlSearch.PCID does not work.
OK. I’ve narrowed it down. If I load multiple records and navigate using the play button at the top, it updates my field properly. If I just type in the PCID box it does not. Maybe that’s normal behavior? But I’ve never noticed that on other forms…
I’m trying to force something… I thought if I create an event on the textbox that looks for the value to change, I’d be able to manually Notify the system of the change to the row. Am I looking to notify the EDV? Which one? And is there a logical event that is the “last” event to trigger on?