非转让订单需要客户订单

时间:2017-08-09 18:08:45

标签: acumatica

我们有一个简单的自定义,需要“客户订单”字段。但我们不知道如何防止转移类型订单的要求,这会隐藏客户订单字段。我发现了一篇类似的文章(Make Salesperson ID a Required field on SOLine)讨论了排除" line"的要求。字段,但我认为这种情况(防止转移销售订单的客户订单字段的要求)可能更简单。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

根据您在SOOrderEntry图形扩展的SOOrder RowSelected事件处理程序中的业务规则更改PXDefaultAttribute / PXUIFieldAttribute:

  public class SOOrderEntry_Extension:PXGraphExtension<SOOrderEntry>
  {
    protected void SOOrder_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
    {
      SOOrder soOrder = e.Row as SOOrder;

      if (soOrder != null)
      {
        bool isRequired = (soOrder.OrderType != SOOrderTypeConstants.TransferOrder);

        PXDefaultAttribute.SetPersistingCheck<SOOrder.customerOrderNbr>(sender,
                                                                        soOrder, 
                                                                        isRequired ? PXPersistingCheck.NullOrBlank : PXPersistingCheck.Nothing);

        PXUIFieldAttribute.SetRequired<SOOrder.customerOrderNbr>(sender, isRequired);
      }
    }
  }