위의 오류의 원인은 'FinishDate'필드가 비어있어 이해할 수 있기 때문입니다. 내가 루프에서 수행하려고했던 것은 비어있는 'FinishDate'필드를 오늘 날짜로 대체하는 것입니다.Xpages - getNextDocument()가 날짜 필드에 액세스하지 않음
'FinishDate'는 활동이 제대로 종료되고 endDate가 생성되고 'FinishDate'필드가 문서에 채워질 때까지 계속됩니다.
try {
var endDate:NotesDateTime = null;
if(!docEv.getItemValue("FinishDate").isEmpty()){
endDate = docEv.getItemValue("FinishDate").elementAt(0);
}else{
endDate = session.createDateTime(@Now());
}
}catch(e){
print("endDate: " + e.toString())
}
'다른'문이 실행될 때마다 건너 :
은 그냥 NotesDocument 통해 반복하면서 작동하지만 NotesDocumentCollection하지 않는 그 이하했습니다.아래는 전체 코드와 오류 블록입니다. 당신의 도움이 이해할 수있을 것이다
function getCalObj(){
var viewEv:NotesView = database.getView("Diary");
var doc:NotesDocument = diaryDoc.getDocument();
var sUNID = doc.getUniversalID();
var dcEv:NotesDocumentCollection = viewEv.getAllDocumentsByKey(sUNID);
if(dcEv.getCount() != 0){
var docEv:NotesDocument = dcEv.getFirstDocument();
var calendarData = '';
try {
while (docEv != null) {
var pattern = new java.text.SimpleDateFormat("yyyy-MM-dd");
try {
var calDate:NotesDateTime = docEv.getItemValue("QueryStartDate").elementAt(0);
}catch(e){
print("calDate: " + e.toString());
}
try {
var endDate:NotesDateTime = null; //check if date is empty
if(!docEv.getItemValue("FinishDate").isEmpty()){
endDate = docEv.getItemValue("FinishDate").elementAt(0);
}else{
endDate = session.createDateTime(@Now()); // if endDate is null replace with todays date
}
}catch(e){
print("endDate: " + e.toString())
}
try{
.........
}catch(e){
print("Cal data error" + e.toString());
}
var tmpdocEv = viewEv.getNextDocument(docEv);
docEv.recycle();
docEv = tmpdocEv;
}
} catch(e) {
print("DocEv Loop Error: " + e.toString()); //error, read below
//DocEv Loop Error: Exception occured calling method NotesView.getNextDocument(lotus.domino.local.Document)
};
};
}.
질문을 명확하게하십시오. 질문 제목의 오류 메시지는'getNextDocument()'와 관련이 있으며 Date 필드에 액세스하지 않습니다. –
이제 수정되었습니다. 감사합니다. –