Последняя версия DataExpress 3 beta от 1 сентября 2019 года.
Изображение Скачать | Изображение Что нового?
См. также: Энциклопедия DX | Форум на develop-soft | Песочница
ИзображениеИзображениеИзображение

Поиск по всем полям во всех формах

Расширение функционала и существующих возможностей программы с помощью модулей расширений и плагинов от сторонних разработчиков.

Модератор: Разработчики расширений

kok80
Эксперт
Сообщения: 289
Зарегистрирован: Пн июл 02, 2018 9:45 pm
Благодарил (а): 1 раз
Поблагодарили: 12 раз

Поиск по всем полям во всех формах

Сообщение kok80 » Вс дек 23, 2018 11:41 pm

Изображение

Возможности:

1) фильтр по всем видимым в Grid формы полям (выбрать поля для поиска или для исключения из поиска можно в "действия формы" )
2) значения фильтра формы учитываются
3) ESC-очистить поле поиска, Ctrl+F в grid формы-фокус в окно поиска
4) сохранение истории поиска для каждой формы отдельно
5) нажатие правой кнопкой мышки на "X" - единоразовый поиск без учета фильтра формы
6) настройка задержки старка поиска после ввода (актуально при больших объемах информации или медленном соединении с базой)
7) кнопка вниз на поле поиска - переход на grid формы, кнопка вверх в grid формы при выделенной первой строке - переход в поле поиска
8) на простой форме: значения поиска записывается в переменную kok80.QueryFilter (название переменной можно задать в настройках), форма обновляется.
Пример использования в фильтре запроса на простой форме: [?!адрес]==GetVar("kok80.QueryFilter")
9) Поиск в окне списка объекта с учетом фильтра объекта

Установка:
после импорта модуля выполнить: дизайнер - действия при запуске - вставить действие - поиск

Известные ошибки/недоработки:
- в дереве при выборе неверхней node отображает пустой результат поиска
ps здесь всегда ссылка на последнюю версию:

kok80-poisk2.06.zip [ Изображение Скачать ]

................................
dxdb_icon Демо онлайн
dxdb_icon Демо онлайн 2


Замечания, предложения ?

...

kok80
Эксперт
Сообщения: 289
Зарегистрирован: Пн июл 02, 2018 9:45 pm
Благодарил (а): 1 раз
Поблагодарили: 12 раз

Re: Поиск по всем полям во всех формах

Сообщение kok80 » Вт мар 12, 2019 12:01 am

Version=1.44
исправлена ошибка: если на форме не было текстового поля (только поля типов "дата", "время", "число") при вводе текстовой строки в поиск выдавалась ошибка
Вложения
kok80-poisk1.44.zip
(11.45 КБ) 44 скачивания

kok80
Эксперт
Сообщения: 289
Зарегистрирован: Пн июл 02, 2018 9:45 pm
Благодарил (а): 1 раз
Поблагодарили: 12 раз

Re: Поиск по всем полям во всех формах

Сообщение kok80 » Сб мар 16, 2019 1:24 pm

Version=1.45
исправлена ошибка: при закрытии закладки с формой выдавалась ошибка
Вложения
kok80-poisk1.45.zip
(11.48 КБ) 32 скачивания

kok80
Эксперт
Сообщения: 289
Зарегистрирован: Пн июл 02, 2018 9:45 pm
Благодарил (а): 1 раз
Поблагодарили: 12 раз

Re: Поиск по всем полям во всех формах

Сообщение kok80 » Вс мар 31, 2019 10:41 pm

Version=1.5
исправлен вызов OpenRecords для работы в DataExpress версия от 31.03.19
Вложения
kok80-poisk1.5.zip
(11.52 КБ) 45 скачиваний

drts
Опытный
Сообщения: 349
Зарегистрирован: Сб окт 29, 2016 11:35 pm
Откуда: Новороссийск
Благодарил (а): 17 раз
Поблагодарили: 3 раза

Re: Поиск по всем полям во всех формах

Сообщение drts » Вс апр 14, 2019 8:06 pm

Багрепорт:
при отсутствии на форме компонентов, по которым можно фильтровать (ну, например на форме только кнопки - что-то вроде главного меню) или при отсутствии хоть одной записи на форме вываливается ошибка:
поле источника не найдено.png
поле источника не найдено.png (15.54 КБ) 1478 просмотров

