1С скд не выводить пустые строки

Dim Вопрос-ответ Отзывов (5) В закладки

Здравствуйте.
Есть отчет на СКД.
http://gyazo.com/b1e706b601b23a2c997d519d9ec5e157
Выводит список документов и контрагентов по этих документах. По некоторым документам контрагентов нет (пустая строка).
Так вот, нужно те строки, где заполнены контрагенты – отображать, а пустые нет.
Если это поможет, то контрагенты есть только у документов отчет комиссионера о продажах.

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

Был у меня как-то клиент, разрабатывали ему конфигурацию по управлению сетью хостелов.

И вот возникла одна несложная задачка: сделать отчет, который будет показывать состояние комнат на какой-то момент времени в следующем виде:

Группировка по Хостелам и комнатам, детали: проживающий, дата заезда, планируемая дата выезда и что-то там еще по проживающим:

Комната 313 (5 мест)
Иванов Иван Перович, 01.01.2016, 31.01.2016
Пупкин Петр Васильевич, 05.01.2016, 25.01.2016
СВОБОДНО
СВОБОДНО
СВОБОДНО

Самое интересное и оказалось в том, что каждое свободное место в комнате должно выводиться отдельной строчкой.

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

Конечно, можно было бы быстренько состряпать отдельный отчет и сделать так:

Но как только я давным давно познакомился С КД, я старался делать все отчеты с помощью компоновки. Причина в двух неоспоримых плюсах: быстрота разработки и гибкость настроек для пользователя. В 99% случаев я даже формы не создавал для отчетов, все прекрасно описывается в схеме компоновки. И псевдонимы полей, и списки значений, а если надо – можно пользоваться функциями общих модулей. В общем очень не хотел я делать шаг в прошлое, поэтому достаточно быстро в голове родился вариант решения. Томить не стану, вот оно само решение, набросал без метаданных, чтобы любой желающий смог быстро посмотреть его в консоли:
В

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

Допустим, мы делаем отчёт по наличию номенклатуры на складах, например на «Складе 1» и «Складе 2».

В запросе мы получим результат: к примеру, для номенклатуры «Радиатор отопителя ГАЗ-21 Волга» поле «Склад 1» будет заполнено, а поле «Склад 2» останется пустым. Для остальной номенклатуры будут свои комбинации.

Настраивая будущий отчёт, разместим группировку "Склад" в колонках таблицы. При построении отчёта обнаружим, что к колонкам «Склад 1» и «Склад 2» добавилась ещё одна, пустая колонка.

Избавиться от этой пустой колонки можно следующим способом:

На вкладке «Настройка» выберем нужную группировку (Склад). Для этой группировки (именно для неё, а не для отчёта в целом) откроем вкладку «Отбор» и добавим настройку: «[Склад] [В значение] [Заполнено]». Потом на закладке «Другие настройки» (опять же, при выбранной настройке именно для группировки «Склад») сделаем такую настройку: [Выводить отбор] установим в значение [Не выводить].

Если в других группировках отчёта тоже присутствуют пустые колонки, то для этих группировок нужно выполнить аналогичные действия.

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

Оцените статью
ПК Знаток
Добавить комментарий

Adblock
detector