Имя: Пароль:
1C
1С v8
Расчет итогов в СКД
0 Soul771
 
23.05.14
11:13
Добрый день.
Есть отчет, построенный в СКД. Отчет берет записи из регистра: контрагент и несколько сумм. В настройках отчета сделаны группировки:
Контрагент, уровень ниже период, еще ниже регистратор. Сделала так, чтобы группировку по регистратору можно было включать и отключать в пользовательском режиме, т.е показывать данные по контрагенту с разбивкой по дням и детализацией по документам или же без детализации.
Все данные вроде выводятся корректно, только итоговая строка выдает разные данные при включении и отключении детализации.  Подскажите, где искать, в чем может быть причина?...
1 13_Mult
 
23.05.14
11:20
Без фотки может не взлететь )
2 Soul771
 
23.05.14
13:36
Хоть в какую сторону копать подскажите...)) Разве итоговая сумма где-то рассчитывается в СКД, кроме как галочка в настройках "Выводить итоги"?..
Не пойму, как могут данные выводиться корректно, а итоги криво..
3 Crush
 
23.05.14
13:57
Период регистра и регистратор связаны. И толку по ним группировки делать по обоим.
Или период - это какое то расчетное значение типа НачалоПериода(Период,День)?
4 Crush
 
23.05.14
13:57
И есть в запросе условия или отборы в настройках кд?
5 Crush
 
23.05.14
14:02
Для размышления
Есть записи регистра
Контрагент1/Договор1/Сумма+300
Контрагент1/Договор2/Сумма-100

Есть условие Где Сумма>0
Сумма по Контрагенту = 200
А сумма по Контрагенту и Договору будет 300
6 Soul771
 
23.05.14
19:21
(3)отчет выводит долги контрагентов на начало, конец периода, а также увеличение и уменьшение долга в течение периода. Период - это параметры, вводимые пользователем, т.е. дата начала и дата конца. Отбор записей в регистре ведется по этому промежутку между датами.

(4) - отборы есть по контрагенту

В общем, клиент пожелал видеть разбивку долгов контрагентов по дням. Т.е. выводится контрагент,далее день первый  - его долги , увеличение, уменьшение, остаток, потом день второй, день третий и т.д., далее следующий контрагент. И захотел клиент иметь возможность скрывать/показывать те документы, которые оказали влияние на долги по каждому дню.

Я никак не могу понять, почему все данные рассчитываются правильно, хоть ставь галку для показа документов, хоть убирай, а итог в самом низу идет криво. Причем такое наблюдается только если установлен отбор контрагент в группе, и при этом не указана детализация по документам. Если же выбрать отдельного контрагента, то все хорошо. Если выбрать группу контрагентов и шмякнуть галку показывать документы, то тоже все хорошо. А без галки какая-то лажа..

Понимаю, что описала коряво, и сложно разобраться не глядя, но мож кто с подобным сталкивался на практике, вспомнит похожий случай........
7 Soul771
 
23.05.14
19:24
(5) - мысль поняла, спасибо)
8 Soul771
 
27.05.14
23:29
Долгой прогулкой по интернету нашла решение)Мож кому пригодиться. Добавила вычисляемое выражение, вытащила его в ресурсы, а далее применила к нему на вкладке ресурсы ВычислитьВыражениеСГруппировкойМассив().
9 ИсчадиеADO
 
27.05.14
23:40
все не читал, но имхо трабл в том, что в настройках полей в СКД нужно проставить настройки: для рессурсов признак "ресурс", для измерений - измерение, для периода и регистратора - "период", причем регистратор - период с порядком 0, период секунда - 1, период минута - 2 и т.д., это по памяти... Иначе СКД не может правильно расчитать итоги. А ВычислитьВыражениеСГруппировкойМассив тут не причем, имхо...
10 Soul771
 
28.05.14
09:28
(9) - читала на эту тему, и думала, что здесь у меня все хорошо) а прочитав ваше сообщение, вспомнила, что регистратор у меня имеет период1, ПериодСекунда - период2 и т.д. Это не правильно, нужно обязательно с нуля начинать?

С помощью ВычислитьВыражениеСГруппировкойМассив() можно сложить или найти максимум промежуточных итогов по какой-либо группировке. Я про эту штучку не знала, мож кому еще понадобиться)
11 Crush
 
28.05.14
10:32
(8) Ерунда какая-то:)
Обращайся к оборотам с периодичностью "Регистратор" - так получишь данные по документам. Потом клей их к данным за период.
12 Crush
 
28.05.14
10:32
+(11) ну или не клей, а считай в ресуре итоги