Имя: Пароль:
1C
 
Вопрос по СКД
0 iceman2112
 
06.09.16
07:46
Есть таблица
Сделка 1 "Сумма Сделки", "Реализация 1" "Сумма реализации 1"
Сделка 1 "Сумма Сделки", "Реализация 1" "Сумма реализация"

Допустим вывожу отчет в группировке по сделке
Сделка 1 "Сумма сделки"                 "Типо" Итог по реализация"
                       Реализация 1 "Сумма Реализация 1"
                       Реализация 2 "Сумма Реализация 2"


ВОПРОС?
Как мне к сделке посчитать "Сумма сделки" - минус "Итог по реализация?
1 shulerr
 
06.09.16
08:01
Нужна временная таблица с итогами по сделкам
2 iceman2112
 
06.09.16
08:27
так каждый может
3 ViSo76
 
06.09.16
08:36
В СКД есть функции, скорее всего тебе подойдёт:

Вычислить (Evaluate)
Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки.

Синтаксис:

Вычислить(Выражение, Группировка, ТипРасчета)

Параметры:

Выражение. Тип Строка. Содержит вычисляемое выражение;
Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. Например:
Сумма(Продажи.СуммаОборот) / Вычислить("Сумма(Продажи.СуммаОборот)", "ОбщийИтог")

В данном примере в результате получится отношение суммы по полю "Продажи.СуммаОборот" записи группировки к сумме того же поля во всей компоновке.

ТипРасчета. Тип Строка. В случае если данный параметр имеет значение "ОбщийИтог", выражение будет вычисляться для всех записей группировки. В случае если значение параметра "Группировка", значения будут вычисляться для текущей групповой записи группировки.
4 ViSo76
 
06.09.16
08:42
Скорее всего тебе просто нужно в ресурсах указать что для группы Сделка вычислять СУММА( "Итог по реализация" ) - СУММА( "Сумма сделки" ). Но я думаю что это не будет правильно работать, так как будет нарастающий итог
5 Dotoshin
 
06.09.16
09:06
(0) Два набора данных не помогут?
В одном наборе сделки в другом реализации.
6 iceman2112
 
06.09.16
10:20
ВЫЧИСЛИТЬ("СУММА(СуммаРеализации)",  "Сделка", "ОбщийИтог") Это можно как то в поле к сделке сделать?
7 ViSo76
 
06.09.16
11:06
(6) Делаешь ресурс с группировкой по Сделка и туда запихиваешь эту формулу. Только обязательно укажи группировку в ресурсе
8 iceman2112
 
06.09.16
13:37
ну и шо он как ресуср его выходит
9 ViSo76
 
06.09.16
17:47
(8) замени текст суммы у ресурса на свой
10 iceman2112
 
06.09.16
18:04
Добавляют выч поле "СуммаОтгрузка".
11 iceman2112
 
06.09.16
18:06
Он мне уже мозг ипет 3 час.
Выч пол вырежение "Пусто", иду в ресурс "СуммаОтгрузоак" = ВЫЧИСЛИТЬ("СУММА(СуммаРеализации)",  "Сделка", "ОбщийИтог") Рассчитьвать по сделке.
12 iceman2112
 
06.09.16
18:08
куда бы я потом не добавляю эту сумма Отрузок рядом с группировкой и сделал или в ее поля. Оно оторожатеся как рессурс. Причем даже считает по группировкам ниже
13 iceman2112
 
07.09.16
00:25
Спасибо, за то функцию подсказли, я верил что есть что то подобное. НО все таки сделать его "Вместе с группировкой не смог"
14 SleepyHead
 
гуру
07.09.16
06:16
Нажми Shift+F1 и читай про язык выражений СКД, функцию ВычислитьВыражение, у нее расширенный функционал по сравнению с функцие "Вычислить".
15 ViSo76
 
07.09.16
08:56
(11) Тебе скорее всего нужно такая формула ВЫЧИСЛИТЬ("СУММА(СуммаРеализации)") суммироваться будет по текущей группе. В твоей формуле скорее всего возвращается массив чисел для всех групп.
16 ViSo76
 
07.09.16
09:02
Не помню возможно функция всегда возвращает массив, тогда попробуй Сумма( ВЫЧИСЛИТЬ( "СУММА(СуммаРеализации)" ) )