При вводе первых символов компонента производит поиск и позиционирование на первом найденном элементе списка.
В текущей версии быстрый поиск работает только для подбора номенклатуры в УТ11.
Стартовал новый проект Universal Extensions (UE), который в себе содержит полнофункциональный QuickSearch без ограничений и необходимости «кликать» по динамическому списку для его активации.
Буду краток.
QuickSearch: бесплантый компонент без каких либо ограничений. На данный момент работает на подборе номенклатуры в конфигурации «УТ 11». Переводить его в статус платного не планируется. Видео по использованию вы можете найти в статье //infostart.ru/public/182442/.
Компонент не содержит меню, но как и «предок» имеет постоянно открытую «не закрываемую» форму в списке окон.
В отличии предыдущей, текущая обработка с открытым кодом. Компонента не содержит багов и не приводит к падению системы.
Развитие QuickSearch всецело зависит от проявленного интереса сообщества.
Так-же Вы можете поддержать развитие продукта
Здесь будет багтрекер.
«-» — баг зарегистрирован
«+» — баг исправлен
=========================
— нужно, чтобы в свойствах таблицы списка свойство «Поиск при вводе» было установлено в «Не использовать» (пост 3 by Tsaregorodtsev)
РЕШЕНИЕ: см. пост №7.
— проблема с сортировкой и группами и сортировкой (пост 6 by Tsaregorodtsev)
Сори, в статье забыл указать что обработку можно адаптировать небольшими изменениями на другие конфигурации УФ. Единственным ограничением здесь будет — подбор должен открываться отдельным (свободным) окном.
Проверил подбор в документы продажи в УТ11 — работает отлично.
Единственное — нужно, чтобы в свойствах таблицы списка свойство «Поиск при вводе» было установлено в «Не использовать», или добавить в ПриСозданииНаСервере:
Кстати вопрос автору — а можно ли в «При создании на сервере» определить, запущена ли обработка быстрого поиска или нет, чтобы добавить условие на изменение параметра «Поиск при вводе»? Или может быть есть другое решение этой задачи (если обработка запущена, то поиск при вводе не нужен, иначе нужен).
Автор триальность убрана?
Вставил обработку в конфигурацию УТ11 — получилось.
Технология вставки:
1. Добавляем обработку в конфигурацию.
2. В модуле управляемого приложения, в ПриНачалеРаботыСистемы() пишем:
ОткрытьФорму(«Обработка.QuickSearch.Форма.Инициализация»);
3. В самой обработке меняем везде с
на
Менеджеры в восторге! Правда помимо этого пришлось сильно переработать запрос формирования списка номенклатуры в подборе (без потери функциональности кстати). В результате список «летает», а теперь еще и ищет по первым символам! Компания мучительно переходит на УТ11 с комплексной 77 и меня достали все упреками дескать «как хорошо было в 77…». Вобщем Сергей, спасибо тебе большое!
Нашлись и небольшие недочеты. Во первых — если в списке группы не выводятся и условие на это,
например «ГДЕ НЕ СправочникНоменклатура.ЭтоГруппа» находится в произвольном запросе списка, то возможна ситуация, когда функция ПервыйЭлементСписка вернет ссылку на группу и позиционирования не произойдет.
Во вторых, в запросе функции ПервыйЭлементСписка не учитывается сортировка. В итоге позиционирование происходит не в начале блока, соответствующего введенной строке поиска, а где придется. Вообще имя критерия по дефолту лучше получать именно как первое поле, по которому отсортирован список на мой взгляд.
(3) Tsaregorodtsev,
спасибо за выявленный глюк. Занесено в багтрекер.
проблема решается путем добавления строчки непосредственно перед инициализацией поиска в списке
ИначеЕсли Событие = «ПРОВЕРИТЬ_ГРИД» Тогда
….
Если ТекущаяФорма.ТекущийЭлемент.Имя = «Список» Тогда
ТекущаяФорма.ТекущийЭлемент.ПоискПриВводе = ПоискВТаблицеПриВводе.НеИспользовать;
QuickSearch.initsearch();
(4) CaSH_2004,
Да, версия не триальная
(5) Tsaregorodtsev,
Спасибо большое, Сергей, за внедрение разработки. Приятно осознавать, что разработка не просто валяется на Инфостарт, но еще и используется в бою!
(6) Tsaregorodtsev,
и снова спасибо за недочет. Внесено в багтрекер.
обязательно посмотрю как можно исправить данную ошибку.
Со своей стороны хочу внести небольшое предложение:
Всем, кто заинтересовался внедрением этой обработки внести свой вклад в общее дело в виде усовершенствованной процедуры поиска.
Дело в том что я практически не разрабатывал эту функцию, полагая, что каждый программист может допилить ее под нужды компании, сделав ее менее универсальной, но при этом более быстрой.
А какие есть еще варианты применения этой разработки?
В УТ-11.1.2.6 кажется уже есть штатная возможность искать по первым символам…
(11) marmyshev,
Данная обработка может использоваться на типовых конфигурациях без их модификации. Т.е. это не только УТ11, но и все конфигурации на УФ. нужно будет только адаптировать сам поиск.
Вы можете сами менять алгоритм поиска под свои нужды, не задумываясь о поддержке типового механизма.
быстрый поиск может осуществляться не только по наименованию но так-же по артикулу и коду (и вообще по любому полю списка при правильном построении поискового запроса)
К сожалению я еще не видел типовой реализации подбора в УТ-11.1.2.6. поэтому не могу более детально описать преимущества текущего подхода над использованием типового
Дима, нет в 11.1.2.6 это не реализовано. Так же этой работы нет в списке планируемых.
И что вы увидите в настройках поиска номенклатуры? Там выбор между полнотекствым поиском и страндартным поиском УФ. Но никак не по первым символам.
Тоже была такая проблема при переходе с 77 на Ут 11. Как только не извращался с запросами чтобы сделать поиск по первым символам. Своего добился но производительность резко упала. Жалко не видел этой разработки тогда. Но есть и свои плюсы, менеджеры поплакали какое то время, но потом свыклись и даже говорят что стандартный поиск УФ лучше.
(16) Vo-Va,
Спасибо за разъяснения по поиску в стандартной конфигурации УТ11.
А с пользователями вам повезло. Потому что ворчать могут очень долго и вынести мозг так что не рад будешь сам новой конфе. Есть клиенты, которым «привычный» интерфейс дороже новых наворотов.
в управляемых формах это уже есть, событие называется «АвтоПодбор». Работает отлично.
(18) stanru1,
Расширение поля формы для поля ввода (Form field extension for a text box)
АвтоПодбор (AutoComplete)
А здесь идет речь идет о динамическом списке.
Или я что-то путаю?
(19) а что мешает под полем ввода разместить динамический список? 🙂
классная обработка, но чтото в ней нехватает!
(20) stanru1,
Либо вы не поняли что делает обработка, либо одно из двух )
Если есть желание дальше подискутировать на эту тему, опишите в 2х словах ваше решение задачи… и как сделать все то что вы предлогаете без изменения обработки подбора? )
(21) KillHunter,
Есть мысли как ее улучшить? Или вы вспомнили старую байку про часы? Класные часы но в них не хватает 2-х камней. На один положить, а другим прихлопнуть )
(22) да, прошу прощения. Невнимательно прочитал, что и как делает обработка.
(24) stanru1,
Уважаю людей, которые открыто могут признать свою ошибку. Спасибо!
Всем привет! Вопрос к автору: возможно ли использовать данную разработку без способа отображения форм в закладках. К примеру, если я все модули перенесу в форму списка справочника «Номенклатура». Конфигурация полностью самописная, и соответственно могу изменить модуль как вздумается.
(26) men260181,
Теоретически можно сделать и так, но для этого нужно будет переделать dll именно под Ваш подбор, так как Вам придется выкладывать элемент формы Поле ввода именно на подбор, искать его в предопределенной позиции на форме и тп…
Могу произвести необходимую работу за определенное вознаграждение. Если интересно, пишите в личку.
Цена вопроса?
(28) men260181,
Пишите на мыло, думаю договоримся
s.marchenko77[бульдог]mail.ru
Актуальная обработочка, автору спасибо.
Особенно может быть полезна пользователям баз с большими справочниками номенклатуры. Тестировать никому еще на давал. Сам вижу большое неудобство: после ввода символов поиска СтрокуПоиска можно убрать только щелкнув мышкой в динамический список и далее с помощью клавиатуры можно перемещаться вверх, вниз, PgUp, PgDn. Можно ли прятать окно поиска сразу же после нажатия вверх, вниз, PgUp, PgDn? Также многие пользователи (с маленькими экранами — ноутбуки) работают в режиме отдельных окон. Какие ограничения при использовании обработки в таком режиме? Если встроить обработку или форму со строкой поиска в конфигурацию позволит ли это использовать ее в режиме отдельных окон (есть ли вариант такого использования без изменения dll)?
(30) mimv,
технически возможно, но для этого требуется доработка dll
Контроль использования обработки в режиме закладок встроен в саму dll. Такой режим выбран потому, что для реализации потребовалось меньше времени, чем без режима закладок (экономия времени времени продиктована статусом FREE).
http://infostart.ru/public/182442/
Без изменения dll никаких вариантов вообще нет. Это облегченная версия разработки ExtEventsFrm: API для реализации быстрого (по первым символам) поиска в списках 1С 8.2 УФ и предоставления контроля над текущей формой (без модификации конфигурации) —
подозревал что для этого придется определять нажатие этих кнопок во внешней библиотеке и передавать соответствующее событие. Планируется ли такое добавление (если его еще нет)?
Планируется ли изменение dll для работы в оконном режиме? Сколько будет стоить?
(32) mimv,
Думаю, 3 тр. Если цена устроит, то могу доработать и выложить на инфостарт в виде платного решения.
(33)
Спасибо за оперативность 🙂
Покажу пользователям, если понравится — пусть покупают.
Думаю что выход из поиска по «вверх, вниз, PgUp, PgDn» более актуален, чем оконный режим (и наверное более прост в реализации)
(34) mimv,
Ок, я посмотрю что можно будет еще накидать до кучи… если получится.
Скорее всего будет реализована привязка (т.е. лицензия) скорее всего к железу (сервера), и будет храниться в доп. макете.
попробую добавить еще подвязку к нескольким окнам, а не к одному как сейчас
(34) mimv,
думаю сложнее )
(33)
http://infostart.ru/public/266022/
Посмотрите эту разработку…
поиск без ограничений, без кликания для его активации + еще кое-что интересное
За разработку платить не нужно.
Поле поиска выходит — набираю в нем слово, но позиционирования не происходит. Что делаю не так?
(38) смотрите в обработке.
http://infostart.ru/public/269875/
данный проект я уже не поддерживаю.
есть другая реализация, без багов. смотрите «UE: Copy/Paste через буфер обмена Windows справочников, документов и др. ссылочных объектов между идентичными конфигурациями»
там есть QuickSearch.
Будут вопросы — пишите в личку