• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Notes Error: Query Is Not Understandable

  • Автор темы Автор темы dimat
  • Дата начала Дата начала

dimat

Well-known member
31.07.2008
508
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$+{"}

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

в чем может быть проблема?
 
Если изначально поле создавалось с другим типом (например, числовое, дата), то в БД оно всё равно считается с исходным типом, даже если во всех документах оно текстовое. ЕМНИП, помогает только удаление поля из всех документов с последующим компактом и созданием поля заново.
Попробуйте создать агентом в документах новое поле нужного типа.
 
Если изначально поле создавалось с другим типом
Поле было изначально текстовое.
Да и если бы это было не так, мне кажется не привело бы к такой ошибке, такие документы не попали бы в результат
 
а такой запрос проходит?
Код:
ftquery$={FIELD FieldName="2011"}
 
Поле было изначально текстовое.
Да и если бы это было не так, мне кажется не привело бы к такой ошибке, такие документы не попали бы в результат
Судя по тому, что в поле хранится год, в форме для этого поля сначала мог быть задан числовой тип. Может было две формы с так названым полем, в одной числового типа, в другой — текстового. По крайней мере у меня в подобной ситуации выводилось именно такое сообщение об ошибке.
Для проверки попробуйте такой код:
ftquery$={FIELD FieldName=@TextToNumber("2011")}
 
Решил не мучаться так как сделать нужно срочно.
не стал включать в строку поиска год, складываю результаты в папку, а там notesView.GetAllDocumentsByKey ищу документы нужного мне года
 
а разве в фт-поиске отработает @? Тогда уже просто Search надо.
С собаками я, конечно, погорячился :) . А что касается ошибки, то предлагаю простой эксперимент: набрать в строке поиска представления "Все документы" почтовой базы FIELD PostedDate = "2011" и FIELD PostedDate = 2011 и сравнить результат.

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

Вот, например:
link removed
 
nvy
Набрал в строке поиска представления, где отображаются все доки:
FIELD PostedDate = "2011" - ошибка Query is not understandable
FIELD PostedDate = 2011 - не найдено совпадений
 
nvy
Набрал в строке поиска представления, где отображаются все доки:
FIELD PostedDate = "2011" - ошибка Query is not understandable
FIELD PostedDate = 2011 - не найдено совпадений
О чём я и говорил выше — при попытке поиска текста в нетекстовом поле выводится ошибка "Query is not understandable", хотя сам запрос ошибок не содержит.
 
О чём я и говорил выше — при попытке поиска текста в нетекстовом поле выводится ошибка "Query is not understandable", хотя сам запрос ошибок не содержит.
nvy
Вы правы, оно типа дата числовое.
Как мне его переделать на текстовое?
 
Как мне его переделать на текстовое?
Ну так ведь ещё в первом своем сообщении писал:
link removed
Создайте в форме вычисляемое текстовое поле с нужным значением, допишите его агентом во все документы и используйте в ft-поиске.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы