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