XPages 错误 Item Body 已经存在
XPages error Item Body already exists
Domino XPages R8.5.3 FP6,任何浏览器。 R9+ 没有问题。
保存时部分现有文档出现错误,但并非全部。正在迁移到 XPages 的数据库中有一个富文本字段。新文档有效,但在一些旧文档上存在错误。客户端现在不会安装 R9,因此我们必须找到某种解决方案。
我们所做的:文档在浏览器中由 XPages 打开之前进行检查。处理方法:将Body 字段转换为MIME。一旦完成,错误就消失了。
if(SystemData.getNotesBuildVersion()<400) { // <R9
if(doc.hasItem("Body") && !doc.hasItem("Converted")) {
var tmpdoc= database.createDocument();
doc.getFirstItem("Body").copyItemToDocument(tmpdoc);
doc.removeItem("Body");
doc.save(true, false);
tmpdoc.convertToMIME(3, 0);
tmpdoc.getFirstItem("Body").copyItemToDocument(doc);
doc.replaceItemValue("Converted", "1");
doc.save(true, false);
}
}
这不是一个完美的解决方案,但幸运的是,在大多数情况下,富文本字段中的文本格式不是很重要。
希望对大家有所帮助。
Domino XPages R8.5.3 FP6,任何浏览器。 R9+ 没有问题。
保存时部分现有文档出现错误,但并非全部。正在迁移到 XPages 的数据库中有一个富文本字段。新文档有效,但在一些旧文档上存在错误。客户端现在不会安装 R9,因此我们必须找到某种解决方案。
我们所做的:文档在浏览器中由 XPages 打开之前进行检查。处理方法:将Body 字段转换为MIME。一旦完成,错误就消失了。
if(SystemData.getNotesBuildVersion()<400) { // <R9
if(doc.hasItem("Body") && !doc.hasItem("Converted")) {
var tmpdoc= database.createDocument();
doc.getFirstItem("Body").copyItemToDocument(tmpdoc);
doc.removeItem("Body");
doc.save(true, false);
tmpdoc.convertToMIME(3, 0);
tmpdoc.getFirstItem("Body").copyItemToDocument(doc);
doc.replaceItemValue("Converted", "1");
doc.save(true, false);
}
}
这不是一个完美的解决方案,但幸运的是,在大多数情况下,富文本字段中的文本格式不是很重要。
希望对大家有所帮助。