在创建直运 PO 时更新 POOrder 中的用户定义字段
Updating User defined field in POOrder while creating Drop ship PO
我必须重写函数以创建代发货 PO 并根据销售价格利润率低于特定百分比更新 PO Table 中的自定义字段。我已经浏览了 POCreate 的源代码。
PO是通过静态函数创建的
public static PXRedirectRequiredException CreatePOOrders(List<POFixedDemand> list, DateTime? PurchDate, bool extSort)
如何覆盖我的逻辑并将其添加到创建直销采购订单中?
最好的方法是根据需要附加事件处理程序。这不是一个简单的案例,而是我几个月前写的一个例子。此代码正在更改 POLine 描述以在末尾添加 "Test"。您也可以使用它来填充您的自定义字段。
public class POCreateExt : PXGraphExtension<POCreate>
{
public override void Initialize()
{
PXGraph.InstanceCreated.AddHandler<POOrderEntry>((graph) =>
{
graph.RowUpdating.AddHandler<POLine>((sender, e) =>
{
POLine line = e.NewRow as POLine;
POOrderEntry.SOLineSplit3 soLine = PXResult<POOrderEntry.SOLineSplit3>.Current;
line.TranDesc = soLine.TranDesc + " TEST ";
});
});
}
}
我必须重写函数以创建代发货 PO 并根据销售价格利润率低于特定百分比更新 PO Table 中的自定义字段。我已经浏览了 POCreate 的源代码。 PO是通过静态函数创建的
public static PXRedirectRequiredException CreatePOOrders(List<POFixedDemand> list, DateTime? PurchDate, bool extSort)
如何覆盖我的逻辑并将其添加到创建直销采购订单中?
最好的方法是根据需要附加事件处理程序。这不是一个简单的案例,而是我几个月前写的一个例子。此代码正在更改 POLine 描述以在末尾添加 "Test"。您也可以使用它来填充您的自定义字段。
public class POCreateExt : PXGraphExtension<POCreate>
{
public override void Initialize()
{
PXGraph.InstanceCreated.AddHandler<POOrderEntry>((graph) =>
{
graph.RowUpdating.AddHandler<POLine>((sender, e) =>
{
POLine line = e.NewRow as POLine;
POOrderEntry.SOLineSplit3 soLine = PXResult<POOrderEntry.SOLineSplit3>.Current;
line.TranDesc = soLine.TranDesc + " TEST ";
});
});
}
}