Имя: Пароль:
1C
1С v8
СКД вычисляемое поле в группировке
,
0 Strimteam
 
07.02.12
11:32
Есть задание сделать отчёт по двум таблицам, так чтобы исходная выглядела:

Отдел  | Строка |  X  |  Сумм(Y) |  Сумм(X+Сумм(Y))
      |    1   |     |    y1    |
      |    2   |     |    y2    |
      |    3   |     |    y3    |
      |    4   |     |    y4    |

И сделать в СКД.
Приблизительно зачем отчёт - есть выделенные деньги на отдел, и они формируются одним документом.
Вторым документом они корректируются.
Нужен отчёт который показывает каждую корректировку как строку, но в итоговой группировке умеет использовать сумму начального бюджета +  сумму всех корректировок.

Пытался через пакетный запрос к временной таблице, но идёт запрет на использование итогов.
Пытался через связь наборов данных - но не понял как выводить только в итогах суммирование.
Вывод самой строки можно обойти через "Условное оформление" выбирая минимимум(максимум) по строке X и вместо него выводить "0", если это не группировка. Но вот сложение поломало мой мозг.
Пытался через
1 Strimteam
 
07.02.12
11:38
больше вобщем пока не пытался. Последнее как-то само добавилось...
2 Strimteam
 
07.02.12
11:49
Есть какие-нибудь идеи как суммировать поля только в группировке или как только в одну строчку добавлять X (дальше и простая группировка справится)?
3 viktor_vv
 
07.02.12
11:53
Ну добавь еще один такой же ресурс на закладке ресурсы, и пропиши формулу и задай для каких группировок считать.
4 jump if zero
 
07.02.12
12:03
Нужно будет еще левое соединение
где будет Поле заполненное только начальнм значением

и для группировки использовать новый ресурс с формулой
Сумм(НачальнаяX+Сумм(Y))
5 Strimteam
 
07.02.12
12:08
(3) - пока выбираю через минимум, так что в каждой строке есть значение Х, соответственно группировка суммирует по всем полям
(4) - так есть поле, заполненное первоначальным значением, только потому что это запрос - данное поле заполненное выводится в каждую строку. Если бы была возможность выводить только в 1-ю строку по каждому региону, то всё бы решилось. а так ... непонятно
6 viktor_vv
 
07.02.12
12:10
Так ты его в самом запросе через Выбор заполняй 0 . Поле Х.
7 Strimteam
 
07.02.12
12:12
(6) ну а как тогда полностью должен выглядеть "Выбор КОГДА", чтобы только для одной строки или по левому соединению единожды добавлялся?
8 jump if zero
 
07.02.12
12:26
Минимум(X) +Сумма(Y) рассчитывать по регион
Сумма(Х) рассчитывать по Строка
9 viktor_vv
 
07.02.12
12:34
(7) С соединениями так не получится скорее всего, это я прогнал немного. Вот с Объединением получится.
10 Strimteam
 
07.02.12
12:46
(7) - объединение тоже идёт по записям всей второй таблицы
11 Strimteam
 
07.02.12
12:50
Вобщем задачу решил, и надеюсь НИКТО в жизни так не будет себе скрашивать рабочие будни.
Что делать?
1) поле Х вообще не выводить в итоговый запрос (в строку не получиться ввести 0)
2) добавляем два вычисляемых поля со значение 0
3) на ресурсах первое поле рассчитываем как Х только по группировке Регион
4) второй ресурс рассчитываем как СУММА(Y) + Х только по группировке регион
5) добавляем рассчёт этих же ресурсов по общей группировке как Сумма(ресурс)

Я знал что 1с-ка это изврат, но в такие дебри захожу впервые :))))