Символы в 1С
В этой статье мы разберемся с тем, как в платформе 1С 8.3 работать с различными символами. Узнаем, как добавить нужный символ в строку, обратившись к нему по коду, а также познакомимся с системным набором значений Символы.
Функции Символ и КодСимвола
У примитивного типа строка в 1С есть метод, который называется Символ. Этот метод является функцией и имеет единственный параметр, в котором необходимо указывать код символа согласно кодировке Unicode. А возвращать эта функция будет сам символ, который соответствует этому коду.
Как узнать код символа? Есть разные сайты с таблицами кодов, которые ищутся в поиске по запросу «коды unicode». Возьмем, для примера, вот этот сайт: http://foxtools.ru/Unicode
На этом сайте можно найти коды Unicode практически любых символов, включая самые экзотические.
Мы можем выбрать нужный диапазон символов.
В указанном диапазоне необходимо навести мышкой на нужный символ, и в выпадающем сообщении нас интересует значение DEC.

Если мы значение DEC этого символа поставим в качестве параметра в метод Символ:
То этот метод вернёт строковое представление символа:

Замечу, что переменная Символ_1 имеет тип Строка, т.е. с ней можно совершать любые операции, которые присущи строкам. Например, операцию конкатенации:

Рассмотрим обратный метод, который возвращает код символа, метод так и называется КодСимвола. Данный метод — функция, которая имеет следующий синтаксис:
Строка — Строка, из которой берется нужный символ;
НомерСимвола — номер символа в строке (этот параметр не обязательный, если он не указан, то берется первый символ строки).
Метод возвращает десятичное представление кода символа в кодировке Unicode.
Выполним учебный пример. В этом примере, можно будет в поле на управляемой форме вводить произвольный символ, и после окончания ввода, выйдет сообщение с кодом этого символа.
На произвольной управляемой форме создадим реквизит с типом строка (длинна 1), который разместим на форме в виде поля ввода:

У этого поля ввода создадим событие ОкончаниеВводаТекста:

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

Замечу, что для строчных и заглавных букв коды разные. Это разные символы.
Системный набор значений Символы
Некоторые самые распространенные символы собраны в системный набор значений, который так и называется Символы. Этот набор имеет всего шесть значений:
- ВК – возврат каретки;
- ВТаб – символ вертикальной табуляции;
- НПП – неразрывный пробел;
- ПС – перевод строки;
- ПФ – перевод формы;
- Таб – символ горизонтальной табуляции.
Рассмотрим пример, в котором будем использовать некоторые символы из набора значений.
И результат этого примера:

Замечу, что значение системного набора Символы суть строка, и к этим значениям, также можно применять все правила и методы работы со строками.
Статьи о примитивных типах в 1С:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Как убрать разделители разрядов
![]()
В 1С Предприятии 8, в отличие от 7-й версии, вывод чисел по умолчанию представлен с использованием разделителей разрядов, т.е. вместо 1999999 выводится 1 999 999, причем используется не символ пробела, а так называемый, «неразрывный пробел». Это не всегда удобно, а в некоторых случаях даже неприемлимо. Как вернуться к привычному выводу. Рассмотрим несколько способов.
Способ 1.
Основан на использовании штатной функции Формат. В качестве форматной строки используем «»ЧГ=0».
Способ 2.
Используется строковая функция замены подстроки СтрЗаменить(ПеременнаяЧисло,Символы.НПП,»»)
Способ 3.
Метод для гурманов, но некоторые считают его методически самым правильным. Открываем Конфигуратор Администрирование-Региональные установки ИБ, в параметр «Группировка» выбираем значение 0. См. рисунок ниже.
Функции работы со строками в 1С 8.3 и 8.2
Тип «Строка» встречается во всех языках программирования. Он является примитивным, и в 1С существует много функций для работы с ним. В данной статье мы подробно рассмотрим различные способы работы со строковыми типами в 1С 8.3 и 8.2 на примерах.

