【问题标题】:Acumatica Update does not work for Custom fieldAcumatica 更新不适用于自定义字段
【发布时间】:2018-09-20 18:49:48
【问题描述】:

我面临两个问题。

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

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

我错过了什么吗?

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

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

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

a) 创建了一个操作按钮

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

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

这是我的代码的副本:

createCustomerFixedPrice

SOLine_UsrFixedPrice_FieldUpdated

Sales Order Grid with UsrFixedPriced field Updated

SOLine with UsrFixedPriced field NOT Updated

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

【问题讨论】:

  • 您的问题似乎有一些格式错误,您可能不是故意输入我在 SOLine 中创建了以下字段:“[SOLineExt][1]”
  • 发布导致您得出结论的内容可能会有所帮助:“但是当我尝试从 SOOrderEntry.cs 引用此扩展时,它无法识别它”,是否有任何错误消息说明该字段无法识别?
  • 请记住,如果在 Visual Studio 中查看动态代码,intellisense 无法识别它,这与 SOOrderEntry.cs 无法识别它有很大不同。如果设置正确,将在运行时检查和识别代码。
  • 如果您需要 Intellisense,则必须将自定义转换为扩展库,以便将 DAC 作为静态参考包含在内:help.acumatica.com/(W(63))/Wiki/…

标签: acumatica


【解决方案1】:

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

像这样:

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

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

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

PX.Objects.SO.SOLineExt

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

MyNamespace.SOLineExt

【讨论】:

  • 首先,感谢您的合作。是的,我使用 Acumatica 项目编辑器创建了该字段。该字段存在于 DB 中。帖子中的“带有未更新 UsrFixedPriced 字段的 SOLine”链接,显示了 SOLIne 表中存在该字段的图片。
  • 请将 UsrFixedPriced 控件编辑器的 Type 属性设置为“CheckBox”并将 Enabled 设置为“True”,然后删除 all 设置 UsrFixedPriced 值的代码。之后尝试在 UI 中更改值,在 UI 中保存并刷新页面,看看更改是否存在。
  • 从截图中我也看不到 DB 类型,它需要是 'bit' 类型才能正确保存。
  • 将控件类型更改为复选框就可以了。再次感谢您的帮助。
猜你喜欢
  • 2020-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-20
相关资源
最近更新 更多