Имя: Пароль:
1C
1С v8
"Универсальный отчет" Число показателей (Колонок)
,
0 sema76
 
06.08.14
23:37
Делаю отчет на базе (Универсального отчета (механизма) (Так надо)). В колонках выводятся суммы затрат по Соответствующей Статье затрат (Колонке).
В разные периоды Статьи затрат могут быть разными, также могу меняться, соответственно Колонки и их количество будут разными в зависимости от периода.
Как программно управлять числом колонок?
1 sema76
 
07.08.14
10:34
Никто не подскажет, можно ли это сделать в Универсальном отчете?
2 Ненавижу 1С
 
гуру
07.08.14
10:52
что значит управлять, а главное зачем?

можно программно накидывать нужное число показателей в процедуре УстановитьНачальныеНастройки
3 Михаил Козлов
 
07.08.14
11:07
Что-то не понял: с группировкой ао статьям затрат в колонках и так будут колонки со статьями, по которым есть обороты за период.
4 torgm
 
07.08.14
11:18
Видимо автору сказали сбрасывать результат отчета в эксель, и там склеивать с предыдущими отчетами...  


кстати в постановке вопроса "так надо" кроется и ответ... ТС скжи зачем же нам это надо?
5 sema76
 
07.08.14
11:40
(0) Группировка Подразделение, Ресурсы (Колонки (Показатели) это статьи затрат. В каждый период могут быть свои Статьи затрат и их Количество, соответственно число Колонок разное будет.
Как это сделать используя Объект Универсальный отчет?
6 ale-sarin
 
07.08.14
11:43
(5) Вы, наверное, имеете ввиду: Группировка строк - Подразделения, Группировка колонок - статьи затрат, Ресурсы - сумма затрат.
Ну так сделайте.
7 ptiz
 
07.08.14
11:46
(6) +1
8 sema76
 
07.08.14
11:46
(6) И как это сделать? Проблема в том, что состав Колонок должен быть указан заранее. А если число Колонок будет известно только после выполнения запроса, то как это реализовать?
9 ale-sarin
 
07.08.14
11:57
(8) Сделать что?
Скажите по человечески. Вам необходимо, что бы количество колонок всегда было одинаковое? Т.е. даже если в периоде нет затрат по статье, она все равно должна быть в отчете с устой суммой?
Так?
10 ale-sarin
 
07.08.14
11:57
+9 устой --> пустой
11 sema76
 
07.08.14
12:18
(9) Мне надо чтобы число Колонок менялось в зависимости от Результата запроса, в зависимости от Периода формирования отчета.

Вчера не было какой-то статьи затрат, а завтра появились еще две новых, т.е. вчера было 7 Статей затрат, а завтра будет 9.

Мне нужно чтобы отчет работал, не внося в него изменения.
12 ale-sarin
 
07.08.14
12:23
(11) Любой отчет по затратам, неважно где они есть (с бухрегистре или накопления) так и будет работать.
Есть есть затраты по статье, они покажутся в отчете, нет - нет.
Или Вы думаете, что отчеты по контрагентам каждый раз переписываются, когда новый контрагент появляется?
13 sema76
 
07.08.14
12:42
(12) Для отчета использую объект Универсальный отчет. Как я понял в этом случае Тип и Число Колонок должны быть определены заранее.
Я не знаю как менять число Колонок динамически в Универсальном отчете и можно ли это, если можно, то как.
14 ale-sarin
 
07.08.14
12:43
(13) "Как я понял в этом случае Тип и Число Колонок должны быть определены заранее"
Не правильно поняли.
15 ale-sarin
 
07.08.14
12:44
(13) Блин, в универсальный отчет можно пихнуть ЛЮБОЙ запрос.
16 sema76
 
07.08.14
12:59
(15) Кроме запроса надо еще заранее Указать в модуле какие Колонки будут и это должно совпадать точно с Полями запроса. Если в запросе Число и Тип полей меняется, то и в модуле надо менять Указание Колонок.
Короче, как я понял, не гибкая система получается. Нужно делать запрос сначала такой же, чтобы определить какие Колонки будут, потом Указать их в Модуле, и потом уже Выполнить еще раз Запрос для получения Результата.
17 ale-sarin
 
07.08.14
13:16
(16) Под колонками Вы, сдается мне, подразумеваете Показатели. Так вот, Показатель у Вас один - это сумма.

А подразделение и статья затрат - это измерения.
18 ale-sarin
 
07.08.14
13:16
(16) Вот пример
ВЫБРАТЬ
    ДвиженияДенежныхСредствОбороты.СуммаОборот,
    ДвиженияДенежныхСредствОбороты.БанковскийСчетКасса,
    ДвиженияДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств
ИЗ
    РегистрНакопления.ДвиженияДенежныхСредств.Обороты({(&НачалоПериода)}, {(&КонецПериода)}, , {(БанковскийСчетКасса).*, (СтатьяДвиженияДенежныхСредств).*}) КАК ДвиженияДенежныхСредствОбороты
{УПОРЯДОЧИТЬ ПО
    БанковскийСчетКасса.*,
    СтатьяДвиженияДенежныхСредств.*}
{ИТОГИ ПО
    БанковскийСчетКасса.*,
    СтатьяДвиженияДенежныхСредств.*}

Дальше, в настройках отчета: СуммаОборот в Показатели, БанковскийСчетКасса в Группировку строк, СтатьяДвиженияДенежныхСредств в Группировку колонок.
19 ale-sarin
 
07.08.14
13:19
И вообще, конфа какая? И универсальный отчет какой? Есть на построителе, а есть на СКД.
20 sema76
 
07.08.14
14:01
(19) (19) УПП, Универсальный отчет, на Построителе.

По вашей логике Статья у вас Измерение, если допустить, то у меня переменное количество измерений получается.

Я запрос делаю к Специально созданному документу Статьи затрат в нем в разные периоды могут быть разными и их количество тоже, в моем случае это не Регистр с постоянными измерениями.

Постоянное это только Подразделение, Статьи затрат и суммы по ним это переменные.

Подразделения выводятся в строки, Статьи затрат и суммы по ним в колонки.
21 sema76
 
07.08.14
14:04
(19) Посмотрю еще. Только проблема не с запросом!!!
А с тем что заранее надо в модуле указать Колонки, а количество Колонок до выполнения запроса не известно!
22 ale-sarin
 
07.08.14
14:17
(20) (21) Ерунда.
Вот скажите, Вы сможете написать запрос для универсального отчета и с его помощью вывести в таблицу такую?
Подразделение1 2000
Статья1       500
Статья2       1500
Подразделение2 1600
Статья1       700
Статья3       900
ИТОГО          3600

Т.е. Подразделение и статья в группировке строк


Если сможете, то для Вашей задачи больше ничего не надо. Просто в настройках статью переносите в группировку колонок. и ВСЕ!!!
23 sema76
 
07.08.14
14:26
(22) Статья затрат нужна в колонке, а не в строках

               Статья1 Статья2      
Подразделение1 500     1500
Подразделение2 700      900

Итого         1200     2400
24 ale-sarin
 
07.08.14
14:28
(23) Блин. Да что ж такое то, а? Упертый? Попробовать не можешь?

Последнюю строку в (22) видел? Понимаешь что такое Группировка сток и группировка колонок?
25 ale-sarin
 
07.08.14
14:33
+24 стоит только сделать последнюю строку из (22) и построитель сам, без чьего либо участия, сделает из таблицы (22) другую

               Статья1   Статья2   Статья3   Итого  
Подразделение1 500       1500                2000
Подразделение2 700                 900       1600
ИТОГО          1200      1500      900       3600
26 sema76
 
07.08.14
14:52
(25) Для окончательного вывода Результата используется Объект метеоданных Универсальный отчет.

Что мне нужно написать в Инструкциях для Универсального отчета (Сам запрос пока уберем в сторону), если я заранее будущее число Колонок.

Что в моем случае будет Показателем?
27 ale-sarin
 
07.08.14
14:55
(26) Еще раз.
Измерения - это подразделения и статьи, Показатель - сумма.
28 sema76
 
07.08.14
15:07
(27) Как я понял в свойствах Универсального отчета Колонка это и есть показатель.
Значит у меня будет одна Колонка (Показатель) Сумма и что в нее будет выводиться?
29 ale-sarin
 
07.08.14
15:12
(28) А это уже на запрос надо смотреть.
30 sema76
 
07.08.14
16:09
(29) Так мне надо чтобы число Колонок (Показателей) менялось в зависимости от результатов запроса.
31 ale-sarin
 
07.08.14
16:15
(30) Ничего подобного. Еще раз читайте всю тему.
Показатель ОДИН!!! Сколько раз надо повторить?

Количество колонок в таблице появится столько, сколько статей будет в выбранном периоде.
32 sema76
 
07.08.14
17:18
(31) При использовании Универсального отчета, чтобы появилась Колонка, нужно указать ее в Модуле Инициализации для Универсального отчета и связать ее с Полем запроса.
33 ale-sarin
 
07.08.14
17:21
(32) Вы до сих пор продолжаете спорить? За это время ничего не попробовали сделать?
34 sema76
 
07.08.14
17:22
(33) Я не спорю. Вы не написали Код, как добавить Колонку чтобы она могла появиться в Отчете несколько раз в зависимости от Запроса.
35 ale-sarin
 
07.08.14
17:25
(34) Ох, ёёёё. Вы запрос сделали какой-нибудь? Покажите.

Еще раз говорю.В запросе должно быть три поля: Подразделение, статья, сумма.
Универсальному отчету сказать, что сумма - это показатель.
Типа такого:     УниверсальныйОтчет.ДобавитьПоказатель("СуммаВзаиморасчетовНачальныйОстаток", "нач. остаток", Истина, "ЧЦ=15; ЧДЦ=2", "СуммаВзаиморасчетов", "Сумма взаиморасчетов");

Потом в пользовательском режиме, на кнопке настройка сделать (6)
36 sema76
 
07.08.14
17:33
(35) Все правильно, этим кодом вы добавили Одну Колонку.
37 ale-sarin
 
07.08.14
17:39
(36) Я уже скоро смеяться буду так громко, что даже Вы услышите.

Нет. Этим кодом я не добавил одну кнопку.
Вернемся к примеру (25).
УниверсальныйОтчет.ДобавитьПоказатель("Сумма", "Сумма", Истина, "ЧЦ=15; ЧДЦ=2", "Сумма", "Сумма") - не добавит колонок в отчет. Потому что в этот момент еще неизвестны пользовательские настройки.
Позже, я в настройках добавлю статью в группировки колонок и нажму "Сформировать". О, чудо. Колонок будет три, потомучто три статьи.
38 ale-sarin
 
07.08.14
17:41
Давайте так. Опишите задачу: что, из какого документа надо вывести.
39 sema76
 
07.08.14
17:50
(38) Я  дополняю уже существующий большой (очень сложный) отчет.
Так как времени не хватает, количество Колонок сделал фиксированным.

Может и можно сделать как вы говорите, создать группировку, а потом выводить ее в колонки, мне пока визуально трудно что выведет отчет.

Я добавляю через Левое Соединение. Если я сделаю группировку по Статьям затрат, то нужные данные, которые выводит сущетвующий отчет просто не будут выводится.
40 ale-sarin
 
07.08.14
17:54
(39) Ладно. Я все, что мог сказал.

Советую попробовать поиграть с группировками строк и колонок в типовых отчетах на построителе.
Визуально все будет видно.
41 sema76
 
07.08.14
18:02
(40) Видимо не нужно добавлять Поле как Показатель, тогда по нему можно будет группировать.
Если как Показатель, то это только "мертвая" Колонка будет.

(Экспериментировать нет времени.)