首页 > 解决方案 > Acumatica 更新不适用于自定义字段

问题描述

我面临两个问题。

  1. 我在 SOLine SOLineExt中创建了以下字段

但是当我尝试从 SOOrderEntry.cs 引用这个扩展时,它无法识别它。

我错过了什么吗?

为了使它工作,我将这个类复制到 SOOrderEntry.cs 并在原始类中注释掉。

  1. 我面临的另一个问题是关于这个新领域的更新。它正在缓存中更新并显示在网格中,但不会在 SOLIne DAC 中更新。最终我会从网格中删除这个字段。我展示它只是为了看看它是否正在更新。

我所做的与第 47 - 65 页上指示的“T300_AcumaticaCustomizationPlatform_2017R2”基本相同。

a) 创建了一个动作按钮

b) 定义了一个动作委托方法

c) 添加了 FieldUpdated 事件处理程序

这是我的代码的副本:

createCustomerFixedPrice

SOLine_UsrFixedPrice_FieldUpdated

更新了带有 UsrFixedPriced 字段的销售订单网格

未更新带有 UsrFixedPriced 字段的 SOLine

任何帮助将不胜感激,尤其是在第二期。

标签: acumatica

解决方案


您是否使用 Acumatica 项目编辑器创建了新字段?

像这样: 在此处输入图像描述

当您使用项目编辑器创建数据库绑定字段(键入 PXDBType 而不是 PXType)时,它会自动添加匹配的 DB 脚本来创建数据库列: 在此处输入图像描述

根据您的问题,不清楚您是直接在源代码文件中还是使用 Acumatica 项目编辑器创建 DAC。因此,我建议您检查是否创建了数据库脚本,如果没有手动创建它。然后保存自定义项目,重新发布它,如果可能,请使用数据库实用程序检查该字段是否确实存在于数据库中。

您还为扩展 DAC 使用了默认命名空间和扩展名:

PX.Objects.SO.SOLineExt

由于这是默认设置,因此它可能与也使用相同默认设置的其他自定义设置发生冲突。为了减少发生冲突的机会,您可以将默认命名空间更改为您自己的:

MyNamespace.SOLineExt

推荐阅读