Поиск по содержанию. Лоцман v10

Автор Danila, 09.02.10, 09:34:22

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Danila

В Лоцмане поле содержание имеет тип memo-поля. По нему поиск по умолчанию не доступен.
В БД мы можем поменять тип поля содержания в таблице [dbo].[dsAttributes]. Тогда все имеющиеся поля исчезнут. Но при возвращении старый текст возвращается.

В таблице [dbo].[rlTypesAndAttributes] мы видим привязку типа содержания к различным типам документам. В частности, входящий и исходящий. Соответсвенно в таблице [dbo].[stAttributes] тип inIdTypeAttr определяет содержание для документа. Но значение содержания там не отображается...

В других таблицах найти текст содержания найти что-то не получается...

Подскажите, где он находится.

EVD

В Лоцман 8.5 содержимое таких атрубутов хранится в stBlobValues

Danila

Да, в блобах мы смотрели, но прочитать там информацию невозможно... Она имеет свой вид...

А сейчас возникла проблема с поиском по соедржанию, сосответвенно нужно старые данные перевести в новые. То есть из мнемо-поля в строку.

Так вот как это сделать....

YorikER

Если я конечно все правильно понял...
1. Создать еще один атрибут типа строка с названием например "Содержание 1".
2. Программным путем перевести данные из мемо поля "Содержание" в строковое поле "Содержание 1" для всех объектов необходимого вам типа.
3. Далее обыкновенный поиск по полю "Содержание 1".
4. Далее при создании новых объектов с указанными атрибутами поддерживать актуальность обоих атрибутов.

Но вообще вы полезли непосредственно в таблицы базы данных без сервера приложений, будьте осторожными, можно нарушить целостность системы...

Danila

#4
РЕ: Программным путем перевести...

Напрямую из БД не получится ведь? Только переводом программно?...

Что-то с таким не сталкивался раньше.. как в с# такое можно сделать?

YorikER

В си шарп не знаю, не пробовал... На Delphi без проблем...

Danila

снова вернулись к этой проблеме...

а через API функционал Лоцмана - можно получить текст из блоба содержания?

EVD

Можно, методы GetAttrImageValue, GetAttrImageValueById, GetAttrPlainTextValue
Это в Лоцман 8.5, в Лоцман 10 может еще есть