![]() |
![]() |
|
Построитель отчета. Как свернуть все выводимы группировки? | ☑ | ||
---|---|---|---|---|
0
Смит
15.09.06
✎
13:25
|
2. Как изменить названия колонок в шапке?
|
|||
1
asady
15.09.06
✎
13:32
|
(0)
может ты про это? ТабличныйДокумент (SpreadsheetDocument) ПоказатьУровеньГруппировокСтрок (ShowRowGroupsLevel) Синтаксис: ПоказатьУровеньГруппировокСтрок(<Уровень>) Параметры: <Уровень> (обязательный) Тип: Число. Уровень, до которого необходимо раскрыть группировки строк. Описание: Показывает уровень группировки строк до заданного уровня. Пример: // ПолеТД - поле табличного документа для показа результатов отчета // В имени кнопки содержится уровень Процедура ОткрытьУровень(Кнопка) Уровень = Число(Сред(Кнопка.Имя, 2)) - 1; У = ЭлементыФормы.ПолеТД.КоличествоУровнейГруппировокСтрок() - 1; Пока У > Уровень Цикл ЭлементыФормы.ПолеТД.ПоказатьУровеньГруппировокСтрок(У); У = У - 1; КонецЦикла; ЭлементыФормы.ПолеТД.ПоказатьУровеньГруппировокСтрок(Уровень); КонецПроцедуры |
|||
2
Рассада
15.09.06
✎
13:32
|
ТабДок.ПоказатьУровеньГруппировокСтрок(1)
|
|||
3
Рассада
15.09.06
✎
13:33
|
(1) опередил). А названия можно менять как в стандартных отчетах это делается (я уж не помню как, смотреть надо)
|
|||
4
Смит
15.09.06
✎
13:36
|
(2) Нету ТабДок. Заполняю макет сформированый построителем по умолчанию.
|
|||
5
Смит
15.09.06
✎
13:41
|
Народ к чему обращатся если нету ТабДок?
|
|||
6
Рассада
15.09.06
✎
13:43
|
(5) а куда макет выводится?
|
|||
7
Смит
15.09.06
✎
13:46
|
Вот весь текст, без запроса.
Построитель.Макет = Неопределено; Построитель.Макет = МакетПостроителя; // Оформить макет. Построитель.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Лед); Построитель.ОформитьМакет(); Построитель.МакетОформления = Неопределено; // Выполнить запрос и вывести отчет. Построитель.Выполнить(); Построитель.Вывести(); |
|||
8
Смит
15.09.06
✎
13:48
|
Это лишнее
Построитель.Макет = МакетПостроителя; |
|||
9
НатальяК
15.09.06
✎
13:48
|
генерирушь конструктором?
|
|||
10
Смит
15.09.06
✎
13:50
|
(9) Нет.
|
|||
11
НатальяК
15.09.06
✎
13:52
|
гм. а почему?
открой для себя конструктор выходной формы. |
|||
12
Рассада
15.09.06
✎
13:55
|
А если
Построитель.Выполнить(); Построитель.Вывести(); Построитель.Макет.ПоказатьУровеньГруппировокСтрок(1);? |
|||
13
Смит
15.09.06
✎
13:59
|
(12) Не помогает.
|
|||
14
НатальяК
15.09.06
✎
14:01
|
В кострукторе указываешь "использовать фиксированный макет" он его генерит. а ты потом ручками шапочку и меняешь
|
|||
15
megalodon
15.09.06
✎
14:01
|
ТабДок = Новый ТабличныйДокумент;
Построитель.Выполнить(); Построитель.Вывести(ТабДок); ТабДок.ПоказатьУровеньГруппировокСтрок(1); |
|||
16
Смит
15.09.06
✎
14:01
|
(11) Чем он хорош?
ЗЫ Зачем что-то рисовать, если построитель сам все делает. Только немного не так. :(( |
|||
17
НатальяК
15.09.06
✎
14:02
|
(16) вот это "немного" и подровняешь
|
|||
18
Смит
15.09.06
✎
14:05
|
(15) Так не работает.
|
|||
19
Смит
15.09.06
✎
14:10
|
(17) Наташа, я конечно могу это сделать, но мне-то казалось сбылась мечта - программист пишет запрос, программа транслирует у удобоваримы вид.
ЗЫ Т.е. мне кажется, рисовать или править печатные формы не есть работа программиста. |
|||
20
MikleV
15.09.06
✎
14:13
|
(15) +1
|
|||
21
MikleV
15.09.06
✎
14:13
|
+20 к (18) руки кривые
|
|||
22
НатальяК
15.09.06
✎
14:14
|
Но этоже не эстетично! - Зато дёшево, надёжно и практично!" (с)
|
|||
23
Смит
15.09.06
✎
14:19
|
(21) Где именно? Я заменил свой текст:
// Выполнить запрос и вывести отчет. Построитель.Выполнить(); Построитель.Вывести(); На ТабДок = Новый ТабличныйДокумент; Построитель.Выполнить(); Построитель.Вывести(ТабДок); ТабДок.ПоказатьУровеньГруппировокСтрок(1); 18 20 |
|||
24
Смит
15.09.06
✎
14:20
|
Где я мог криво сделать?
ЗЫ Конечно добавил ТабДок.Показать(); |
|||
25
asady
15.09.06
✎
15:14
|
(24) а там вообще группировки есть? Вручную сворачивать дает?
|
|||
26
Смит
18.09.06
✎
09:39
|
(25) Да, есть.
ЗЫ Вопрос еще открыт. |
|||
27
Смит
18.09.06
✎
09:50
|
Ап.
|
|||
28
asady
18.09.06
✎
11:15
|
(26) ответь на второй вопрос (25)
|
|||
29
Смит
18.09.06
✎
11:16
|
(28) Да.
|
|||
30
asady
18.09.06
✎
11:21
|
(29)
ТабличныйДокумент (SpreadsheetDocument) Вывести (Put) Синтаксис: Вывести(<Таблица>, <Уровень>, <Имя группы>, <Открыта>) Параметры: <Таблица> (обязательный) Тип: ТабличныйДокумент, ПолеТабличногоДокумента. Выводимая таблица. <Уровень> (необязательный) Тип: Число. Уровень используется для автоматической группировки строк табличного документа. Соседние строки с одинаковым уровнем будут отнесены к одной группе. Строки с минимальным уровнем в группу не объединяются. <Имя группы> (необязательный) Тип: Строка. Название группы, к которой относятся выводимые строки. Значение по умолчанию: Пустая строка <Открыта> (необязательный) Тип: Булево. Истина - выведенная группа будет открыта, Ложь - группа будет выведена в свернутом виде. Значение по умолчанию: Истина Возвращаемое значение: Тип: ОбластьЯчеекТабличногоДокумента. Область, в которую был осуществлен вывод. Описание: Выводит табличный документ в результирующий табличный документ, добавляя его со следующей строки вслед за самой нижней выведенной строкой, начиная с первой колонки. обрати внимание на параметр номер 2 "уровень". |
|||
31
Смит
18.09.06
✎
11:28
|
Для построителя немного подругому:
ПостроительОтчета (ReportBuilder) Вывести (Put) Вариант синтаксиса: Вывод в табличный документ Синтаксис: Вывести(<Табличный документ>) Параметры: <Табличный документ> (необязательный) Тип: ТабличныйДокумент, ПолеТабличногоДокумента. Имя элемента управления "Табличный документ", в который будет осуществляться вывод. В случае, если параметр не указан, будет создан новый табличный документ. Описание: Выполняет и выводит отчет. Выводит отчет в табличный документ. Вариант синтаксиса: Вывод в диаграмму Синтаксис: Вывести(<Диаграмма>, <Ресурс>) Параметры: <Диаграмма> (обязательный) Тип: Диаграмма. Имя элемента управления "Диаграмма", в который будет осуществляться вывод. <Ресурс> (необязательный) Тип: Строка. Имя ресурса, который будет выдаваться в диаграмму. Описание: Выполняет и выводит отчет. Выводит отчет в диаграмму. Примечание: Вывод отчета происходит только в случае, если отчет еще не выводился или если были изменены настройки (см. НастройкиПостроителяОтчета) или вызван метод Выполнить(). Пример: // Вывод в табличный документ ПостроительОтчета.Вывести(ДокументРезультат); // Вывод в диаграмму Диаграмма.Очистить(); ПостроительОтчета.Вывести(Диаграмма, ИмяВыводимогоПоказателя); |
|||
32
asady
18.09.06
✎
11:29
|
(31) чудак! после вывода построителем, у тебя существует табличный документ, у котрого есть метод Вывести с параметром "уровень" подумай в этом направлении или мозги вскипели?
|
|||
33
Смит
18.09.06
✎
11:34
|
(32) Есть-то он есть. А как к нему обратиться?
|
|||
34
log
18.09.06
✎
11:38
|
Процедура ОтформатироватьОбласть(Макет,Текст,Ширина,НовыйТекст,ФорматнаяСтрока=Неопределено);
Область=Макет.НайтиТекст(Текст,,Макет.Область("ШапкаТаблицы")); Если Область<>Неопределено тогда Область.Текст=СтрЗаменить(Область.Текст,Текст,НовыйТекст); Область.ШиринаКолонки=Ширина; Если ФорматнаяСтрока<>Неопределено тогда Макет.Область("R"+Область.Верх+"C"+Область.Лево+ ":R"+Макет.ВысотаТаблицы+"C"+Область.Лево).Формат=ФорматнаяСтрока; КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
35
log
18.09.06
✎
11:40
|
ОтформатироватьОбласть(Макет,"СрокСделкиПоПродажам",11,"Срок сделки по продажам (дней)","ЧЦ=10; ЧДЦ=2");
|
|||
36
Смит
18.09.06
✎
11:42
|
(34) О! Спасибо!
|
|||
37
asady
18.09.06
✎
11:48
|
(36) Автор просил свернуть группировки ТД, а успокоился на форматировании колонок!
|
|||
38
Смит
18.09.06
✎
11:51
|
(37) См. (0), пункт (2).
ЗЫ По группировкам вопрос открыт. |
|||
39
asady
18.09.06
✎
11:53
|
(38) а сам-то ты хоть что-нибудь в этом направлении подумал? Или ждешь готовое решение?
|
|||
40
Смит
18.09.06
✎
11:55
|
(39) Подумал. Идей пока нет. Жду.
|
|||
41
asady
18.09.06
✎
12:17
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
// Вставить содержимое обработчика. ТекстЗапроса="ВЫБРАТЬ | УчетРабочегоВремениСотрудниковОбороты.Период, | УчетРабочегоВремениСотрудниковОбороты.Регистратор, | УчетРабочегоВремениСотрудниковОбороты.Организация КАК Организация, | УчетРабочегоВремениСотрудниковОбороты.Проект КАК Проект, | УчетРабочегоВремениСотрудниковОбороты.Сотрудник КАК Сотрудник, | УчетРабочегоВремениСотрудниковОбороты.КоличествоОборот КАК КоличествоОборот |ИЗ | РегистрНакопления.УчетРабочегоВремениСотрудников.Обороты(, , Регистратор, ) КАК УчетРабочегоВремениСотрудниковОбороты |ИТОГИ | СУММА(КоличествоОборот) |ПО | Организация, | Проект, | Сотрудник"; Построитель=Новый ПостроительОтчета(ТекстЗапроса); Построитель.Выполнить(); Построитель.Вывести(ЭлементыФормы.ТД); ЭлементыФормы.ТД.ПоказатьУровеньГруппировокСтрок(1); КонецПроцедуры У меня все работает! |
|||
42
Kir1
18.09.06
✎
12:40
|
(35) А у меня такое вот форматирование что-то не хочет работать... Его нужно вставить до Отчет.Выполнить() ? Как-то влияет Отчет.ЗаполнитьНастройки() и Отчет.УстановитьНастройки()?
|
|||
43
Смит
18.09.06
✎
13:31
|
(41) Молодец, почни хорошо. Еще бы поле на форме не заводить...
(42) А ты хочешь увидеть результат для шапки или для таблицы? |
|||
44
asady
18.09.06
✎
13:35
|
(43) Успехов вам! Пишите еще.
|
|||
45
Kir1
18.09.06
✎
13:37
|
(43) для шапки... Название колонки шапки изменить
|
|||
46
Kir1
18.09.06
✎
13:39
|
(+43) получается - изменить наименование шапки таблицы
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |