2017-07-06 11 views
1
は、受注画面で

、私は状況が受注画面で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); 
    } 


} 

を完了した場合CustomerOrderNbrフィールドを有効にしようとしているが、それは無効のままになり、行うことになっているものやっていません。だから私は何が間違っているの?私は右のイベントですべてをオーバーライドするのですか?

または、販売注文が完了したら画面が実際にロックされていますか?

ありがとうございました。

答えて

2

受注画面を頻繁に自動化手順によって駆動されるためには、SOOrder DACの拡張RowSelectedハンドラに加えて、それが全体SOOrderを無効に完成した注文の自動化の手順を変更するための絶対必要です:

enter image description here

上図の自動化ステップ変化に加えて、あなたはSOOrder_RowSelectedハンドラを保つ必要があります。代わりに、これらの2つの変更により

public class SOOrderEntryExt : PXGraphExtension<SOOrderEntry> 
{ 
    public void SOOrder_RowSelected(PXCache sender, PXRowSelectedEventArgs e) 
    { 
     SOOrder order = e.Row as SOOrder; 
     if (order == null) return; 

     if (order.Completed == true) 
     { 
      PXUIFieldAttribute.SetEnabled<SOOrder.customerOrderNbr>(sender, order, true); 
     } 
    } 
} 

、顧客注文には専用のままになります完成した状態でSO受注のためエーブル:

enter image description here

+0

おかげで、それは働きます! – Rick

関連する問題