Lotus notes Lotus Notes中公式中的列表-尝试更新每个元素

Lotus notes Lotus Notes中公式中的列表-尝试更新每个元素,lotus-notes,lotus,lotus-formula,Lotus Notes,Lotus,Lotus Formula,我有一个多值字段,用户可以在其中输入多个值。该字段是保存用户电子邮件地址的名称值字段。我希望将电子邮件地址列为用户的internet地址,而不是他们的组织单位/组织地址。 最初它显示为“Jane Doe/Sales/USA”,我想把它列为Jane。Doe@crown.com 该字段将包含多个值,因此可以是Jane Doe/Sales/USA;弗雷德·史密斯/销售/KNC;汤姆·琼斯/会计/荷兰国际集团 首先,有没有办法从“名称”字段中列出internet地址?我尝试了一些应该显示互联网地址的东西

我有一个多值字段,用户可以在其中输入多个值。该字段是保存用户电子邮件地址的名称值字段。我希望将电子邮件地址列为用户的internet地址,而不是他们的组织单位/组织地址。 最初它显示为“Jane Doe/Sales/USA”,我想把它列为Jane。Doe@crown.com

该字段将包含多个值,因此可以是Jane Doe/Sales/USA;弗雷德·史密斯/销售/KNC;汤姆·琼斯/会计/荷兰国际集团

首先,有没有办法从“名称”字段中列出internet地址?我尝试了一些应该显示互联网地址的东西,但没有成功

我以前有一个单值字段,并使用以下公式将其显示为internet地址: 这是我使用的公式。Hold Name将用户名列为其名字和姓氏

HoldingLeft := @Left(HoldName; " ");
HoldingRight := @Right(HoldName; " ");
CompleteName := (HoldingLeft + "." + HoldingRight + "@newplace.com");
CompleteName
因为我不熟悉公式语言中的列表,所以获得我想要的结果的最佳方法是什么

非常感谢您的评论。 非常感谢。
Jean

这是一种将完全限定名转换为电子邮件地址的方法:

@If(FieldWithNames = ""; 
     ""; 
     @Replace(@Name([CN]; FieldWithNames); " "; ".") + "@newplace.com")
假设names字段名为
FieldWithNames
,那么我们首先测试它是否为空。如果是,则返回一个空字符串。如果没有,我们将完全限定名称列表转换为仅限名称列表。然后我们用“.”替换所有空格并添加域。我们很幸运,因为@Name和@Replace可以处理列表

这是一种从目录中读取完全限定名称的internet电子邮件地址的方法:

 @If(FieldWithNames = ""; 
     ""; 
     @NameLookup([Exhaustive]; FieldWithNames; 'InternetAddress'))
我们再次感到幸运,@NameLookup接受列表作为第二个参数。它从目录中读取每个条目的internet电子邮件地址,并将结果作为列表返回


在其他情况下,您可能必须单独处理列表中的每个条目。然后在克努特的第二个公式前面使用

Tack FIELD WithNames:=字段,这是@formula代码一行中的完整解决方案。如果多值字段包含空白项,FieldWithNames=“”返回true,即使它也包含一些非空白行。应使用@Trim移除这些,或测试!(字段名称!=“”)