2017-08-31 68 views
0

我想爲庫存交易記錄屏幕(IN405000)創建一個GI。Acumatica GI - 庫存交易記錄屏幕

由於表InventoryTranHistEnqResult不存在於數據庫中......此屏幕的幾列是從INTran表中取得的。

我無法找到以下欄目:BegQty,QtyIn,QtyOut,EndQty ...

我也試過數據庫以下查詢找到這些列

SELECT c.name AS ColName, t.name AS TableName 
FROM sys.columns c 
JOIN sys.tables t ON c.object_id = t.object_id 
WHERE c.name LIKE '%EndQty%' 

的DAC這些領域是:

enter image description here

+0

您需要查看Acumatica中的DAC以瞭解它是如何構建的。最好是搜索字段的源代碼,而不要在任何字段上查看SQL。 GI建立在DAC上,而不是SQL,因爲DAC可能是PXProjection或包含未綁定/計算的字段。 – Brendan

+0

我經歷了這些領域的DAC,但找不到解決方案..所有這些領域的DAC是 [PXDBQuantity()] [PXDefault(TypeCode.Decimal,「0.0」)] [PXUIField(DisplayName =「Qty.Out」,Visibility = PXUIVisibility.SelectorVisible)] – Naina

回答

0

在頁面圖會告訴你答案的網頁背後的信息看你的題。庫存交易記錄屏幕(IN405000)使用圖表InventoryTranHistEnq。本頁面的網格使用DAC InventoryTranHistEnqResult在以下幾種觀點:

PXSelectJoin<InventoryTranHistEnqResult, 
CrossJoin<INTran>, 
Where<True, Equal<True>>, 
OrderBy<Asc<InventoryTranHistEnqResult.gridLineNbr>>> ResultRecords 

ResultsRecords使用動態建立在詢價以下:

protected virtual IEnumerable resultRecords() 
{ 
    int startRow = PXView.StartRow; 
    int totalRows = 0; 
    decimal? beginQty = null; 

    List<object> list = InternalResultRecords.View.Select(PXView.Currents, PXView.Parameters, new object[PXView.SortColumns.Length], PXView.SortColumns, PXView.Descendings, PXView.Filters, ref startRow, PXView.MaximumRows, ref totalRows); 
    PXView.StartRow = 0; 

    foreach (PXResult<InventoryTranHistEnqResult> item in list) 
    { 
     InventoryTranHistEnqResult it = (InventoryTranHistEnqResult)item; 
     it.BegQty = beginQty = (beginQty ?? it.BegQty); 
     decimal? QtyIn = it.QtyIn; 
     decimal? QtyOut = it.QtyOut; 
     beginQty += (QtyIn ?? 0m) - (QtyOut ?? 0m); 
     it.EndQty = beginQty; 
    } 
    return list; 
} 

所以我想簡單的答案是,你不能使用僅在頁面中構建的GI頁面的結果。您可能需要考慮通過定製添加您需要的歷史頁面,或者如果您需要的信息非常重要,請自行創建此頁面/圖表/ dac版本。

+0

好的...所以我想在這個屏幕上添加一個Customer列(https://stackoverflow.com/q/45742684/4405230),它會顯示客戶ID與特定庫存相關......但是在定製過程中再次添加數據字段時,它說InventoryTranHistEnqResult表不存在......那麼,如何將網格列添加到此表中? – Naina

+0

因爲它不作爲實際的表存在,所以不能添加它。您需要將其添加到存在並加入您的GI的另一個表中 – Brendan

+0

如果我想在此庫存事務處理歷史記錄屏幕中添加一列,該怎麼辦?由於表不存在,無法完成......有沒有辦法可以在此屏幕上添加另一個表格? – Naina