Символы нпп 1с что такое
Перейти к содержимому

Символы нпп 1с что такое

  • автор:

Особенности форматирования значений

По умолчанию «1С:Предприятие 8» преобразует значения типа Число и Дата к строке в соответствии с национальными установками. Национальные установки, используемые по умолчанию, зависят от выбранного при создании информационной базы языка (страны). Язык (страну) можно поменять для конкретной информационной базы в конфигураторе (меню Администрирование — Региональные установки информационной базы. ). Там же можно изменить и отдельные параметры форматирования дат и чисел, а также представление значений типа Булево . Например, можно в конкретной информационной базе отключить разделение триад числовых значений.

Стандартное представление числа, например, для России предусматривает разделение триад неразрывным пробелом и отделение дробной части запятой.

Следует учитывать, что преобразование числа к строке выполняется системой вне зависимости от прикладного смысла числа. Собственно конкретное числовое значение для системы и не может иметь какого-либо определенного смысла, так как не содержит никакой информации, кроме собственно величины числа и знака. Поэтому, например, числовой код справочника тоже будет представляться с разделением триад. Также можно заметить, что из дробной части числа в строковое представление будут включаться только значащие цифры, вне зависимости от того, сколько разрядов отведено, например, для хранения числа в реквизите документа. То есть числовое значение не несет в себе информации о допустимом количестве разрядов и преобразуется к строке стандартным способом. Чтобы отобразить число в строковом виде с необходимым форматированием, следует использовать функцию Формат() или указывать форматную строку в свойствах соответствующих объектов (например, ячейках табличного документа и т. д.).

В качестве пробелов в разделителях триад система использует не обычный пробел, а неразрывный пробел. Это обеспечивает отображение чисел, преобразованных к строке, без переноса на другую строку в тех режимах, где используется автоматический перенос текстов по словам. Например, если включить сумму договора в текст условия договора, то очевидно, что при печати текст не должен переноситься по разделителям триад суммы. Во встроенном языке этот символ можно получить обращением к системному набору значений Символы (Символы.НПП).

Символы в 1С

В этой статье мы разберемся с тем, как в платформе 1С 8.3 работать с различными символами. Узнаем, как добавить нужный символ в строку, обратившись к нему по коду, а также познакомимся с системным набором значений Символы.

Функции Символ и КодСимвола

У примитивного типа строка в 1С есть метод, который называется Символ. Этот метод является функцией и имеет единственный параметр, в котором необходимо указывать код символа согласно кодировке Unicode. А возвращать эта функция будет сам символ, который соответствует этому коду.

Как узнать код символа? Есть разные сайты с таблицами кодов, которые ищутся в поиске по запросу «коды unicode». Возьмем, для примера, вот этот сайт: http://foxtools.ru/Unicode

На этом сайте можно найти коды Unicode практически любых символов, включая самые экзотические.

Мы можем выбрать нужный диапазон символов.

Диапазон символов unicode

В указанном диапазоне необходимо навести мышкой на нужный символ, и в выпадающем сообщении нас интересует значение DEC.

Код символа unicode

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

То этот метод вернёт строковое представление символа:

Символ в 1С

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

Символ в 1С

Рассмотрим обратный метод, который возвращает код символа, метод так и называется КодСимвола. Данный метод — функция, которая имеет следующий синтаксис:

Строка — Строка, из которой берется нужный символ;

НомерСимвола — номер символа в строке (этот параметр не обязательный, если он не указан, то берется первый символ строки).

Метод возвращает десятичное представление кода символа в кодировке Unicode.

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

На произвольной управляемой форме создадим реквизит с типом строка (длинна 1), который разместим на форме в виде поля ввода:

Поле ввода на управляемой форме для реквизита строка

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

Событие ОкончаниеВводаТекста поля ввода

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

Так можно узнать код любого символа, который можно ввести с вашей клавиатуры.

Коды символов

Замечу, что для строчных и заглавных букв коды разные. Это разные символы.

Системный набор значений Символы

Некоторые самые распространенные символы собраны в системный набор значений, который так и называется Символы. Этот набор имеет всего шесть значений:

  • ВК – возврат каретки;
  • ВТаб – символ вертикальной табуляции;
  • НПП – неразрывный пробел;
  • ПС – перевод строки;
  • ПФ – перевод формы;
  • Таб – символ горизонтальной табуляции.

Рассмотрим пример, в котором будем использовать некоторые символы из набора значений.

И результат этого примера:

Системный набор значений Символы

Замечу, что значение системного набора Символы суть строка, и к этим значениям, также можно применять все правила и методы работы со строками.

Статьи о примитивных типах в 1С:

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

Программировать в 1С за 11 шагов

Книга написана понятным и простым языком — для новичка.

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника.

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Основы разработки в 1С такси

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Как убрать разделители разрядов

1c 8 убрать пробелы

В 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»

Так же программисты часто пользуются ниже приведенной конструкцией, которая позволяет удалить, либо заменить на другой символ все пробелы текстовой переменной:

СтрокаБезПробелов = СтрЗаменить(« п р и в е т», » » ,»») // вернет «привет»

Сравнение строк между собой

Сравнить сроки можно обычным знаком равенства. При сравнении учитывается регистр.

«Здраствуйте» = «здравствуйте» // вернет Ложь
«Здраствуйте» = «Здравствуйте» // вернет Истина
«Здраствуйте» = «До свидания» // вернет Ложь

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *