Подобно в запросе 1С 8.3 на примерах
Оператор «ПОДОБНО», в языке запросов 1С 8.3, предназначен для сравнения строковых выражений с заданным шаблоном. Результатом такой проверки будет «Ложь» или «Истина». Отличие от оператора « = », заключается в возможности использования спецсимволов.
Синтаксис:
<Строковое выражение> ПОДОБНО <«Шаблон»>
Следует понимать, что спецсимволы оператора ПОДОБНО несут служебный характер и их смысл (назначение) отличается от обычных символов.
Пояснение спецсимволов:
- « % » — любое количество обычных произвольных символов;
- « _ » — один любой обычный символ;
- « […] » — в таких скобках, возможно, указать последовательность обычных символов или диапазон (а-д, 0-5 и подобные);
- « [^…] » — с помощью знака « ^ » в квадратных скобках, можно исключить последовательность обычных символов или диапазон (а-д, 0-5 и подобные).
Рассмотрим работу такого оператора на примерах.
Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С.
Связаться с нами можно по телефону +7 499 350 29 00.
Услуги и цены можно увидеть по ссылке.
Будем рады помочь Вам!
Содержание
Оператор «ПОДОБНО» в полях выборки запроса
ВЫБРАТЬ
Номенклатура.Наименование ПОДОБНО «Мол%» КАК Молоко,
Номенклатура.Наименование КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
Результат:
В данном примере проверяем каждую строку, начинается ли она на «Мол», для наглядности выводим такое же поле без применения оператора «ПОДОБНО».
Оператор «ПОДОБНО» в конструкции условного оператора «Где»
Получите понятные самоучители по 1С бесплатно:
ВЫБРАТЬ
Номенклатура.Наименование КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Наименование ПОДОБНО «_о%»
Результат:
Из результата запроса понятно, что были отобраны поля, у которых вторая буква « о », а после неё любые произвольные символы.
Оператор «ПОДОБНО» в конструкции условного оператора «ВЫБОР»
ВЫБРАТЬ
ВЫБОР
КОГДА Номенклатура.Наименование ПОДОБНО «%[л]%»
ТОГДА Номенклатура.Наименование
ИНАЧЕ «Не соответствует шаблону»
КОНЕЦ КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
Результат:
В таком примере помечаем поля, в которых не содержится буква « л ».
Как сравнивать текст по спецсимволу (%,..)
Для реализации таких задач требуется пользоваться ключевым словом СПЕЦСИМВОЛ. Указав любой символ после такого ключевого слова, система, в шаблоне конструкции ПОДОБНО, будет воспринимать следующий символ за ним как обычный.
ВЫБРАТЬ
Номенклатура.Наименование КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Наименование ПОДОБНО «%/%» СПЕЦСИМВОЛ «/»
В таком примере были выбраны все поля содержащие знак « % » в конце.
Использование параметров в конструкции «ПОДОБНО»
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Наименование КАК Наименование |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Наименование ПОДОБНО &Шаблон"; Запрос.УстановитьПараметр("Шаблон", "М%");
Результат:
Установив параметр запроса в значение «М%», отбираем все поля, которые начинаются на символ « М ».
Возможные ошибки
Следует учитывать, что шаблон из конструкции оператора «ПОДОБНО» должен иметь исключительно строковый тип данных так же недопустимо формировать шаблон путём сложений строк.
Примеры неправильного формирования шаблона:
- Номенклатура.Наименование ПОДОБНО Таблица.Шаблон
- Номенклатура.Наименование ПОДОБНО «Мол» + «%»