0

我有 Lotus Notes 应用程序,仅作为主邮件模板 (R7) 中的修改(新表单、视图和向“标准”视图之一添加按钮)部署。

所有这些“新”表单和视图都依次继承自我的主应用程序模板。

现在,要使这些表单之一正常运行,它必须有一个字段,该字段不同于客户(不是最终用户,而是组织)到客户。

我不想破坏我们模板的继承,所以我们可以通过发送一个新模板轻松更新应用程序。所以,我不能要求客户端管理员仅仅打破这个特定表单的继承,因为它会停止所有更新(或者必须手动完成)。

所以,假设我有 MainAppForm,它有一个计算字段 ClientCustomData。我想要另一种形式,它只有一个“默认”字段 ClientCustomData。我可以打破第二种形式的继承,因为它没有可能更改的真正设计元素,然后客户端可以将此默认值修改为他们需要的任何值,而不必担心它会被覆盖。

问题是 - 我如何从 MainAppForm 读取其他表单的值?

或者 - 有没有办法只在邮件模板中存储 2 个数据元素(我不知道,共享文件或其他东西),所以每个用户都可以使用它,MainAppForm 可以获取它们,w/oa 需要删除继承依赖项MainAppForm 从我们的模板。

我什至可以设想一个只有 to 函数的类库来返回它(我不知道为什么这种方法对我来说很臭)。

任何最佳实践或建议?

4

3 回答 3

2

我不确定我是否正确理解了您的问题,但听起来您希望为每个客户端配置一个较大表单的一小部分。如果是这种情况,我认为计算子表单可以解决问题。

考虑以下场景:您的应用程序附带的子表单ClientCustomData仅包含客户端设置的合理默认值。该表单MainAppForm将其作为计算子表单包含在内。然后,本地管理员可以禁用子窗体上的继承并更改自定义数据而不影响MainAppForm.

明显的缺点是,一旦禁用继承,您就无法自动更新 ClientCustomData 子表单;使这个子窗体尽可能小。如果您发现需要更多客户端自定义值,您可以随时以相同的方式添加另一个子表单。

于 2009-06-09T21:22:09.160 回答
1

首先澄清一下:在 Lotus Notes 中,您没有从其他表单中读取的表单。表单只是 UI 对象。但是,您确实拥有在 Forms 的帮助下创建的后端和前端文档。

当您基于表单(例如,新电子邮件)创建新文档时,您正在创建尚未保存的前端文档。该文档可以访问其自身的其他部分,也可以访问已保存的任何后端文档。

如果我没有正确地关注您,您需要将一些不同的客户/客户数据带入基于 MainAppForm 的文档中。有几种方法可以做到这一点。我的建议是使用数据库配置文件,它们是可以通过 Notes 公式语言或 LotusScript 从数据库中的任何位置轻松访问的特殊文档。当然,您不能通过模板将这些文档中的数据推送出去,但是如果您使用数据库配置文件来存储数据库设置,您的客户端管理员可以设置一次选项,并且在模板更改时它们不会被更改。

查看@SetProfileField 和@GetProfileField 函数。

于 2009-06-09T16:11:16.917 回答
1

回答我自己的问题(我仍然不知道我在 Notes 的思维方式方面是否正确,但看起来很有希望):

我找到了“共享字段”。因此,我创建了 2 个具有计算值的字段(我想要传递的字段),并让我的 MainAppForm 使用它们。安装后,管理员将更改值并将它们标记为不使用模板刷新。

我会尊重 Notes 专家提供的任何优点和缺点。

谢谢

于 2009-06-09T17:38:07.280 回答