Разработка и Конфигурация · 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Определите реквизит, в котором хранится точка, и проверьте его на паре записей вручную
- 2Сделайте резервную копию базы или выгрузку затрагиваемых данных
- 3Выполните замену через СтрЗаменить на тестовой копии или на одной записи
- 4Проверьте результат: длину строки, отсутствие точек, корректность связанных данных
- 5Запустите обработку для всех записей и зафиксируйте количество изменённых объектов
Точка при загрузке и выгрузке данных
Частая ситуация — точки появляются при импорте из Excel или CSV: число «1 234.56» из файла может прочитаться как строка, и дальше точка «застревает» в реквизитах. Правильное решение — обрабатывать значение в момент загрузки: сначала убрать пробелы и заменить разделитель, потом преобразовывать в число:
СтрокаИзФайла = СтрЗаменить(СтрокаИзФайла, " ", "");
СтрокаИзФайла = СтрЗаменить(СтрокаИзФайла, ",", ".");
ЧислоИзФайла = Число(СтрокаИзФайла);
При выгрузке во внешние системы действует зеркальное правило: преобразуйте значение в требуемый вид непосредственно перед записью в файл или передачей по API. Не изменяйте данные в базе ради одного обмена — формат приёмника может поменяться, и придётся откатывать правки.
Типичные ошибки и ограничения
Самая распространённая ошибка — путать точку и запятую как разделитель дробной части. В текстовом представлении числа разделитель зависит от региональных настроек, поэтому код, написанный под точку, может не сработать на другом компьютере. Надёжнее работать с типом Число и форматировать его явно, чем вырезать символы из строки.
Вторая ошибка — удаление точек из номеров документов без проверки уникальности. Номера «10.1» и «101» после удаления точки совпадут, что создаст конфликты при нумерации и поиске. Третья — попытка изменить формат отображения там, где точка хранится в данных: настройка формата в этом случае ничего не даст, и наоборот.
Проверка результата
После любой обработки убедитесь, что точки действительно нет и данные не пострадали. Для строковых реквизитов выполните запрос с условием ГДЕ Реквизит ПОДОБНО "%.%" — он покажет записи, где точка осталась. Для чисел и дат проверьте представление в списке, в печатной форме и в выгруженном файле: все три места могут использовать разные настройки формата.
Дополнительно сверьте количество обработанных записей с ожидаемым и просмотрите несколько случайных объектов вручную. Если значения участвуют в обменах, запустите тестовую синхронизацию и убедитесь, что приёмник корректно распознаёт данные без точек.
Как проверить результат
Пустой результат — точек не осталось
Записи найдены — обработка прошла не полностью
Значения отображаются без точек
Точка видна — проблема в форматной строке
Приёмник принимает файл без ошибок
Ошибки формата — неверное преобразование
Совпадает с числом записей, содержавших точку
Расхождение — часть записей пропущена или затронута лишняя
Частые вопросы
Как убрать точку в числе без программирования?
Если речь об отображении, откройте свойства поля в конфигураторе или настройки формы и задайте форматную строку с нулевой точностью (ЧДЦ=0). В пользовательском режиме типовых конфигураций формат отдельных полей обычно не настраивается — потребуется доработка или внешняя обработка.
Почему СтрЗаменить не убирает точку из числа?
СтрЗаменить работает только со строками. Число сначала преобразуйте в строку функцией Формат или Строка(), либо сразу отформатируйте число в нужном виде — это корректнее, чем вырезать символы.
Как убрать точки из даты в печатной форме?
В модуле менеджера печати или в макете замените вывод даты на Формат(Дата, "ДФ=ddMMyyyy") либо задайте нужный шаблон в параметрах области макета. Сама дата в документе при этом не меняется.
Можно ли убрать точки сразу у всех элементов справочника?
Да, через обработку «Групповое изменение реквизитов» с произвольным алгоритмом, где применяется СтрЗаменить, либо собственной обработкой с запросом и циклом. Перед запуском сделайте резервную копию и проверьте результат на нескольких записях.
Что делать, если после удаления точек перестал работать обмен с сайтом?
Значит, удалённый символ использовался как часть ключа синхронизации. Восстановите данные из резервной копии и перенесите преобразование на этап выгрузки: база хранит исходные значения, а обмен получает очищенные.
Как убрать точку в запросе 1С?
В языке запросов нет прямого аналога СтрЗаменить для произвольной замены. Обычно выбирают данные запросом, а замену выполняют при обходе выборки в коде. Для поиска записей с точкой используйте условие ПОДОБНО "%.%".
Что важно запомнить
Точка убирается двумя путями: настройкой формата, если она существует только в представлении значения, и функцией СтрЗаменить, если она хранится в данных. Перед групповой обработкой делайте резервную копию, проверяйте результат запросом с ПОДОБНО и не изменяйте данные в базе ради разового обмена — преобразуйте значения при выгрузке.