In Acumatica's CAReleaseProcess graph there is a method:
public virtual IEnumerable<Batch> ReleaseDocProc<TCADocument>(JournalEntry je, ref List<Batch> batchlist, TCADocument doc)
Normally, to hook into logic, we can use a Graph Extension to PXOverride any virtual method within the Base.
However, generic methods are the exception to this rule, Acumatica won't PXOverride them, and will just error on launch.
Due to this, we had no choice but to copy several hundred lines of Acumatica code, all just to replace the part that calls the ReleaseDocProc method to call our own, which calls the base method, uses the IEnumerable<Batch> that is returned, and then returns that IEnumerable.
Over 3 major versions of Acumatica, this logic has changed, and now that we are in 2018 R2, we find that we have to delete all our copied code and start over.
Not only is this against Acumatica Standard, this is very tedious on our part, as we need to make sure we're not breaking functionality.
If we could just PXOverride the method, we could simply call the delegate, use the IEnumerable<Batch> for our purposes, and return it without copying Acumatica code.
A Developer Support case has been opened regarding this, however, it doesn't seem that Engineering has any plans to make this change.