1С спецсимвол в запросе

Оператор ПОДОБНО в запросах на 1С8 — мощный инструмент обработки строковых данных.

Оператор ПОДОБНО вычисляет соответствует ли строка шаблону или нет. Шаблон — строковое выражение использующее набор специальных сочетаний символов. Каждый из них обозначает некий подкласс сочетаний символов, которые могут встречаться в строковых данных Он аналогичен LIKE в SQL.

Как пользоваться Оператором ПОДОБНО:

Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа.

Значение выражения должно иметь тип строка. Если значение выражения удовлетворяет шаблону – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ.

Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки:

    % (процент): последовательность, содержащая любое количество произвольных символов

% (процент) — аналог (.*) в регулярных выражениях — любой символ повторенный ноль или больше раз.

  • _ (подчеркивание): один произвольный символ
  • […] (в квадратных скобках один или несколько символов): любой одиночный символ из перечисленных внутри квадратных скобок В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона.
  • [^…] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки.
  • Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать . Сам (любой подходящий символ) определяется в этом же операторе после ключевого слова СПЕЦСИМВОЛ.

    Читайте также:  Встроенный код активации операционной системы в bios

    Например, шаблон “%АБВ[0-9][абвг]\_абв%” СПЕЦСИМВОЛ “” означает подстроку, состоящую из последовательности символов:

    буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в. Причем перед этой последовательностью может располагаться произвольный набор символов.

    В приведенном ниже примере — Вывести все наименования содержащие символ "_", СПЕЦСИМВОЛ "" является экранирующим для символа "_", который означает "один произвольный символ".

    Предлагаем решение Ваших задач 1С.

    Внедрение 1С:

    • Организуем вам индивидуальное экспресс обучение программам 1С.
    • Мы поможем Вам начать работать с программами 1С.
    • Мы поможем Вам настроить ваши отчеты в 1С.
    • Установим и настроим 1С под ваши задачи.
    • Поможем сделать ввод начальных остатков по складам и контрагентам
    • Перенесем данные из старых систем.
    • Подскажем как избежать ошибок.

    Доработка и сопровождение 1С:

    • Доработаем существующие или создадим новые печатных формы и документы.
    • Разработаем внешние отчеты по Вашим требованиям.
    • Напишем внешние обработоки по загрузке документов из учетных (торговых) систем в бухгалтерию.
    • Разработаем приложения для выгрузки данных на сайты.

    Ориентировочная стоимость работ программиста 1С : 500 р. за 1 час работы.

    Звоните: 8 916 710 83 51 Ольга

    © j008.ru 2014 Обратная связь: j008@j008.ru

    Рассмотрим назначение и использование условного оператора ПОДОБНО(eng. LIKE) в языке запроса 1С в примерах.

    Предназначение

    Проверить на соответствие строкового значения в запросе указанному шаблону — возвращает значение Булево-типа (ИСТИНА или ЛОЖЬ).

    • Проверка регистро — независима.
    • При запросе используются индексы таблиц — не связано с индексами полнотекстового поиска.
    • Может долго выполнятся при больших таблицах.
    • Строки неограниченной длины следует привести функцией ПОДСТРОКА

    Места использования

    • В условиях оператора ГДЕ
    • В условиях конструкции ВЫБОР КОГДА <> ТОГДА «» ИНАЧЕ «» КОНЕЦ
    • В полях выборки (например: Наименование ПОДОБНО &ПараметрПодобно как СтрокаПодходит)
    Читайте также:  Tes 6 новости 2018

    Описание синтаксиса оператора ПОДОБНО

    Параметр оператора должен быть строкой: может задаться константой, либо передан как параметр запроса.

    Литералы(маски), указанные ниже, допускается использовать совместно и по отдельности.

    Точное указание строки

    ВЫБРАТЬ первые 10
    Ключи.Наименование
    ИЗ
    Справочник.Ключи КАК Ключи
    ГДЕ
    Ключи.Наименование ПОДОБНО "1"//Равносильно Ключи.Наименование ="1"

    Результат:

    % — литерал, означающий произвольное количество любых символов

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

    Результат: любые 10 наименований

    _ (подчеркивание): литерал, соответствующий одному любому символу

    Пример №1:

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

    Пример №2: начинающиеся на любой символ, затем следует «1», а дальше любые символы

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

    Результат:

    [] (в квадратных скобках один или несколько символов)

    • Каждый литерал, соответствующий одному любому символу — используется как ИЛИ.
      Допустимо указание диапазона, например a-z,0-5, означающее произвольный символ из заданного диапазона

    Пример

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

    Результат: 10 начинающихся на «л» или «з»

    Пример: начинающиеся на 5,6,7

    ВЫБРАТЬ первые 10
    Ключи.Наименование
    ИЗ
    Справочник.Ключи КАК Ключи
    ГДЕ
    Ключи.Наименование ПОДОБНО "[5-7]%"

    Результат:

    [^] (в квадратных скобках значок исключения ^, за которым следует один или несколько символов)

    Равносильно любому символу (_) кроме указанных ([])

    Пример

    ВЫБРАТЬ первые 10
    Ключи.Наименование
    ИЗ
    Справочник.Ключи КАК Ключи
    ГДЕ
    Ключи.Наименование ПОДОБНО "8.[^012]%"//не включаем 8.0,8.1,8.2

    Результат: все начинающиеся на «8.» исключая указанные

    СПЕЦСИМВОЛ — команда для указания в запросе зарегистрированных выше символов

    В качестве служебного символа допустимо использовать как минимум: #,

    Пример:

    ВЫБРАТЬ первые 10
    Ключи.Наименование
    ИЗ
    Справочник.Ключи КАК Ключи
    ГДЕ
    Ключи.Наименование ПОДОБНО "#_" СПЕЦСИМВОЛ "#"

    Результат:

    Применимость в платформах

    • 8.0
    • 8.1
    • 8.2
    • 8.3
    • 8.4

    Неверные параметры ПОДОБНО >

    • Передается параметр не строкового типа: например число 1 вместо строки «1»
    • Сравнивается поле не строкового типа с верной маской (например ссылка) или при соединении значение не проверяется на ЕстьNUL
    Читайте также:  Infrared port что это

    Обратите внимание на текст ошибки, где выводится вопрос:

    >Ключи.Ссылка ПОДОБНО "1"

    Ключи.Наименование ПОДОБНО >&L

    Реклама – самая интересная и самая трудная форма литературы.

    Проконсультироваться
    со специалистом 1С

    ПОДОБНО — Оператор проверки строки на подобие шаблону. Аналог LIKE в SQL.
    Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь тип строка. Если значение выражения удовлетворяет шаблону – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ.
    Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки:
    • % (процент): последовательность, содержащая любое количество произвольных символов
    • _ (подчеркивание): один произвольный символ
    • […] (в квадратных скобках один или несколько символов): любой одиночный символ из перечисленных внутри квадратных скобок
    В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона.
    • [^…] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания
    Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки.
    Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать . Сам (любой подходящий символ) определяется в этом же операторе после ключевого слова СПЕЦСИМВОЛ.
    Например, шаблон “%АБВ[0-9][абвг]\_абв%” СПЕЦСИМВОЛ “” означает подстроку, состоящую из последовательности символов:
    буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в.
    Причем перед этой последовательностью может располагаться произвольный набор символов.

    Примеры использования:
    Код 1C v 8.х

    Нужно, что бы в "Договора по умолчанию" попадали только Наименования Основной договор и т.д:
    Код 1C v 8.х