2017-08-31 50 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