MarkJoel60
MarkJoel60

Reputation: 557

Acumatica ERROR: field cannot be found - But NO Customization

I have had this problem show up (I think) many times, in different ways. I discussed one of them here (Invalid Column Name) It always seems to be a customer that I am upgrading to a new version of Acumatica, and applying customizations.

I took a customer's existing data and, using ac.config, I upgrade them to 2021 R2:

AcConfig

Then I upgrade the customizations to use the new DLLs, and publish them on the customer's 2021 R2 system.

Next, I try to pull up Service Orders (Screen ID: FS3001PL) to test the customizations, but I get this Error:

"A field with the name sODetID cannot be found"

Looking through the source code to the customizations, that field isn't used specifically anywhere.

[EDIT in response to Patrick Chen's Answer] In the GI, the table for FSSODet was referenced. And that table has sODetID in it. But it is never used. So, I removed the tables from the GI and now I see this strange error:

GI Error

Even though that table is never referenced in any of the GI's tabs.

So, I unpublish all of the customizations. The error persists.

Screenshot of error (error log from Acumatica at the end):

Error Message

So, I switch to a different Tenant, that has the standard sales demo data (and no Customizations).

In this tenant, I can get into Service Orders just fine.

My VS 2020 debugger doesn't stop when this error gets hit, so I am not sure how to even go about debugging this.

Any ideas?

The stack trace (FWIW) is:

[PXException: Error: A field with the name sODetID cannot be found.]
   PX.Data.Description.GI.PXDesignedQueryProvider.GetValue(PXQueryDescription descr, String value, IPXValue field, PXTable table, String alias, Boolean& useExt, Nullable`1& condition) +2949
   PX.Data.Description.GI.PXDesignedQueryProvider.CollectRelations(PXQueryDescription descr) +1378
   PX.Data.Description.GI.PXDesignedQueryProvider.FillDescription(PXQueryDescription descr) +166
   PX.Data.Description.GI.PXQueryDescription.Create(IGenericQueryProvider prov) +73
   PX.Data.PXGenericInqGrph.get_BaseQueryDescription() +39
   PX.Data.PXGenericInqGrph.CollectDescriptionFields() +47
   PX.Data.PXGenericInqGrph.PrepareCaches(GIDescription def, Dictionary`2 parameters) +310
   PX.Data.PXGenericInqGrph.PrepareCaches(String id, String name, Dictionary`2 parameters, Boolean fetchSchema) +466
   PX.Web.UI.PXGenericDataSource.InstantiateDataGraph(Type type) +785
   PX.Web.UI.PXBaseDataSource.CreateDataGraphAsSingleton(Type type) +560
   PX.Web.UI.PXBaseDataSource.CreateDataGraph(Type type) +175
   PX.Web.UI.PXBaseDataSource.get_DataGraph() +412
   PX.Web.UI.PXDataSource.HasDashboardsSupport() +16
   PX.Common.Tools.With(TInput o, Func`2 evaluator) +75
   PX.Web.UI.PXGrid.RenderToolsRow(Boolean top) +1910
   PX.Web.UI.PXGrid.CreateChildControls(IEnumerable dataSource, Boolean dataBinding) +867
   System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +230
   System.Web.UI.Control.EnsureChildControls() +130
   System.Web.UI.WebControls.CompositeDataBoundControl.get_Controls() +24
   PX.Web.UI.PXSmartPanel.CollectInnerControls(ControlCollection controls, Boolean load, Boolean collectUpdatable) +347
   PX.Web.UI.PXSmartPanel.CollectInnerControls(Boolean load) +110
   PX.Web.UI.PXSmartPanel.SetBindingState(Boolean load) +109
   PX.Web.UI.PXSmartPanel.OnInit(EventArgs e) +99
   System.Web.UI.Control.InitRecursive(Control namingContainer) +454
   System.Web.UI.Control.InitRecursive(Control namingContainer) +219
   System.Web.UI.Control.InitRecursive(Control namingContainer) +219
   System.Web.UI.Control.InitRecursive(Control namingContainer) +219
   System.Web.UI.Control.InitRecursive(Control namingContainer) +219
   System.Web.UI.Control.InitRecursive(Control namingContainer) +219
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1719

Upvotes: 0

Views: 468

Answers (1)

Patrick Chen
Patrick Chen

Reputation: 1056

Sounds like the GI you're trying to access has been altered to include this field by some customization. Unpublishing the customization doesn't remove all elements of a customization,see below, so you might try and edit the GI (FS3001PL) using SM208000

enter image description here

Upvotes: 0

Related Questions