【问题标题】:qbo3 Task wizardqbo3 任务向导
【发布时间】:2021-04-26 04:46:37
【问题描述】:

我们的 QBO 工作流程包括以下步骤:

  • 任务 A
  • 等一天
  • 任务 B

在大多数情况下,用户会:

  • 从他们的工作清单开始
  • 导航到任务 A
  • 完成后返回他们的工作清单
  • 第二天,任务 B 应该出现在他们的工作清单上

在少数情况下,由任务 A 中存在的字段确定,流程应该是:

  • 从他们的工作清单开始
  • 导航到任务 A
  • 完成后:
    • 如果 Foo = 'Bar',移动到相同父记录的任务 B,
    • 否则返回他们的工作清单

如何在 qbo3 工作流程中实现这一点?

【问题讨论】:

    标签: workflow wizard qbo3


    【解决方案1】:

    根据设计,任务会在保存(或取消)时将用户返回到引用页面。

    要呈现不同的页面,请使用 javascript 将引用页面设置为不同的值。

    从任务 GUI 设计器:

    • 点击Foo字段
    • 在 Javascript > onblur 字段中,输入类似于以下的代码(不需要回车;这里只是为了便于阅读):
    if (this.value == 'Bar') 
      qbo3.getObject(this).setReferrer('api/importform/summary?Object={{Object}}
    &ObjectID={{ObjectID}}
    &Method=RenderEdit
    &Template=Task B', this);
    
    • 点击Save

    关于上面 javascript sn-p 的一些注意事项/陷阱:

    • qbo3.getObject(this).setReferrer(...) 更改 document.referrer 的值
    • 传递的 URL 是一个相对 URL,并导致 Task 被渲染
    • ObjectObjectID 参数告诉 qbo3 在与当前任务相同的父对象上呈现任务
    • 使用花括号{} 告诉setReferrer 用当前任务中的匹配值替换表达式(例如Task ATask B 应该每个都有相同的ObjectObjectID
      • 因为这个数据被传递到XSLT,所以大括号必须加倍:{{}},这样XSLT 就不会试图解释它们
      • 因为此数据被传递到XSLT,所以& 必须符合XML;因此使用&

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-21
      • 2022-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多