2015-06-01 58 views
-1

我在窗體上使用格式「name | UID」從視圖加載客戶端名稱時顯示了客戶端名稱,但在該字段中保存了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")); 

我做一個簡單的動作附加到一個按鈕。接下來的簡單操作是保存。

代碼崩潰,錯誤如下:

錯誤而執行JavaScript動作表達 腳本解釋器誤差,線= 8,列= 42:[類型錯誤]發生異常調用方法NotesDatabase.getDocumentByUNID(java.lang中。字符串)null

我已經將parentUID複製到文檔上的字段,並且我正在獲取正確的UID並且該文檔存在於數據庫中?

任何想法?

PS:我加入這個到現有的應用程序和當前文檔不是響應文件 - 不能,不幸的是改變:O(

回答

0

它看起來像你缺少你getComponent的get.Value()線

嘗試getComponent("parentUID").getValue() == null

我的猜測是,這是導致代碼運行時的UID是空的。這意味着該代碼運行時,它確實是空的,你的努力以檢查ISN」 t working。


感謝您的檢查。

  • 您可以放入print()語句並確保您在var UID中有一個值。
  • 另一件事,請大寫字母「字符串」,因爲Java類是大寫。
+0

我確實錯過了.getValue() - 感謝你的支持 - 它沒有幫助解決這個問題,但是...任何其他想法? –

1

好的,我發現我的問題 - XPages返回的UID,但它包括一個領先的空間。當我連接這些值時,我做了以下操作:「name | UID」,即我向管道符號添加了前導空格和尾隨空格,以使代碼易讀 - 這導致了問題。

相關問題