28-08-2016でQTを作成した後、businessDateを30-08-2016に変更してSOOrderにコピーします.SOOrderにコピーした後、再びQTを開きますステータスが[完了]に変わります。しかし、SOLineのRequestDateは更新されませんでした。RequestDate not updateイベントSOLineでRowUpdateイベントを使用しています
protected void SOOrder_Status_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)
{
var row = (SOOrder)e.Row;
SOOrderExt rowExt = PXCache<SOOrder>.GetExtension<SOOrderExt>(row);
if(row != null)
{
if(row.OrderType == "QT" && row.Status == "C")
{
rowExt.UsrRequestDate = Base.Accessinfo.BusinessDate;
}
else
{
rowExt.UsrRequestDate = row.OrderDate;
}
}
}
protected void SOOrder_OrderDate_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)
{
var row = (SOOrder)e.Row;
SOOrderExt rowExt = PXCache<SOOrder>.GetExtension<SOOrderExt>(row);
if(row != null)
{
rowExt.UsrRequestDate = row.OrderDate;
}
}
、私はQTを作成するからQTに完成日数をチェックしたいです。 SOOrderにコピーするときにRequestDateを更新したいのですが、SOOrderでこのコードを使用していますが、SOLineはまだ動作していません。 – YSP
注文作成日と完了データの差を維持したい場合は、SOORder_Status_FieldUpdateイベントでステータスが変更されたときにビジネスデータから更新できる新しいカスタムフィールドを用意することをお勧めします。 Order.CreatedDateTimeからあなたのカスタムフィールド –
私は答えとしてそれを更新しました、それを修正できますか? – YSP