Как выполнить запросы и вычисления в 1С при работе со строками и числами
Чтобы понять, как выполнить запросы и вычисления в 1С, нужно освоить три механизма: глобальные строковые функции, арифметические операции и синтаксис языка запросов.
Работа со строками
Платформа 1С:Предприятие предоставляет обширный набор глобальных функций для работы с текстовыми данными:
- Определение длины —
СтрДлина - Извлечение подстрок —
Лев,Прав,Сред - Удаление пробелов —
СокрЛ(слева),СокрП(справа),СокрЛП(с обеих сторон) - Поиск и подсчёт —
СтрНайти(позиция подстроки),СтрЧислоВхождений(количество совпадений без учёта регистра)
Для работы с многострочным текстом применяется функция СтрПолучитьСтроку, которая возвращает нужную строку по её номеру.
В современных версиях платформы значения типа «Строка» имеют собственные методы, которые дополняют глобальные функции.
Вычисления с числами
Арифметика в 1С поддерживается стандартным набором операторов и математических функций, применимых к значениям типа «Число».
Арифметические операции
Поддерживаются базовые операторы: сложение (+), вычитание (-), умножение (*) и деление (/).
Математические функции
Доступны операции округления, возведения в степень, извлечения квадратного корня и вычисления остатка от деления. Модуль числа можно вычислить с помощью встроенной функции Abs.
Парсинг чисел из строк
Для получения числового значения из строки часто используются циклы с проверкой кодов символов или алгоритмы фильтрации нецифровых знаков.
Выполнение запросов
Язык запросов 1С синтаксически близок к SQL, но использует русскоязычные ключевые слова и работает через объект Запрос.
Структура запроса
Текст запроса состоит из секций:
ВЫБРАТЬ— определение полей выборкиГДЕ— условия фильтрацииУПОРЯДОЧИТЬ ПО— сортировка результатовИТОГИ— агрегация данных
Условная логика
В выборках можно использовать конструкцию ВЫБОР КОГДА ... ТОГДА ... ИНАЧЕ ... КОНЕЦ для создания вычисляемых полей непосредственно в тексте запроса.
Параметризация
Запросы поддерживают параметры (например, &Перем), что позволяет безопасно передавать значения и избегать инъекций.
Инструменты разработки
- Конструктор запросов — встроенный инструмент для составления корректных запросов без глубокого знания синтаксиса
- Консоль запросов — удобна для проверки работоспособности
- Точки останова — используются в режиме отладки
Частые ошибки
- Несоответствие типов данных — арифметические операции применимы только к числовым значениям, поэтому важно следить за типизацией
- Отсутствие параметризации — передача значений без использования параметров может привести к уязвимостям
- Неправильная обработка многострочных строк — при работе с текстом, содержащим переносы строк, необходимо использовать
СтрПолучитьСтроку
FAQ
Какие строковые функции есть в 1С?
Платформа включает функции СтрДлина, Лев, Прав, Сред, СокрЛ, СокрП, СокрЛП, СтрНайти, СтрЧислоВхождений и СтрПолучитьСтроку. В современных версиях также доступны методы самого типа «Строка».
Как вычислить модуль числа в 1С?
Для вычисления модуля числа используется встроенная функция Abs.
Чем язык запросов 1С отличается от SQL?
Язык запросов 1С синтаксически близок к SQL, но использует русскоязычные ключевые слова и работает через объект Запрос.