1С8 пример запроса. Функция ПОДСТРОКА() в запросе.

Пример использования функции ПОДСТРОКА(<Строка>, <НачальнаяПозиция>, <Длина>) в запросе 1с.

Функция ПОДСТРОКА() работает со строковыми полями. Она вычисляет подстроку из аргумента <Строка>, начиная с позиции <НачальнаяПозиция>, длиной <Длина> символов.
Ее можно использовать в перечне полей после ключевого слова ВЫБРАТЬ или в условии отбора после ключевого слова ГДЕ.
Функция возвращает строку.

//  ПОДСТРОКА(<Строка>, <НачальнаяПозиция>, <Длина>)
ВЫБРАТЬ
	КонтактныеЛица.Описание,
	ПОДСТРОКА(КонтактныеЛица.Описание, 14, 19) КАК ПолеПодстрока
ИЗ
	Справочник.КонтактныеЛица КАК КонтактныеЛица
ГДЕ 
	ПОДСТРОКА(КонтактныеЛица.Описание, 1, 1) <> ""
	//КонтактныеЛица.Описание <>  ""
	

Так выглядит сам запрос и результат запроса:

00 Пример 1с запроса: функция ПОДСТРОКА()

Если в условии выполнить простое сравнение "КонтактныеЛица.Описание <> "" " получим сообщение об ошибке:

01 Пример 1с запроса: функция ПОДСТРОКА()

Ошибка в запросе: {(9, 26)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
КонтактныеЛица.Описание <><> ""

Необходимо отменить, что использование функций в условии запроса (после ключевого слово ГДЕ ), - крайне неэффективная практика. Причина - невозможность задействовать индексы таблиц. Для вычисления отбора, построителю запроса приходится выполнять обход всей таблицы и вычислять значения функции для каждой записи.




Рекламный блок:

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

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

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

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

Пишите: j008@j008.ru

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