Подобно в запросе 1С 8.3 на примерах

Оператор «ПОДОБНО», в языке запросов 1С 8.3, предназначен для сравнения строковых выражений с заданным шаблоном. Результатом такой проверки будет «Ложь» или «Истина». Отличие от оператора « = », заключается в возможности использования спецсимволов.

Синтаксис:

<Строковое выражение> ПОДОБНО   <«Шаблон»>

Следует понимать, что спецсимволы оператора ПОДОБНО несут служебный характер и их смысл (назначение) отличается от обычных символов.

Пояснение спецсимволов:

  • « % » — любое количество обычных  произвольных символов;
  • « _ » — один любой обычный символ;
  • « [] » — в таких скобках, возможно, указать последовательность обычных символов или диапазон (а-д, 0-5 и подобные);
  • « [^] » — с помощью знака « ^ » в квадратных скобках, можно исключить последовательность обычных символов или диапазон (а-д, 0-5 и подобные).

Рассмотрим работу такого оператора на примерах.

Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С.
Связаться с нами можно по телефону +7 499 350 29 00.
Услуги и цены можно увидеть по ссылке.
Будем рады помочь Вам!

Содержание

Оператор «ПОДОБНО» в полях выборки запроса

ВЫБРАТЬ
Номенклатура.Наименование ПОДОБНО «Мол%» КАК Молоко,
Номенклатура.Наименование КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура

Результат:

В данном примере проверяем каждую строку, начинается ли она на «Мол», для наглядности выводим такое же поле без применения оператора «ПОДОБНО».

Оператор «ПОДОБНО» в конструкции условного оператора «Где»

ВЫБРАТЬ
Номенклатура.Наименование КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Наименование ПОДОБНО «_о%»

Результат:

Из результата запроса понятно, что были отобраны поля, у которых вторая буква « о », а после неё любые произвольные символы.

Оператор «ПОДОБНО» в конструкции условного оператора «ВЫБОР»

ВЫБРАТЬ
ВЫБОР
КОГДА Номенклатура.Наименование ПОДОБНО «%[л]%»
ТОГДА Номенклатура.Наименование
ИНАЧЕ «Не соответствует шаблону»
КОНЕЦ КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура

Результат:

В таком примере помечаем поля, в которых не содержится буква « л ».

Как сравнивать текст по спецсимволу (%,..)

Для реализации таких задач требуется пользоваться ключевым словом СПЕЦСИМВОЛ. Указав любой символ после такого ключевого слова, система, в шаблоне конструкции ПОДОБНО, будет воспринимать следующий символ за ним как обычный.

ВЫБРАТЬ
Номенклатура.Наименование КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Наименование ПОДОБНО «%/%» СПЕЦСИМВОЛ «/»

В таком примере были выбраны все поля содержащие знак « % » в конце.

Использование параметров в конструкции «ПОДОБНО»

Запрос = Новый Запрос;
Запрос.Текст =
            "ВЫБРАТЬ
            |          Номенклатура.Наименование КАК Наименование
            |ИЗ
            |          Справочник.Номенклатура КАК Номенклатура
            |ГДЕ
            |          Номенклатура.Наименование ПОДОБНО &Шаблон";
Запрос.УстановитьПараметр("Шаблон", "М%");

Результат:

Установив параметр запроса в значение «М%», отбираем все поля, которые начинаются на символ « М ».

Возможные ошибки

Следует учитывать, что шаблон из конструкции оператора «ПОДОБНО» должен иметь исключительно строковый тип данных так же недопустимо формировать шаблон путём сложений строк.

Примеры неправильного формирования шаблона:

  • Номенклатура.Наименование ПОДОБНО Таблица.Шаблон
  • Номенклатура.Наименование ПОДОБНО  «Мол» + «%»

Наш канал на Youtube

Поделиться

Оцените статью

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Загрузка...

Подпишитесь на наш YouTube канал

YouTube

Подписаться

Комментировать