1

我正在使用 filenet BPM 进行审批系统,我想从 F_Originator 中提取用户名,以便我可以向发起人发送一封关于已批准或已拒绝文档状态的电子邮件。如何在工作流中从 F_Originator 中提取用户名(不使用 java 代码)?

4

3 回答 3

1

我想我找到了一种获取用户名的方法,尽管它没有使用 F_Originator。我创建了一个名为 username 的字符串字段,然后在“分配”选项卡的启动步骤中,我为用户名分配了 userid(),它为您提供了用户名。我认为这不是获取用户名的最佳方式,但在我的情况下它有效。

于 2018-01-29T17:20:10.490 回答
1

适合确切要求的答案

  1. 在启动步骤,将 userid() 的输出分配给工作流数据字段
  2. 使用 OOTB 选项发送电子邮件 (CE_Operations) 并编辑 OOTB 模板或
  3. 有一个组件队列并建立一个 VWSession(或者你可以有自定义登录模块来获取 VWSession)
  4. 调用 yourVWSession.convertIdtoUserName(int userId) 获取用户名
  5. 然后调用 yourVWSession.fetchUserInfo(username) 它返回 VWUserInfo
  6. 从 VWUserInfo 您可以使用 getEMailAddress() 获取用户电子邮件 ID。

希望这可以帮助

于 2018-01-29T22:16:08.127 回答
0

我认为在工作流程中没有办法做到这一点,或者至少我不知道。

我建议你有一个像 ce_operations 这样的组件队列并传递 F_Originator 并使用 vwSession.convertIdToUserName(userId)

**************更新的答案************

您可以使用 userid() 方法获取已处理工作流的用户。但是如果有多个用户参与处理工作流,这里有一个问题, userid() 将始终返回最后一个用户。为了获取启动工作流的用户的用户名,请尝试

  1. 在工作流中定义一个数据字段并在启动步骤中为其分配 userid() 的值
  2. 如果您从代码启动工作流,您可以将用户名值设置为数据字段
于 2018-01-29T15:07:17.993 回答