К статье
Практический материал

Разработка и Конфигурация · 10 мин

Как убрать точку в 1С: рабочие способы для чисел, дат и строк

Практические способы убрать точку в 1С: в числах, датах, артикулах и строках. Настройка формата, функции СтрЗаменить и Формат, типичные ошибки и проверка результата.

Точка в 1С появляется в самых разных местах: как разделитель дробной части в числах, как разделитель дня, месяца и года в датах, как часть артикула, кода или наименования, загруженного из внешнего файла. Универсальной кнопки «убрать точку» нет — способ зависит от того, где именно стоит точка и что с ней нужно сделать: удалить совсем, заменить другим символом или изменить отображение, не трогая сами данные.

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

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

Определяем, где именно стоит точка

Прежде чем что-то менять, выясните природу точки. Откройте элемент справочника или документ и посмотрите на значение в режиме редактирования: если в поле ввода точки нет, а в списке или печатной форме она появляется — это вопрос формата отображения. Если точка видна прямо в поле ввода — она хранится в данных.

Типичные места, где точка мешает пользователям: дробная часть чисел при выгрузке в Excel или в другую учётную систему, даты в формате «дд.мм.гггг» при обмене с программами, ожидающими «ддммгггг», артикулы поставщиков вида «AB.12.34», коды номенклатуры с точками после обмена с сайтом, наименования, загруженные из прайсов.

Точка только в печатной формеПроблема формата отображения

Настройка форматной строки поля или макета

Точка видна в поле вводаТочка хранится в данных

Потребуется замена символа в значении

Точка появилась после загрузки файлаОсобенность источника данных

Обработка строки при импорте или после него

Точка мешает обмену с другой системойТребование формата приёмника

Преобразование значения на этапе выгрузки

Убираем точку из числа через формат

Число в 1С хранится без каких-либо разделителей — точка появляется только при отображении дробной части. Если нужно показать число без точки, есть два подхода: отобразить целую часть, отбросив дробную, или вывести число как строку без разделителя.

Для отображения только целой части используйте форматную строку. В свойствах поля формы в параметре «Формат» укажите, например, ЧЦ=10; ЧДЦ=0 — число будет показано без дробной части и, соответственно, без точки. Программно тот же результат даёт функция:

СтрокаБезТочки = Формат(Сумма, "ЧЦ=15; ЧДЦ=0");

Если нужно сохранить дробную часть, но убрать саму точку (например, для выгрузки суммы в копейках), умножьте число на 100 и отформатируйте как целое: Формат(Сумма * 100, "ЧЦ=15; ЧДЦ=0; ЧГ=0"). Параметр ЧГ=0 дополнительно убирает разделители групп разрядов, чтобы не осталось пробелов.

Убираем точки из даты

Дата в 1С — отдельный тип данных, и точки в ней существуют только в строковом представлении. Стандартное отображение «дд.мм.гггг» легко заменить на любой другой вид функцией Формат с параметром ДФ:

ДатаБезТочек = Формат(ТекущаяДата(), "ДФ=ddMMyyyy");

// Результат: 15032026

Для форматной строки доступны и другие шаблоны: ДФ=dd-MM-yyyy даст разделитель-дефис, ДФ="dd MM yyyy" — пробелы. Полный список шаблонов указан в синтакс-помощнике по функции Формат. Учитывайте, что шаблон чувствителен к регистру: MM — месяц, а mm — минуты.

Если дата уже хранится как строка с точками (например, пришла из текстового файла), сначала преобразуйте её в тип Дата функцией Дата() или разбором строки, а затем отформатируйте. Работать с датой как со строкой и вырезать точки вручную — допустимо, но менее надёжно: при смене формата региональных настроек строка может выглядеть иначе.

Убираем точку из строки: СтрЗаменить и её аналоги

Когда точка физически входит в строку — артикул, код, наименование, номер документа — основной инструмент это функция СтрЗаменить. Она заменяет все вхождения подстроки:

АртикулЧистый = СтрЗаменить(Артикул, ".", "");

// "AB.12.34" превратится в "AB1234"

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

В запросах аналогичную задачу решает функция языка запросов ПОДСТРОКА в сочетании с поиском, но проще использовать специализированную замену, если она доступна в вашей версии платформы, либо выполнить замену уже в выборке при обходе результата запроса. Для разовой чистки нескольких записей удобна обработка «Групповое изменение реквизитов» (в типовых конфигурациях — раздел «Администрирование» → «Обслуживание»), где для строкового реквизита можно задать произвольный алгоритм с той же СтрЗаменить.

Порядок действий для строковых данных
  1. 1
    Определите реквизит, в котором хранится точка, и проверьте его на паре записей вручную
  2. 2
    Сделайте резервную копию базы или выгрузку затрагиваемых данных
  3. 3
    Выполните замену через СтрЗаменить на тестовой копии или на одной записи
  4. 4
    Проверьте результат: длину строки, отсутствие точек, корректность связанных данных
  5. 5
    Запустите обработку для всех записей и зафиксируйте количество изменённых объектов

Точка при загрузке и выгрузке данных

