1

利用可能な連絡先のリストを表示する dijit があります。選択した連絡先は、重複する連絡先が選択されていないことを確認するコードを追加するまで、部分的な更新によって更新されていたビュー パネルに表示されました。現在、パネルは更新されません。何か案は?

重複をチェックする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();

    }

}
4

1 に答える 1

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;

あなたのコードは新しいドキュメントを生成しますか? お役に立てれば...

于 2012-09-21T10:08:49.350 に答える