Wir haben eine zusätzliche Tabelle in Acumatica hinzugefügt. Eines der Felder verursacht einen Fehler. Wir haben Änderungen in SQL Server vorgenommen und den Code aktualisiert. Das Feld mit dem Fehler im Code definiert:Zusätzliche Felder zu benutzerdefinierten Tabelle in Acumatica hinzugefügt hat Fehler verursacht. Wie löst man?
#region LastRevisionInventoryID
[PXDBInt]
[PXUIField(DisplayName = "Last Revision Inventory ID")]
public int LastRevisionInventoryID { get; set; }
public class lastRevisionInventoryID : IBqlField{}
#endregion
Der Code überprüft und veröffentlicht, aber wir erhalten die folgende Fehlermeldung, wenn wir versuchen, den Bildschirm zu öffnen, nachdem die Felder auf den Bildschirm hinzufügen.
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an
object.]
_SetValueByOrdinal(ItemBaseDocument , Int32 , Object ,
PXCacheExtension[]) +1012
PX.Data.PXCache`1.SetValueByOrdinal(TNode data, Int32 ordinal, Object
value, PXCacheExtension[] extensions) +84
PX.Data.PXCache`1.a(TNode A_0, TNode A_1, IDictionary A_2,
PXCacheOperation A_3, Boolean A_4) +1273
[PXException: Error: An error occurred during processing of the field
LastRevisionInventoryID : Object reference not set to an instance of an
object..]
PX.Data.PXCache`1.a(TNode A_0, TNode A_1, IDictionary A_2,
PXCacheOperation A_3, Boolean A_4) +2908
PX.Data.PXCache`1.a(TNode A_0, TNode A_1, IDictionary A_2,
PXCacheOperation A_3) +87
PX.Data.PXCache`1.Insert(IDictionary values) +237
PX.Data.PXGraph.ExecuteInsert(String viewName, IDictionary values,
Object[] parameters) +187
PX.Web.UI.PXBaseDataSource.a(Object[] A_0, Object[] A_1, String[] A_2,
Boolean[] A_3, PXFilterRow[] A_4, DataSourceSelectArguments A_5) +1783
PX.Web.UI.PXBaseDataSource.ExecuteSelect(String viewName,
DataSourceSelectArguments arguments, PXDSSelectArguments pxarguments)
+13769
PX.Web.UI.PXDataSource.ExecuteSelect(String viewName,
DataSourceSelectArguments arguments, PXDSSelectArguments pxarguments)
+211
PX.Web.UI.PXDataSourceView.Select(DataSourceSelectArguments arguments,
PXDSSelectArguments swarguments, DataSourceViewSelectCallback callback)
+65
PX.Web.UI.PXFormDataProvider.DataBind() +381
PX.Web.UI.PXBoundPanel.PerformSelect() +134
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +138
PX.Web.UI.PXDataViewBar.OnPreRender(EventArgs e) +33
System.Web.UI.Control.PreRenderRecursiveInternal() +162
System.Web.UI.Control.PreRenderRecursiveInternal() +256
System.Web.UI.Control.PreRenderRecursiveInternal() +256
System.Web.UI.Control.PreRenderRecursiveInternal() +256
System.Web.UI.Control.PreRenderRecursiveInternal() +256
System.Web.UI.Control.PreRenderRecursiveInternal() +256
System.Web.UI.Control.PreRenderRecursiveInternal() +256
System.Web.UI.Control.PreRenderRecursiveInternal() +256
System.Web.UI.Control.PreRenderRecursiveInternal() +256
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
+6925
Kann jemand helfen?
ich den Verweis auf die neuen Felder entfernt, die int-Datentyp hatte und jetzt funktioniert es ohne Problem . Warum würde der folgende Code einen Fehler verursachen: –
#region LastRevisionInventoryID [PXDBInt] [PXUIField (DisplayName = "Letzte Revision Inventory ID"]] public int LastRevisionInventoryID {get; einstellen; } Öffentliche Klasse lastRevisionInventoryID: IBqlField {} #endregion –
Siehe Antwort unten. Derselbe Fehler wird erneut generiert, bis Sie alle benutzerdefinierten Feldtypen in NULL-Typen geändert haben. – RuslanDev