acumatica - 支票和付款出现空“发票日期”错误
问题描述
尝试保存支票和付款记录时出现错误。
该过程是当我单击“操作”下的“支付账单/应用调整”(AP301000) 时,我被重定向到“支票和付款”(AP302000) 屏幕。当我尝试保存记录时,我得到下面的堆栈跟踪。
Error: Inserting 'Payment' record raised at least one error. Please review the errors.
Error: 'Invoice Date' cannot be empty.
at PX.Data.PXUIFieldAttribute.CommandPreparing(PXCache sender, PXCommandPreparingEventArgs e) in C:\Bld\AC-FULL2019R18-JOB1\Sources\NetTools\PX.Data\Descriptor\Attribute.cs:line 3684
at PX.Data.PXCache.OnCommandPreparing(String name, Object row, Object value, PXDBOperation operation, Type table, FieldDescription& description) in C:\Bld\AC-FULL2019R18-JOB1\Sources\NetTools\PX.Data\Cache\ModelEventHandling.cs:line 146
at PX.Data.PXTableAttribute.PrepareParametersForInsert(PXCache sender, Object row, Type[] tables, ISqlDialect dialect, Boolean audit, List`1[] pars) in C:\Bld\AC-FULL2019R18-JOB1\Sources\NetTools\PX.Data\Descriptor\Attributebase.cs:line 1123
at PX.Data.PXTableAttribute.PersistInserted(PXCache sender, Object row) in C:\Bld\AC-FULL2019R18-JOB1\Sources\NetTools\PX.Data\Descriptor\Attributebase.cs:line 990
at PX.Data.PXCache`1.PersistInserted(Object row, Boolean bypassInterceptor) in C:\Bld\AC-FULL2019R18-JOB1\Sources\NetTools\PX.Data\Cache\Model.cs:line 6550
at PX.Data.PXCache`1.Persist(PXDBOperation operation) in C:\Bld\AC-FULL2019R18-JOB1\Sources\NetTools\PX.Data\Cache\Model.cs:line 6090
at PX.Data.PXGraph.Persist(Type cacheType, PXDBOperation operation) in C:\Bld\AC-FULL2019R18-JOB1\Sources\NetTools\PX.Data\Graph\Graph.cs:line 4402
at PX.Data.PXGraph.Persist() in C:\Bld\AC-FULL2019R18-JOB1\Sources\NetTools\PX.Data\Graph\Graph.cs:line 4322
at PX.Objects.AP.APPaymentEntry.Persist() in C:\Bld\AC-FULL2019R18-JOB1\Sources\WebSites\Pure\PX.Objects\AP\APPaymentEntry.cs:line 1468
at PX.Data.PXSave`1.d__2.MoveNext() in C:\Bld\AC-FULL2019R18-JOB1\Sources\NetTools\PX.Data\Descriptor\Action\CommonActions.cs:line 73
at PX.Data.PXAction`1.d__32.MoveNext() in C:\Bld\AC-FULL2019R18-JOB1\Sources\NetTools\PX.Data\Descriptor\Action\PXAction.cs:line 954
at PX.Data.PXAction`1.d__32.MoveNext() in C:\Bld\AC-FULL2019R18-JOB1\Sources\NetTools\PX.Data\Descriptor\Action\PXAction.cs:line 896
at PX.Web.UI.PXBaseDataSource.tryExecutePendingCommand(String viewName, String[] sortcolumns, Boolean[] descendings, Object[] searches, Object[] parameters, PXFilterRow[] filters, DataSourceSelectArguments arguments, Boolean& closeWindowRequired, Int32& adapterStartRow, Int32& adapterTotalRows) in C:\Bld\AC-FULL2019R18-JOB1\Sources\NetTools\PX.Web.UI\Controls\Data\DataSource.cs:line 2592
at PX.Web.UI.PXBaseDataSource.ExecuteSelect(String viewName, DataSourceSelectArguments arguments, PXDSSelectArguments pxarguments) in C:\Bld\AC-FULL2019R18-JOB1\Sources\NetTools\PX.Web.UI\Controls\Data\DataSource.cs:line 1983
巧合的是,我有一个自定义字段,显示文本“发票日期”。所以,我做的第一件事就是在 PXDefault 属性中将 PersistingCheck 置为空。
[PXDefault(PersistingCheck = PXPersistingCheck.Nothing)]
但这仍然没有解决问题。所以,我取消发布自定义,问题仍然存在。最后我什至从数据库中删除了自定义字段(注意:该字段可以为空),以确保我的自定义不会导致问题。但这也没有用。
在尝试查找具有特定显示文本的 DAC 字段时,我找到了一些字段,但这些字段似乎与这些屏幕的图形无关。
谢谢你。
解决方案
看起来很奇怪,我没有看到任何带有“发票日期”显示名称的相关字段,这可能会导致问题。由于 IIS 数据缓存,我遇到了类似的奇怪问题。
我建议执行以下操作:
- 重新启动 IIS
- 删除位于此处某处的临时 ASP.NET 文件
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
- 删除临时自定义文件
然后确保问题不在您的自定义中
- 例如,将您的自定义字段从“发票日期”重命名为“发票日期 1”
- 再次发布您的自定义
- 再次尝试您的步骤并验证错误消息是否仍然存在 - 您看到哪个显示名称,“发票日期”或“发票日期 1”?
推荐阅读
- vue.js - 从 Vue 组件的 Javascript 部分到资产的路径
- python - 在 Python 中定义类变量时列表理解中未定义的变量
- c# - C# 反射方法 GetProperties(BindingFlags.Instance) 不返回子类对象
- ios - CollectionView 中的水平分页,就像 iPhone 相机中的一样(视频/慢动作/照片/等)
- blender - Cesium:gltf 文件的随机轮廓渲染
- python - 在python类的方法中获取self和class对象
- phpmyadmin - phpmyadmin mysql 数据库托管
- azure - Azure Blob 存储,如何实现任何文档或文件的版本
- php - 如何在找到单个记录时执行 mysql 查询,目标是返回 2 行
- javascript - setInterval 调用函数和html样式没有变化?