2017-08-31 10 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上に構築されており、DACはPXProjectionであるか、または非結合/計算フィールドを含むため、特にSQLではありません。 – Brendan

+0

私はPXUIField(表示名[ [PXDBQuantity()] [PXDefault(TypeCode.Decimal、 "0.0")]すべてのこれらのフィールドのDACが である。これらの分野のDACを経たが、解決策を見つけることができませんでした= "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