Причина указанной ошибки связана с тем, что поле «FinishDate» пустое, что понятно. То, что я пытаюсь сделать в цикле, заменяет любое пустое поле «FinishDate» на сегодняшнюю дату.Xpages - getNextDocument(), не обращаясь к полю даты
«FinishDate» будет непрерывным до тех пор, пока действие не будет закончено, и это будет когда endDate будет сгенерирован, и поле «FinishDate» будет заполнено в документе.
Я попытался ниже, который работает в то время как цикл через просто NotesDocument, но не с NotesDocumentCollection:
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())
}
«еще» оператор пропускается каждый раз, когда он работает.
Ниже приведен полный код и блок ошибок.
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. –
Теперь это исправлено, спасибо. –