Строковые функции в 1С
Строка
Для того чтобы преобразовать переменную какого-либо типа в строку, существует одноименная функция «Строка()». Входным параметром будет сама переменная, строковое представление которой необходимо получить.
Строка(Ложь) // возвращает «Нет»
Строка(12345) // возвращает «12 345»
Строка(ТекущаяДата()) //»21.07.2017 11:55:36″
Преобразовывать к строке возможно не только примитивные типы, но и остальные, например элементы справочников, документов.
СокрЛП, СокрЛ, СокрП
В качестве входных параметров данных функций выступает переменная строкового типа. Функции удаляют незначащие символы (пробелы, переносы каретки и прочие): с левой и правой стороны, только с левой стороны, и только с правой соответственно.
СокрЛП(» Будут удалены пробелы с обеих сторон «) // «Будут удалены пробелы с обеих сторон»
СокрЛ(» Будут удалены пробелы с обеих сторон «) // «Будут удалены пробелы слева »
СокрП(» Будут удалены пробелы с обеих сторон «) // « Будут удалены пробелы справа»
Лев, Прав, Сред
Данные функции позволяют обрезать часть строки. Функция «Лев()» вернет часть строки с ее левой стороны указанной длины. Функция «Прав()» аналогично, но обрезка производится справа. Функция «Сред()» позволяет указать номер символа, с которого будет выделена строка и ее длину.
Лев(«Строковая переменная», 4) // возвращает «Стро»
Прав(«Строковая переменная», 7) // возвращает «еременная»
Сред(«Строковая переменная», 2, 5)// возвращает «троко»
СтрДлина
Функция определяет количество символов, которые содержатся в строковой переменной.
СтрДлина(«Слово «) // результатом выполнения будет число 5
Найти
Функция дает возможность искать в какой-либо строковой переменной часть строки. В качестве возвращаемого значения будет выступать число, которое показывает позицию начала найденной строки. Если совпадений не обнаружено, возвращается ноль.
Обратите внимание, что поиск производится с учетом регистра. Если в изначальной строке будет больше одного вхождения подстроки поиска, функция вернет начало первого вхождения.
ПустаяСтрока
Использование данной функции позволяет определить, является ли строка пустой. Незначимые символы, например, пробел, перенос каретки и другие не учитываются.
ПустаяСтрока(«Пупкин Василий Иванович») // функция вернет значение Ложь
ПустаяСтрока(» «) // функция вернет значение Истина
ВРег, НРег, ТРег
Получите понятные самоучители по 1С бесплатно:
Данные функции очень полезны при сравнении и преобразовании строковых переменных. «Врег()» вернет исходную строку в верхнем регистре, «НРег()» в нижнем, а «ТРег()» отформатирует ее так, что первый символ каждого отдельного слова будет с большой буквы, а все последующие с маленькой.
ВРег(«ГеНераЛьныЙ дИРЕктОр») // возвращаемое значение – «ГЕНЕРАЛЬНЫЙ ДИРЕКТОР»
НРег(«ГеНераЛьныЙ дИРЕктОр») // возвращаемое значение – «генеральный директор»
ТРег(«ГеНераЛьныЙ дИРЕктОр») // возвращаемое значение – «Генеральный Директор»
СтрЗаменить
Данная функция является аналогом замены в текстовых редакторах. Она позволяет подменять один символ или набор символов другим в строковых переменных.
СтрЧислоСтрок
Функция позволяет определить количество строк, разделенных переносом каретке в текстовой переменной.
Цикл, в приведенном ниже примере, пройдет три круга, так как функция СтрЧислоСтрок вернет значение 3:
Для инд=1 по СтрЧислоСтрок(«Строка1» + Символы.ПС + «Строка2» + Символы.ПС + «Строка3») Цикл
<тело цикла>
КонецЦикла;
СтрПолучитьСтроку
Данная функция работает с многострочным текстом так же, как и предыдущая. Она позволяет получить определенную строку из текстовой переменной.
СтрПолучитьСтроку(«Строка1» + Символы.ПС + «Строка2» + Символы.ПС + «Строка3», 2) // вернет «Строка2»
СтрЧислоВхождений
Функция подсчитывает количество вхождений символа или подстроки в искомой строке.
Символ и КодСимвола
Эти функции позволяют получать символ по его коду в кодировке Unicode, а так же определять этот код по самому символу.
КодСимвола(«А») // функция вернет число 1 040
КодСимвола(1040) // функция вернет «А»
Частые задачи при работе со строками
Объединение строк
Чтобы объединить несколько строк (произвести конкатенацию) достаточно использовать оператор сложения.
«Строка 1″ + » Строка 2″ //результатом сложения двух строк будет «Строка 1 Строка 2»
Преобразование типов
Для того, чтобы преобразовать тип в строку, например, ссылку на элемент справочника, число и прочее, достаточно использовать функцию «Строка()». Функции, подобные «СокрЛП()» так же будут преобразовывать переменные в строку, но уже сразу с отсечением незначащих символов.
Обратите внимание, что при преобразовании числа в строку, программа автоматически добавила пробел, отделяющий тысячу. Для того чтобы этого избежать можно воспользоваться следующими конструкциями:
Кавычки в строке
Довольно часто вам придется сталкиваться с необходимостью указать в строковой переменной кавычки. Это может быть как текст запроса, написанный в конфигураторе, так и просто переменная. Для решения данной задачи вам достаточно установить два символа кавычек.
Многострочность, перенос строки
Для того, чтобы создать многострочный текст достаточно добавить в него символы переноса строки (Символы.ПС).
МногострочныйТекст = «Первая строка» + Символы.ПС + «Вторая строка»
Как убрать пробелы
Для того, чтобы убрать пробелы справа или слева можно воспользоваться функцией «СокрЛП()» (а так же «СокрЛ()» и «СокрП()»):
СтрокаБезПробелов = СокрЛП(» Много букв «) // функция вернет значение «Много букв»
Если после преобразования числа в строку вам потребовалось убрать неразрывные пробелы, воспользуйтесь следующей конструкцией:
СтрокаБезПробелов = СтрЗаменить(Строка(99999),Символы.НПП,»») // вернет «99999»
Так же программисты часто пользуются ниже приведенной конструкцией, которая позволяет удалить, либо заменить на другой символ все пробелы текстовой переменной:
СтрокаБезПробелов = СтрЗаменить(« п р и в е т», » » ,»») // вернет «привет»
Сравнение строк между собой
Сравнить сроки можно обычным знаком равенства. При сравнении учитывается регистр.
«Здраствуйте» = «здравствуйте» // вернет Ложь
«Здраствуйте» = «Здравствуйте» // вернет Истина
«Здраствуйте» = «До свидания» // вернет Ложь
Преобразовать число в строку без разделителей групп в 1С
При приведении значения типа Число к типу Строка, могут появляться символы разделяющие группы разрядов. При стандартных настройках используется символ "неразрывный пробел".
Используя настройки информационной базы можно отключить разделитель групп разрядов, для всей информационной базы. Так же есть возможность программно заменить разделяющий символ на пустую строку или отформатировать функцией "Формат".
Отключить разделитель групп разрядов для всей конфигурации
В "Региональных установках информационной базы" задаются глобальные настройки, которые влияют на всю информационную базу. В установках можно определить параметры группировки разрядов числа. Данные настройки доступны в режиме конфигуратора.
Окно установок открывается через главное меню Администрирование->Региональные установки информационной базы
Убрать разделитель групп разрядов функцией Формат
Функция "Формат"с параметром "ЧГ=0" убирает разделители групп числа.
Заменить разделитель групп разрядов функцией СтрЗаменить
Комментарии (0)
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться