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

Отчеты и Аналитика · 9 мин

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

Разбираем, как вывести 0 в отчете 1С: настройка варианта отчета, СКД, параметры отображения пустых значений, формулы и типичные ошибки при работе с нулями.

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

Способ вывести 0 зависит от того, какой у вас доступ к отчету: только пользовательские настройки, режим «Изменить вариант» или доработка запроса в конфигураторе. Ниже разобраны все уровни — от простого переключателя в настройках до формул в СКД, а также ситуации, когда ноль не появляется из-за самих данных, а не из-за отображения.

Почему ноль не отображается в отчете 1С

В типовых отчетах, построенных на СКД (оборотно-сальдовая ведомость, анализ счета, ведомости по товарам и партиям), действует правило: если значение ресурса равно нулю или отсутствует, ячейка выводится пустой. Это сделано намеренно — сотни нулей в строках и колонках затрудняют визуальное восприятие.

Важно различать две ситуации. Первая — значение в данных есть и равно нулю, но СКД его скрывает. Это решается настройками отображения. Вторая — в выборке вообще нет строки с этим сочетанием измерений (например, по складу не было движений, и строка просто не попала в запрос). Тогда никакая настройка отображения не поможет: нужно менять запрос, добавлять левое соединение с периодами или справочником.

Ячейки пустые, строки естьЗначение равно нулю, но скрыто

Решается настройкой отображения или форматом поля

Строки отсутствуют вовсеВ запросе нет данных по этому измерению

Нужна доработка запроса: левое соединение, дополнение периодов

Ноль есть, но Excel видит пустоОтображение настроено, формат выгрузки текстовый

Проверить формат поля и тип значения при выгрузке

Вывод нуля через настройки варианта отчета

Самый простой способ доступен без прав администратора и без изменения конфигурации. Откройте отчет, нажмите кнопку «Настройки» (или «Еще» → «Изменить вариант») и перейдите на вкладку с параметрами вывода. Во многих типовых отчетах есть параметр «Выводить нулевые значения», «Показывать нулевые обороты» или аналогичный — его нужно включить.

В оборотно-сальдовой ведомости и отчетах по счетам обратите внимание на отдельные переключатели для сальдо и оборотов: иногда нулевые обороты выводятся отдельной настройкой от нулевых остатков. После изменения параметра нажмите «Сформировать» и проверьте, появились ли нули в нужных колонках.

Порядок действий в пользовательском режиме
  1. 1
    Откройте отчет и нажмите «Настройки» или «Еще» → «Изменить вариант»
  2. 2
    Найдите параметр «Выводить нулевые значения» / «Показывать нулевые обороты» и включите его
  3. 3
    Проверьте отдельные настройки для остатков и оборотов, если они есть
  4. 4
    Нажмите «Сформировать» и убедитесь, что вместо пустых ячеек отображается 0
  5. 5
    Сохраните вариант отчета, чтобы настройка применялась при следующих запусках

Если отчет нужен регулярно, сохраните измененный вариант под отдельным именем — тогда не придется каждый раз заходить в настройки. Сохраненный вариант можно сделать доступным другим пользователям, если у вас есть соответствующие права.

Настройка формата поля в СКД

Когда стандартного переключателя нет, помогает формат поля. В режиме «Изменить вариант» перейдите на вкладку «Пользовательские поля» или найдите нужное поле в списке выбранных полей, откройте его оформление и задайте форматную строку. В форматной строке 1С за представление нуля отвечает параметр ЧН: например, ЧН=0 выводит ноль вместо пустого значения.

Полная форматная строка может выглядеть так: ЧЦ=15; ЧДЦ=2; ЧН=0. Здесь задается общая длина числа, количество знаков после запятой и представление нуля. Формат применяется только к отображению — сами данные не изменяются, поэтому способ безопасен и не влияет на расчеты.

Вывод нуля через ЕСТЬNULL в запросе и выражениях СКД

Если у вас есть доступ к конфигуратору или к расширенному редактированию схемы компоновки, самый надежный способ — заменить NULL на ноль на уровне данных. В языке запросов 1С для этого служит функция ЕСТЬNULL(Поле, 0). Она возвращает значение поля, а если оно NULL — подставляет указанную замену.

Типичный пример в запросе: ЕСТЬNULL(Обороты.СуммаОборот, 0) КАК СуммаОборот. Это особенно важно при левых соединениях, когда для части строк основной таблицы нет соответствия в присоединяемой: без ЕСТЬNULL в этих строках будет NULL, который в отчете выглядит как пусто и ломает арифметику в вычисляемых полях.

