【问题标题】:@ReplaceSubstring doesn't display value as expected@ReplaceSubstring 未按预期显示值
【发布时间】:2014-04-16 23:58:52
【问题描述】:

我在 Lotus Notes 数据库的视图中的一列中有这个公式。但是,它不会改变视图中“EmployeeName”字段的值,仍然显示原来的名称。

示例: 原创 价值Franco Martínez, José Ramó 预期 输出Franco Martinez, Jose Ramo

value1:="i";
value2:="e";
value3:="o";

optionList := value1:value2:value3;
aliasList := "í":"é":"ó";


@ReplaceSubstring(@Text(EmployeeName); aliasList; optionList)

【问题讨论】:

  • 如果这是整个公式,我觉得它是正确的。您是在模板中进行更改,还是直接在实时数据库中进行更改?你是怎么测试的?您是在本地副本中工作还是在服务器上的副本中工作?您确定视图已刷新?
  • @RichardSchwartz 我对模板进行了更新,然后刷新了生产副本上的更改,然后刷新了视图,但它不起作用?我在本地副本上尝试了相同的操作,但它仍然会显示相同的数据?在过去,我有一个奇怪的经历,是否需要大约 3-4 小时甚至一天的某个时间才能显示这些变化?不是每次吗?知道我该怎么做
  • 在文档属性对话框中,当您查看包含“Franco Martínez, José Ramó”的文档时,EmployeeName 字段是不是一个普通的文本项?还是标记为 RFC822 文本? (我真的看不出这会对@ReplaceSubstring 产生影响的原因,但老实说,这是我能想到的唯一要检查的事情。)
  • 字段名称:EmployeeName 数据类型:文本列表 数据长度:31 字节 Seq Num:35 Dup 项目 ID:0 字段标志:摘要 “Franco Martínez, José Ramón” 这就是它所说的?为什么上面的公式不起作用真的很奇怪

标签: lotus-notes lotus-domino lotus-formula domino-designer-eclipse


【解决方案1】:

由于公式绝对正确,因此问题必须出在其他地方。 您已经检查过,该字段是摘要,所以这不是问题。

请检查列的程序名称(属性中的最后一个选项卡): 它是否恰好匹配同一视图中的另一列,或者它可能是“EmployeeName”?然后只需删除名称,它将由一个新的唯一名称重新填充。

说明: 重复的程序名称意味着两列显示相同的值,并且第二列的公式永远不会执行。如果列名中有字段名,则无论公式如何,它都会始终显示该字段的值。

另一种解释可能是“픓í”......其中一个可能是另一个Unicode字符的表示,并且恰好“看起来”像另一个......你可以检查这个使用一个按钮或代理,它只是 @Prompts replacesubstring 之后的值,或者将字段的内容复制到十六进制编辑器中......

您也可以尝试@Ascii() - @Function 转换为 ascii 而无需替换字符。

【讨论】:

  • 我想到了“픓í”,但在公式中你不是在处理 Unicode。您正在处理 LMBCS。 Unicode 绝对允许组合多个代码点(基本代码点 + 变音代码点)字符,这些字符等同于预先组合的单个代码点,但我认为 LMBCS 不允许这样做。不过不确定。
  • 所以基本上我在上面发布的代码加上我使用了 Torsten 建议的方法 @Ascii(@Text(EmployeeName) 都工作正常问题就像 Torsten 提到的程序名称一样我试图更改程序名称他们都工作得很好。那个特定的视图有近 250 个字段,因此很难理解是否有重复。我仍然不知道是否有重复,但我假设有一个基于 Torsten 的解释。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-09
  • 1970-01-01
相关资源
最近更新 更多