Содержание:
1. Функция поиска подстроки в платформе программы 1С
2. Ошибка для функции «СтрНайти()» в конфигурации системы 1С
1. Функция поиска подстроки в платформе программы 1С
В статье будет рассказано о том, при помощи какой функции можно искать подстроки, а также о том, какие ещё опции есть у этой функции. Отдельно будет описана ошибка о неопределённости данной функции и способы её устранения, так как, если такой случай возник, то не будет возможности и подстроку найти.
Чтобы в 1С найти подстроку – нужно задействовать функцию «СтрНайти()», которая будет возвращать первичный, либо n-ный вход искомой подстроки в основную строку.
Синтаксис нашей функции – «СтрНайти()» довольно прост, он демонстрируется далее:
Число СтрНайти
Также, на всякий случай, вот альтернативный вариант данного синтаксиса, на английском языке:
Number StrFind
Как можно увидеть, у функции «СтрНайти()» есть параметры, рассмотрим их:
· Параметр «ИсходнаяСтрока» всегда имеет в 1С тип строки и в нём содержится первичная строка, та, в которой мы будем искать подстроку;
· Параметр «ПодстрокаПоиска» - тоже всегда имеет в 1С тип строки и является тем искомым элементом в исходной строке;
· Параметр «НаправлениеПоиска» отвечает за то, с какой стороны программа будет искать в 1С подстроку в строке. У данного параметра могут быть следующие вариации:
- «СКонца» - направление поиска начинается с конечной точки строки и идёт к её началу»;
- «СНачала» - направление поиска стартует в начале строки и идёт до её конца. Данная вариация установлена стандартными настройками системы 1С и будет выбрана по умолчанию.
· Параметр «НачальнаяПозиция» - он не является обязательным, числового типа данных бд, и отвечает за место в исходном номере строки, с которого стартует поиск подстроки. В случае, когда данный параметр не задавался, а у параметра «НаправлениеПоиска» стоит значение «СНачала», то здесь будет стоять значение «1».
· Параметр «НомерВхождения» имеет числовой тип данных бд и отвечает за номер по порядку того, как подстрока располагается в первоначальной строке. Согласно стандартным настройкам 1С, его значение – «1», это значит, что будет находится первое расположение подстроки внутри строки, ведь, их может быть и несколько.
Функция «СтрНайти()» вернёт нам число, это будет порядковый номер символа, с которого начинается наша в 1С подстрока в строке.
Получается, что, при помощи функции «СтрНайти()» мы ищем нужное расположение подстроки или с конца, или с начала нашей первичной строки. Первый порядковый номер внутри строки – это один. Если же, внутри исходной строки нет искомой строки, тогда вернётся значение ноль. В случае, когда, хотя бы, один из обязательных параметров пуст – вернётся значение единицы.
Замечание: для данной функции регистр данных имеет значение и учитывается при функции поиска подстроки.
Данная функция в свободном доступе для таких категорий:
· Веб-клиент;
· Сервер;
· Внешнее соединение 1С;
· Мобильное приложение на сервере;
· Мобильное приложение на клиенте;
· Тонкий клиент;
· Толстый клиент;
· Мобильный клиент;
· Интеграция.
Ниже демонстрируется скриншот с примером кода того, как можно использовать функцию «СтрНайти()»:
2. Ошибка для функции «СтрНайти()» в конфигурации системы 1С
Иногда, при использовании функции «СтрНайти()», появляется ошибка о том, что данная функция не была определена. Это означает, что версия платформы программы 1С устарела («1С:Предприятие 8.3.5» или старше), так как, эта функция считается новой.
Чтобы устранить ошибку, - необходимо проверить совместимость функции с системой: открываем конфигурацию системы 1С, переходим в панель «Свойства» и кликаем на «Режим совместимости», если он находится на значении «не использовать», то нужно или обновить платформу, или заменить на схожую, но устаревшую функцию – «Найти()»
В статье было рассказано о том, как внутри системы программы 1С можно найти подстроку при помощи специальной функции, подробно описана эта функция поиска подстроки и ошибка, которая может возникать внутри системы, связанная с ней.
Специалист компании "Кодерлайн"
Айдар Фархутдинов