Оператор ПОДОБНО в запросе 1С 8.5

Оператор ПОДОБНО используется в языке запросов 1С для проверки соответствия строки заданному шаблону. Возвращает логическое значение: Истина — строка подходит под шаблон, Ложь — не подходит. Это удобный способ делать «мягкие» фильтры по строковым полям, особенно когда нужен поиск по маске или частичному совпадению. Является аналогом оператора LIKE в языке запросов SQL.

<строковое выражение> ПОДОБНО <шаблон строки>
  • Левый операнд — любое строковое выражение (реквизит объекта, строковая константа и т.п.).
  • Правый операнд — строка‑шаблон, которая может содержать спецсимволы.
  • Результат — значение типа «Булево».

Оператор применяется внутри конструкции запроса там, где допускаются логические выражения, например:

  • в блоке условий ГДЕ (например, для фильтрации справочников);
  • в конструкции Выбор Когда Тогда Иначе (для классификации записей по шаблону);
  • в выражениях полей выборки, если нужно вернуть признак совпадения строки с маской.

Пример запроса, с помощью которого будут отобраны контрагенты, в названии которых где‑то есть «ООО»:

ВЫБРАТЬ
   Контрагенты.Наименование КАК Наименование
ИЗ
   Справочник.Контрагенты КАК Контрагенты
ГДЕ
   Контрагенты.Наименование ПОДОБНО "%ООО%"

В шаблоне можно использовать следующие символы‑маски:

  • % — любая последовательность символов (включая пустую);
    пример'А%В' подходит к строкам «АБВ», «А123В», «АВ».
  • _ — один любой символ;
    пример'A_B' подходит к «AxB», «A0B», но не к «AB» или «A12B».
  • [ ] — один символ из указанных в скобках или из диапазона;
    примеры:
    • '[А‑Г]' — любая одна буква от «А» до «Г»;
    • '[123]' — цифра 1, 2 или 3;
    • '[А‑Г0‑9]' — буква от «А» до «Г» или цифра;
    • '[А‑Г^]' — буква от «А» до «Г» или символ ^.

Символ % внутри квадратных скобок не является спецсимволом, а воспринимается как обычный символ.


Практические примеры

Поиск по началу названия:

ГДЕ Контрагенты.Наименование ПОДОБНО "ИП %"

Отбирает всех контрагентов, у которых в начале названия стоит «ИП ».

Поиск по шаблону с пропуском одного символа:

ГДЕ Номенклатура.Код ПОДОБНО "TP_001"

Подходит, например, к кодам «TPA001», «TP0001», но не к «TP00001».

Фильтр по списку допустимых символов:

ГДЕ Телефон ПОДОБНО "+7[1-9][0-9][0-9]%"

Здесь мы требуем, чтобы номер начинался с +7, затем идут три цифры, где первая от 1 до 9, следующие две любые, а дальше — любая последовательность символов.

Классификация по маске в поле выборки:

ВЫБРАТЬ
    Контрагенты.Наименование КАК Наименование,
    ВЫБОР
        КОГДА Контрагенты.Наименование ПОДОБНО "ООО%" ТОГДА 1
    ИНАЧЕ 0
    КОНЕЦ КАК ЯвляетсяООО
ИЗ
    Справочник.Контрагенты КАК Контрагенты

В поле «ЯвляетсяООО» будет «1» для контрагентов ООО (наименование начинается с «ООО») и «0» для остальных.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Отправьте форму и мы вам перезвоним

Отправляя форму вы соглашаетесь с политикой конфиденциальности и даете согласие на обработку персональных данных компании ИП Рыжиченко Антону Ивановичу
Сайт itviar.ru использует cookie для персонализации и хранения настроек.
Отправляя форму вы соглашаетесь с политикой конфиденциальности и даете согласие на обработку персональных данных компании ИП Рыжиченко Антону Ивановичу