Acumatica2021R2 CreateSalesOrder 操作未在 OpportunityMaint 中定义
Acumatica2021R2 CreateSalesOrder action is not defined in OpportunityMaint
在新版本Acumatica 2021R2中,OpportunityMaint
图中没有定义函数CreateSalesOrders
,我需要将Products
中的默认值添加到旧版本中的Solines中工作,但现在我收到错误消息,该函数在图中不存在,我看到该函数存在于 PX.Objects.CR.Extensions.CRCreateSalesOrder
中,但它是一个抽象的 class 并且我找不到实现或者它在元数据中
旧代码
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);
}
但这会引发错误
The actions is not defined in the Graph OpportunityMaint
现在活动在 abstract class CRCreateSalesOrder
这是一个通用图表,
在 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 是基础图。
在新版本Acumatica 2021R2中,OpportunityMaint
图中没有定义函数CreateSalesOrders
,我需要将Products
中的默认值添加到旧版本中的Solines中工作,但现在我收到错误消息,该函数在图中不存在,我看到该函数存在于 PX.Objects.CR.Extensions.CRCreateSalesOrder
中,但它是一个抽象的 class 并且我找不到实现或者它在元数据中
旧代码
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);
}
但这会引发错误
The actions is not defined in the Graph OpportunityMaint
现在活动在 abstract class CRCreateSalesOrder
这是一个通用图表, 在 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 是基础图。