It took me weeks to figure out what is happening on my screen when I implement the Standard approval automation on my customized screen.
[PXViewName(Messages.Approval)] public EPApprovalAutomation<FXEstablishingFund, FXEstablishingFund.approved, FXEstablishingFund.rejected, FXEstablishingFund.hold, FXSetupApproval> Approval;
The Culprit: The NoteID field
with [PXDBGuid()] which is the default attribute when you generate new dac via Customization Project. just change it to [PXNote] because NoteID is required in EPApprovalAutomation class for the reference of Document to Document relationship.