Acumatica GI-库存交易历史记录屏幕



我想为库存事务历史屏幕创建一个GI(IN405000)。

由于数据库中没有表库存tranhistenqresult ...此屏幕的列中很少有Intran Tabl。

我找不到以下列: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是:

在此处输入图像描述

查看页面图中页面背后的信息将为您提供问题的答案。库存事务历史记录屏幕(IN405000)使用Graph 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,因为它仅在页面中构建。如果您需要的信息很重要,您可能需要考虑通过自定义将所需的内容添加到此历史页面上,或制作自己的版本。

最新更新