Вход | Регистрация

1С:Предприятие ::

Метки: 

СКД. Не выводить шапку, если таблица пуста.

Я
   Xamio
 
10.04.14 - 17:21
Есть отчет на СКД. Как сделать чтобы в отчёте не выводилась шапка, если в таблице отчёта 0 строк?
 
  Рекламное место пустует
   fisher
 
1 - 10.04.14 - 18:16
Ну, или с альтернативной шапкой мудрить, или постобработкой.
Короче, овчинка выделки не стоит.
   Fragster
 
2 - 10.04.14 - 19:42
сделать вычисляемое поле, сделать по нему группировку верхнего уровня, в макете группировки этого поля нарисовать "шапку", а саму шапку убрать тем же макетом
   Aprobator
 
3 - 10.04.14 - 20:22
во запросы у народа. Вот только зачем это надо вообще?
   Aprobator
 
4 - 10.04.14 - 20:24
так ведь бедный пользователь может и не понять, а отработал ли отчет вообще.
   Wobland
 
5 - 10.04.14 - 20:36
следующий шаг. как сразу закрыть форму отчёта, если там 0 строк?
   Aprobator
 
6 - 10.04.14 - 20:38
не как его не открывать, если пользователь собирается ввести данные при которых данный отчет будет пустым )
   Xamio
 
7 - 11.04.14 - 09:31
(4) отчёт просто выводит две таблицы. Одна из которых часто пустая, таким образом пользователь получает таблицу и ненужный аппендикс в виде шапки второй таблицы, которая пустая. Чтобы распечатать приходится ковыряться, как то удалять ненужную шапку..
   SleepyHead
 
8 - 11.04.14 - 09:41
Чем конкретно мешает вторая пустая шапка?
   Xamio
 
9 - 11.04.14 - 09:48
(8) при выводе на принтер она не нужна.
   Xamio
 
10 - 11.04.14 - 12:20
(2) "а саму шапку убрать тем же макетом"
как это сделать, поясните пожалуйста поподробнее
 
  Рекламное место пустует
   Xamio
 
11 - 12.04.14 - 10:29
up
   Xamio
 
12 - 12.04.14 - 10:56
хмм, решил проблему так: в процедуре вывода СКД в печатную форму, следующий код
    Пока Истина Цикл
        ЭлементРезультата = ПроцессорКомпоновки.Следующий();
        Если ЭлементРезультата = Неопределено Тогда
            Прервать;
        Иначе
            ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
        КонецЕсли;
    КонецЦикла;

заменил на:
    Пока Истина Цикл
        ЭлементРезультата = ПроцессорКомпоновки.Следующий();
        Если ЭлементРезультата = Неопределено ИЛИ ЭлементРезультата.ПроцентВывода = ПроцентВывода Тогда
            Прервать;
        Иначе
            ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
        КонецЕсли;
    КонецЦикла;

где ПроцентВывода равен либо 100, либо 50 и зависит это от заполненности табличной части документа с которой заполняется вторая таблица. Заметил что ЭлементРезультата.ПроцентВывода равен 50 после вывода первой таблицы, вне зависимости от заполненности первой и второй таблиц. Решение какое-то топорное, но на первый взгляд работает, шапка второй таблицы не выводится если она пуста. Если у кого-то есть мнения на сей счёт - делитесь.
   YF
 
13 - 12.04.14 - 10:58
полностью программно формируй отчет. Если пусто, то выводи пустую табличную форму
   Xamio
 
14 - 12.04.14 - 11:01
(13) т.е. средствами СКД эта задача не решается?


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует