Hello :)
I’m trying to override the ReleaseClaimDetails
method under the EPReleaseProcess
graph using the code below.
public delegate List<APRegister> ReleaseClaimDetailsDelegate<TAPDocument, TInvoiceMapping, TGraph, TAPDocumentGraphExtension>
(ExpenseClaimEntry expenseClaimGraph, EPExpenseClaim claim, IEnumerable<EPExpenseClaimDetails> receipts,
string receiptGroupPaidWithType, string transactionType)
where TGraph : PXGraph, new()
where TAPDocument : InvoiceBase, new()
where TInvoiceMapping : IBqlMapping
where TAPDocumentGraphExtension : InvoiceBaseGraphExtension<TGraph, TAPDocument, TInvoiceMapping>;
[PXOverride]
public List<APRegister> ReleaseClaimDetails<TAPDocument, TInvoiceMapping, TGraph, TAPDocumentGraphExtension>
(ExpenseClaimEntry expenseClaimGraph, EPExpenseClaim claim, IEnumerable<EPExpenseClaimDetails> receipts,
string receiptGroupPaidWithType, string transactionType,
ReleaseClaimDetailsDelegate<TAPDocument, TInvoiceMapping, TGraph, TAPDocumentGraphExtension> baseMethod)
where TGraph : PXGraph, new()
where TAPDocument : InvoiceBase, new()
where TInvoiceMapping : IBqlMapping
where TAPDocumentGraphExtension : InvoiceBaseGraphExtension<TGraph, TAPDocument, TInvoiceMapping>
{
var docgraph = PXGraph.CreateInstance<TGraph>();
docgraph.RowInserting.AddHandler<TAPDocument>((sender, e) => {
var invoice = e.Row as InvoiceBase;
if (invoice != null && transactionType == ATPTEFMExpenseTypeAttribute.RequestforPayment)
{
ATPTEFMEPExpenseClaimExt claimExt = claim.GetExtension<ATPTEFMEPExpenseClaimExt>();
invoice.ContragentID = claimExt.UsrATPTVendorID;
}
});
return baseMethod(expenseClaimGraph, claim, receipts, receiptGroupPaidWithType, transactionType);
}
But a warning appears:
"The signature of a method with the PXOverride
attribute must match the overridden method."
