Отображение лишних знаков после запятой в 1С:Предприятие — одна из самых распространённых проблем, с которой сталкиваются и бухгалтеры, и кладовщики, и программисты. Цифры вроде 1 000,00 вместо 1 000 или 3,14159265 вместо 3,14 не просто портят внешний вид отчётов, но и усложняют восприятие данных. В некоторых случаях дробная часть вообще не нужна: например, при работе с целочисленными показателями (количество штук товара, дни отпуска, целочисленные коды).

В этой статье разберём все возможные способы удаления цифр после запятой — от элементарных настроек формата ячеек до программного округления с помощью встроенного языка. Методы работают в большинстве конфигураций: 1С:Бухгалтерия 8.3, 1С:Зарплата и Управление Персоналом, 1С:Управление Торговлей, 1С:ERP и других. Важно: некоторые решения требуют прав администратора или доступа к конфигуратору.

Если вы не программист, начните с первых трёх разделов — там описаны способы без кода. Разработчикам пригодятся разделы про округление в запросах и программную обработку данных.

📊 С какой конфигурацией 1С вы работаете?
1С:Бухгалтерия
1С:Зарплата и Управление Персоналом
1С:Управление Торговлей
1С:ERP
Другая конфигурация

1. Настройка формата ячейки в отчётах и печатных формах

Самый простой способ скрыть дробную часть — изменить формат отображения числа непосредственно в отчёте или печатной форме. Этот метод не влияет на сами данные (они остаются в базе с дробной частью), но визуально убирает ненужные знаки.

Как это сделать:

  1. Откройте нужный отчёт или печатную форму.
  2. Кликните правой кнопкой мыши по ячейке с числом и выберите Формат (или Свойства, если работаете в конструкторе).
  3. В окне формата найдите вкладку Число и выберите вариант Числовой или Целый.
  4. Установите количество десятичных знаков равным 0.
  5. Сохраните изменения и обновите отчёт.

Плюсы метода:

  • 🔹 Не требует прав администратора или доступа к конфигуратору.
  • 🔹 Мгновенный результат — изменения применяются сразу.
  • 🔹 Не затрагивает исходные данные в базе.

Минусы:

  • 🚫 При экспорте в Excel или другие форматы дробная часть может снова появиться.
  • 🚫 Не подходит, если нужно физически округлить данные (например, для расчётов).
💡

Если в отчёте много колонок с числами, используйте функцию "Копировать формат" (значок кисти в панели инструментов), чтобы быстро применить настройки ко всем ячейкам.

2. Изменение формата поля в справочниках и документах

Если проблема с отображением дробной части возникает в карточках справочников (например, цены номенклатуры) или документах (количество товара), можно изменить формат непосредственно в свойствах реквизита.

Инструкция:

  1. Перейдите в режим Конфигуратор (требуются права администратора).
  2. Найдите нужный справочник или документ в дереве объектов.
  3. Откройте свойства реквизита, который хранит число (например, Цена или Количество).
  4. В поле Формат укажите:
    ЧДЦ=0; ЧГ=0

    где ЧДЦ — количество десятичных знаков, ЧГ — количество групп разрядов.

  5. Сохраните конфигурацию и обновите базу.

🔹 Пример формата для целого числа без разделителей тысяч:

ЧДЦ=0; ЧГ=0; НЧ=

🔹 Пример формата для целого числа с разделителями:

ЧДЦ=0; ЧГ=3; НЧ=
Что делать, если нет прав на конфигуратор?

Если у вас нет доступа к конфигуратору, попробуйте:

1. Обратиться к администратору 1С с просьбой изменить формат.

2. Использовать пользовательские настройки отчётов (раздел 1 этой статьи).

3. Экспортировать данные в Excel и отформатировать их там (временное решение).

3. Округление в запросах (для программистов и продвинутых пользователей)

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

📌 1. Функция Окр() — классическое округление:

Окр(Число, КоличествоЗнаков)

Пример округления до целого числа:

Окр(СуммаДокумента / КурсВалюты, 0)

📌 2. Функция Цел() — отбрасывание дробной части (округление вниз):

Цел(Число)

Пример:

Цел(123.99)  // Вернёт 123

