我的表单上有一个组合框,它使用格式" name |来加载视图中的客户端名称UID" - 这将在表单上显示客户端名称,但将UID保存在字段中。
我现在想使用UID查找客户端的名称,并将其保存在XPage上使用以下代码不可见的字段中:
// ignore when UID is null
if (getComponent("parentUID").getValue() == null)
return false;
var UID:string = getComponent("parentUID").getValue();
var doc:NotesDocument = database.getDocumentByUNID(UID);
// now set your fields
document1.setValue("nachname", doc.getItemValueString ("nachname"));
document1.setValue("vorname", doc.getItemValueString ("vorname"));
我通过附加到按钮的简单操作执行此操作。下一个简单的动作是Save。
代码因以下错误而崩溃:
执行JavaScript动作表达式时出错 脚本解释器错误,line = 8,col = 42:[TypeError]发生异常调用方法NotesDatabase.getDocumentByUNID(java.lang.String)null
我已将parentUID复制到文档中的某个字段,并且我获得了正确的UID并且该文档存在于数据库中?
有什么想法吗?
PS:我将此添加到现有应用程序中,当前文档不是响应文档 - 不幸的是无法更改:o(
答案 0 :(得分:1)
好的,我发现了我的问题 - XPages返回了UID,但它包含了一个领先的空间。当我连接这些值时,我执行了以下操作:“name | UID”,即我在管道符号中添加了一个前导和尾随空格,以使代码清晰可见 - 这导致了问题。
答案 1 :(得分:0)
看起来你错过了getComponent行中的get.Value()
尝试getComponent("parentUID").getValue() == null
我的猜测是,这导致代码在UID为空时运行。这意味着当代码确实为空时代码正在运行,并且您检查该代码的工作是否正常。
感谢您查看。