在新版本的 Acumatica 2021R2 中,該函式CreateSalesOrders未在OpportunityMaint圖中定義,我需要Products在舊版本的 Solines 中添加默認值,它可以作業,但現在我收到錯誤該函式在圖中不存在,我看到該函式存在PX.Objects.CR.Extensions.CRCreateSalesOrder但是是一個抽象類,我沒有找到實作或者這是在元資料中
舊代碼
public delegate IEnumerable createSalesOrder(PXAdapter adapter);
[PXOverride]
public virtual IEnumerable CreateSalesOrder(PXAdapter adapter, createSalesOrder baseMethod)
{
PXTrace.WriteInformation("try ");
PXGraph.InstanceCreated.AddHandler<SOOrderEntry>((graph) =>
{
graph.RowInserted.AddHandler<SOOrder>((sender, e) =>
{
SOOrder order = (SOOrder)e.Row;
SOOrderExt orderExt = PXCache<SOOrder>.GetExtension<SOOrderExt>(order);
orderExt.UsrCustomOne = "Howdy"; //assign anything you want here*/
});
});
return baseMethod(adapter);
}
但這引發了一個錯誤
圖表 OpportunityMaint 中未定義操作
現在操作在一個抽象類 CRCreateSalesOrder 中
uj5u.com熱心網友回復:
這是一個通用圖形,在 OpportunityMaint 中,您會看到一條線
public class CRCreateSalesOrderExt : CRCreateSalesOrder<OpportunityMaint.Discount, OpportunityMaint, CROpportunity>
這擴展了抽象通用圖并將其邏輯(包括 createSalesOrder 操作)應用于 OpportunityMaint 圖。
您應該能夠使用以下內容覆寫它:
public class CRCreateSalesOrderExt_Ext: PXGraphExtension<CRCreateSalesOrderExt, OpportunityMaint>
{
public static bool IsActive() => true;
public delegate IEnumerable createSalesOrderDelegate(PXAdapter adapter);
[PXOverride]
public IEnumerable createSalesOrder(PXAdapter adapter, createSalesOrderDelegate baseMethod)
{
//Add your handler here
return baseMethod(adapter);
}
}
CRCreateSalesOrderExt 來自 PX.Objects.CR.OpportunityMaint(定義在圖上),是從通用圖 CRCreateSalesOrder 繼承的圖擴展,OpportunityMaint 是基礎圖。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/360501.html
上一篇:使用SSMS洗掉了本地資料庫表,并且無法使用ASP.NET物體框架重新創建它
下一篇:在C#中獲取一個月后的下一天
