Xpages 将字段从FormA复制到新表单FormB

Xpages 将字段从FormA复制到新表单FormB,xpages,lotus-notes,lotusscript,Xpages,Lotus Notes,Lotusscript,我正在尝试简化转换为XPages的应用程序中的现有Notes表单。Notes表单上有240多个字段和一系列我想清理的逻辑。另外,表单有各种各样的显示格式,这使得查看表单变得复杂。所以我一直在尝试写一个代理,它将获取FormA并循环遍历所有字段,然后将它们复制到FormB。然后,我将使用FormB将我的XPage绑定到,并且尝试跟踪数据问题会简单得多。如果表单没有那么多字段,我只需要手动重新创建它,但我确信有超过240个字段,我会引入一些新的打字错误。我认为,在大多数情况下,拥有240个字段的表单

我正在尝试简化转换为XPages的应用程序中的现有Notes表单。Notes表单上有240多个字段和一系列我想清理的逻辑。另外,表单有各种各样的显示格式,这使得查看表单变得复杂。所以我一直在尝试写一个代理,它将获取FormA并循环遍历所有字段,然后将它们复制到FormB。然后,我将使用FormB将我的XPage绑定到,并且尝试跟踪数据问题会简单得多。如果表单没有那么多字段,我只需要手动重新创建它,但我确信有超过240个字段,我会引入一些新的打字错误。

我认为,在大多数情况下,拥有240个字段的表单不是一个好主意。在我看来,它就像旧Notes中的一个表单,3到4次都没有嵌入视图,一对多关系被放入索引为1到20的字段中

也许,重新设计是更好的方式

此外,开发XPage不需要创建和维护包含所有240个字段的表单。实际上,你根本不需要表格。使用基于“DominoDocument”的数据源定义,可以定义表单名称以及创建新文档或查找现有文档的方式。就这样。然后可以在XPage中创建字段。给他们一个名字和类型。您可以在Designer UI中执行此操作。只需将新字段名写入所选“数据源”的“绑定到”。在“显示类型”中选择字段类型(字符串、数字、日期/时间)。这不仅对显示有效,而且会将字段作为选定类型保存到文档中。在本例中,它将创建一个新字段“YourNewField”,并将其保存为整数。

提交页面时,将在文档中创建或设置所有字段。您可以使用文档属性框检查Notes客户端中的字段及其类型


不过,一个好方法是使用最重要的字段创建表单。然后,您可以在Notes客户端中打开文档并检查XPage设置的字段。

您无需对表单执行任何操作即可为表单创建XPage布局。 Xpage根本不需要表单,尽管它使开发更容易,因为在创建数据绑定后,表单中的所有字段都可用,并且可以拖放到Xpage。表单上没有的字段必须在xpage的源代码中手动创建(例如,复制并粘贴现有字段,并更改绑定/名称)

如果您想清理文档,代理甚至不必触摸表单即可完成此操作

对于这个任务,请考虑“表格”和“文档”的区别。 表单是定义文档外观的设计元素。 表单包含定义可以放入文档中的数据类型的字段。 文档是项目(而不是字段)的愚蠢“容器”。它包含创建/上次保存文档时表单中存在的表单上任何字段的项。加上以任何其他方式创建的项目(例如,使用formula或lotusscript代理)或在开发的早期阶段已出现在表单上的项目

如果从表单中删除某个字段,则该字段不会从相应文档中删除,即使保存它们也不会删除。但是,如果将字段添加到表单中,则文档在保存后将具有该字段的一个项(如果不使用代理手动删除该项,则将永久删除)

有了这些知识,您只需创建一个与旧表单同名的新“更干净”表单并重命名旧表单。从现在起,文档将与新表单一起显示,您可以使用它作为数据源来开发XPage

如果需要在文档中积累数据,可以使用代理而不使用表单:直接操作文档即可

下面是公式中将两个字段放在一起的示例:

FIELD NewFieldName := OldField_1 : OldField_2;
FIELD OldField_1 := @DeleteField;
FIELD OldField_2 := @DeleteField;

您最好的选择可能是使用DXL。但到目前为止你都试过什么?你说你一直在试着写一个经纪人,但你没有告诉我们你已经走了多远。你有代码给我们看吗?有什么特别的问题吗?我想在大多数情况下,有240个字段的表单不是个好主意。在我看来,它就像Notes中的一个表单,有3到4次没有嵌入视图可用,并且一对多关系被放入索引为1到20的字段中。也许,重新设计是更好的方式。您不需要有一个包含所有240个字段的表单,就可以将其用作XPages的数据容器。顺便说一句,您可能会惊讶于16个问题中的大多数没有得到回答。这有两个原因。首先,您必须使用tag
XPages
标记与XPages相关的问题,因为大多数XPages的专家都使用该标记过滤问题。因此,通常标有
xpages
的问题会在两天内被60人浏览,而你的问题在一个月内只能被10人或更少的人浏览。如果
xpages
不适用于某个问题,那么请使用其他流行的标记,如
lotusdomino
lotusnotes
@Robert harvey。在xpages的上下文中,问题现在已经清楚了,您能否重新打开该问题,以便我们能够提供有意义的答案