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


Скд, сворачивание группировок

Скд, сворачивание группировок
Я
   grigo
 
21.02.18 - 15:08
Управляемые формы, СКД. 8.3.10.

Есть задача - написать много отчетов. Одно из требований - все отчеты должны формироваться со свернутыми группировками. Можно ли такое сделать без создания формы отчета? Отчеты строятся на СКД.
 
 
   Fragster
 
1 - 21.02.18 - 15:09
да
   grigo
 
2 - 21.02.18 - 15:11
(1) Как?
   Fragster
 
3 - 21.02.18 - 15:11
программно сформировать в ПриКомпоновкеРезультата и свернуть
   grigo
 
4 - 21.02.18 - 15:17
Я бы с вами в разведку пошел)). А как свернуть?
   Fragster
 
5 - 21.02.18 - 16:01
примерно так:         ДокументРезультат.ПоказатьУровеньГруппировокСтрок(0);
   grigo
 
6 - 26.02.18 - 10:51
К сожалению, в процедуре ПриКомпоновкеРезультата модуля отчета это не работает. По крайней мере на моей платформе с моими настройками совместимости. Придется, видимо, все-таки формы рисовать.
   DrShad
 
7 - 26.02.18 - 11:03
(6) ну и что ты в форме нарисуешь?
   Fragster
 
8 - 26.02.18 - 11:08
(6) работает
   drcrasher
 
9 - 26.02.18 - 11:09
(0) своя форма, свои кнопки и обработчик ожидания.
вот для примера https://yadi.sk/d/veFjV3Mz3SmkbK
   Fragster
 
10 - 26.02.18 - 11:10
(9) фу так делать
 
 Рекламное место пустует
   drcrasher
 
11 - 26.02.18 - 11:14
(10) как?
   Fragster
 
12 - 26.02.18 - 11:32
(11) ради этой задачи лепить свою форму, да еще и сворачивать через обработчик ожидания.
   Fragster
 
13 - 26.02.18 - 11:32
я подозреваю, что кто-то в (6) забыл указать "стандартная обработка = ложь"
   drcrasher
 
14 - 26.02.18 - 11:34
(12) ну там не только "сворачивать через обработчик ожидания". там несколько иное через обработчик
   grigo
 
15 - 26.02.18 - 12:42
(13) Не "забыл", а "не знал". Сейчас я написал следующее:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    ДокументРезультат.ПоказатьУровеньГруппировокСтрок(0);
    
КонецПроцедуры

Теперь отчет совершенно пустой. Чистый табличный документ.
   grigo
 
16 - 26.02.18 - 12:58
(15, 13, 3) Понял, надо полностью писать простыню кода по компоновке результата. Правильно?
   тарам пам пам
 
17 - 26.02.18 - 13:32
(16) можно простыню; можно попробовать вызвать сначала стандартный обработчик каким-то таким образом:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    Если ДополнительныеСвойства.Свойство("ВложенныйВызов") Тогда
        Возврат;
    КонецЕсли;

    СтандартнаяОбработка = Ложь;

    ДополнительныеСвойства.Свойство("ВложенныйВызов");
    СкомпоноватьРезультат(ДокументРезультат, ДанныеРасшифровки);
    ДополнительныеСвойства.Удалить("ВложенныйВызов");

    ДокументРезультат.ПоказатьУровеньГруппировокСтрок(0);
    
КонецПроцедуры
   Fragster
 
18 - 26.02.18 - 13:33
(16) ну как простыню... у меня в 10 строк получилось. и в 13, если сворачивать уровни в цикле, начиная с последнего (чтобы раскрывались по одному).
   Fragster
 
19 - 26.02.18 - 13:34
(17) классный лайвхак
   Fragster
 
20 - 26.02.18 - 13:35
аж три строки экономится. но не надо запоминать, как эта долбаная СКД формируется.

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