Имя: Пароль:
1C
1С v8
Отчет с плавающим числом колонок
0 RaMMaL
 
23.01.13
14:39
Всем привет! Проблема такая, необходимо создать отчет с неизвестным количеством некоторых колонок, выглядит примерно так:

Сотрудник|Должность| и тут по идее идут колонки с суммами по разным статьям затрат | Итого|

Я накопал что инфа с неизвестным количеством колонок загоняется в таблицу значений, данное действие я совершил, а что дальше? Как эту ТЗ прикрутить к колонкам из макета?
1 Wobland
 
23.01.13
14:40
скд предлагать?
2 Wobland
 
23.01.13
14:40
а ещё присоединять постепенно можно
3 alex-pro
 
23.01.13
14:41
(0) В СКД засунь - оно само все нарисует.
4 Nzn
 
23.01.13
14:41
Присоединить, а проще СКД
5 RaMMaL
 
23.01.13
14:41
(1) Не) вчера пол дня с ним парился, все какаято абра кадабра получалась)
6 alex-pro
 
23.01.13
14:42
(5) С присоединить еще сильнее намучаешься..
7 Nzn
 
23.01.13
14:43
(6) Почему?
8 pessok
 
23.01.13
14:44
(5) почитай книги, для начала. на СКД это рисуется минуты за 3, с учетом того, что 2 из них на запрос.
9 RaMMaL
 
23.01.13
14:44
А на счет Присоединить можно поподробней? Просто с СКД я вообще не знаком, а тут хотя бы логику смогу сообразить, у меня в макете 2 области Шапка и Строка, как я понял там каким то макаром заголовки ТЗ клеются к шапке, а строки соответственно выводятся ниже
10 RaMMaL
 
23.01.13
14:45
да запрос там до неприличия простой... все берется с одной таблицы
11 Лефмихалыч
 
23.01.13
14:45
(0) читай книжку хрусталевой про СКД, хорош микроскопом гвозди заколачивать
12 pessok
 
23.01.13
14:46
(9) сделай область "Колонка " в колонках. Твоя присоединяемая колонка будет:
ОблКолонка = Макет.ПолучитьОбласть("Строка|Колонка");
И потом: ТабДок.Присоединить(ОблКолонка)
13 pessok
 
23.01.13
14:47
+(12) в цикле по статьям затрат
14 pessok
 
23.01.13
14:47
+(13) но все же пора изучить СКД. Для простых отчетов она подходит идеально
15 GomerSimpson
 
23.01.13
14:49
Если никак не скд, тогда можно сделать макет со всеми колонками, а пустые потом удалить.
Например:
Для Каждого Элемент Из Соответствие Цикл                          
   Если Не СтруктураВидовРасчета.Свойство(Элемент.Значение) Тогда    // удаляем неиспользуемые ячейки из макета шапки и тела
       ОбластьМакетаТело = ТелоТаблицы.НайтиТекст(Элемент.Значение,,,,Истина);  
       Если ОбластьМакетаТело<>Неопределено Тогда  
           ШапкаТаблицы.УдалитьОбласть(ШапкаТаблицы.Область(,ОбластьМакетаТело.Лево,,ОбластьМакетаТело.Лево), ТипСмещенияТабличногоДокумента.ПоГоризонтали);    
           ТелоТаблицы.УдалитьОбласть(ОбластьМакетаТело, ТипСмещенияТабличногоДокумента.ПоГоризонтали);  
           ОбластьИтого.УдалитьОбласть(ОбластьИтого.Область(,ОбластьМакетаТело.Лево,,ОбластьМакетаТело.Лево), ТипСмещенияТабличногоДокумента.ПоГоризонтали);  
       КонецЕсли;            
   КонецЕсли;    
КонецЦикла;
16 pessok
 
23.01.13
14:52
(15) вооооот!!! я нашел способ, которым надо приучать молодых неопытных однопопников учить СКД ;)
17 RaMMaL
 
23.01.13
14:53
(14) Да эт то понятно, время просто поджимает, а так начнем осваивать СКД понемногу.
18 hhhh
 
23.01.13
15:23
(17) ну просто Присоединить тоже надо освоить. Сколько месяцев у тебя на это уйдет, неизвестно, а в СКД - это делается не программированием, а настройками, просто заставишь пользователей самих настраивать, какие им колонки нужны, а какие строки.
19 RaMMaL
 
23.01.13
16:12
Да там через СКД тоже надо ручками прописывать, у меня эти динамические колонки берутся из запроса к примеру из запроса я вытаскиваю Сотрудника, СтатьюЗатрат и Сумму. И мне нужно вывести это в виде Сотрудник и сумма по каждой статье затрат,  статья затрат переходит в наименование колонки.
20 pessok
 
23.01.13
16:13
(19) вот именно такой отчет рисуется на СКД ровно за 1.5 минуты. И ничего там руками делать не надо
21 pessok
 
23.01.13
16:14
Сумма в ресурсы. В настройках - конструктор -> таблица.
в таблице -> строки = сотрудник, колонки = статья затрат
22 pessok
 
23.01.13
16:14
или строки = детальные записи
23 RaMMaL
 
23.01.13
16:50
тееекс, а вот благодаря тебе (22) в СКД я получил уже чтото членораздельное)

Сейчас выглядит мой отчет так после совета по настройкам:
                       Натакието нужды   |  На секие нужды|    
сотрудник                         Сумма                Сумма
Должность
Цель затрат
Пупкин П.П.                      100                  200
Работник                         100                  200
Так надо                         100                  200
А можно сделать так чтобы сотрудник и должность и тд выводились в колонках? Когда я их ставлю в настройках как колонки, он начинает их выводить как и статьи затрат как наименование для колонки.
24 Evrepid
 
23.01.13
18:31
2 (23) Берешь свой запрос, запихиваешь в консоль отчетов и настройками получаешь нужную тебе форму.
Потом эти настройки грузишь в макет и все...

Почитай книжку про СКД, сходи на курсы СКД.

Согласен, что отчет делается за 3-5 минут от силы.
Дольше объяснять.
25 RaMMaL
 
24.01.13
08:45
Да СКД учить нужно, но отчет я всетаки добил с помощью Присоединить и вертикальных колонок) в принципе ни чего сложного в этом нет... А СКД подходит не всегда, как я понял я бы все равно не смог бы в низу таблицы создать область с фио руководителя местом для печати и строкой для подписи, а это нужно было сделать
26 MaxisUssr
 
24.01.13
09:38
(25)
Мог бы с помощью СКД. Даже шапку с заполнением параметрами при желании можно только с использованием СКД наваять.