Как Изменить Тип Поля С Текстового На Числовой?

wk01

Active member
08.05.2010
31
0
#1
доброго времени суток!
вот такая получилась ситуация: была создана база, в которой по недальновидности (читай - рас*цензура*яйству) на форму было добавлено текстовое поле вместо числового; с базой взялись работать, наделали много документов; затем к базе потребовался веб-интерфейс с возможностью многокритериального поиска, в том числе и по вилке значений этого злополучного поля.
веб-интерфейс - на xpages, поиск - viewPanel с вычисляемым свойством search, в которое пихается строка полнотекстового запроса. при попытке такого поиска по тому самому полю сервер отвечает runtime error'ом:
Notes error: Relational operators are not supported in text fields

вопросы: как изменить тип поля?

что пробовал:
1) в форме у поля сменил тип text на number, агентом прописал во всех документах численное значение - в поиске ничего не изменилось, та же ошибка;
2) изменил тип поля в форме, прописал численные значения в документы, создал пустую базу и перекопировал в неё все элементы дизайна из первой базы (с уже изменённым типом поля), сделал из второй базы шаблон, обновил дизайн первой по нему - всё равно не ищет, продолжает ругаться и считать поле текстовым.

неужели тип поля сопоставляется с названием поля при первом сохранении формы и остаётся на всю жизнь?
если всё так печально, то для того, чтобы поиск заработал, видимо можно свежее числовое поле на форму бахнуть (которое лотус навсегда запомнит для себя числовым), агентом заполнить его числовыми значениями во всех документах, удалить старое текстовое поле из документов, перелопатить весь код и представления - чтоб обращения везде были к новому полю. но... может быть есть альтернатива?
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
18
#2
легче задать новое поле, труднее вычистить старое
это поле пишется фактически во все элементы дизайна вроде поле $Fields
с другой стороны полнотекстовый поиск для того чтобы что-то найти, он не для математических операций ;)
 

hosm

* so what *
18.05.2009
2 442
6
#3
+1 проще создать новое поле. Если есть время, в качестве экспериментов можно удалить фт-индекс, сделать реплику и попробовать пересоздать базу из этой реплики (описано как решение тут http://www-10.lotus.com/ldd/46dom.nsf/78d8...a5?OpenDocument ).
У нас как-то для дат обсуждалось в теме вот тут http://codeby.net/forum/threads/33246.html?vi...st&p=155420 и ниже сообщение.
 

wk01

Active member
08.05.2010
31
0
#4
всем спасибо за ответы! ;)
эксперимент с созданием реплики удался - в новой реплике лотус признал наконец-то поле числовым, ftsearch заработал на отличненько!