|
Обход табличного документа после вывода. | ☑ | ||
---|---|---|---|---|
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
|
В дерево можно выводить если в настройках скд нет таблиц. У меня есть. Вобщем в моем случае это утопия.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |