Не работает быстрый поиск в форме списка
Вводные:
— 8.3.5.1119
— Режим совместимости интерфейса: Версия 8.2. Разрешить Такси
Создан свой справочник, добавлена форма списка, сгенерированная платформой. Динамический список классический, без Произвольного запроса. В форме присутствуют: «Строка поиска», «Состояние просмотра», «Управление поиском».
Вся эта кухня продемонстрирована зазеркальцами: http://v8.1c.ru/o7/201401ls/index.htm
Встаю в колонку списка «Наименование», начинаю набирать текст — текст пишется в реквизите «Строка поиска».
Ожидаю: список будет отфильтрован по моему введенному тексту.
Реальность: список очищается.
Поймал запрос, уходящий на sql-сервер, вижу там свою строку поиска, но(!!) почему-то платформа вставляет и такой предикат: 1=0
Текст запроса (отформатировал для наглядности):
SELECT TOP 35
T1._Code,
T1._Description,
T1._Fld1177,
T1._Fld1178,
T1._Fld1179,
T1._Fld1180,
T1._Fld1181RRef,
T1._Fld1182RRef,
T1._Fld1272,
T1._Fld1273,
T1._Marked,
CASE WHEN T1._PredefinedID > 0x00000000000000000000000000000000 THEN 0x01 ELSE 0x00 END,
T1._IDRRef
FROM dbo._Reference1176 T1
LEFT OUTER JOIN dbo._Reference1144 T2
ON T1._Fld1181RRef = T2._IDRRef
LEFT OUTER JOIN dbo._Reference1129 T3
ON T1._Fld1182RRef = T3._IDRRef
WHERE
1=0 — АХТУНГ: это накой здесь??
AND (
(
(
(
(
(
(
(
(T1._Description LIKE N’%М%’ ESCAPE ‘/’)
OR (T1._Fld1177 LIKE N’%М%’ ESCAPE ‘/’)
) OR (T1._Fld1178 LIKE N’%М%’ ESCAPE ‘/’)
) OR (T1._Fld1179 LIKE N’%М%’ ESCAPE ‘/’)
) OR (T1._Fld1180 LIKE N’%М%’ ESCAPE ‘/’)
) OR (T2._Description LIKE N’%М%’ ESCAPE ‘/’)
) OR (T3._Description LIKE N’%М%’ ESCAPE ‘/’)
) OR (T1._Fld1272 LIKE N’%М%’ ESCAPE ‘/’)
) OR (T1._Fld1273 LIKE N’%М%’ ESCAPE ‘/’)
)
ORDER BY
(T1._Code),
(T1._IDRRef)
Кто знает, почему в запросе появляется этот предикат 1=0? Почему не работает поиск?
Источник
Поиск в форме списка
Доброе утро! Это мой первый вопрос на форуме, но возможно не первый по теме.
Итак, в 8.3.6 есть поиск по списку:
- Либо Ctrl+F, либо начинаем ручками вводить, и ищем по всему списку;
- Либо Alt+F для поиска в текущей колонке.
Второй вариант норм, а вот первый вариант у меня на конфе не отрабатывается — стоит мне что-то нажать, как список пропадает, якобы ничего не нашел. Конфа не на БСП, самопал, с нуля.
Так вот, собственно, вопрос в чем: «как реализовать эту возможность? Это напрямую связано с полнотекстовым поиском?»
(1) paul_freedom, это он и есть. Пока индекс не обновлен, работать не будет. 1С говорит, что полнотекстовый быстрее и удобнее. Но надо регламентным заданием постоянно индекс подгонять. Я слышал, есть возможность вручную написать обработчики событий для обновления индекса после изменения объектов. Зависит от количества работающих в базе пользователей.
Я лично в своих формах отключаю полнотекстовый и оставляю только поиск по колонкам — он тогда работает на ctrl-f и на просто ввод текста в форму списка.
В таком случае, было бы здорово, если подскажете, как перейти на ctrl+f, потому что у меня на Alt+f срабатывает
Дело в том, что и по упорядоченным тоже не ищет (как на картинке), мне это и пришло первое в голову.
Поэтому, видимо, верным является ответ Follower :
(7) dj_serega, (8) Follower,
Спасибо за помощь.
Тогда напрашивается еще один вопрос:
В панели инструментов тоже есть поиск, который при отключенном ПТпоискене не работает. Мы его вообще никак убрать из панели инструментов не можем?
(10) dj_serega,
Судя по тому, что НастройкиИнтерфейсаКлиентскогоПриложения и НастройкиСоставаИнтерфейсаКлиентскогоПриложения толком не работают, то складывается ощущение, что да, только для открытия навигационной ссылки поиск в инструментах годен.
НастройкиИнтерфейсаКлиентскогоПриложения (ClientApplicationInterfaceSettings)
Содержит настройки интерфейса клиентского приложения
Когда вручную меняешь панели, в НастройкиИнтерфейсаКлиентскогоПриложения хранятся только программно заданные панели, то бишь коряво работает функция, как я понял.
(1) paul_freedom, Уточните, формы управляемые?
Нет, полнотекстовый поиск не связан с поиском на списке. Можно только предположить, что проиндексированный поиск как-то ускоряет.
Что касается поиска просто набором текста, то этот поиск осуществляется по той колонке, по которой список упорядочен, а не текущей колонки. Скорее всего это Дата. Вот и не срабатывает.
А вот в 7.7. был поиск по текущей колонке, и очень жаль, что в 8-ке не так.
(1) paul_freedom, Как ответили в (1) это полнотекстовый поиск. Он меня устраивает полностью. Я пользуюсь ctrl+f и atl+f паралельно. А еще не забываю про настройки отборов через «Настройки списка» (основной упор на них).
Минут только один: нужно часто обновлять индекс. И использовать удобно не во всех списках.
Смотрю, мнения противоположные. Интересно, где про это сказано и как на практике подкреплено.
Смысл длинющей переписки таков:
Разработчики 1с:
Мы работаем на большенство! Большенству новый список удобен, ошибки какие есть будем убирать по мере выявления. Кому нужен старый список жмите Alt+F
Источник
Не работает поиск в динамическом списке. 1С 8.3.7
МенеджерПолнотекстовогоПоиска (FullTextSearchManager)
ОбновитьИндекс (UpdateIndex)
Синтаксис:
Тип: Булево.
Разрешает слияние индексов.
Если Истина, то выполняется слияние частичного и полного индексов.
Значение по умолчанию: Ложь.
(необязательный)
Тип: Булево.
Истина — обновление индексов будет осуществляться порциями. При каждом вызове метода выполняется порционное обновление индекса. Размер порции равен 10 тысяч объектов индексирования. При этом сначала в порцию выбираются объекты, не привязанные ко времени (например, справочники), затем, если порция еще не заполнена, выбираются объекты, привязанные ко времени (например, документы). Сначала выбираются новые объекты, а затем старые. При выборе анализируются все временные объекты, в том числе и регистры сведений с периодами (берется старшая дата периода), так, чтобы порция включала поровну объекты всех типов.
После индексирования данных одной порции процесс завершается.
Если Ложь, то индексирует все.
Значение по умолчанию: Ложь.
Описание:
Обновляет индекс полнотекстового поиска.
Сервер, толстый клиент, внешнее соединение.
Примечание:
Обновление индекса может выполняться продолжительное время.
Если режим полнотекстового поиска запрещен, то использование метода вызывает исключение.
Регламентное задание на обновление индекса раз в 1 мин:
Источник
v8.3: Как заставить работать Строку поиска в форме списка справочника и почему она не
|
|
|
|
|
|
|
|
|