Запазване на избран документ като документ за отговор с XPages

нов съм в xpages, но искам да опитам да създам документ за отговор за основен документ, който е документът за поръчка. има продуктов документ, който показва изгледа на всички продукти в базата данни и с квадратче за отметка, двата документа са на една страница. като използвате кода по-долу при събитието onclick, ако има квадратчето за отметка

var colName = view1Collection.getColumnValue("Name");
var prodNameScope = sessionScope.get("scopeProdName");
var docIdScope = sessionScope.get("scopeDocID");

var selDocID = view1Collection.getUniversalID();

 if(docIdScope .contains(selDocID )) {
    prodNameScope .remove(colName );
    docIdScope .remove(selDocID );
    } else {
    prodNameScope .add(colName );
    docIdScope .add(selDocID );
}

Postopen събитие:

var nameList = new java.util.ArrayList();
sessionScope.put('scopeProdName', nameList );
var idList = new java.util.ArrayList();
sessionScope.put('scopeDocID', idList );

На следващите страници елементът се показва добре, но искам избраният елемент да бъде копиран и запазен като документ за отговор към основния документ.

Опитах скрипта по-долу, но не работи:

var PN = sessionScope.get("scopeProdName[indexRowdata]");
document1.replaceItemValue("_Title", PN);

някой има ли идея как мога да направя това. Благодаря предварително.


person simon peter    schedule 16.09.2013    source източник


Отговори (1)


ако покажете статиите в контрола на изгледа, можете да получите id:s за след това използване

 var myArray = sessionScope.get("projectName");
 var PNu = sessionScope.get("projectNumber");

 document1.replaceItemValue("ProjectName", myArray);
 document1.replaceItemValue("ProjectNumber", PNu);

 var PN:java.util.ArrayList = sessionScope.get("scopeProdName");

 document1.save()
 var Id:java.util.ArrayList=sessionScope.get("scopeDocID");

 for(var x=0;x<Id.size();x++){
   var doc=database.getDocumentByUNID(Id.get(x)); 
   var newdoc:NotesDocument=doc.copyToDatabase(database);
   newdoc.makeResponse(document1.getDocument());
   newdoc.save();
 }
person Fredrik Norling    schedule 16.09.2013
comment
показвам статиите с помощта на dataTable, след като получа избраните на страницата за предварителен преглед, използвам dataTable, за да покажа избрания елемент, изчислявайки: scopeProdName[indexRowdata] сега имам нужда от предварителен преглед на статиите в dataTable, за да бъдат запазени като документ за отговор към document1 - person simon peter; 16.09.2013
comment
Ако извлечете всички избрани идентификатори в JS масив, използвайте цикъла, за да ги копирате и да им направите отговори. - person Fredrik Norling; 16.09.2013
comment
това е проблемът, който не получавам кода, за да го направя, продължавам да получавам грешка, не знам какво пропускам, извличайки избраните идентификатори от Js масива. какъв е правилният код за използване? - person simon peter; 16.09.2013
comment
Актуализирах кода си в отговора. Трябва да направите .get с номера на индекса - person Fredrik Norling; 17.09.2013
comment
Наистина оценявам помощта ви досега, но продължавам да получавам грешката indexRowdata not found, нямам нищо против, ако мога да ви изпратя nsf файла, за да го видите. - person simon peter; 19.09.2013
comment
Разбира се, изпратете nsf на fredrik на xpagedeveloper.com и аз ще погледна - person Fredrik Norling; 19.09.2013