在创建Drop ship PO时更新POOrder中的用户定义字段

Mur*_*nan 2 acumatica

我必须覆盖功能以创建掉落船PO并根据销售价格保证金在PO表中更新自定义字段低于特定百分比.我已经浏览了POCreate的源代码.PO是通过静态函数创建的

public static PXRedirectRequiredException CreatePOOrders(List<POFixedDemand> list, DateTime? PurchDate, bool extSort)
Run Code Online (Sandbox Code Playgroud)

如何覆盖和添加我的逻辑来创建drop-ship PO?

Phi*_*ppe 5

最好的方法是在您需要的地方附加事件处理程序.这不是一个简单的案例,但这是我几个月前写的一个例子.此代码正在更改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 ";
            });
        });
    }
}
Run Code Online (Sandbox Code Playgroud)