Разберем ситуацию, когда при выводе или вводе чисел в платформах 1С появляются нежелательные запятые либо пробелы, разделяющие тысячи. Выясним причину такого поведения системы и проанализируем основные способы решения этой задачи — от глобальных системных настроек до изменения параметров отдельных элементов и написания кода.
Отображение чисел в 1С зависит от двух ключевых факторов: региональных настроек (операционной системы или самой информационной базы) и заданной форматной строки у конкретного реквизита. Запятая в числе может выполнять две функции:
Рассмотрим по шагам все варианты отключения лишних разделителей.
Если требуется убрать или изменить разделители разрядов глобально для всех пользователей конкретной базы данных без изменения настроек на каждом рабочем ПК, настроим региональные установки информационной базы.
Разберем порядок действий:
Использовать региональные установки текущего сеанса.Если отображение чисел зависит от настроек операционной системы Windows на конкретном ПК, можно скорректировать разделители разрядов через Панель управления.
Для точечного управления отображением конкретного числа в печатной форме, текстовом документе или при выгрузке данных применим функцию Формат.
Чтобы полностью отключить группировку разрядов (убрать пробелы и запятые между тысячами), используем параметр ЧГ=0.
Посмотрим на пример кода:
ИсходноеЧисло = 1000000;
ЧислоБезЗапятых = Формат(ИсходноеЧисло, "ЧГ=0");
// Результат: "1000000"
Проанализируем основные параметры форматной строки, которые помогают управлять выгрузкой чисел:
ЧГ=0 — полностью отключает группировку разрядов.ЧДЦ=0 — убирает дробную часть и десятичный разделитель (округляет значение до целого числа).ЧРД=. — заменяет десятичную запятую на точку (применяется при формировании XML, JSON или CSV файлов).Если запятую нужно убрать в поле ввода на форме, настраивать код необязательно. Изменим свойства элемента формы в Конфигураторе:
Формат и откроем конструктор форматной строки.ЧГ=0).ФорматРедактирования.В случаях, когда число уже представлено в виде текста (например, прочитано из внешнего файла или полученной строки), удалим запятые с помощью функции СтрЗаменить:
ТекстЧисла = "1,000,000";
ЧистаяСтрока = СтрЗаменить(ТекстЧисла, ",", "");
// Результат: "1000000"
Запомним: если число переводится в строку через функцию Строка(Число), платформа 1С автоматически применяет региональные настройки сеанса и может вставлять неразрывные пробелы. Поэтому для получения чистого числового текста лучше использовать Формат(Число, "ЧГ=0").