0

我有这个关于变更请求的示例应用程序。

如果表单已保存,它会将表单作为电子邮件发送给列出的审批者。

该表单有 2 个操作 - 批准和拒绝。

假设批准者批准了 CR。它将更新通过电子邮件发送的表单文档,但驻留在我本地数据库中的文档不会。如果收件人(批准人)已批准/拒绝文档表格,我是否可以自动更新本地数据库中的文档?

4

2 回答 2

2

高度分布式工作流应用程序(多台服务器上的副本和用户笔记本电脑上的本地副本)最安全的设计是将批准和更新作为新响应发布,而不是将更新直接发布到主 WF 文档。然后,WF 文档应根据响应计算状态。最后,在 ONE 服务器上运行的代理可以将状态更新发布到文档并存档响应。

这种构造将消除(或显着减少)复制和保存冲突的可能性。对于需要断开或连接到不同服务器的人员的多次批准的 WF 项目尤其需要它。

于 2013-08-02T18:38:52.327 回答
2

不是自动的,但您可以将逻辑添加到批准和拒绝操作以更新数据库。

如果此数据库在服务器上共享,一种方法是使其成为邮件数据库。然后,您的批准操作可能会触发一封发送到该邮件数据库地址的电子邮件。然后,您的数据库将需要一个代理来处理电子邮件,也许只是解析可能包含 UNID 的主题行或一些说明要更新哪个文档以及批准或拒绝的响应的密钥。这将在分布式环境中工作。

如果环境不是分布式的,假设每个人总是在同一个网络上连接到同一个 Notes 服务器,那么您可以编写一些 Lotusscript 代码来直接更新远程数据库。

记住您将处于的上下文。当通过电子邮件发送的表单在审批者 Notes 客户端中打开时,他或她无权访问您的本地数据库。因此,您需要在服务器上放置一个可以更新响应操作的位置。

于 2013-08-02T11:16:38.930 回答