在销售订单屏幕中,如果状态已完成,我正在尝试启用CustomerOrderNbr字段
protected void SOOrder_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
{
SOOrder doc = e.Row as SOOrder;
if (doc == null)
{
return;
}
if (doc.Completed == true )
{
PXUIFieldAttribute.SetEnabled(cache, doc , true);
PXUIFieldAttribute.SetEnabled<SOOrder.customerOrderNbr>(cache, doc, true);
}
}
然而,它仍然是残疾人,并没有做它应该做的事情 . 那么我做错了什么?我是否在正确的事件上进行覆盖?
或者,一旦销售订单完成,屏幕是否真的锁定了?
谢谢你的回答 .
1 回答
由于销售订单屏幕受自动化步骤的严重驱动,除了SOOrder DAC的扩展RowSelected处理程序外,还必须修改禁用整个SOOrder的已完成订单的自动化步骤:
除了上面显示的自动化步骤更改,您还应该保留SOOrder_RowSelected处理程序:
通过这两项更改,客户订单将保持对已完成状态的SO订单启用: