Тема: Сравнение дат в search formula
Существует агент, который отбирает документы и обрабатывает их неким образом. Проблема в том, что в отбор попадают ненужные документы. Привожу код:
...
Dim nw As New NotesUIWorkspace
Dim nses As New NotesSession
Dim db As NotesDatabase
Dim OtchetDoc As NotesDocument
Dim doc As NotesDocument
Dim doccol As NotesDocumentCollection
Dim begindata As NotesDateTime, enddata As NotesDateTime
Set OtchetDoc=nw.CurrentDocument.Document
Set db = nses.CurrentDatabase
Set begindata=New NotesDateTime(OtchetDoc.begin(0))
Set enddata=New NotesDateTime(OtchetDoc.end(0))
searchFormula$ = { Form = "Vhod" & @Left(ТИП_ДОКУМЕНТА;6)="Жалобы" & ДАТА_РАЗРЕШ_ОБРАЩ_<> "" & @ToTime(ДАТА_РАЗРЕШ_ОБРАЩ_) => [}+ begindata.Dateonly +{] & @ToTime(ДАТА_РАЗРЕШ_ОБРАЩ_) =< [}+ enddata.Dateonly +{] }
Set doccol = db.Search( searchFormula$, Nothing, 0)
...
Немного пояснений:
- на форме Отчета поля begin и end типа ДАТА/ВРЕМЯ
- на основной форме документа поле ДАТА_РАЗРЕШ_ОБРАЩ_ типа ТЕКСТ
Интересует:
- почему в коллекцию попадают документы, у которых ДАТА_РАЗРЕШ_ОБРАЩ_ выходит за рамки, установленные интервалом ?
- как правильно работать (сравнивать между собой) с текстовыми полями и полями дата/время в рамках написания формул отбора ?