Имя: Пароль:
1C
1С v8
ВычислитьВыражение() в СКД
0 Василий_Ростов
 
30.07.18
15:17
Делаю расчет доли товара по продажам.
В Вычислямых полях ставлю формулу:
Сумма(Ср_Нед_Продажи_Шт) / ВычислитьВыражение("Сумма(Ср_Нед_Продажи_Шт)", "Магазин") *100
Отрабатывает нормально. Вопросов нет.
Теперь необходимо подсчитать Напительную долю.
Верхний расчет + ВычислитьВыражение(Сумма(Верхний расчет),,,"Первая", "Предыдущая")
Типо
1 -10%
2-7%
3-4%
Накопительная доля продаж должна считаться:
1+Предыдущая и так далее
1 aleks_default
 
30.07.18
15:21
И чо? И чо?
2 Василий_Ростов
 
30.07.18
15:27
Доля вычислилась и результат примерно такой
Товар1 - 10%
Товар2 - 8%
Товар3 - 7%
А Итоговая доля рассчитывается по формуле:
Доля Товара1 + предыдущая доля(0)
Доля Товара2 = 10%+8%=18%
Доля Товара3 = 7%+18% из предыдущегозначения = 25%
Можно это сделать как то через ВычислитьВыражение? Или надо уходить от СКД и в цикле обходить?
3 aleks_default
 
30.07.18
15:32
Можно, только не через вычисляемые поля.
4 Василий_Ростов
 
30.07.18
15:34
Через Ресурсы?
5 Василий_Ростов
 
30.07.18
15:36
Наведите на мысли - через ВычислитьВыражение?
ВычислитьВыражение(Сумма(ОжидаемыеПродажи),,,"Первая", "Предыдущая") - примерно по такой формуле?
6 aleks_default
 
30.07.18
15:45
(4) Да формулы нужно вставлять не на закладке Вычисляемые поля, а на закладке Ресурсы.

Верхний расчет + ВычислитьВыражение(Сумма(Верхний расчет),,,"Первая", "Предыдущая")
=
ВычислитьВыражение("Сумма(Ср_Нед_Продажи_Шт)",,,"Первая", "Текущая") как-то так
7 Василий_Ростов
 
30.07.18
15:59
Выражение не может быть вычислено "Сумма(НаборДанных1.Ср_Нед_Продажи_Шт), Магазин"
8 aleks_default
 
30.07.18
16:03
(7)Это два параметра разделенных запятой, а у тебя один. Читай справку по описанию метода
9 тарам пам пам
 
30.07.18
16:11
(0) Все гораздо проще, чем на самом деле. Попробуй так:

ВычислитьВыражение("Сумма(Ср_Нед_Продажи_Шт)",,,"Первая", "Предыдущая") / ВычислитьВыражение("Сумма(Ср_Нед_Продажи_Шт)", "Магазин") * 100
10 тарам пам пам
 
30.07.18
16:14
(9)+ если тебе текущую тоже надо включать, то не "Предыдущая", а "Текущая"
11 Василий_Ростов
 
30.07.18
16:33
Спасибо огромное!!!
Все получилось)))
12 Василий_Ростов
 
30.07.18
16:44
Ошибка исполнения отчета
по причине:
Ошибка в выражении "(Выбор
    Когда &АнализПродаж = "Продажи_Шт"
        Тогда (ВычислитьВыражение("Сумма(Ср_Нед_Продажи_Шт)",,,"Первая", "Текущая") / ВычислитьВыражение("Сумма(Ср_Нед_Продажи_Шт)", "Группа") * 100 УБЫВ)
    Когда &АнализПродаж = "Продажи_Руб"
        Тогда (ВычислитьВыражение("Сумма(Ср_Нед_Продажи_Руб)",,,"Первая", "Текущая") / ВычислитьВыражение("Сумма(Ср_Нед_Продажи_Руб)", "Группа") * 100 УБЫВ)
    Иначе 0
Конец)"
по причине:
Ожидается ) ")"
Где я тут забыл кавычку поставить?
13 Василий_Ростов
 
30.07.18
16:55
Разобрался)
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший