Ich arbeite an einem Formular in Acumatica, ich versuche InventoryID aus der Bestellung, speziell von POLine auszuwählen. Hier ist mein CodeFehler: 'Inventory ID' kann nicht im System gefunden werden
[PXDBInt()]
[PXUIField(DisplayName = "Inventory ID")]
[PXDefault()]
[PXParent(typeof(Select<InventoryItem, Where<InventoryItem.inventoryID, Equal<Current<POInspectionDetail.inventoryID>>>>))]
[PXSelector(typeof(Search2<POLine.inventoryID,
LeftJoin<POInspectionDetail, On<POLine.inventoryID, Equal<POInspectionDetail.inventoryID>>>,
Where<POLine.orderNbr, Equal<Current<POInspection.orderNbr>>,
And<POLineExt.qControl, Equal<True>>>>),
typeof(POLine.siteID),
typeof(POLine.orderQty),
typeof(POLineExt.qControl))]
public int? InventoryID { get; set; }
public class inventoryID : IBqlField{}
ich die ID wie in diesem Bild sehen kann Selector, aber wenn ich es aus, es zeigt mir den Fehler.
Können Sie mir helfen, dies zu lösen? Vielen Dank im Voraus
EDIT
protected void POInspectionDetail_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
{
POInspectionDetail poInspectiondetail = e.Row as POInspectionDetail;
if(poInspectiondetail.InventoryID != null)
{
POLine polines = (POLine)PXSelectorAttribute.Select<POInspectionDetail.inventoryID>(cache, poInspectiondetail);
poInspectiondetail.WarehouseID = polines.SiteID;
poInspectiondetail.OpenQty = polines.OrderQty;
poInspectiondetail.QtyonReceipts = polines.ReceivedQty;
}
}
die Linie in dem entsandten Code hinzufügen, Zeile 30 (wie der Fehler weist darauf hin)? Außerdem sollten Sie die Felder in RowSelecting festlegen - nicht Zeile ausgewählt. Zeilenauswahl würde für ungebundene Felder sein. Zeile ausgewählt ist für UI-Logik wie sichtbar oder aktiviert. – Brendan
diese Zeile, POLine polines = (POLine) PXSelectorAttribute.Wählen Sie (cache, poInspectiondetail); Ich habe versucht, Row Selecting und es tat nichts unglücklicherweise –
sollten Sie cache.setvalueext <> in Rowselecting aufrufen, anstatt die Zeilenwerte wie in Ihrem Beispiel zu setzen. Erbt der POInspectionDetail-Dac von einem anderen DAC? Es könnte ein Konflikt mit Ihrem PXParent sein, der auf InventoryItem verweist. Versuchen Sie, dieses Attribut zu entfernen, und versuchen Sie es erneut. – Brendan