Имя: Пароль:
1C
1С v8
Вопрос по СКД
,
0 zerat
 
30.05.16
08:31
Всем привет! Гуру СКД подскажите пожалуйста, как лучше делать отчеты с динамическими колонками?
Допустим у меня есть данные в регистре накопления, и мне надо взять дынные из этого регистра + надо вывести в колонках данные из табличной части в колонках отчета.

ВЫБРАТЬ
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Организация КАК Организация,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Партнер КАК Партнер,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Контрагент КАК Контрагент,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Подразделение КАК Подразделение,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.ДокументРасчетов КАК ДокументРасчетов,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.ФормаОплаты КАК ФормаОплаты,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.Дата КАК ДатаПрихода,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.НомерПлатежки КАК НомерПлатежки,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.ДатаПлатежки КАК ДатаПлатежки,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход КАК СуммаПрихода,
    ВЫРАЗИТЬ(zer_ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.Комментарий КАК СТРОКА(500)) КАК Примечание,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.ДокументРасчетов.Номер,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Период,
    zer_РейсРасходы.Услуга КАК Расходы,
    zer_РейсРасходы.Сумма КАК СуммаРасхода
ИЗ
    РегистрНакопления.zer_ВзаиморасчетыСКонтрагентами.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ДокументРасчетов ССЫЛКА Документ.zer_ЗаявкаНаПеревозку) КАК zer_ВзаиморасчетыСКонтрагентамиОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.zer_Рейс.Расходы КАК zer_РейсРасходы
        ПО zer_ВзаиморасчетыСКонтрагентамиОбороты.ДокументРасчетов = zer_РейсРасходы.Ссылка.Заявка

СГРУППИРОВАТЬ ПО
    zer_ВзаиморасчетыСКонтрагентамиОбороты.ДокументРасчетов,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Организация,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Партнер,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Контрагент,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Подразделение,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.ФормаОплаты,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.Дата,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.НомерПлатежки,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.ДатаПлатежки,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.ДокументРасчетов.Номер,
    zer_ВзаиморасчетыСКонтрагентамиОбороты.Период,
    zer_РейсРасходы.Услуга,
    zer_РейсРасходы.Сумма,
    ВЫРАЗИТЬ(zer_ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.Комментарий КАК СТРОКА(500))

УПОРЯДОЧИТЬ ПО
    ДатаПрихода

вот пример запроса.
1 aleks_default
 
30.05.16
09:05
И что тут динамического? Ты хоть понятие имеешь о чем пишешь?
2 los_hooliganos
 
30.05.16
09:09
Используй фигурные скобочки. Как построителе отчета
3 zerat
 
30.05.16
09:12
(1) наверное неверно выразился, я имею ввиду количество колонок заранее неизвестно

(2) где из использовать ?
4 zerat
 
30.05.16
09:19
5 Остап Сулейманович
 
30.05.16
09:23
(4) В стандартных настройках выводи все колонки, а все извраты в пользовательском интерфейсе - вариантами.
6 zerat
 
30.05.16
10:24
(5) можно подробнее?
7 zerat
 
30.05.16
16:45
подниму
8 Nuobu
 
30.05.16
16:51
что значит "Динамические" колонки?
9 Diman000
 
30.05.16
16:54
Флажки в выбранных полях не оно?
10 zerat
 
31.05.16
10:16
(9) не оно
11 zerat
 
31.05.16
10:17
(8)  данные из табличной части документа в колонках, сумма из табличной части в строках этих колонок
12 Windyhead
 
31.05.16
10:22
(11) Думаю никто ничего не понял.
13 Nuobu
 
31.05.16
10:43
(11) Ну, я отчеты строю по такой схеме: есть какой-то фиксированный набор колонок, который должен быть ОБЯЗАТЕЛЬНО. Пишу запрос под него, под именно этот набор колонок. Если есть возможность - вытягиваю все возможные колонки, которые могу вытянуть без потери производительности, но вывожу только те, которые пользователь просит вывести. Остальные - которые он упомянул, но, скажем так, они не являются обязательными, делаю опцыональными, то бишь они в списке колонок есть, но по умолчанию не выведены. Если пользователь хочет видеть, но, пока не знает что, то выводи только то, что пользователь точно хочет видеть, не больше ни меньше.

Если ты точно знаешь, что кроме основных колонок тебе еще нужно дать возможность вывести именно эти колонки, то выведи их в запросе, но не в СКД.

фуух. Как-то так.
14 zerat
 
31.05.16
13:04
Допустим есть документ реализация товаров.
Надо вывести в строках таблицы такие данные как

Контрагент|СуммаДокумента|НомерДок|ДатаДок|

а в колонках Товары и сумму

Товар1|Товар2|Товар3|....и так далее
15 KuAl
 
31.05.16
13:10
(14) делаешь горизонтальную группировку, СКД сам размотает по колонкам

добавляешь таблицу и в колонках указываешь номенклатуру
16 zerat
 
31.05.16
13:15
(15) так и делаю но прикол в том что когда я группирую данные по строкам тогда суммуДокумента увеличивается на количество строк в табличной части
17 zerat
 
31.05.16
13:15
У кого нить есть пример простого пример таких отчетов?
18 KuAl
 
31.05.16
13:20
(16) покажи скриншот
19 samozvanec
 
31.05.16
13:31
(16) судя по всему, СуммаДокумента ресурс у тебя. так вот либо тебе ее надо не ресурс, либо по этой группировки бери не сумму, а среднее, либо вместо нее использую сумму из ТЧ Товары.
грубо говоря, у тебя сейчас так
СуммаДок    Контр    Товар СуммаТовар
100         К1       Т1    50
100         К1       Т2    50

вот и получается СуммаДок 200 при группировке
20 zerat
 
01.06.16
09:30
(19) не ресурсом сделать не могу, так как мне надо итоги по этим колонкам...
21 zerat
 
01.06.16
09:38
22 EvgeniuXP
 
01.06.16
10:18
Будь мужиком, сделай через обычный макет - а все настройки выкинь на форму
23 zerat
 
01.06.16
10:18
Теперь вроде все получилось
http://prntscr.com/bawo6o

но как мне сделать итоги по колонкам
"Сумма остатка" и "Сумма прихода"
Если я сделаю их ресурсами то все данные у меня снова задвоятся...
24 zerat
 
01.06.16
10:18
(22) Выкинуть СКД и сделать по старинке?))
25 zerat
 
01.06.16
13:40
http://prntscr.com/bawo6o

но как мне сделать итоги по колонкам
"Сумма остатка" и "Сумма прихода"
Если я сделаю их ресурсами то все данные у меня снова задвоятся...
26 bootini
 
01.06.16
14:35
(23) А в ресурсах агрегатную функцию Сумма() берешь? Если Сумма(), топопробуй МАКСИМУМ() или МИНИМУМ() без разницы
27 bootini
 
01.06.16
14:37
(23) Колонка "откаты" порадовала :)
Без палева так)))
28 Nuobu
 
01.06.16
14:39
(25) Создай в СКД два набора данных. Один с документами, другой с товарами из табличных частей. Тогда ресурсы будут считаться правильно.
29 y22-k
 
01.06.16
14:41
(25) колонка откаты вообще так беспалева)
Закон Брукера: Даже маленькая практика стоит большой теории.