2017-08-31 5 views
0

Ich möchte einen GI für den Bildschirm "Inventory Transaction History" (IN405000) erstellen.Acumatica GI - Bildschirm "Inventur-Transaktionsverlauf"

Da die Tabelle InventoryTranHistEnqResult nicht in der Datenbank vorhanden ist ... werden einige der Spalten dieses Bildschirms aus der INTran-Tabelle übernommen.

Ich bin folgenden Spalten nicht in der Lage zu finden: BegQty, QtyIn, QtyOut, EndQty ...

Ich habe auch versucht die folgende Abfrage auf Datenbank diese Spalten für diese

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%' 

Der DAC zu finden Felder ist:

enter image description here

+0

Sie müssen den DAC in der Acumatica sehen, um herauszufinden, wie es gebaut ist. Es ist besser, den Quellcode nach den Feldern zu durchsuchen und sich nicht um irgendwelche Felder zu kümmern. GI sind auf dem DAC und nicht speziell auf dem SQL aufgebaut, da der DAC eine PX-Projektion sein kann oder ungebundene/berechnete Felder enthalten kann. – Brendan

+0

Ich ging durch die DAC dieser Felder, konnte aber keine Lösung .. der DAC für alle diese Felder ist [PXDBQuantity()] [PXDefault (TypeCode.Decimal, "0.0")] [PXUIField (Display finden = "Qty. Out", Sichtbarkeit = PXUIVisibility.SelectorVisible)] – Naina

Antwort

0

hinter der Seite an der Information der Suche auf der Seite Grafik finden Sie die Antworten geben auf Ihre Frage. Der Bildschirm "Inventory Transaction History" (IN405000) verwendet das Diagramm InventoryTranHistEnq. Das Gitter in dieser Seite verwendet DAC InventoryTranHistEnqResult in der folgenden Ansicht:

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

Die ResultsRecords werden dynamisch in der Anfrage gebaut mit dem folgenden:

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; 
} 

Also ich denke, die kurze Antwort ist, dass Sie nicht die verwenden können, Ergebnisse dieser Seite für einen GI, wie er nur auf der Seite erstellt wird. Vielleicht möchten Sie über eine Anpassung herausfinden, was Sie zu dieser Verlaufsseite hinzufügen müssen, oder eine eigene Version dieser Seite/graph/dac erstellen, wenn die Informationen, die Sie benötigen, so wichtig sind.

+0

Okay ... also versuche ich eine Kundenspalte (https://Stackoverflow.com/q/45742684/4405230) in diesem Bildschirm hinzuzufügen, die die anzeigen würde Kunden-ID, die sich auf das spezifische Inventar bezieht ... Aber beim Hinzufügen des Datenfelds während der Anpassung heißt es, dass die Tabelle InventoryTranHistEnqResult nicht existiert ... Wie kann ich also Gitterspalten zu dieser Tabelle hinzufügen? – Naina

+0

Da es nicht als tatsächliche Tabelle existiert, können Sie es nicht hinzufügen. Sie müssen es einer anderen vorhandenen Tabelle hinzufügen und Ihrem GI beitreten. – Brendan

+0

Was ist, wenn ich eine Spalte in diesem Inventar-Transaktionsverlaufsbildschirm hinzufügen möchte? Da die Tabelle nicht existiert, kann das nicht gemacht werden ... Gibt es eine Möglichkeit, eine weitere Tabelle zu diesem Bildschirm hinzuzufügen? – Naina