2016-11-23 13 views
0

Я использую эту ниже кодировку для настройки RequestDate в документе Detail (экран SOOrder: Type QT), но он получил ошибку после того, как я преобразовал этот QT в SO и удалю его ТАК.Получил ошибку movenext на SOOrder Тип 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 и каждого Солинах:

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