【问题标题】:How is it possible for a Netsuite Workflow to visit previous states?Netsuite 工作流如何访问以前的状态?
【发布时间】:2020-12-04 06:36:15
【问题描述】:

我有一个有四种状态的工作流

  1. 启动
  2. 报价
  3. 已批准
  4. 关闭(结束状态)

有从 1->2、2->3、3->4 的转换。我启用了“不退出结束状态”,这样一条记录就不可能两次进入工作流。

我无法理解的是,在某些情况下,根据工作流程历史记录,记录会移回以前的状态 - 请参阅工作流程历史记录中的下图,其中包含“状态名称信息”、“进入状态的日期”和“日期退出状态”。请注意,例如下午 5:33 有一个“已批准”状态条目,这是在工作流在下午 5:32 首次进入关闭状态之后,即使没有从已关闭到已批准的转换

这怎么可能?是什么原因造成的?

一些可能相关的细节:

  • 工作流有一个处于已批准状态的工作流脚本操作调用 Suitelet
  • 有一个适用于记录(销售订单)的用户事件脚本

【问题讨论】:

    标签: netsuite


    【解决方案1】:

    当正在转换的操作中出现错误时,我也遇到过类似的情况,例如,在进入操作时执行“发送电子邮件”操作,并将其发送给无效的收件人。

    【讨论】:

    • 这篇文章看起来不像是试图回答这个问题。这里的每一篇文章都应该明确地尝试回答这个问题;如果您有批评或需要澄清问题或其他答案,您可以在其下方直接post a comment(如这个)。请删除此答案并创建评论或新问题。见:Ask questions, get answers, no distractions
    • 我还看到工作流操作失败时会发生不好的事情,但我认为这不是导致问题的原因,因为工作流历史记录日志中没有工作流操作失败。跨度>
    【解决方案2】:

    从最初的分析来看,它看起来像是调用套件的工作流操作脚本和可能是这些转换的原因的用户事件脚本。在工作流程中,您提到没有从“已批准”到“关闭状态”的直接转换。您能否粘贴工作流操作脚本的内容以进一步分析该问题

    【讨论】:

    • 这没有提供问题的答案。您可以search for similar questions,或参考页面右侧的相关和链接问题找到答案。如果您有一个相关但不同的问题,ask a new question,并包含指向此问题的链接以帮助提供上下文。见:Ask questions, get answers, no distractions
    • 我已经指出了问题所在,因为它不在工作流程中。要完全分析根本原因,需要我在帖子中添加的其他信息。原因在于与工作流相关的自定义
    • 您是对的,工作流操作脚本通过添加另一个执行工作流转换的套件上下文导致了该问题,但是禁用工作流操作脚本并不能防止意外的状态转换。
    【解决方案3】:

    该问题是由多个进程同时触发工作流转换引起的。使用日志记录报告的工作流操作中没有错误,但我可以看到在工作流历史记录中不同的重复工作流状态中存在不同的转换上下文。

    我通过收紧过渡运行的上下文解决了这个问题。我设置:

    • 到 afterSubmit 的所有转换(之前这是空白的,我认为这意味着将在 beforeLoad、beforeSubmit 和 afterSubmit 中尝试转换)
    • 仅转换到我想要触发转换的两个上下文的上下文:SOAP Web 服务和用户界面

    【讨论】:

      猜你喜欢
      • 2017-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-21
      • 1970-01-01
      相关资源
      最近更新 更多