2016-11-23 62 views
0

我用下面这样的编码来定制的文档详细的RequestDate(SOOrder屏幕:类型QT),但之后我完成转换的QT到SO它得到了错误,并删除所以。了错误的MoveNext SO之后,从QT转换和删除SO

[PXOverride] 
public void Persist(PersistDelegate baseMethod) 
{ 
    var order = Base.Document.Current; 
    if(order.OrderType == "QT") 
    { 
    order.RequestDate = Base.Accessinfo.BusinessDate ;//Base.Accessinfo.BusinessDate; 
    foreach(SOLine so in Base.Transactions.Select()) 
    { 
     so.RequestDate = Base.Accessinfo.BusinessDate; 
     Base.Transactions.Update(so); 
    } 
    } 
    baseMethod(); 
} 

回答

1

你应该为你的SOOrder的状态添加验证更新RequestDate为SOOrder每个SOLine前:

if (Base.Document.Cache.GetStatus(order) != PXEntryStatus.InsertedDeleted || Base.Document.Cache.GetStatus(order) != PXEntryStatus.Deleted) 
{ 
    if(order.OrderType == "QT") 
    { 
     order.RequestDate = Base.Accessinfo.BusinessDate; 
     foreach(SOLine so in Base.Transactions.Select()) 
     { 
      so.RequestDate = Base.Accessinfo.BusinessDate; 
      Base.Transactions.Update(so); 
     } 
    } 
} 
+0

它没有工作,因为仍然有同样的错误。 – YSP