Имя: Пароль:
1C
1С v8
В отчете динамический вывод колонок
0 breezee
 
05.06.15
19:38
Нужно доработать типовой отчет, в звависимости от данных запроса - нужно добавлять колонки в отчет. Как это сдлеать с помощью запроса и макета(как для печатной формы) - я представляю. Как это сдлеать с помощью СКД? В СКД, для объекта, в который передаются данные нужно описывать все поля заранее. То есть - если регистратор "1" - мне нужно вывести в отчете колонку "1", иначе - не выводить, если "2" - вывести колонку "2" и т.д.
1 kosts
 
05.06.15
19:55
В настройке СКД добавь "Таблицы" (горизонтальная группировка).
Нужные колонки сами будут появляться.

См. по теме Кросс Таблица
2 breezee
 
05.06.15
20:02
(1) Посмотрел что такое кросс-таблицы. Может не правильно понял суть, но получается что это когда данные в одном разрезе сами становятся разрезом для данных. Это так? Не много не понимаю, как это будет работать? Может я криво объяснил. Вот то, как я себе представляю, как нужно выводить отчет который мне нужен.
1)Запрос на выборку
2)обработка, в которой с помощью условий "если" сравниваются типы данных в запросе и типы, которые мне нужны если истина - вывожу колонку
3)получившийся макет и запрос помещаю в СКД
3 kosts
 
05.06.15
20:08
В запрос добавь поле ТипДокумента. Помести это поле в горизонтальную группировку

Выбрать Когда Регистр1.Регистратор Ссылка Документ.ПриходнаяНакладная Тогда "ПриходнаяНакладная"
Когда Регистр1.Регистратор Ссылка Документ.РасходнаяНакладная Тогда "РасходнаяНакладная" Иначе "" Конец как ТипДокумента
4 breezee
 
05.06.15
20:10
(3) Все, кажется начинаю догонять. Скажи, пожалуйста, я правилно понял: Если результат регистаротра не пустой, а равен 1 - в кросс таблице за место выборки даннх создатся новая колонка, в разрезе которой и будут теперь содержаться данные?
Спасибо за помощь!
5 kosts
 
05.06.15
20:11
(4) Ну да, вроде так
6 breezee
 
05.06.15
20:15
(5) Спасибо, это круто! Можешь порекомендуешь что-нибудь прочитать про запросы, чтобы шарить в проблемах, которые могут встретиться на моем пути? Наверное глупый воспрос, но все же спрошу)
7 kosts
 
05.06.15
20:15
Можно попробовать обойтись без изменения запроса. В пользовательском режиме настройки. Там можно добавлять условия. Не подскажу решение, это экспериментировать надо.
8 kosts
 
05.06.15
20:18
(6) Проф разработа СКД Хрусталева, правда сам не читал, но рекомендуют.
9 breezee
 
05.06.15
20:18
(7) Да не, в СКд поле регистратор сделано почему-то полем периода, даже группировку по нему получать нельзя. Кстати, так и не понял почему разработчики сделали именно так.
10 breezee
 
05.06.15
20:18
(8) Спасибо!
11 breezee
 
05.06.15
20:22
И все же, я задумался почему поле регистратор может служить периодом? Я ничего не нарушу, если удалю роль в СКД(если это не сдлеать - нельзя выводить группировку по регистратору и просто выводить это поле в отчет)
12 kosts
 
05.06.15
20:25
(11) Если отчет типовой, просто добавь свое поле. Останется возможность использовать типовое поведение отчета.
13 breezee
 
05.06.15
20:26
(12) Понял, спасибо еще раз!