Разработка и Конфигурация · 9 мин
Как убрать разделитель групп разрядов в 1С
Как убрать разделитель групп разрядов в 1С: настройка формата числа в полях формы, запросах, макетах печати и отчётах. Пошаговые инструкции для типовых конфигураций и конфигуратора.
Разделитель групп разрядов — это пробел или другой символ, который 1С автоматически вставляет в длинные числа для удобства чтения: «1 250 000» вместо «1250000». В большинстве экранных форм это удобно, но при выгрузке в Excel, передаче данных в другие системы, печати ценников или формировании строк для обмена разделитель мешает: внешняя программа воспринимает «1 250» как текст, а не как число.
Убрать разделитель можно несколькими способами — от простой настройки формата поля до функции Формат() в коде. Выбор зависит от того, где именно появляется нежелательный пробел: в форме документа, в макете печати, в отчёте на СКД или в выгружаемом файле. Ниже разобраны все основные сценарии для типовых конфигураций и для работы в конфигураторе.
Где именно появляется разделитель и почему это проблема
По умолчанию платформа 1С при выводе чисел применяет региональные настройки, и группы разрядов отделяются неразрывным пробелом. Это видно в полях ввода сумм, колонках табличных частей, итогах документов и в ячейках табличных документов. Для пользователя на экране это норма, но проблемы начинаются при дальнейшей обработке.
Типичные ситуации, когда разделитель необходимо убрать: выгрузка прайсов и каталогов в Excel или CSV, обмен с сайтом и банковскими системами, формирование штрихкодов и артикулов из чисел, печать ценников, передача данных через COM-соединение или веб-сервисы. В этих случаях пробел внутри числа ломает парсинг: «12 500» превращается в два значения или в строку.
Способ 1: настройка формата поля в конфигураторе
Если разделитель нужно убрать в поле формы, реквизите или колонке таблицы, используется свойство «Формат». Откройте конфигуратор, найдите нужный объект (форму документа, реквизит справочника, колонку табличной части) и откройте палитру свойств элемента. Найдите строку «Формат» и нажмите кнопку выбора — откроется конструктор форматной строки.
В конструкторе перейдите на закладку «Число» и найдите параметр «Группировка» (разделитель групп). Установите значение «0» — без группировки. После этого число будет выводиться слитно: 1250000. Параметры длины и точности (например, ЧДЦ=2 для двух знаков после запятой) при этом сохраняются и настраиваются отдельно.
- 1Откройте конфигуратор и найдите нужную форму или реквизит
- 2Откройте палитру свойств поля и найдите строку «Формат»
- 3Нажмите кнопку выбора, чтобы открыть конструктор форматной строки
- 4На закладке «Число» установите параметр «Группировка» = 0
- 5Сохраните конфигурацию и обновите базу данных
- 6Откройте форму в режиме предприятия и проверьте отображение числа
Способ 2: функция Формат() в коде
Когда число формируется программно — например, при выгрузке в файл, заполнении строки обмена или подготовке текста печатной формы — разделитель убирается функцией Формат(). Ключевой параметр — ЧГ (число групп): значение 0 отключает группировку.
Пример: СтрокаСуммы = Формат(СуммаДокумента, "ЧГ=0"); — результатом будет «1250000» без пробелов. Если нужно сохранить два знака после запятой и убрать пробелы одновременно: Формат(СуммаДокумента, "ЧДЦ=2; ЧГ=0") даст «1250000,00». Обратите внимание: результат функции Формат() — это строка, а не число, поэтому в дальнейших вычислениях её использовать нельзя без обратного преобразования.
СуммаСтрокой = Формат(СуммаДокумента, "ЧДЦ=2; ЧГ=0"); // 1250000,00 без пробеловДля выгрузки в файлы обмена часто дополнительно требуется десятичный разделитель «точка» вместо «запятая». Это решается параметром ЧРД: Формат(Значение, "ЧРД=.; ЧГ=0; ЧДЦ=2"). Такая строка корректно воспринимается большинством внешних систем.
Способ 3: макеты и печатные формы
В табличных документах и макетах печатных форм формат задаётся на уровне ячейки. Откройте макет в конфигураторе, выделите ячейку с параметром суммы, откройте её свойства и в поле «Формат» укажите строку с ЧГ=0. Если ячеек несколько (например, колонки «Цена», «Сумма», «Итого»), формат нужно задать для каждой.
Если печатная форма заполняется программно, альтернатива — передавать в параметр макета уже отформатированную строку через Формат() с ЧГ=0. Это удобно, когда один и тот же макет используется в разных сценариях, а править ячейки нельзя из-за поддержки типовой конфигурации.
Способ 4: отчёты на СКД
В отчётах на системе компоновки данных формат числового поля настраивается без изменения кода. Откройте схему компоновки, перейдите на закладку «Наборы данных», выделите нужное поле и в колонке или свойстве «Оформление» задайте формат с параметром ЧГ=0. В типовых конфигурациях часть отчётов позволяет изменить оформление прямо в режиме предприятия: «Ещё — Изменить вариант отчёта — Оформление».
Для пользовательских настроек выберите поле, добавьте элемент оформления «Формат» и укажите строку вида «ЧДЦ=2; ЧГ=0». После сохранения варианта отчёта настройка применяется ко всем выводимым строкам. Это самый безопасный путь для работающих баз, так как не требует снятия конфигурации с поддержки.
Как выбрать способ
Проверка результата и типичные ошибки
После изменения формата откройте объект в режиме предприятия и введите или выведите длинное число — например, 1234567. Корректный результат: число отображается слитно, без пробелов, а дробная часть соответствует заданной точности. Дополнительно скопируйте значение в блокнот: если в буфере обмена нет лишних символов, формат применён правильно.
Частые ошибки: изменение формата на форме, но не в макете печати (на экране пробелов нет, а на бумаге остались); использование результата Формат() в арифметике — функция возвращает строку, и попытка сложить две такие строки даст конкатенацию либо ошибку преобразования; забытый параметр ЧДЦ, из-за которого вместе с пробелами пропадают копейки.
Ограничения и безопасные границы
В типовых конфигурациях на поддержке прямое изменение макетов и форм приведёт к снятию объектов с поддержки и усложнит обновления. Безопасная альтернатива — расширения конфигурации или пользовательские настройки отчётов, которые не затрагивают основной код. Перед любыми изменениями в конфигураторе сделайте резервную копию базы или выгрузку конфигурации.
Учитывайте, что отключение группировки ухудшает читаемость больших сумм на экране. Если разделитель мешает только при выгрузке, правильнее оставить экранный формат как есть и форматировать число только в момент экспорта — так вы сохраните удобство работы пользователей и корректность обмена.
Что важно запомнить
Разделитель групп в 1С управляется параметром ЧГ в форматной строке: ЧГ=0 отключает пробелы. Настройка делается в свойствах поля, ячейки макета, оформлении отчёта СКД или через функцию Формат() в коде. Результат Формат() — строка, её нельзя использовать в расчётах.
Частые вопросы
Как убрать пробелы в числах без доступа к конфигуратору?
В отчётах на СКД откройте настройки варианта отчёта, добавьте оформление для нужного поля и задайте формат «ЧГ=0». Для печатных форм и форм документов без доработки конфигурации изменить формат нельзя — потребуется расширение или помощь специалиста.
Почему после Формат() с ЧГ=0 пропали копейки?
Параметр ЧГ управляет только группировкой. За дробную часть отвечает ЧДЦ: укажите «ЧДЦ=2; ЧГ=0», чтобы сохранить два знака после запятой и одновременно убрать пробелы между разрядами.
Как убрать разделитель при выгрузке в Excel?
Форматируйте число функцией Формат(Значение, "ЧГ=0") перед записью в файл. Если данные уже скопированы в Excel с пробелами, используйте «Найти и заменить»: в поле поиска вставьте неразрывный пробел (Alt+0160 на цифровой клавиатуре), замену оставьте пустой.
СтрЗаменить не убирает пробел из числа — в чём причина?
1С использует неразрывный пробел (код символа 160), а не обычный. Заменяйте его через Символ(160): СтрЗаменить(Строка, Символ(160), ""). Либо не боритесь с последствиями, а сразу форматируйте число с ЧГ=0.
Влияет ли отключение группировки на хранение данных?
Нет. Формат влияет только на отображение и вывод. В базе число хранится в числовом виде независимо от форматной строки, поэтому настройка формата безопасна для данных.
Можно ли убрать разделитель сразу во всей конфигурации?
Единой глобальной настройки нет: формат задаётся для каждого поля, ячейки или параметра отдельно. Массово проблему решают через общий модуль с функцией форматирования, которую вызывают во всех местах вывода и выгрузки.