если на форме только чекбокс (ну или еще что-то по чему не очень ищется, например запрос), то вываливается ошибка
результат не совместим с типом.png
результат не совместим с типом.png (18.52 КБ) 1478 просмотров
. Кака где-то тут.

Код: Выделить всё

if OpenRecordsFilter='' then
    OpenRecordsFilter:=format('[%s]=1 & [%s]=2',[LastColumnName,LastColumnName]);
  OpenRecordsFilter:='{'+OpenRecordsFilter+'}';
                                                 


Ну и рассмотрите, по возможности добавить в функционал поиска в запросе.
можно использовать такую конструкцию:

Код: Выделить всё

EvalExpr(Format('setvar("filter", "%s")', [ed.Text]), nil);
, а в фильтре запроса, соответственно

Код: Выделить всё

[?!Тип ЗИП|Название]==getvar('filter')|[?!Наименование]==getvar('filter')|[?!Описание]==getvar('filter')

Аватара пользователя
Develop-Soft
Сообщения: 716
Зарегистрирован: Вт мар 05, 2019 6:09 pm
Благодарил (а): 35 раз
Поблагодарили: 163 раза
Контактная информация:

Re: Поиск по всем полям во всех формах

Сообщение Develop-Soft » Вс апр 14, 2019 8:12 pm

drts писал(а):функционал поиска в запросе.

Все запросы во всех записях открывать? Это ж висяк...

drts
Опытный
Сообщения: 349
Зарегистрирован: Сб окт 29, 2016 11:35 pm
Откуда: Новороссийск
Благодарил (а): 17 раз
Поблагодарили: 3 раза

Re: Поиск по всем полям во всех формах

Сообщение drts » Вс апр 14, 2019 8:15 pm

где фильтр прописать, там пусть и ищет. у меня работает, висяков нет. Ищу в одном запросе.

Аватара пользователя
Develop-Soft
Сообщения: 716
Зарегистрирован: Вт мар 05, 2019 6:09 pm
Благодарил (а): 35 раз
Поблагодарили: 163 раза
Контактная информация:

Re: Поиск по всем полям во всех формах

Сообщение Develop-Soft » Вс апр 14, 2019 8:21 pm

Если речь о том фильтре, который в первом посте на картинке, тогда непонятно по какой логике это должно работать...

drts
Опытный
Сообщения: 349
Зарегистрирован: Сб окт 29, 2016 11:35 pm
Откуда: Новороссийск
Благодарил (а): 17 раз
Поблагодарили: 3 раза

Re: Поиск по всем полям во всех формах

Сообщение drts » Вс апр 14, 2019 8:30 pm

Ну, вот например. склад в виде запроса:
3.png
3.png (188.89 КБ) 1472 просмотра
. перешел на эту страницу - там в запросе настроен фильтр (как выше указано). на странице есть идентификатор (у меня поле с определенным названием кинуто на форму, можно на него расширение специальное кинуть, чтоб идентификатором было). У меня вот так:
4.png
4.png (134.84 КБ) 1472 просмотра

В общем это типо пожелание.

Аватара пользователя
Develop-Soft
Сообщения: 716
Зарегистрирован: Вт мар 05, 2019 6:09 pm
Благодарил (а): 35 раз
Поблагодарили: 163 раза
Контактная информация:

Re: Поиск по всем полям во всех формах

Сообщение Develop-Soft » Вс апр 14, 2019 10:35 pm

Понятно. Это получается, что поисковик при наличии "простой фоpмы" должен "перекинуться" на запрос(ы) в ней...
Иначе - висяк.

kok80
Эксперт
Сообщения: 289
Зарегистрирован: Пн июл 02, 2018 9:45 pm
Благодарил (а): 1 раз
Поблагодарили: 12 раз

Re: Поиск по всем полям во всех формах

Сообщение kok80 » Пн апр 15, 2019 11:49 pm

Version=1.51
исправлена ошибка: при отсутствии на форме поддерживающих поиск элементов при попытке поиска выдавалась ошибка
Вложения
kok80-poisk1.51.zip
(11.64 КБ) 14 скачиваний


Вернуться в «Расширения и плагины»