Как убрать разделители разрядов
![]()
В 1С Предприятии 8, в отличие от 7-й версии, вывод чисел по умолчанию представлен с использованием разделителей разрядов, т.е. вместо 1999999 выводится 1 999 999, причем используется не символ пробела, а так называемый, «неразрывный пробел». Это не всегда удобно, а в некоторых случаях даже неприемлимо. Как вернуться к привычному выводу. Рассмотрим несколько способов.
Способ 1.
Основан на использовании штатной функции Формат. В качестве форматной строки используем «»ЧГ=0».
Способ 2.
Используется строковая функция замены подстроки СтрЗаменить(ПеременнаяЧисло,Символы.НПП,»»)
Способ 3.
Метод для гурманов, но некоторые считают его методически самым правильным. Открываем Конфигуратор Администрирование-Региональные установки ИБ, в параметр «Группировка» выбираем значение 0. См. рисунок ниже.
Преобразовать число в строку без разделителей групп в 1С
При приведении значения типа Число к типу Строка, могут появляться символы разделяющие группы разрядов. При стандартных настройках используется символ "неразрывный пробел".
Используя настройки информационной базы можно отключить разделитель групп разрядов, для всей информационной базы. Так же есть возможность программно заменить разделяющий символ на пустую строку или отформатировать функцией "Формат".
Отключить разделитель групп разрядов для всей конфигурации
В "Региональных установках информационной базы" задаются глобальные настройки, которые влияют на всю информационную базу. В установках можно определить параметры группировки разрядов числа. Данные настройки доступны в режиме конфигуратора.
Окно установок открывается через главное меню Администрирование->Региональные установки информационной базы
Убрать разделитель групп разрядов функцией Формат
Функция "Формат"с параметром "ЧГ=0" убирает разделители групп числа.
Заменить разделитель групп разрядов функцией СтрЗаменить
Комментарии (0)
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
1с Как убрать пробелы (разделители) в числах
В 1С Предприятии 8, в отличие от 7-й версии, вывод чисел по умолчанию представлен с использованием разделителей разрядов, т.е. вместо 1999999 выводится 1 999 999, причем используется не символ пробела, а так называемый, «неразрывный пробел». Это не всегда удобно, а в некоторых случаях даже неприемлимо. Как вернуться к привычному выводу. Рассмотрим несколько способов.
Способ 1.
Основан на использовании штатной функции Формат. В качестве форматной строки используем «»ЧГ=0».
Пример: Формат( Чмсло,»ЧГ=0″ )
Способ 2.
Используется строковая функция замены подстроки СтрЗаменить(ПеременнаяЧисло,Символы.НПП,»»)
Пример: СтрЗаменить( Число , Символы.НПП ,»»)
Способ 3.
Некоторые считают его методически самым правильным. Открываем Конфигуратор Администрирование-Региональные установки ИБ, в параметре «Группировка» выбираем значение 0. См. рисунок ниже.
Удаление пробела — разделителя разрядов
Все кто начинает программировать в 1С рано или поздно сталкиваются с необходимостью удаления пробелов которые появляются в качестве разделителей разряда в момент преобразования числа в строку. То есть к примеру число 1256 после автоматического преобразования выглядит вот так «1 256».
Когда сталкиваешся с этим в первый раз первое, что хочется сделать это
но это не срабатывает.
Обычно это решается преобразованием числа в строку с использованием функции Формат
Но недавно столкнулся с ситуацией (после чтения данных из Excel), когда в качестве исходных данных была уже строка вида «1 437» в которой надо было убрать разделительный пробел. СтрЗаменить() не сработала.
В результате возник вопрос, а может этот разделительный символ вовсе не пробел? Вспомнилось что есть функция которая возвращает код символа —
КодСимвола( , ) .
выполнил в отладчике