Отборы в 1С - основной механизм поиска и фильтрации данных по системе, который богат различными видами сравнения. Одними из таких являются виды "В списке" и "Соответствует шаблону". "В списке" позволяет отбирать сразу несколько значений по одному реквизиту, не дублируя один и тот же отбор несколько раз подряд и не требуя лишних операций со стороны пользователя. В свою очередь, "Соответствует шаблону" (он же "Подобно") - вид сравнения, который позволяет использовать в отборах доступные в 1С регулярные выражения (они же шаблоны (как следует из названия) или же маски (как их иногда называют, но только не путайте их с масками, которые устанавливают формат отображения данных)). Но по умолчанию одновременное использование этих 2 видов сравнений, как это реализовано с видом "В группе из списка", увы невозможно. Именно этот пробел призвано восполнить расширение "Подобно в списке" в отчётах, которые построены на общей форме отчётов БСП. Программисты также могут масштабировать это решение и на другие СКД-отчёты и формы списка в своих конфигурациях.
Преимущества:
- Простой и минималистичный интерфейс.
- Использование типового механизма настроек отчётов на СКД для создания отборов.
- Наличие режима текстового документа, что облегчает работу с буфером обмена.
- Все отборы сразу выводятся на панель быстрого доступа, что облегчает работу с ними рядовым пользователям.
Особенности работы:
- Поддерживаются реквизиты только с типом Строка.
- Отбор формируется используя типовые механизмы Платформы: создаётся группа Или, в которую помещаются несколько отборов к одному и тому же реквизиту с видом сравнения Соответствует шаблону.
- В режиме текстового документа значения берутся построчно.
Пример использования:
- Открываем отчёт, который построен с использованием общей формы отчётов конфигурации. Например, Универсальный отчёт и рассмотрим там справочник Банковские счета (данные взяты из демонстрационной конфигурации).
- Переходим в подменю Ещё на командной панели и нажимаем кнопку "Отбор по списку масок":
-
Открылось основное окно формы для ввода списка шаблонов (масок):
- Введём поле, по которому будем совершать отбор. В нашем примере попытаемся выбрать Банковский счет.Номер счета. Вводим "Банковский счет" и видим, что больше вариантов нет, а само поле не позволяет по себе фильтровать, т.к. это ссылка:
- Воспользуемся кнопкой получения вложенных полей
и продолжим ввод. Как видим, недостающее поле появилось, а область списка значений стала доступна для ввода:
- Введём несколько примеров в Список значений:
- 123% - начинаются на "123";
- %4444% - содержат "4444" (четыре четвёрки) в любой части текста;
- %999999999 - заканчиваются на "999999999" (девять девяток).
- Теперь допустим нам нужно добавить ещё несколько значений из буфера обмена. Для этого воспользуемся режимом текстового документа, перейдя по кнопке
. Здесь мы уже видим значения, которые ввели ранее и теперь добавим ещё несколько:
- ____ - состоит из любых 4 символов, т.е. любое значение с длиной строки равной 4;
- ___ - состоит из любых 3 символов, т.е. любое значение с длиной строки равной 3;
- __ - состоит из любых 2 символов, т.е. любое значение с длиной строки равной 2.
- Нажмём кнопку "Применить" и посмотрим, что вышло. Как видим, на панели быстрого доступа отчёта появился переключатель с описанием нашего отбора и мы можем в любой момент этот отбор отключить:
- Сформируем отчёт и посмотрим на результат. В получившемся отчёте мы можем увидеть счета соответствующие каждой из нашей масок (шаблонов):
- Готово. Что-то имеет длину от 2 до 4 символов, что-то начинается на 123, что-то содержит четыре четвёрки, а что-то заканчивается на девять девяток.
- Теперь можем обратиться к настройкам отчёта и посмотреть каким образом всё это было реализовано. Внутри в настройках отборов нас ждёт вполне обычная группа Или с несколькими отборами к одному и тому же полю Банковский счет.Номер счета и видом сравнения Соответствует шаблону в каждом из них:
Спасибо за внимание! Надеюсь этот инструмент будет Вам полезен😊.
Проверено на следующих конфигурациях и релизах:
- 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.3.276
Вступайте в нашу телеграмм-группу Инфостарт