2017-07-10 21 views
0

我做了一個用戶界面(網格),讓用戶查看SOLineSplit,SOLine,SOOrder(所有這些都是acumatica DAC) - 目標是能夠輕鬆更新/修改SOLineSplit中的分配數量(數量)錯誤更新SOLineSplit拋出錯誤:「'相關文檔'可能不是空的」當保存

Namespace AllocationUpdate 
{ 
    public class AllocationUpdateEntry : PXGraph<AllocationUpdateEntry> 
    { 
     public PXSave<SOLineSplit> Save; 
     public PXCancel<SOLineSplit> Cance; 
     public PXSelectJoin<SOLineSplit, 
      RightJoin<SOLine, 
       On<SOLine.orderNbr, Equal<SOLineSplit.orderNbr>, 
       And<SOLine.inventoryID, Equal<SOLineSplit.inventoryID>, 
       And<SOLine.subItemID, Equal<SOLineSplit.subItemID>>>>, 
      RightJoin<SOOrder, 
       On<SOOrder.orderNbr, Equal<SOLine.orderNbr>>>>, 
      Where<SOLineSplit.isAllocated, Equal<True>>> Document; 

但它引發的OrderDate錯誤不能爲空。所以我說在BLC的FF代碼:

public class SOLineCacheExtension : PXCacheExtension<SOLineSplit> 
     { 
      #region OrderDate 
      public abstract class orderDate : IBqlField 
      { 
      } 
      [PXDBDate] 
      public DateTime? OrderDate { get; set; } 
      #endregion 

如今卻拋出「‘相關文件’不能爲空」錯誤。 我試圖像修改OrderDate一樣修改它,但無濟於事。

我們該如何解決?謝謝。

僅供參考。 SOLineSplit的相關文件是這個領域:

#region refnoteID 
[PXRefNote] 
[PXUIField(DisplayName = "Related Document", Enabled = false)] 
public virtual Guid? RefNoteID { get; set; } 
#endregion 
+1

您缺少SOLineSplit的父DAC。 @Samvel Petrosov的迴應應該有助於解決你的問題。 (這些意見被添加到您的頁面圖) – Brendan

+0

我已經嘗試過Samvel的建議,但錯誤是sitll相同。請注意,我使用Gridview而不是formview –

+0

何時發生錯誤?在保存/堅持?調試並查看SOOrder/SOLine視圖中是否設置了電流... – Brendan

回答

1

嘗試添加以下PXSelect - s到您的GraphSOLineSplit該屬性可與SOOrderSOLine緩存工作。

public PXSelect<SOOrder,Where<SOOrder.orderNbr,Equal<Current<SOLineSplit.orderNbr>>, 
    And<SOOrder.orderType,Equal<Current<SOLineSplit.orderType>>> CurrentOrder; 

public PXSelect<SOLine,Where<SOLine.orderNbr,Equal<Current<SOLineSplit.orderNbr>>, 
    And<SOLine.orderType,Equal<Current<SOLineSplit.orderType>>, 
    And<SOLine.lineNbr,Equal<Current<SOLineSplit.lineNbr>>>> CurrentLine; 
+0

我已經嘗試過,但錯誤仍然相同。 –

0

我結束了剛插入另一個(不同的數量)。我不認爲它允許我更新它。但原來非定製的Acumatica的行爲似乎只是執行插入操作,因此,我的答案。