📌 3. Математическое округление через Формат():

Формат(Число, "ЧДЦ=0")

Этот способ не меняет само число, а только его отображение (аналог раздела 1).

⚠️ Внимание:

Использование Окр() или Цел() в запросах может привести к потере точности в финансовых расчётах. Например, если вы округляете сумму налога до целого числа, итоговая сумма документа может не сходиться с расчётами вручную. Всегда проверяйте результаты на тестовых данных!

4. Настройка округления в параметрах учётной политики

В некоторых конфигурациях (например, 1С:Бухгалтерия 8.3) дробная часть появляется из-за настроек учётной политики. Например, при работе с валютными операциями или расчётом себестоимости.

Как проверить и изменить:

  1. Перейдите в раздел Главное → Настройки → Учётная политика.
  2. Найдите вкладку Валюта или Прочие настройки.
  3. Проверьте параметры:
    • 🔸 Точность округления валютных сумм — установите 0.
    • 🔸 Округлять суммы документов до — выберите 1 (целая часть).
  4. Сохраните изменения и перепроведите документы.
  5. ⚠️ Внимание:

    Изменение учётной политики может повлиять на ранее проведённые документы. Рекомендуется создать резервную копию базы перед массовыми изменениями или протестировать настройку на копии рабочей базы.

    Создать резервную копию базы

    Проверить текущие настройки округления

    Оценить влияние на закрытые периоды

    Протестировать изменения на тестовой базе

    Согласовать с бухгалтерией (если речь о финансовых данных)

    -->

    5. Программное округление в модулях и обработках

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

    📌 Пример кода для округления цены до целого числа:

    Процедура ПередЗаписью(Отказ)
    

    ЭтотОбъект.Цена = Окр(ЭтотОбъект.Цена, 0);

    КонецПроцедуры

    📌 Пример для округления количества в документе:

    Процедура ОбработкаПроводки(Движение, Отказ)
    

    Движение.Количество = Окр(Движение.Количество, 0);

    КонецПроцедуры

    🔹 Где размещать код:

    Объект Событие Пример использования
    Справочник Номенклатура ПередЗаписью Округление цены или веса
    Документ РеализацияТоваровУслуг ОбработкаПроводки Округление количества или суммы
    Регистр накопления ТоварыНаСкладах ПриЗаписи Контроль целочисленных остатков

    ⚠️ Внимание:

    Округление в модулях может привести к расхождениям с данными в связанных документах. Например, если вы округляете количество в документе реализации, но не меняете количество в счёте-фактуре, возникнет несоответствие. Всегда проверяйте цепочку связанных документов!

    6. Округление при обмене данными и выгрузке в Excel

    Если дробная часть появляется при экспорте данных (например, в Excel или XML), используйте следующие приёмы:

    🔹 1. Округление в запросе выгрузки:

    ВЫБРАТЬ
    

    Окр(Сумма, 0) КАК СуммаЦелая

    ИЗ

    Документ.РеализацияТоваровУслуг

    🔹 2. Настройка формата в 1С:Предприятие перед выгрузкой:

    • 📊 Откройте отчёт или обработку выгрузки.
    • 📊 Найдите колонку с числом и измените её формат на ЧДЦ=0.
    • 📊 Выгрузите данные заново.

    🔹 3. Округление в Excel после выгрузки:

    • 📑 Выделите колонку с числами.
    • 📑 Нажмите Ctrl + 1 (Формат ячеек).
    • 📑 Выберите формат Числовой с 0 десятичных знаков.
💡

Если выгружаемые данные используются для дальнейших расчётов (например, в аналитике), лучше округлить их непосредственно в 1С, а не в Excel. Это исключит ошибки из-за разницы в методах округления.

7. Особенности работы с валютами и курсами

При работе с валютами дробная часть часто появляется из-за курсов валют, которые могут иметь до 4–6 знаков после запятой. Чтобы избежать лишних знаков:

🔹 1. Настройте точность курса валюты:

  1. Перейдите в Справочники → Валюты.
  2. Откройте карточку нужной валюты (например, доллар или евро).
  3. Установите параметр Точность курса в 0 или 2 (в зависимости от требований).

