在 Acumatica 的另一个定制项目中使用一个定制项目中的 DAC

我在 Acumatica 2020R2 中有两个定制项目。我需要从另一个定制项目中的一个定制项目中引用一个 DAC。具有定制项目之一的 Acumatica 实例可能会也可能不会同时发布这两个定制项目。

例如,一个定制项目中的图表可能需要引用在另一个定制项目中创建的 VendorRebate DAC,以在设置价格之前检查客户是否对特定库存项目有折扣。

  • 有没有一种方法可以引用 DAC,而不必在两个自定义项目中都包含 DAC?
  • 另外,有没有办法检查 Acumatica 实例是否发布了必要的自定义项目(除了使用条件编译)?
lxwtsqr 回答:在 Acumatica 的另一个定制项目中使用一个定制项目中的 DAC

有没有一种方法可以引用 DAC,而不必在两个定制项目中都包含 DAC?

首先,如果项目要一起发布,则永远不应创建重复的 DAC 定义。这可能会导致运行时崩溃。 DAC 是否相同并不重要。 Acumatica Framework 将无法在所有场景中正确解决相同类型的冲突。这通常会导致错误无法将类型 X 的对象强制转换为类型 Y 的对象。

另外,有没有办法检查Acumatica实例是否发布了必要的定制项目(除了使用条件编译)?

使用自定义发布菜单中的“验证自定义项目”操作。除非您动态加载 DLL 引用,否则您将无法发布。

具有其中一个定制项目的 Acumatica 实例可能会也可能不会同时发布这两个定制项目。

要引用必须发布的类型,否则无法访问。

您的用例最常见的选择是创建包含共享类型的第三个自定义项目/DLL。

否则,您可以尝试使用 IsActive 属性有条件地停用功能。

DAC IsActive 参考: https://help-2021r1.acumatica.com/Help?ScreenId=ShowWiki&pageid=9ca4cca5-a46c-4dda-af09-8cb8b0793c34

Graph IsActive 参考: https://help-2021r1.acumatica.com/Help?ScreenId=ShowWiki&pageid=cd70b408-b389-4bd8-8502-3d9c12b11112

要仅在引用类型存在时才加载引用类型,您需要先将其放入 DLL 并在运行时动态加载此 DLL:https://stackoverflow.com/a/18362459/7376238

本文链接:https://www.f2er.com/687932.html

大家都在问