• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Notes Error: Query Is Not Understandable

dimat

Well-known member
31.07.2008
508
0
BIT
0
Всем привет!
Данная ошибка выскакивает при попытке ft поиска по NotesDocumentcollection:

Код:
y$="2011"
ftquery$={FIELD FieldName="}+y$+{"}
Call NotesDocumentCollection.FTSearch(ftquery$,0)

Такая же ошибка была если ft поиск производился по NotesDatabase, если в составле формулы поиска присутсвовала
{FIELD FieldName="}+y$+{"}.

Например:

ftquery$={FIELD Form="FormName"}
ftquery$=ftquery$+{ & FIELD FieldName="}+y$+{"}
ftquery$=ftquery$+{ & FIELD FieldName2="}+EmplName$+{"}

и если ее убираю - все отрабатывает без проблем.

в чем может быть проблема?
 
N

nvyush

Если изначально поле создавалось с другим типом (например, числовое, дата), то в БД оно всё равно считается с исходным типом, даже если во всех документах оно текстовое. ЕМНИП, помогает только удаление поля из всех документов с последующим компактом и созданием поля заново.
Попробуйте создать агентом в документах новое поле нужного типа.
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
Если изначально поле создавалось с другим типом
Поле было изначально текстовое.
Да и если бы это было не так, мне кажется не привело бы к такой ошибке, такие документы не попали бы в результат
 
R

RAJ

а такой запрос проходит?
Код:
ftquery$={FIELD FieldName="2011"}
 
N

nvyush

Поле было изначально текстовое.
Да и если бы это было не так, мне кажется не привело бы к такой ошибке, такие документы не попали бы в результат
Судя по тому, что в поле хранится год, в форме для этого поля сначала мог быть задан числовой тип. Может было две формы с так названым полем, в одной числового типа, в другой — текстового. По крайней мере у меня в подобной ситуации выводилось именно такое сообщение об ошибке.
Для проверки попробуйте такой код:
ftquery$={FIELD FieldName=@TextToNumber("2011")}
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
Решил не мучаться так как сделать нужно срочно.
не стал включать в строку поиска год, складываю результаты в папку, а там notesView.GetAllDocumentsByKey ищу документы нужного мне года
 
N

nvyush

а разве в фт-поиске отработает @? Тогда уже просто Search надо.
С собаками я, конечно, погорячился :) . А что касается ошибки, то предлагаю простой эксперимент: набрать в строке поиска представления "Все документы" почтовой базы FIELD PostedDate = "2011" и FIELD PostedDate = 2011 и сравнить результат.

Кстати, гугл-поиск по форуму рулит:

Вот, например:
link removed
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
nvy
Набрал в строке поиска представления, где отображаются все доки:
FIELD PostedDate = "2011" - ошибка Query is not understandable
FIELD PostedDate = 2011 - не найдено совпадений
 
N

nvyush

nvy
Набрал в строке поиска представления, где отображаются все доки:
FIELD PostedDate = "2011" - ошибка Query is not understandable
FIELD PostedDate = 2011 - не найдено совпадений
О чём я и говорил выше — при попытке поиска текста в нетекстовом поле выводится ошибка "Query is not understandable", хотя сам запрос ошибок не содержит.
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
О чём я и говорил выше — при попытке поиска текста в нетекстовом поле выводится ошибка "Query is not understandable", хотя сам запрос ошибок не содержит.
nvy
Вы правы, оно типа дата числовое.
Как мне его переделать на текстовое?
 
N

nvyush

Как мне его переделать на текстовое?
Ну так ведь ещё в первом своем сообщении писал:
link removed
Создайте в форме вычисляемое текстовое поле с нужным значением, допишите его агентом во все документы и используйте в ft-поиске.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!