🔹 2. Используйте округление в валюте базового учёта:

СуммаВРублях = Окр(СуммаВВалюте * Курс, 0);

🔹 3. Проверьте настройки плана счетов**:

  • 💰 Откройте Главное → План счетов.
  • 💰 Найдите счета, связанные с валютными операциями (например, 52 "Валютные счета").
  • 💰 Убедитесь, что в свойствах счёта установлен флаг Валютный учёт и корректная точность.

⚠️ Внимание:

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

8. Частые ошибки и как их избежать

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

🔴 Ошибка 1: "Число не помещается в формат"

  • 🔸 Причина: Попытка сохранить дробное число в поле с форматом ЧДЦ=0, но без округления.
  • 🔸 Решение: Используйте Окр() перед сохранением или измените тип поля на Число(10,2).

🔴 Ошибка 2: Расхождения в отчётах после округления

  • 🔸 Причина: Округление в одном документе не синхронизировано с другими (например, округлили количество в реализации, но не в счёте-фактуре).
  • 🔸 Решение: Настройте автоматическое округление во всех связанных документах или используйте обработку проводок.

🔴 Ошибка 3: Дробная часть возвращается после обновления 1С

  • 🔸 Причина: Обновление конфигурации сбросило пользовательские настройки формата.
  • 🔸 Решение: Зафиксируйте настройки в расширении конфигурации или перенесите их в отдельную обработку.

🔴 Ошибка 4: Не работает Окр() в запросе

  • 🔸 Причина: Функция Окр() не поддерживается в некоторых версиях платформы для полей с типом ЧислоФракция.
  • 🔸 Решение: Преобразуйте поле к типу Число с помощью ВЫРАЗИТЬ():
    Окр(ВЫРАЗИТЬ(Поле КАК ЧИСЛО(15,2)), 0)
💡

Если после округления суммы документа не сходятся с итогами, проверьте настройку "Контролировать остатки" в параметрах учёта. Иногда система блокирует округление из-за строгого контроля баланса.

FAQ: Ответы на частые вопросы

Можно ли убрать цифры после запятой только в печатной форме, не меняя данные в базе?

Да, это самый безопасный способ. Откройте печатную форму в режиме редактирования, выделите ячейку с числом и установите формат ЧДЦ=0 (раздел 1 этой статьи). Данные в базе останутся без изменений.

Почему после округления цены в справочнике она снова становится дробной?

Скорее всего, цена пересчитывается автоматически (например, по формуле или при загрузке из внешнего источника). Проверьте:

  • 🔹 Настройки видов цен (может быть включено автоматическое округление).
  • 🔹 Обработки заполнения документов (возможно, там прописан пересчёт).

Решение: добавьте округление в модуль объекта (раздел 5).

Как округлить сумму налога (НДС) до целого числа без ошибок?

Округление налогов может привести к расхождениям с декларацией. Рекомендуем:

  1. Использовать функцию Окр() только для отображения (через формат).
  2. Для реального округления применять методы, согласованные с налоговой политикой (например, округление в большую сторону).
  3. Проконсультироваться с бухгалтером перед массовым изменением документов.

Можно ли настроить автоматическое округление для всех новых документов?

Да, для этого нужно:

  1. Создать обработку заполнения для документа с округлением полей.
  2. Либо прописть округление в модуле документа (процедура ПередЗаписью).
  3. Для массового применения используйте регламентное задание.

Пример кода для автоматического округления количества в документе:

Процедура ПередЗаписью(Отказ)

Для Каждого Строка Из Товары Цикл

Строка.Количество = Окр(Строка.Количество, 0);

КонецЦикла;

КонецПроцедуры

Почему в отчёте по-прежнему отображаются нули после запятой (1000,00), хотя я установил ЧДЦ=0?

Вероятно, формат ячейки переопределяется на уровне макета отчёта или стиля оформления. Проверьте:

  • 🔹 Настройки условного оформления в отчёте.
  • 🔹 Параметры стиля ячейки (иногда там прописан фиксированный формат).
  • 🔹 Наличие обработки результата в модуле отчёта (может программно менять формат).

Решение: отключите условное оформление или правьте макет в конфигураторе.