подстановка параметров в строку 1с
Функция СтрШаблон()
Формирует строку по заданному шаблону
Синтаксис
Функция СтрШаблон() имеет следующий синтаксис:
А также альтернативный англоязычный синтаксис:
Параметры
Описание параметров функции СтрШаблон() :
Имя параметра | Тип | Описание |
---|---|---|
Шаблон | Строка | Содержит шаблон конечной строки. Шаблон может состоять из обычного текста и параметров, которые начинаются с подстановочного знака % (процента) |
Значение1. Значение10 | Строка | Подстановочные значения. Максимальное количество параметров = 10 |
Жирным шрифтом выделены обязательные параметры |
Возвращаемое значение
Строка
Строка шаблона с подставленными параметрами.
Описание
Чтобы указать в шаблоне символ процента, необходимо указать его дважды: %%. При этом, если за ним стоит цифра, то она уже не будет воспринята, как параметр.
Чтобы в шаблоне указать сразу после параметра цифру, следует номер параметра заключить в круглые скобки. Например: %(1)1 сорт
Доступность
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Пример использования
Пример кода с использованием функции СтрШаблон() :
Заметки из Зазеркалья
Реализовано в версии 8.3.6.1977.
Мы расширили набор функций, предназначенных для работы со строками. Мы это сделали для того, чтобы дать вам более развитые инструменты для разбора строковых данных. Новые функции будут удобны и полезны в технологических задачах анализа текста. В задачах, связанных с разбором текста, который содержит данные в форматированном виде. Это может быть анализ каких-то файлов, полученных от оборудования, или, например, анализ технологического журнала.
Все действия, которые выполняют новые функции, вы могли выполнять и раньше. С помощью более или менее сложных алгоритмов, написанных на встроенном языке. Поэтому новые функции не дают вам каких-то принципиально новых возможностей. Однако они позволяют сократить количество кода, сделать код более простым и понятным. А кроме этого они позволяют ускорить выполнение действий. Потому что функции, реализованные в платформе, работают, конечно же, быстрее, чем аналогичный алгоритм, написанный на встроенном языке.
Функция форматирования СтрШаблон()
Эта функция подставляет параметры в строку. Потребность в таком преобразовании часто возникает, например, при выводе предупреждающих сообщений. Синтаксис этой функции выглядит следующим образом:
— это строка, в которую нужно подставить представления параметров.
Например, результатом выполнения такого оператора:
Ошибка в данных в строке 2 (требуется тип Дата)
Функция работы со строками СтрСравнить()
Эта функция сравнивает две строки без учёта регистра. Например, так:
Это же действие вы могли выполнить и раньше с помощью объекта СравнениеЗначений:
Однако использование новой функции выглядит более простым. А кроме этого функция, в отличие от объекта СравнениеЗначений, работает и в тонком клиенте, и в веб-клиенте.
Функции работы со строками СтрНачинаетсяС(), СтрЗаканчиваетсяНа()
Эти функции определяют, начинается ли строка с указанной подстроки, заканчивается ли строка указанной подстрокой. Алгоритм этих функций несложно реализовать на встроенном языке, но их наличие позволяет писать более чистый и понимаемый код. И работают они быстрее.
Например, их удобно использовать в операторе Если:
Функции работы со строками СтрРазделить(), СтрСоединить()
Эти функции разделяют строку на части по указанному разделителю. Или наоборот, соединяют несколько строк в одну, вставляя между ними выбранный разделитель. Они удобны для создания или анализа логов, технологического журнала. Например, запись технологического журнала вы можете легко разобрать на части, пригодные для дальнейшего анализа:
Функция работы со строками СтрНайти()
Вместо старой функции Найти() мы реализовали новую функцию, которая имеет дополнительные возможности:
Фактически она дублирует возможности старой функции. Так сделано для того, чтобы сохранить совместимость с модулями, скомпилированными в старых версиях. Старую функцию Найти() рекомендуется больше не использовать.
Ниже приведён пример, использующий новые возможности поиска. Поиск в обратном направлении удобен тогда, когда вам нужен последний фрагмент формализованной строки, например, полное имя файла в URL. А поиск с указанной позиции помогает в тех случаях, когда нужно искать в известном фрагменте, а не во всей строке.
Функции работы со строками в 1С 8
Строка — один из примитивных типов данных в системах 1С:Предприятие 8. Переменные с типом строка содержат текст.
Значения переменных типа строка заключаются в двойные кавычки. Несколько переменных данного типа можно складывать.
В итоге Пер3 будет иметь значение «Слово 1 Слово 2″.
Кроме того, в системах 1С:Предприятие 8 предусмотрены функции для работы со строками. Рассмотрим основные:
Строку можно ввести и, зная код символа в кодировке Unicode:
Символ( ) — код вводится в виде числа.
Существует и обратная функция, позволяющая узнать код какого-либо символа.
Функции преобразования регистра текста:
ВРег( ) — преобразует все символы строки в верхний регистр.
НРег( ) — преобразует все символы строки в нижний регистр.
ТРег( ) — преобразует все символы строки в титульный регистр. То есть первые буквы во всех словах преобразуется в верхний регистр, а остальные буквы — в нижний.
Функции поиска и замены символов в строке:
ПустаяСтрока( ) – проверяет строку на наличие значащих символов. Если значащих символов нет, или вообще никаких символов нет, то возвращается значение Истина. В противном случае — Ложь.
Функции преобразования строк:
СокрЛ( ) — отсекает незначащие символы, стоящие слева от первого значащего символа в строке.
СокрП( ) — отсекает незначащие символы, стоящие справа от последнего значащего символа в строке.
СокрЛП( ) – отсекает незначащие символы, стоящие слева от первого значащего символа в строке и справа от последнего значащего символа в строке.
Прочие функции:
СтрДлина( ) – возвращает количество символов в строке.
СтрЧислоСтрок( ) – возвращает число строк в многострочной строке. Строка считается новой, если она отделена от предыдущей символом перевода строки.
Функции работы со строками в 1С 8 : 2 комментария
Спасибо за информативную статью. Очень много полезной информации. Вообще в 1с ещё существует множество секретов для большинства пользователей (за исключением специалистов в своей сфере). Потихоньку осваиваюсь с выполнением той или иной операции. Также важной функцией является копирование любых документов. Еще недавно и это было для меня тёмным лесом) Но благодаря таким статьям http://********* и подобным работать становится легче. Спасибо авторам.
очень хорошая статья! в справке 1с ничего не нашел, а тут просто и понятно!
Строки в 1С 8.3 — строковые функции
Строки в 1С 8.3 во встроенном языке 1с представляют собой значения примитивного типа Строка. Значения данного типа содержат строку в формате Unicode произвольной длины. Переменные строкового типа являются набором символов заключенных в кавычки.
Пример 1. Создадим строковую переменную с текстом.
Функции работы со строками в 1с 8.3
В данном разделе будут приведены основные функции, позволяющие изменять строки в 1с, либо анализировать информацию содержащуюся в них.
СтрДлина
СтрДлина( ). Возвращает количество символов содержащихся в строке, переданной в параметре.
Пример 2. Посчитаем количество символов в строке «Привет мир!».
Итогом выполнения данного кода будет вывод на экран количества символов строки: 11.
СокрЛ
СокрЛ( ). Отсекает незначащие символы, стоящие слева от первого значащего символа в строке.
Незначащие символы:
Пример 3. Убрать все пробелы с левой стороны строки » мир!» и присоединить к ней строку «Привет «.
Итогом выполнения данного кода будет вывод на экран строки «Привет мир!».
СокрП
СокрП( ). Отсекает незначащие символы, стоящие справа от первого значащего символа в строке.
Пример 4. Сформировать из строк «Привет » и » мир!» фразу «Привет мир!»
СокрЛП
СокрЛП( ). Отсекает незначащие символы, стоящие справа от первого значащего символа в строке, также отсекает незначащие символы, стоящие слева от первого значащего символа в строке. Данная функция используется чаще предыдущих двух, так как она более универсальна.
Пример 5. Убрать незначащие символы стоящие слева и справа в наименовании контрагента.
Пример 6. Пусть в структуре Сотрудник содержаться имя, фамилия и отчество сотрудника. Получить строку с фамилией и инициалами.
Пример 7. Пусть в конце строковой переменной записана дата в формате «ггггммдд», получить строку с датой и преобразовать ее к типу Дата.
Пример 8. Пусть в строковой переменной начиная с девятой позиции содержится код региона, следует получить его и записать в отдельную строку.
СтрНайти
Пример 9. В строке «Привет мир!» определить позицию последнего вхождения символа «и».
Итогом выполнения данного кода будет вывод на экран номера последнего вхождения символа «и»: 9.
ВРег( ). Преобразует все символы указанной строки в 1с 8 к верхнему регистру.
Пример 10. Преобразовать строку «привет мир!» к верхнему регистру.
Итогом выполнения данного кода будет вывод на экран строки «ПРИВЕТ МИР!»
НРег( ). Преобразует все символы указанной строки в 1с 8 к нижнему регистру.
Пример 11. Преобразовать строку «ПРИВЕТ МИР!» к нижнему регистру.
Итогом выполнения данного кода будет вывод на экран строки «привет мир!»
ТРег( ). Преобразует строку следующим образом: первый символ каждого слова переводится в верхний регистр, остальные символы слова переводятся в нижний регистр.
Пример 12. Сделать заглавными первые буквы слов в строке «привет мир!».
Итогом выполнения данного кода будет вывод на экран строки «Привет Мир!»
Символ
Символ( ). Получает символ по его коду в кодировке Unicod.
Пример 13. Добавим слева и справа в строку «Привет Мир!» символ ★
Итогом выполнения данного кода будет вывод на экран строки «★Привет Мир!★»
КодСимвола
Пример 14. Узнать код последнего символа в строке «Привет Мир!».
Итогом выполнения данного кода будет вывод на экран кода символа «!» — 33.
ПустаяСтрока
ПустаяСтрока( ). Проверяет состоит ли строка только из незначащих символов, то есть является ли она пустой.
Пример 15. Проверить является ли пустой строка состоящая из трех пробелов.
Итогом выполнения данного кода будет вывод на экран слова «Да» (строковое выражение логического значения Истина).
СтрЗаменить
Пример 16. В строке «Привет Мир!» заменить слово «Мир» на слово «Друзья».
Итогом выполнения данного кода будет вывод на экран строки «Привет Друзья!»
СтрЧислоСтрок
СтрЧислоСтрок( ). Позволяет посчитать количество строк в многострочной строке. Для перехода на новую строку в 1с 8 используется символ ПС (символ перевода строки).
Пример 17. Определить число строк в тексте:
«Первая строка
Вторая строка
Третья строка»
Итогом выполнения данного кода будет вывод на экран количества строк в тексте: 3
СтрПолучитьСтроку
Пример 18. Получить последнюю строку в тексте:
«Первая строка
Вторая строка
Третья строка»
Итогом выполнения данного кода будет вывод на экран строки «Третья строка».
СтрЧислоВхождений
Пример 19. Определить сколько раз входит в строку «Строки в 1с 8.3 и 8.2» буква «с», вне зависимости от ее регистра.
Итогом выполнения данного кода будет вывод на экран числа вхождений: 2.
СтрНачинаетсяС
Пример 20. Определить начинается ли ИНН выбранного контрагента с цифры 1. Пусть в переменной Контрагент хранится ссылка на элемент справочника Контрагенты.
СтрЗаканчиваетсяНа
Пример 21. Определить заканчивается ли ИНН выбранного контрагента на цифру 2. Пусть в переменной Контрагент хранится ссылка на элемент справочника Контрагенты.
СтрРазделить
Пример 22. Пусть у нас есть строка содержащая числа разделенные символом «;», получить из строки массив чисел.
В результате выполнения будет получен массив с числами от 1 до 3-х.
СтрСоединить
Пример 23. Используя массив чисел из предыдущего примера, получить исходную строку.
Также прочитать про строковые функции появившиеся в 8.3 можно на официальном сайте 1С: v8.1c.ru
Прочитайте статью про работу с числами: Число в 1С 8.3 — функции работы с числами
Подстановка параметров в строку 1с
Описание:
Значения данного типа содержат строку в формате Unicode произвольной длины.
Литералы:
Литералы строкового типа представляют собой набор символов заключенных в кавычки. Для задания в строке символа » (кавычка) необходимо записать две кавычки подряд. Кроме того, допускаются «многострочные» строковые константы. В исходном тексте многострочные константы могут задаваться двумя способами:
Строки в языке 1С 8.3, 8.2 (в примерах)
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю). |
Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Нажмите одну из кнопок, чтобы поделиться: