我有一个显示可用联系人列表的dijit。然后,选定的联系人显示在视图面板中,该视图面板通过部分刷新进行更新,直到我添加了一些代码来检查未选择重复的联系人。现在面板不会刷新。有什么想法吗?
这是检查duplciates的SSJS。对不起,如果我没有正确解释这个或者是否有一个非常简单的解决方案来解决这个'问题' - 这里的总菜单。
var viewPanel=getComponent("viewPanel1");
var docIDs=viewPanel.getSelectedIds();
for(i=0 ; i < docIDs.length ; i++){
var docId = docIDs[i];
var doc:NotesDocument = database.getDocumentByID(docId);
// Get Contact Details from document
var FName = doc.getItemValueString("Org_Con_FirstName");
var LName = doc.getItemValueString("Org_Con_SurName");
var FullName = FName + " " + LName;
var Phone = doc.getItemValueString("Org_Con_Phone");
var Email = doc.getItemValueString("Org_Con_Email");
var Unid = doc.getUniversalID();
var checkView = database.getView("oppContacts");
var checkCollection = checkView.getAllDocumentsByKey(sessionScope.oppKey);
var checkCount = checkCollection.getCount();
var counter = 0;
if(checkCount != 0 ){
var checkDoc = checkCollection.getFirstDocument();
while(checkDoc!=null){
var checkEmail = checkDoc.getItemValueString("Email")
if(checkEmail==Email) counter = counter + 1;
var tempDoc = checkCollection.getNextDocument();
checkDoc.recycle();
checkDoc = tempDoc;
}
}
if(counter==0){
var oppContact = database.createDocument();
oppContact.replaceItemValue("Form","oppContact");
oppContact.appendItemValue("ContactName",FullName);
oppContact.appendItemValue("Email", Email);
oppContact.appendItemValue("Phone", Phone);
oppContact.appendItemValue("FullContact",Unid);
oppContact.appendItemValue("OpportunityKey", sessionScope.oppKey);
oppContact.save();
}
}
答案 0 :(得分:1)
尝试在脚本结束时返回true,继续使用部分刷新面板的服务器选项。如果它遇到错误,那么它将返回false。
enter code here
//在代码的开头
var bResult = false;
// inside if-statement : if (counter==0){
bResult = oppContact.save();
// at the end check bResult by setting sessionScope (using debug toolbar :-)
sessionScope.bResult = bResult;
// return true, hopefully
return bResult;
您的代码是否会生成新文档? 希望这会有所帮助...