Имя: Пароль:
1C
1С v8
Обход табличного документа после вывода.
0 arh_al
 
04.10.12
10:33
Программно формирую отчет СКД.Код:
НаСервере
Процедура ВывестиРезультат()
   Результат.Очистить();
   ИсполняемыеНастройки = Отчет.КомпоновщикНастроек.Настройки;
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(РеквизитФормыВЗначение("Отчет").СхемаКомпоновкиДанных, ИсполняемыеНастройки);
   
   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,,Истина);
   
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(Результат);
   ПроцессорВывода.НачатьВывод();
   СвернутьГруппировку = Ложь;
   Пока Истина Цикл
       ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных.Следующий();
       Если ЭлементРезультатаКомпоновкиДанных = Неопределено Тогда
           Прервать;
       КонецЕсли;
       //Для Каждого параметр ИЗ ЭлементРезультатаКомпоновкиДанных.ЗначенияПараметров Цикл
       //    Если параметр.значение = "Активный" Тогда
       //        СвернутьГруппировку = Истина;
       //        Прервать;
       //        
       //        СвернутьГруппировку = Ложь;
       //        ПроцессорВывода.ВывестиЭлемент(ЭлементРезультатаКомпоновкиДанных);
       //    Иначе
       //        ПроцессорВывода.ВывестиЭлемент(ЭлементРезультатаКомпоновкиДанных);
       //    КонецЕсли;
       ПроцессорВывода.ВывестиЭлемент(ЭлементРезультатаКомпоновкиДанных);
   КонецЦикла;
   
   ПроцессорВывода.ЗакончитьВывод();
КонецПроцедуры.

Мне нужно свернуть произвольную(!) группировку (а не установить уровень свертки для всего отчета). Найти область могу, но как ее свернуть?
1 arh_al
 
04.10.12
10:35
на закомментированный код просьба не обращать внимание, на строку "СвернутьГруппировку = Ложь;" - тоже
2 IronDemon
 
04.10.12
10:37
Научить пользователя нажимать "свернуть группировку"
3 arh_al
 
04.10.12
10:45
пользователя учить не надо, есть ТЗ, по условию которого определенные группировки должны выводиться свернутыми. Собственно в заголовке темы написано "программно" - это и требуется.
4 arh_al
 
04.10.12
10:47
Перерыл все методы Табдока типа автогруппировка, начатьгруппировкустрок и т.д. - но они не подходят для скд. Т.е. обрабатывать надо уже выведенный табдок.
5 IronDemon
 
04.10.12
11:01
(3) Пиши злобное письмо в 1С.
Мой клиент/работодатель хочет свернуть произвольную группировку программно. А я, ФИО, не зная возможностей платформы подписал ТЗ. Без выполнения этого пункта мне не заплатят. Что мне теперь делать?
6 arh_al
 
04.10.12
11:03
Опять бессмысленный пост. Зачем тратил время?
7 arh_al
 
04.10.12
11:05
Нет бы "надо выводить тогда как обычный отчет и тогда в момент вывода можно будет использовать "начать группировку строк" и т.д". Надо обязательно написать лишь бы написать.
8 arh_al
 
04.10.12
11:06
Видимо компетенция не позволяет писать по существу...
9 IronDemon
 
04.10.12
11:10
Конечно не позволяет.
При (3) ты свернешь уровень группировки а не произвольную.
10 arh_al
 
04.10.12
11:19
Не позволяет. Почему при (3) я сверну уровень группировки? Там написано "определенные", а не все. Ты выхватываешь куски текста из общего контекста и пишешь непонятно что. Как свернуть уровень для всего табдока я прекрасно знаю, а мне нужно свернуть определенную группировку в уже выведенном тобдоке.
11 IronDemon
 
04.10.12
11:21
* При (7) ты свернешь уровень группировки а не произвольную.
12 arh_al
 
04.10.12
11:25
Правда?, Хелп говорит другое: НачатьГруппуСтрок (StartRowGroup)
Синтаксис:

НачатьГруппуСтрок(<ИмяГруппы>, <ОткрытаЛиГруппа>)
Параметры:

<ИмяГруппы> (необязательный)

Тип: Строка.
Название группы.
<ОткрытаЛиГруппа> (необязательный)

Тип: Булево.
Определяет необходимость открытия группы. Истина - выведенная группа будет открыта; Ложь - группа будет выведена в свернутом виде.
Значение по умолчанию: Истина
Описание:

Начинает новую группу строк. Можно создавать вложенные группы строк.

Доступность:

Сервер, толстый клиент, внешнее соединение.
13 arh_al
 
04.10.12
11:26
<ОткрытаЛиГруппа> (необязательный)

Тип: Булево.
Определяет необходимость открытия группы. Истина - выведенная группа будет открыта; Ложь - группа будет выведена в свернутом виде.
Значение по умолчанию: Истина
14 IronDemon
 
04.10.12
11:26
(12) Ну, удачи.
15 arh_al
 
04.10.12
11:28
спасибо за помощь и не кидайся словами про знание платформы после своих постов тут
16 IronDemon
 
04.10.12
11:33
Еще раз. Нельзя произвольную существующую группировку, а не уровень, свернуть/развернуть программно.
17 arh_al
 
04.10.12
11:38
Еще раз прочитай в (12) "НачатьГруппуСтрок(<ИмяГруппы>..." ... и конец в (13) "Ложь - группа будет выведена в свернутом виде..."
18 IronDemon
 
04.10.12
11:39
Так ты создаешь группировку ;)
19 arh_al
 
04.10.12
11:44
Естественно создаю при программном выводе. Этим можно пользоваться при либо при полностью программном формировании табдока, либо при выводе его через макет. А у меня вопрос можно ли уже в выведенном(!) табдоке найти (по определенном условию - это не проблема) и свернуть группу.
20 arh_al
 
04.10.12
11:46
Видимо нет - везде в аналогичных темах или тишина или советы по программному выводу, а у меня это нужно применить в связке с СКД, когда табдок уже сформирован.
21 arh_al
 
04.10.12
11:49
Поскольку этот "Замечательный универсальный объект" нельзя обойти по строкам/колонкам и изменить недоступное свойство "уровень" в контексте тех же строк/колонок.
22 НЕА123
 
04.10.12
12:06
(0)
как вариант - в дерево всунуть. а там есть свернуть у таблицы.
23 arh_al
 
04.10.12
13:26
не получиться, отчет скд можно вывести только в табличный документ -
УстановитьДокумент (SetDocument)
Синтаксис:

УстановитьДокумент(<Документ>)
Параметры:

<Документ> (необязательный)

Тип: ТабличныйДокумент.
Документ, в который будет осуществляться вывод.
Описание:

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

Если есть вариант кроме метода установитьдокумент и приведенного кода в (0) - подскажите, буду признателен
24 НЕА123
 
04.10.12
13:54
ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений
УстановитьОбъект(ДЗ)
?
25 arh_al
 
11.10.12
11:20
В дерево можно выводить если в настройках скд нет таблиц. У меня есть. Вобщем в моем случае это утопия.