Фильтр в справочниках 1С 7.7

Обработка позволяет отобрать в форме списка любого справочника элементы справочника с заданными параметрами. Данная обработка является аналогом «Автофильтра» в MS Excel. Эта обработка написана для платформы «1С:Предприятие 7.7» и является универсальной (т.е не зависит от особенностей вашей конфигурации).

Фильтр справочников 1С 7.7.zip

ВОЗМОЖНОСТИ «АВТОФИЛЬТРА»:

  • Отбор по значениям любых полей справочника (включая «код», «наименование» и «родительской группы»).
    ***Пример. Отобрать все значения из справочника «Товары» с валютой учета «рубль».
  • Отбор с необходимым совпадением значений нескольких полей.
    ***Пример. Отобрать все значения из справочника «Товары» с валютой учета «РУБЛЬ» и являющиеся одновременно товарами вида «УСЛУГА».
  • Ограничение отбора группой справочника.
    ***Пример. Отобрать все значения из справочника «Товары» с валютой учета «РУБЛЬ» и являющиеся одновременно товарами вида «Товар» внутри группы «ГВОЗДИ».
  • Отбор по условию пользователя (см. ниже «ПОЛЬЗОВАТЕЛЬСКИЙ АВТОФИЛЬТР»)
    ***Пример. Отобрать все значения из справочника «Товары» в названии которого содержится строка «ручка»
    ***Пример. Отобрать все значения из справочника «Клиенты» с глубиной кредита большей 5 (дней).
  • Сохранять значения настроек отбора и вводить новые условия (или отменять) в старые условия отбора.

УСТАНОВКА И ЗАПУСК «АВТОФИЛЬТРА».

Для использования «АВТОФИЛЬТРА»

1) Необходимо скопировать файлы Автофильтр.ert и ПользовательскийАвтофильтр.ert в каталог базы данных
2) Находясь в программе «1С:Предприятие 7.7» запустить файл АвтоФильтрДемо.ert (через меню => Файл => Открыть => АвтоФильтрДемо.ert (выбрать этот файл — он может находиться где угодно)).
2б) Только для продвинутых пользователей и программистов- см P.S.

КАК ПОЛЬЗОВАТЬСЯ «АВТОФИЛЬТРОМ».

Если вы запустили файл АвтоФильтрДемо.ert (см. Установка и запуск обработки) выберите справочник, в котором будете проводить отбор и нажмите кнопку «Далее». Откроется список всех элементов справочника и окно отбора.

Далее необходимо создать настройки отбора, нажав на соответствующую пиктограмму (с подсказкой «Новая настройка»). При этом выскочит окно со всеми доступными для отбора полями. Установите флажки на те поля по которым вы будете проводить отбор (по умолчанию по всем). Здесь можно поменять название настройки (оно уникально для каждого вида справочника). Далее жмите «ОК». В верхней таблице находятся имена настроек, в нижних имена и значения полей отбора. Для выбора значения отбора дважды щелкните на необходимом поле.

Если отбор в данном справочнике проводится впервые необходимо провести так называемую «инициализацию» (для создания таблиц всех возможных значений реквизитов справочника). «Инициализацию» желательно проводить также в случае «устаревания» хранимых значений реквизитов (обработка сама предложит ее провести при необходимости).
Инициализация может занять несколько минут в зависимости от объема хранимой информации, характеристик сети и компьютера.

После этого выскочит список с возможными значениями отбора. Выберите нужный. Если это не значение присутствующее в базе, а некоторое условие (см. «Возможности обработки»), то необходимо выбрать в списке «(Условие…)» (см. ниже «ПОЛЬЗОВАТЕЛЬСКИЙ АВТОФИЛЬТР»).

Сформировав таким образом все условия отбора жмите кнопку «В отбор!». При этом с списке останутся элементы справочника, соответствующие заданным условиям.

Образовавшийся список будет с отключенным флагом «вывода списка по группам» (не иерархический список). Для возврата к исходному виду списка справочника просто закройте его и откройте заново обычным способом (если необходимо снова нажмите кнопку «вывода списка по группам» ).

ПОЛЬЗОВАТЕЛЬСКИЙ АВТОФИЛЬТР

Используя данный механизм вы сможете создать более сложные условия отбора.

При открытии формы «Пользовательского автофильтра» появляются два списка. Первый список содержит набор операторов (действий) отбора, а второй — список возможных значений и значение «(другое…)» при выборе которого вы можете ввести некоторое значение для отбора.

Предусмотрены следующие операторы:

«равно» — точное соответствие значению (тот же результат получиться при выборе из списка возможных значений);
«не равно» — отсутствие данного значения в результате отбора;.
«больше» — для чисел думаю, понятно, а в строках сравнение происходит посимвольно, по порядку. Например строка «23» больше «123».;
«больше или равно», «меньше», «меньше или равно» — аналогично «больше»;
«начинается с» — в отборе начальные символы будут совпадать с выбранным значением;
«не начинается с» — в отборе начальные символы не будут совпадать с выбранным значением;
«заканчивается на» — в отборе последние символы будут совпадать с выбранным значением;
«не заканчивается на» — в отборе последние символы будут совпадать с выбранным значением;
«содержит» — в отборе будет присутствовать комбинация указанных символов;
«не содержит»— в отборе не будет присутствовать комбинация указанных символов.
Далее жмите «ОК» и «В отбор!»

P.S. реально работает два файла Автофильтр.ert и ПользовательскийАвтофильтр.ert. Необходимо запустить из открытой формы списка какого-либо справочника Автофильтр.ert (ему нужен контекст открытой формы).

Например можно к форме списка справочника «Клиенты» сделать кнопку и в закладке «Дополнительно» написать имя процедуры (напр. Автофильтр()), а в модуле создать две процедуры: