Как убрать пустые строки в отчете «Остатки и доступность товаров» в 1С:УТ 11?

Пользователь 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При настройке типового отчета «Остатки и доступность товаров» в программе 1С:Управление торговлей 11 пользователи часто сталкиваются с неожиданным поведением системы компоновки данных (СКД). Задача кажется предельно простой: вывести список товаров, у которых показатель Доступно больше нуля, скрыв все лишние колонки и нулевые позиции. Однако установка стандартного фильтра Доступно > 0 не убирает пустые строки с наименованиями номенклатуры. Проанализируем механику работы СКД в данном отчете, выясним причину такого поведения и разберем по шагам надежные способы решения проблемы.

Почему отбор по полю «Доступно» оставляет пустые строки

Рассмотрим подробнее внутреннюю логику построения отчета. Поведение системы обусловлено несколькими факторами архитектуры СКД и структуры типового отчета:

  1. Разница между физическим полем и расчетным ресурсом. Поле В наличии формируется напрямую из остатков регистра накопления. Если наложить отбор на физическое поле, СКД отсекает записи на уровне выборки данных. Поле Доступно является сложным расчетным ресурсом: из текущего остатка вычитаются резервы, неотгруженные заказы и учитываются плановые поступления. Для позиций, по которым не было движений, значение ресурса не равно нулю, а принимает значение NULL. Условие сравнения Доступно > 0 в стандартной логике СКД не фильтрует записи со значением NULL, из-за чего строка группировки выводится пустой.
  2. Уровень наложения отбора в структуре «Таблица». Отчет построен в виде таблицы со строками и колонками. Когда отбор накладывается в общих настройках отчета, платформа фильтрует значения в ячейках, но сохраняет сформированный «каркас» строк (группировку Номенклатура).
  3. Специфика группировок доступности. В схеме компоновки отчета показатели разделены по смысловым периодам («Сейчас», «Ожидается», «Всего»). Выбирая в пользовательском режиме поле Доступно, легко ошибиться уровнем вложенности поля.

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

Способ 1. Комбинация условий «В наличии» и «Доступно» в общем отборе

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

Выполним следующие шаги:

  1. Откроем форму отчета «Остатки и доступность товаров» и нажмем кнопку «Настройки...».
  2. Переключим вид настроек в режим «Расширенный».
  3. На вкладке «Отборы» добавим первое условие: выберем поле В наличии, установим вид сравнения Больше и значение 0. Это условие отсечет номенклатурные позиции, по которым на складе нет физического остатка, исключив пустые строки с NULL.
  4. Добавим второе условие: выберем поле Доступно, установим вид сравнения Больше и значение 0. Это условие исключит товары, которые физически есть на складе, но полностью зарезервированы под заказы клиентов.
  5. Нажмем «Закрыть и сформировать».

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

Способ 2. Перенос отбора в группировку строк (аналог секции HAVING)

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

Разберем по шагам правильную настройку СКД:

  1. В окне отчета нажмем «Еще» → «Прочее» → «Изменить вариант отчета...».
  2. В дереве структуры отчета найдем строку группировки Номенклатура (или Номенклатура, Характеристика). Обратите внимание: выделять нужно не корневой элемент Отчет, а конкретную строку группировки внутри таблицы.
  3. В нижней части формы перейдем на вкладку «Отбор» выбранной группировки.
  4. Нажмем «Добавить отбор», выберем поле Доступно с видом сравнения Больше и значением 0.
  5. Нажмем «Завершить редактирование» и сформируем отчет.

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

Способ 3. Явная проверка на заполненность значения ресурса

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

  1. В расширенном режиме настроек на вкладке «Отборы» нажмем «Добавить группу условий» и выберем тип группы «И».
  2. Внутрь созданной группы поместим строку: Доступно → Больше → 0.
  3. В эту же группу добавим вторую строку: Доступно → Заполнено.

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

← На главную