【问题标题】:Why are item names converted to upper case when saving?为什么保存时项目名称会转换为大写?
【发布时间】:2014-04-09 06:30:39
【问题描述】:

我的设计器客户端是 8.5.3FP6,Notes 服务器是 8.5.3FP6。

当我在 Xpage 中保存文档时,字段名称从正确的大小写更改为特定字段的全部大写。 Notes 表单上的字段名称在适当的情况下类似于“Doc_Stage_TX”,但是当通过文档属性在 Notes 客户端中检查时,它是“DOC_STAGE_TX”。有人遇到过这种行为吗?

这是一个用于保存的 SSJS 代码:

document1.setValue("Section1_CompletedBy",unm);
@SetField("Section1DateCompleted",@Today())
document1.setValue("Section1Status","Marketing Check completed");
document1.setValue("Doc_Stage_TX","Stage 2");
document1.save();

保存后所有字段名都是大写的。

【问题讨论】:

  • 您是否正在运行表单验证?也许该字段在表单上以大写命名?
  • 不,我没有运行表单验证。一个字段在编辑框中,其 style="display:none" 和其他 3 个可见但只读。

标签: xpages lotus-notes xpages-ssjs


【解决方案1】:

这是 Notes 很长一段时间以来的一致行为:当您以编程方式创建新项目 @SetField.setValue(...) 时,项目名称全部为大写。仅当通过表单中的字段(绑定)或使用.replaceItemValue() 大小写创建项目时才会保留

【讨论】:

  • 没错。 @Mohan 使用 .replaceItemValue()
  • 谢谢。我不是在创建新项目,而是使用现有项目通过 Xpage ssjs 设置值。我保存了很多现有项目,只有这 4 个现有项目名称被转换为大写。
  • setValue 在幕后调用replaceItemValue,但是在做了一些类型强制之后......
  • 我正在开发一个工作流应用程序,并在控制和验证中使用字段值。如果 xpage 不断随机更改现有项目名称,那么我必须每天查找那些更改的项目名称并相应地更改我的代码,这不是一个好习惯。
  • 如果您使用 replaceItemValue() 则保存并且 getItemvalue() 或 hasItem() 不区分大小写
猜你喜欢
  • 2019-02-26
  • 1970-01-01
  • 2022-08-16
  • 2011-09-24
  • 1970-01-01
  • 1970-01-01
  • 2010-12-20
  • 1970-01-01
  • 2015-07-14
相关资源
最近更新 更多