【问题标题】:Is it possible to have a Business Event call Custom Code in Acumatica?是否可以在 Acumatica 中调用自定义代码的业务事件?
【发布时间】:2022-12-11 11:20:16
【问题描述】:

当我的用户添加约会时,他希望发生两件事:

  1. 向客户的手机发送预约确认,并附上有关预约的信息
  2. 预约前24小时发出提醒

    主要问题是事件屏幕将日期显示为 UTC。这当然会使客户感到困惑。所以,我需要通过代码更改日期和格式化短信。

    当我第一次这样做时,无法从业务事件中调用自定义方法——所以我实际上将消息发送到 Twilio,使用将其发送到我的自定义 DLL 中的 Webhook 捕获该消息。这会处理消息,使一切看起来正确,然后通过 Twilio 将其发回给客户。

    但这是昂贵的(每个事件发送 2 条消息和接收 1 条消息)并且不必要地复杂化。我现在想简化它,因为有人告诉我现在在业务事件中添加了允许调用自定义代码的功能。这是真的?

    有人告诉我,这将从 2020 R2 开始可用。我正在文档和培训课程中寻找它,但我在任何地方都看不到这是可能的。

    如何从业务事件中调用自定义代码?我可以设置自定义 DLL 中的订户吗?

    有什么地方描述了这个过程吗?或者这从来没有进入产品?

【问题讨论】:

  • 您可以设置执行自定义操作的导入方案。然后可以将此导入场景设置为您的业务事件中的订阅者。
  • @Rick 我不知道我可以在导入场景中这样做。有没有关于那个地方的文件你可以指给我看?

标签: c# acumatica


【解决方案1】:

这是来自 crestwood 的示例博客,使用业务事件创建导入场景:https://www.crestwood.com/2020/05/19/using-business-events-to-create-transactions-employee-birthday-checks/

它的要点是创建要监视的通用查询。接下来,您将创建一个与通用查询关联的业务事件。在订阅者下,选择创建新订阅者,然后为其命名。它将加载导入场景,并将提供程序附加到事件。

对于业务事件中的提供者对象,您可以从 Results 或 Previous Results 中填写。

这是基于销售演示中中止的发货,但它显示了我在匹配发货编号后的自定义操作。

保存后,您可以看到您的业务活动显示为订阅者:

【讨论】:

    【解决方案2】:

    如果您希望实现自定义业务事件订阅者(在您自己的 dll 中编码),我知道这在 2021 R1 中是可能的。

    从第 15 页开始的 Release Notes for Developers 中有基本说明。

    结果是您需要引用 PX.BusinessProcess.dll 并实现 PX.BusinessProcess.Subscribers.ActionHandlers.IEventAction 接口以及 PX.BusinessProcess.Subscribers.Factories.IBPSubscriberActionHandlerFactoryPX.BusinessProcess.Subscribers.Factories.IBPSubscriberActionHandlerFactoryWithCreateAction 接口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-27
      • 2023-03-30
      • 1970-01-01
      • 2013-07-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多