I’m not familiar with whatever customizations you may have already. As you can see from the screenshot I included, the code works in my environment. Customizing EP503010 is irrelevant as the error itself complains specifically of the DAC extension. Since I don’t have access to your code, I can’t see if Imperium modifies the EPApproval DAC.
Do you by chance have EPApprovalExt defined in the customization project AND in your visual studio extension library? Based on the error, if you are still stuck, I’d try changing the name of your specific DAC Extension to something like EPApprovalExt2 and see if that gets around your issue or helps you isolate the issue.
This message leads me to think you have started defining the field and didn’t finish.
\App_RuntimeCode\EPApproval.cs(34): error CS0311: The type 'PX.Objects.EP.EPApprovalExt.usrBranchID' cannot be used as type parameter 'Field' in the generic type or method 'Current<Field>'. There is no implicit reference conversion from 'PX.Objects.EP.EPApprovalExt.usrBranchID' to 'PX.Data.IBqlField'.
As you can see in my code, the field inherits PX.Data.BQL.BqlInt.Field<usrBranchID> which makes it an IBqlField.
Also, while I tend to apply graph and DAC extensions to the same namespace that the original resides, I believe it is possible to put them in your own namespace. I’ve seen it done both ways through the years.