Monitor Condition for When Certain Fields Contain Values

I am hoping to re-establish code that I had working perfectly (up until the point I forgot to backup my customization during a Production-to-Test data migration), but now have completely forgotten my own approach to the solution.

Basically what I’m trying to do is monitor three fields on the Receipt Entry form. If all three of these fields contain values, then allow other fancy code to happen:


I remember that my first approach on this was to simply define the “EpiNumericEditor” and “EpiTextBox” fields, then determine, respectively, if they were anything other than zero, or blank. However, I have since forgotten what method I used to “monitor” this condition.

At the time, I abandoned this approach (which did work, btw) in favor of checking the EpiDataView on RcvDtl - and - if the values existed in the EpiDataView, then allow more fancy code to happen. I did get this to work, as well - but, again, I have since forgotten exactly how I did this, or what method I used to kick off this check of the EpiDataView.

Does the second approach concerning the EpiDataView I mentioned here sound reasonably familiar to anyone who might be able to redirect my focus and get me back on track?


You could use the EpiViewNotification with the NotifyType.Initialize trigger in the UI customization to do your monitoring. If that is too generic (or repetitive) than you will have to determine which adapters are firing using the BeforeAdapterMethod or AfterAdapterMethod. calling your method of choice to monitor. If you are doing it as a BPM you could use a DataDirective to monitor the table.


Thanks, @rosshughes .

For the EpiViewNotification event type, which view makes the most sense for the scenario I’ve described? Would it be “RcvDtl”, “ReceiptRcvDtl”, “PendingRcvDtl”, or “ArrivedRcvDtl”… or perhaps something completely unrelated to RcvDtl?

  1. Your image is of the Tracker form, not the Entry form. :wink:
  2. When do you want to look for this condition?
    2.1 Just prior to saving the record?
    2.2 After they are populated during a Mass Receive? (and to trigger after each line)
    2.3 After the PartNum is retrieved when a valid PO Num, Line and Rel are manually entered?


I am not totally sure but would probably try RcvDtl first . I drop one in and put a messagebox to see if it triggers and gives me what I want for testing. Sometimes they are misleading…


@ckrusen - Good catch, Calvin.

Yet - I’m launching the Receipt Entry form, so it’s a bit odd when looking at something like this:


I’d say that I’d need the trigger to happen in the scenario you described in item 2.3 ----> after the part number is retrieved when the PO, POLine and PORel are entered.

@rosshughes - I’ll give that a try. Thank you very much.

You could use a BPM for Receipt.GetDtlPORelInfo

This fires after leaving the Rel field on the Entry form. It is what fetches the PartNum, Desc, etc… from just the PO-Line-Rel combo.

Use Post-Processing to have all the values that are returned from it getting the info.