这个问题通常意味着在数据库表中有一个无效的列名,但是Acumatica实例中没有使用该特定字段进行自定义。确定哪个表和字段导致该错误的最简单方法是通过SQL查询直接访问数据库。然后,可以使用SQL查询删除无效的列,以纠正错误。
例如,假设在Acumatica中发现了以下错误消息:"The column 'InvalidColumnName' was not found in table 'Table1'." 以下是可能导致该错误的代码:
[PXDBString(50)] [PXUIField(DisplayName = "Field1")] public virtual string Field1 { get; set; }
[PXDBString(50)] [PXUIField(DisplayName = "Field2")] public virtual string Field2 { get; set; }
将其改为以下代码:
[PXDBString(50)] [PXUIField(DisplayName = "Field1")] public virtual string Field1 { get; set; }
// [PXDBString(50)] // [PXUIField(DisplayName = "Field2")] // public virtual string Field2 { get; set; }
通过注释掉“Field2”属性,来修复问题。请注意,“Field1”属性正在使用相同的属性表示法,并且未出现无效的列名错误。