В вычисляемых полях СКД (вкладка «Вычисляемые поля») аналогично используйте выражение вида ЕстьNull(Сумма, 0). Учтите, что в выражениях СКД синтаксис слегка отличается от языка запросов, и проверять результат нужно формированием отчета, а не только валидацией выражения.

bsl
ВЫБРАТЬ
	Обороты.Номенклатура КАК Номенклатура,
	ЕСТЬNULL(Обороты.КоличествоОборот, 0) КАК Количество,
	ЕСТЬNULL(Обороты.СуммаОборот, 0) КАК Сумма
ИЗ
	РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК Обороты

Когда строки с нулями отсутствуют в данных

Частая ситуация: отчет по продажам за период, и нужно, чтобы по каждому месяцу и каждому товару стоял 0, даже если продаж не было. Настройки отображения здесь бессильны — строки просто нет в выборке. Решение — дополнить запрос всеми нужными комбинациями измерений.

Для периодов в СКД есть встроенный механизм «Дополнение периодов» на вкладке «Настройки» поля-периода: он добавляет пропущенные дни, недели или месяцы в указанном интервале. Для справочных измерений (номенклатура, склады, контрагенты) потребуется левое соединение с таблицей справочника, чтобы каждая позиция гарантированно попала в выборку, а обороты подставлялись через ЕСТЬNULL.

Маршрут решения

Как выбрать действие

Строки в отчете есть, но ячейки пустыеВключите вывод нулевых значений в настройках или задайте формат ЧН=0
Нужных строк нет вообщеДоработайте запрос: левое соединение со справочником и ЕСТЬNULL
Пропущены периоды без движенийИспользуйте дополнение периодов в настройках поля-периода СКД
Ноль пропадает в итогах или вычисляемых поляхОберните ресурсы в ЕСТЬNULL на уровне выражения ресурса

Проверка результата и типичные ошибки

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

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

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

Ячейки с нулевыми значениями
Норма

Отображается 0 или 0,00 по формату

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

Ячейки по-прежнему пустые

Итоги по группам
Норма

Суммы итогов не изменились после настройки

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

Итоги «поплыли» — вероятно, изменен запрос с ошибкой

Выгрузка в Excel
Норма

Нули выгружаются как числа

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

Нули текстом или пустые ячейки

Производительность
Норма

Отчет формируется в привычное время

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

Сильное замедление после добавления соединений

Типичные ошибки
01
Менять формат поля, когда строки нет в выборке — формат не создает отсутствующие строки, нужна доработка запроса
02
Забыть ЕСТЬNULL при левом соединении — в строках без соответствия остается NULL, и вычисляемые поля дают пусто
03
Применять ЕСТЬNULL только в запросе, но не в ресурсах СКД — итоги по группировкам снова теряют ноль
04
Сохранять измененный вариант поверх типового — при обновлении конфигурации настройки могут конфликтовать, лучше сохранять отдельным вариантом

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

FAQ

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

В сводных таблицах СКД нули в ячейках на пересечении измерений часто отсутствуют, потому что самой комбинации измерений нет в данных. Помогает дополнение измерений в запросе или использование ЕСТЬNULL для ресурсов совместно с полным набором строк измерений.

Как вывести ноль только в одной колонке, а в остальных оставить пусто?

Задайте форматную строку с параметром ЧН=0 только для нужного поля в настройках выбранных полей варианта. Формат применяется к конкретному полю и не влияет на остальные колонки отчета.

Повлияет ли вывод нулей на итоги отчета?

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

Как сделать, чтобы ноль выгружался в Excel как число?

Используйте ЕСТЬNULL на уровне данных и не добавляйте в форматную строку лишних символов (пробелов, единиц измерения). Числовое значение без текстового оформления выгружается в Excel как число и корректно участвует в дальнейших расчетах.

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

Да, если в типовом отчете есть параметр вывода нулевых значений или доступен режим «Изменить вариант» с настройкой формата полей. Доработка запроса с ЕСТЬNULL и соединениями уже требует доступа разработчика или расширения конфигурации.

Почему после включения настройки отчет стал формироваться дольше?

Сама настройка отображения почти не влияет на скорость. Замедление обычно вызвано доработкой запроса: левые соединения с большими справочниками и дополнение периодов увеличивают объем выборки. Ограничьте период и состав дополняемых измерений до действительно необходимых.

Итог

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

Пустые ячейки вместо нуля — это либо скрытое отображение (решается настройкой варианта или форматом ЧН=0), либо отсутствие строки в данных (решается ЕСТЬNULL, левыми соединениями и дополнением периодов). Сначала определите, какой у вас случай, затем применяйте соответствующий способ и проверяйте итоги и выгрузку в Excel.