|
СКД. Как проверить что отчет пустой? |
☑ |
0
Абирамбул
19.09.12
✎
13:42
|
СКД возвращает ТабличныйДокумент. Как проверить что отчет пустой, т.е. не выведено ни одной группировки. ТабличныйДокумент может содержать параметры, отборы и шапку.
|
|
1
Maxus43
19.09.12
✎
13:43
|
>>СКД возвращает ТабличныйДокумент
неправда, скд заполняет табличный документ
|
|
2
Абирамбул
19.09.12
✎
13:44
|
(1) Ну наврал малость
Платформа 8.1
|
|
3
Maxus43
19.09.12
✎
13:45
|
на ум приходит только выгрузить в ТЗ результат, и поглядеть кол-во строк... непомню есть ли проверка конкретная на результат СКД
|
|
4
Абирамбул
19.09.12
✎
13:50
|
(3) Очень печальный вариант
|
|
5
vmv
19.09.12
✎
13:59
|
Высота
|
|
6
ChAlex
19.09.12
✎
14:00
|
(0) - а нафиг такое? Если СКД выводит результат в табличный документ - то его предназначение интерактивное представление отчета пользователю! Соответственно пользователь может открыть глаза и посмотреть на монитор и определить быстрее компьютера в каком он состянии: пустой , не совсем пустой и прочее. Или вы хотите вообще отучать человека думать. Ну так до этого еще ой как далеко :)
|
|
7
France
19.09.12
✎
14:04
|
(6) боюсь, количество пользователей, стремящихся думать стремится к нулю...
|
|
8
Абирамбул
19.09.12
✎
14:07
|
(6) Формирует не пользователь, а задание на сервере. Рассылка отчетов.
(5) Высота изменится, если только название вывести. Не подходит.
Подсмотрел в БСП. Рассылка отчетов.
// Получает следующий элемент результата компоновки.
ЭлементРезультатаКД = ПроцессорКД.Следующий();
Пока ЭлементРезультатаКД <> Неопределено Цикл
// Вывести элемент результата компоновки отчета в документ.
ПроцессорВыводаРезультатаКД.ВывестиЭлемент(ЭлементРезультатаКД);
// Определить не пустой результат
Если Результат.Пустой Тогда
Для Каждого ЗначениеПараметраМакетаКД Из ЭлементРезультатаКД.ЗначенияПараметров Цикл
Если ЗначениеЗаполнено(ЗначениеПараметраМакетаКД.Значение) Тогда
ПроцессорВыводаРезультатаКД.ЗакончитьВывод();
Результат.Пустой = Ложь;
Возврат Результат;
КонецЕсли;
КонецЦикла;
КонецЕсли;
// Получает следующий элемент результата компоновки.
ЭлементРезультатаКД = ПроцессорКД.Следующий();
КонецЦикла;
|
|