W
wk01
доброго времени суток!
вот такая получилась ситуация: была создана база, в которой по недальновидности (читай - рас*цензура*яйству) на форму было добавлено текстовое поле вместо числового; с базой взялись работать, наделали много документов; затем к базе потребовался веб-интерфейс с возможностью многокритериального поиска, в том числе и по вилке значений этого злополучного поля.
веб-интерфейс - на xpages, поиск - viewPanel с вычисляемым свойством search, в которое пихается строка полнотекстового запроса. при попытке такого поиска по тому самому полю сервер отвечает runtime error'ом:
Notes error: Relational operators are not supported in text fields
вопросы: как изменить тип поля?
что пробовал:
1) в форме у поля сменил тип text на number, агентом прописал во всех документах численное значение - в поиске ничего не изменилось, та же ошибка;
2) изменил тип поля в форме, прописал численные значения в документы, создал пустую базу и перекопировал в неё все элементы дизайна из первой базы (с уже изменённым типом поля), сделал из второй базы шаблон, обновил дизайн первой по нему - всё равно не ищет, продолжает ругаться и считать поле текстовым.
неужели тип поля сопоставляется с названием поля при первом сохранении формы и остаётся на всю жизнь?
если всё так печально, то для того, чтобы поиск заработал, видимо можно свежее числовое поле на форму бахнуть (которое лотус навсегда запомнит для себя числовым), агентом заполнить его числовыми значениями во всех документах, удалить старое текстовое поле из документов, перелопатить весь код и представления - чтоб обращения везде были к новому полю. но... может быть есть альтернатива?
вот такая получилась ситуация: была создана база, в которой по недальновидности (читай - рас*цензура*яйству) на форму было добавлено текстовое поле вместо числового; с базой взялись работать, наделали много документов; затем к базе потребовался веб-интерфейс с возможностью многокритериального поиска, в том числе и по вилке значений этого злополучного поля.
веб-интерфейс - на xpages, поиск - viewPanel с вычисляемым свойством search, в которое пихается строка полнотекстового запроса. при попытке такого поиска по тому самому полю сервер отвечает runtime error'ом:
Notes error: Relational operators are not supported in text fields
вопросы: как изменить тип поля?
что пробовал:
1) в форме у поля сменил тип text на number, агентом прописал во всех документах численное значение - в поиске ничего не изменилось, та же ошибка;
2) изменил тип поля в форме, прописал численные значения в документы, создал пустую базу и перекопировал в неё все элементы дизайна из первой базы (с уже изменённым типом поля), сделал из второй базы шаблон, обновил дизайн первой по нему - всё равно не ищет, продолжает ругаться и считать поле текстовым.
неужели тип поля сопоставляется с названием поля при первом сохранении формы и остаётся на всю жизнь?
если всё так печально, то для того, чтобы поиск заработал, видимо можно свежее числовое поле на форму бахнуть (которое лотус навсегда запомнит для себя числовым), агентом заполнить его числовыми значениями во всех документах, удалить старое текстовое поле из документов, перелопатить весь код и представления - чтоб обращения везде были к новому полю. но... может быть есть альтернатива?