1С сложить строки в запросе

1С сложить строки в запросе

Функции работы со строками

Механизмов для работы со строками в запросах 1С мало. Во-первых, строки можно складывать. Во-вторых, от строки можно взять подстроку. В-третьих, строки можно сравнивать, в том числе по шаблону. Вот пожалуй и всё, что можно делать со строками.

Сложение строк

Для сложения строк в запросе используется операция «+». Складывать можно только строки ограниченной длины.

Функция Подстрока

Аналог функции Сред() из объектной модели. Функция Подстрока() может применяться к данным строкового типа и позволяет выделить фрагмент , начинающийся с символа номер (символы в строке нумеруются с 1) и длиной символов. Результат вычисления функции имеет строковый тип переменной длины, причем длина будет считаться неограниченной, если имеет неограниченную длину и параметр не является константой или превышает 1024.

Если длина строки меньше, чем указана во втором параметре, то функция вернет пустую строку.

Внимание! Использование функции ПОДСТРОКА() с целью приведения строк неограниченной длины к строкам ограниченной длины не рекомендуется. Вместо нее лучше использовать операцию приведения типа ВЫРАЗИТЬ().

Функция Подобно

Если нужно убедиться, что строковый реквизит соответствует определённым критериям мы его сравниваем:

А что, если нужно более хитрое сравнение? Не просто на равенство или неравенство, а на подобие определенному шаблону? Вот как раз для этого и создана функция ПОДОБНО.

ПОДОБНО — Оператор проверки строки на подобие шаблону. Аналог LIKE в SQL.

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

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

  • % (процент): последовательность, содержащая любое количество произвольных символов;
  • _ (подчеркивание): один произвольный символ;
  • […] (в квадратных скобках один или несколько символов): любой одиночный символ из перечисленных внутри квадратных скобок. В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона;
  • [^…] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания.
Читайте также:  Assassin s creed odyssey девушки

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

Войдите как ученик, чтобы получить доступ к материалам школы

Язык запросов 1С 8.3 для начинающих программистов: функции для работы со строками

Автор уроков и преподаватель школы: Владимир Милькин

Функции для работы со строками в запросе

Прямо скажем механизмов для работы со строками в запросах 1С мало. Во-первых, строки можно складывать . Во-вторых, от строки можно взять подстроку . Во-третьих, строки можно сравнивать , в том числе по шаблону . Вот пожалуй и всё, что можно делать со строками. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.

Когда мы говорим строка в запросе, то имеется в виду либо строковая константа:

либо реквизит таблицы, у которого тип СТРОКА:

Сложение строк

Для сложения используется операция +

Функция ПОДСТРОКА

Данная функция предназначена для выделения подстроки из строки.

В качестве параметров принимает:

  • строку , из которой необходимо выделить подстроку;
  • позицию символа, с которого начинается выделяемая из строки подстрока;
  • длину выделяемой подстроки.

Функция ПОДОБНО

Если нужно убедиться, что строковый реквизит соответствует определённым критериям мы его сравниваем. Например, так:

А что, если нужно более хитрое сравнение? Не просто на равенство или неравенство, а на подобие определенному шаблону? Вот как раз для этого и создана функция ПОДОБНО.

Если быть совсем точным, то это даже не функция, а оператор, который позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа.

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

Давайте уже рассмотрим пример, чтобы ситуация прояснилась:

Читайте также:  Http gmaegames pro что это

Результатом выполнения данного запроса будет вся еда, наименование которой начинается на букву "К":

Думаю вы догадались, что здесь вся "хитрость" сосредоточена в строке шаблона "[К]%". Буква "К" в квадратных скобках в данном случае означает, что первым символом наименования должна быть буква "К". Знак "%", идущий следом означает, что после буквы "К" могут идти (или не идти) любые символы в любом количестве. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.

Конечно, я всё это не из головы придумал. При формировании строки шаблона есть определенные правила, которые нужно соблюдать:

  • % означает любое количество произвольных символов
  • _ означает один произвольный символ
  • [] означает любой одиночный символ, перечисленный внутри скобок
  • [^] означает любой одиночный символ, кроме тех, что перечислены внутри скобок после ^

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

"%" абсолютно любая строка (в том числе пустая):

"___" строка из трёх символов (любых):

"[ЧЛ]%[ЫН]" строка, начинающаяся с буквы Ч или Л и оканчивающаяся на Ы или Н:

"[^К]%" строка, не содержащая в начале букву К:

"[А-К]%" строка, начинающаяся с буквы из диапазона с А по К:

Обратите внимание на приём, использованный в шаблоне "[А-К]%". Вместо того, чтобы перечислять все буквы от А до К, например так "[АБВГДЕЁЖЗИЙК]%" мы указали диапазон значений через дефис. Квадратные скобки это позволяют делать.

Рецепты решения проблем с компьютерами и программами

это нужно, например, чтобы в условии запроса сначала сложить строки, а потом сделать их результат проверяемым параметром. Или просто с помощью этого можно получить строку образованную сложением и преобразованием в строку различных значений, например, строк.

Ссылка на основную публикацию
Adblock detector