Отчеты и Аналитика · 9 мин
Как вывести ноль в отчете 1С: практическое руководство
Разбираем, как вывести 0 в отчете 1С: настройка варианта отчета, СКД, параметры отображения пустых значений, формулы и типичные ошибки при работе с нулями.
Пустые ячейки вместо нулей — стандартное поведение большинства отчетов 1С. Система компоновки данных (СКД) по умолчанию не выводит нулевые значения ресурсов, чтобы отчет не был перегружен неинформативными цифрами. Но для управленческой отчетности, сверок и выгрузок в Excel нули часто обязательны: пустая ячейка при дальнейшей обработке может трактоваться как отсутствие данных, а не как нулевое значение.
Способ вывести 0 зависит от того, какой у вас доступ к отчету: только пользовательские настройки, режим «Изменить вариант» или доработка запроса в конфигураторе. Ниже разобраны все уровни — от простого переключателя в настройках до формул в СКД, а также ситуации, когда ноль не появляется из-за самих данных, а не из-за отображения.
Почему ноль не отображается в отчете 1С
В типовых отчетах, построенных на СКД (оборотно-сальдовая ведомость, анализ счета, ведомости по товарам и партиям), действует правило: если значение ресурса равно нулю или отсутствует, ячейка выводится пустой. Это сделано намеренно — сотни нулей в строках и колонках затрудняют визуальное восприятие.
Важно различать две ситуации. Первая — значение в данных есть и равно нулю, но СКД его скрывает. Это решается настройками отображения. Вторая — в выборке вообще нет строки с этим сочетанием измерений (например, по складу не было движений, и строка просто не попала в запрос). Тогда никакая настройка отображения не поможет: нужно менять запрос, добавлять левое соединение с периодами или справочником.
Решается настройкой отображения или форматом поля
Нужна доработка запроса: левое соединение, дополнение периодов
Проверить формат поля и тип значения при выгрузке
Вывод нуля через настройки варианта отчета
Самый простой способ доступен без прав администратора и без изменения конфигурации. Откройте отчет, нажмите кнопку «Настройки» (или «Еще» → «Изменить вариант») и перейдите на вкладку с параметрами вывода. Во многих типовых отчетах есть параметр «Выводить нулевые значения», «Показывать нулевые обороты» или аналогичный — его нужно включить.
В оборотно-сальдовой ведомости и отчетах по счетам обратите внимание на отдельные переключатели для сальдо и оборотов: иногда нулевые обороты выводятся отдельной настройкой от нулевых остатков. После изменения параметра нажмите «Сформировать» и проверьте, появились ли нули в нужных колонках.
- 1Откройте отчет и нажмите «Настройки» или «Еще» → «Изменить вариант»
- 2Найдите параметр «Выводить нулевые значения» / «Показывать нулевые обороты» и включите его
- 3Проверьте отдельные настройки для остатков и оборотов, если они есть
- 4Нажмите «Сформировать» и убедитесь, что вместо пустых ячеек отображается 0
- 5Сохраните вариант отчета, чтобы настройка применялась при следующих запусках
Если отчет нужен регулярно, сохраните измененный вариант под отдельным именем — тогда не придется каждый раз заходить в настройки. Сохраненный вариант можно сделать доступным другим пользователям, если у вас есть соответствующие права.
Настройка формата поля в СКД
Когда стандартного переключателя нет, помогает формат поля. В режиме «Изменить вариант» перейдите на вкладку «Пользовательские поля» или найдите нужное поле в списке выбранных полей, откройте его оформление и задайте форматную строку. В форматной строке 1С за представление нуля отвечает параметр ЧН: например, ЧН=0 выводит ноль вместо пустого значения.
Полная форматная строка может выглядеть так: ЧЦ=15; ЧДЦ=2; ЧН=0. Здесь задается общая длина числа, количество знаков после запятой и представление нуля. Формат применяется только к отображению — сами данные не изменяются, поэтому способ безопасен и не влияет на расчеты.
Вывод нуля через ЕСТЬNULL в запросе и выражениях СКД
Если у вас есть доступ к конфигуратору или к расширенному редактированию схемы компоновки, самый надежный способ — заменить NULL на ноль на уровне данных. В языке запросов 1С для этого служит функция ЕСТЬNULL(Поле, 0). Она возвращает значение поля, а если оно NULL — подставляет указанную замену.
Типичный пример в запросе: ЕСТЬNULL(Обороты.СуммаОборот, 0) КАК СуммаОборот. Это особенно важно при левых соединениях, когда для части строк основной таблицы нет соответствия в присоединяемой: без ЕСТЬNULL в этих строках будет NULL, который в отчете выглядит как пусто и ломает арифметику в вычисляемых полях.
В вычисляемых полях СКД (вкладка «Вычисляемые поля») аналогично используйте выражение вида ЕстьNull(Сумма, 0). Учтите, что в выражениях СКД синтаксис слегка отличается от языка запросов, и проверять результат нужно формированием отчета, а не только валидацией выражения.
ВЫБРАТЬ
Обороты.Номенклатура КАК Номенклатура,
ЕСТЬNULL(Обороты.КоличествоОборот, 0) КАК Количество,
ЕСТЬNULL(Обороты.СуммаОборот, 0) КАК Сумма
ИЗ
РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ОборотыКогда строки с нулями отсутствуют в данных
Частая ситуация: отчет по продажам за период, и нужно, чтобы по каждому месяцу и каждому товару стоял 0, даже если продаж не было. Настройки отображения здесь бессильны — строки просто нет в выборке. Решение — дополнить запрос всеми нужными комбинациями измерений.
Для периодов в СКД есть встроенный механизм «Дополнение периодов» на вкладке «Настройки» поля-периода: он добавляет пропущенные дни, недели или месяцы в указанном интервале. Для справочных измерений (номенклатура, склады, контрагенты) потребуется левое соединение с таблицей справочника, чтобы каждая позиция гарантированно попала в выборку, а обороты подставлялись через ЕСТЬNULL.
Как выбрать действие
Проверка результата и типичные ошибки
После настройки сформируйте отчет и проверьте три вещи: нули появились в нужных колонках, итоги по группировкам не изменились (отображение не должно влиять на суммы), выгрузка в Excel сохраняет нули как числа, а не как текст или пустые ячейки. Если в Excel ноль выгружается текстом, проверьте формат поля — лишние символы в форматной строке могут превращать число в строку.
Как проверить результат
Отображается 0 или 0,00 по формату
Ячейки по-прежнему пустые
Суммы итогов не изменились после настройки
Итоги «поплыли» — вероятно, изменен запрос с ошибкой
Нули выгружаются как числа
Нули текстом или пустые ячейки
Отчет формируется в привычное время
Сильное замедление после добавления соединений
Еще одна ошибка — ожидать, что настройка отображения нулей сработает в печатной форме или при программном формировании отчета. Пользовательские настройки варианта действуют только в интерактивном режиме; если отчет формируется кодом, параметры нужно передавать программно или зашивать в схему.
FAQ
Почему в сводной таблице нули не выводятся, хотя настройка включена?
В сводных таблицах СКД нули в ячейках на пересечении измерений часто отсутствуют, потому что самой комбинации измерений нет в данных. Помогает дополнение измерений в запросе или использование ЕСТЬNULL для ресурсов совместно с полным набором строк измерений.
Как вывести ноль только в одной колонке, а в остальных оставить пусто?
Задайте форматную строку с параметром ЧН=0 только для нужного поля в настройках выбранных полей варианта. Формат применяется к конкретному полю и не влияет на остальные колонки отчета.
Повлияет ли вывод нулей на итоги отчета?
Настройки отображения и формат поля на итоги не влияют — меняется только внешний вид. А вот доработка запроса с добавлением строк через соединения может изменить состав данных, поэтому после нее итоги нужно сверить с прежней версией отчета.
Как сделать, чтобы ноль выгружался в Excel как число?
Используйте ЕСТЬNULL на уровне данных и не добавляйте в форматную строку лишних символов (пробелов, единиц измерения). Числовое значение без текстового оформления выгружается в Excel как число и корректно участвует в дальнейших расчетах.
Можно ли вывести ноль в отчете без прав на изменение конфигурации?
Да, если в типовом отчете есть параметр вывода нулевых значений или доступен режим «Изменить вариант» с настройкой формата полей. Доработка запроса с ЕСТЬNULL и соединениями уже требует доступа разработчика или расширения конфигурации.
Почему после включения настройки отчет стал формироваться дольше?
Сама настройка отображения почти не влияет на скорость. Замедление обычно вызвано доработкой запроса: левые соединения с большими справочниками и дополнение периодов увеличивают объем выборки. Ограничьте период и состав дополняемых измерений до действительно необходимых.
Что важно запомнить
Пустые ячейки вместо нуля — это либо скрытое отображение (решается настройкой варианта или форматом ЧН=0), либо отсутствие строки в данных (решается ЕСТЬNULL, левыми соединениями и дополнением периодов). Сначала определите, какой у вас случай, затем применяйте соответствующий способ и проверяйте итоги и выгрузку в Excel.