Частая ситуация — точки появляются при импорте из Excel или CSV: число «1 234.56» из файла может прочитаться как строка, и дальше точка «застревает» в реквизитах. Правильное решение — обрабатывать значение в момент загрузки: сначала убрать пробелы и заменить разделитель, потом преобразовывать в число:

СтрокаИзФайла = СтрЗаменить(СтрокаИзФайла, " ", "");

СтрокаИзФайла = СтрЗаменить(СтрокаИзФайла, ",", ".");

ЧислоИзФайла = Число(СтрокаИзФайла);

При выгрузке во внешние системы действует зеркальное правило: преобразуйте значение в требуемый вид непосредственно перед записью в файл или передачей по API. Не изменяйте данные в базе ради одного обмена — формат приёмника может поменяться, и придётся откатывать правки.

Типичные ошибки и ограничения

Самая распространённая ошибка — путать точку и запятую как разделитель дробной части. В текстовом представлении числа разделитель зависит от региональных настроек, поэтому код, написанный под точку, может не сработать на другом компьютере. Надёжнее работать с типом Число и форматировать его явно, чем вырезать символы из строки.

Вторая ошибка — удаление точек из номеров документов без проверки уникальности. Номера «10.1» и «101» после удаления точки совпадут, что создаст конфликты при нумерации и поиске. Третья — попытка изменить формат отображения там, где точка хранится в данных: настройка формата в этом случае ничего не даст, и наоборот.

Типичные ошибки
01
Удаление точки из строки, которая на самом деле является числом — лучше привести к типу Число и отформатировать
02
Групповая замена без резервной копии — при ошибке восстановить исходные значения будет нечем
03
Удаление точек из номеров и кодов без проверки совпадений — возникают дубли и потеря связей
04
Правка данных в базе ради одного обмена — правильнее преобразовывать значение при выгрузке

Проверка результата

После любой обработки убедитесь, что точки действительно нет и данные не пострадали. Для строковых реквизитов выполните запрос с условием ГДЕ Реквизит ПОДОБНО "%.%" — он покажет записи, где точка осталась. Для чисел и дат проверьте представление в списке, в печатной форме и в выгруженном файле: все три места могут использовать разные настройки формата.

Дополнительно сверьте количество обработанных записей с ожидаемым и просмотрите несколько случайных объектов вручную. Если значения участвуют в обменах, запустите тестовую синхронизацию и убедитесь, что приёмник корректно распознаёт данные без точек.

Контрольные точки

Как проверить результат

Запрос с ПОДОБНО "%.%" по реквизиту
Норма

Пустой результат — точек не осталось

Тревожный признак

Записи найдены — обработка прошла не полностью

Печатная форма и список
Норма

Значения отображаются без точек

Тревожный признак

Точка видна — проблема в форматной строке

Выгрузка во внешнюю систему
Норма

Приёмник принимает файл без ошибок

Тревожный признак

Ошибки формата — неверное преобразование

Количество изменённых записей
Норма

Совпадает с числом записей, содержавших точку

Тревожный признак

Расхождение — часть записей пропущена или затронута лишняя

Частые вопросы

Как убрать точку в числе без программирования?

Если речь об отображении, откройте свойства поля в конфигураторе или настройки формы и задайте форматную строку с нулевой точностью (ЧДЦ=0). В пользовательском режиме типовых конфигураций формат отдельных полей обычно не настраивается — потребуется доработка или внешняя обработка.

Почему СтрЗаменить не убирает точку из числа?

СтрЗаменить работает только со строками. Число сначала преобразуйте в строку функцией Формат или Строка(), либо сразу отформатируйте число в нужном виде — это корректнее, чем вырезать символы.

Как убрать точки из даты в печатной форме?

В модуле менеджера печати или в макете замените вывод даты на Формат(Дата, "ДФ=ddMMyyyy") либо задайте нужный шаблон в параметрах области макета. Сама дата в документе при этом не меняется.

Можно ли убрать точки сразу у всех элементов справочника?

Да, через обработку «Групповое изменение реквизитов» с произвольным алгоритмом, где применяется СтрЗаменить, либо собственной обработкой с запросом и циклом. Перед запуском сделайте резервную копию и проверьте результат на нескольких записях.

Что делать, если после удаления точек перестал работать обмен с сайтом?

Значит, удалённый символ использовался как часть ключа синхронизации. Восстановите данные из резервной копии и перенесите преобразование на этап выгрузки: база хранит исходные значения, а обмен получает очищенные.

Как убрать точку в запросе 1С?

В языке запросов нет прямого аналога СтрЗаменить для произвольной замены. Обычно выбирают данные запросом, а замену выполняют при обходе выборки в коде. Для поиска записей с точкой используйте условие ПОДОБНО "%.%".

Итог

Что важно запомнить

Точка убирается двумя путями: настройкой формата, если она существует только в представлении значения, и функцией СтрЗаменить, если она хранится в данных. Перед групповой обработкой делайте резервную копию, проверяйте результат запросом с ПОДОБНО и не изменяйте данные в базе ради разового обмена — преобразуйте значения при выгрузке.