Описание (что получите после скачивания)
После установки расширения во всех динамических списках появятся три команды:
- «Фильтр» - Показывает окно для выбора элементов, по которым планируется установить отбор в динамическом списке
- «Отменить фильтр для колонки» - Удаляет ранее установленный отбор в текущей колонке.
- «Отменить всю фильтрацию» - Удаляет все ранее установленные отбор в динамическом списке.
Узнайте о возможностях расширения за 8 минут:
Порядок работы
После выбора команды «Фильтр» появится такое окно:
Изначально список заполнен всеми уникальными значениями текущей колонки динамического списка.
Пользователь может выбрать одно или несколько значений и нажать «ОК». При этом окно исчезнет и произойдёт отбор динамического списка. За кадром программа сходит в настройки списка и добавит туда дополнительный отбор с видом сравнения «В списке» указанных значений:
Если на другой колонке нажать правую клавишу мыши и выбрать команду «Фильтр», то в списке отразятся только те уникальные значения, которые находятся в строках динамического списка, получившиеся в результате предыдущего отбора:
Кнопки «Установить флажки» и «Снять флажки» работают только для строк, которые в данный момент удовлетворяют поиску в поле ввода «Поиск», аналогично команде «(Выделить все результаты поиска)» в фильтре Excel.
Кнопка «Вставить из буфера» расставляет флажки у элементов, скопированных в буфер обмена:
Особенности
Так как вставка из буфера реализована через COM-объект, то на клиентах не Windows и на Веб-клиенте откроется окно с текстовым полем, куда пользователь вставит содержимое буфера сочетанием Ctrl+V и после нажатия кнопки «Вставить» выполнится алгоритм установки флажков.
Кнопки «Подбор» и «Добавить» здесь отсутствуют так как список уже предварительно заполнен всеми возможными значениями.
Учтены включенные разработчиком ограничения на отборы в некоторых колонках (см. метод реквизита формы типа ДинамическийСписок - ПолучитьОграниченияИспользованияВОтборе())
Если на колонке имеется другая картинка, то при включённой фильтрации она не заменяется.
Учет большого количества данных
Список фильтрации реализован аналогично динамическому списку: пользователю на форму выводится только первые 1000 значений.
Если пользователь активирует одну из последних 50 строк, то в список добавятся ещё 1000 строк и так далее...
При использовании кнопок «Установить флажки» и «Снять флажки» отметки расставятся даже на те строки, которые не выведены на форму, но с учётом совпадения с текстовым полем «Поиск»
О поиске
Поиск введённого фрагмента текста в поле «Поиск», как и при вставке искомых строк из буфера обмена, происходит по совпадению подряд идущих символов в представлении значения.
В запросе прописано условие:
ТаблицаЭлементов.Представление ПОДОБНО "%" + &ТекстПоиска + "%"
Если в датах нет времени, то представление без времени: Формат(Стр.Значение, "ДФ=dd.MM.yyyy");
В числах убираются символы разделителя групп: Формат(Стр.Значение, "ЧГ=0");
В строках отсекаются крайние незначительные символы: СокрЛП(Стр.Значение)
Требования и рекомендации
Расширение будет работать в любой конфигурации с БСП не ниже 3.1.
Разработка тестировалась на платформе 1С:Предприятие 8.3 (8.3.23.1865) и конфигурации 1С:ERP Управление предприятием 2 (2.5.11.96).
Если колонка динамического списка имеет слишком большое количество уникальных записей (более миллиона), то возможны зависания при открытии формы чек-листа. В таком случае рекомендуется сначала установить отборы штатными способами или ограничить период выборки.