2016-05-16 3 views
2

私はドロップシップPOを作成し、販売価格のマージンが特定のパーセンテージを下回ることに基づいてPOテーブルのカスタムフィールドを更新する機能をオーバーライドする必要があります。私はPOCreateのソースコードを見てきました。 POは静的関数ドロップ船POを作成中にPOOrderのユーザ定義フィールドを更新

public static PXRedirectRequiredException CreatePOOrders(List<POFixedDemand> list, DateTime? PurchDate, bool extSort) 

どのようにオーバーライドして、ドロップ船のPOを作成するには、私のロジックを追加するためにして作成されましたか?

答えて

5

最も適切な方法は、必要なイベントハンドラを添付することです。これは単純なケースではありませんが、私は数ヶ月前に書いた例です。このコードは、最後に "Test"を追加するようPOLineの説明を変更しています。カスタムフィールドにも値を設定することができます。

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 "; 
      }); 
     }); 
    } 
} 
関連する問題