Имя: Пароль:
1C
1С v8
СКД Произведение всех предыдущих значений поля
0 Rom_Kat
 
09.09.21
13:50
Возможно ли замутить произведение нарастающим итогом?

Просто нет? или все же стоит поковырять?

А где ковырять?
1 toypaul
 
гуру
09.09.21
13:57
теоретически можно получить массив предыдущих значений и их затем перемножить
2 Ненавижу 1С
 
гуру
09.09.21
13:58
(0) Можно в СКД, но вот необходимость этого под вопросом
3 Rom_Kat
 
09.09.21
14:52
(2)есть такой показательв отчет как доходность по портфелю ЦБ. И в формуле кроме прочего присутствует произведение фактора роста (ещё один показатель такой) за каждый день исследуемого периода.
4 Rom_Kat
 
09.09.21
14:56
(1) а перемножить как? Функцию в общем модуле пилить?
5 Rom_Kat
 
09.09.21
15:07
А можно в вычисляемом выражении обратиться к экспортной функции модуля отчета?
6 ptiz
 
09.09.21
17:03
7 runoff_runoff
 
09.09.21
22:42
дождаться exp и log в запросах в 20 пдатформе..
8 acanta
 
09.09.21
23:16
А может заодно прямые запросы к СуБд как объект платформы? Ну, чтоб лишний раз не бегать..
9 toypaul
 
гуру
10.09.21
08:17
(4) да
10 Rom_Kat
 
17.09.21
13:13
Написал вот такое ВычислитьВыражение("Массив(ФакторРоста)",,, "Первая", "Текущая")  и отчет умер ((
11 polosov
 
17.09.21
13:14
(10) Помянем...
12 Rom_Kat
 
17.09.21
13:16
(11) СКД труп...
13 hhhh
 
17.09.21
13:38
(10) это наверно из-за цены на газ. Доходность зашкалила, переполнение.
14 Rom_Kat
 
17.09.21
14:31
(13) не поэтому. Из-за такого вообще в космос улететь должно. Тут что-то другое...
15 EasyRider
 
17.09.21
15:32
(0) с помощью скд так можно сделать:
1. Запрос к примеру такой:
ВЫБРАТЬ
    Продажи.Номенклатура КАК Номенклатура,
    Продажи.Количество КАК Количество,
    Продажи.ЗаказПокупателя КАК ЗаказПокупателя
ИЗ
    РегистрНакопления.Продажи КАК Продажи
ГДЕ
    Продажи.Период >= &Период

2. Создаем вычисляемое поле "выч" с значением 0
3. Ресурсы в скд: Количество Сумма(Количество)
                  выч ффф(ВычислитьВыражениеСГруппировкойМассив("Количество","ЗаказПокупателя"))
4. Функция ффф экспортная в общем модуле:
Функция  ффф(мас) экспорт
    рез=1;
    для каждого стр из мас цикл
        рез=рез*стр;
    КонецЦикла;
    возврат рез;
КонецФункции

5. Структура отчета:
              Номенклатура
                 ЗаказПокупателя
в выбранных полях "количество" и "выч"
16 toypaul
 
гуру
17.09.21
16:03
Надо не через ВВ, а через ВычислитьВыражениеСГруппировкойМассив("Тут выражение ресурса", "Тут выражение группировки")

в итоге получится массив значений ...

хотя через ВВГМ фигня конечно получится. буду только значения ресурсов без привязки к группировки

тогда можно попробовать использовать ВычислитьВыражениеСГруппировкойТаблицаЗначений. В итоге получится таблица, по которой можно посчитать произведение исходя из текущего значения группировки.

подобную задачу решали в нашем курсе по СКД
17 toypaul
 
гуру
17.09.21
16:08
кстати можно попробовать такую жуть ...

ВычислитьВыражение("ВычислитьВыражениеСГруппировкойМассив(""..."",""..."")", ,,, "Первая", "Текущая")

об этом рассказывали во втором нашем курсе :) может быть и получится тогда массив значений от первой до текущей. тогда его в останется только передать в функцию для перемножения
18 Rom_Kat
 
17.09.21
16:39
(17) Ошибка выполнения отчета
по причине:
Ошибка исполнения отчета
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Поле не найдено "Массив"

Вот так вот.
19 Rom_Kat
 
17.09.21
16:40
(17) ОбщийМодуль.ДоходностьСНачалаПериода(ВычислитьВыражение(ВычислитьВыражениеСГруппировкойМассив("ФакторРоста"),,, "Первая", "Текущая"))
20 Rom_Kat
 
17.09.21
16:48
ОбщийМодуль.ДоходностьСНачалаПериода(ВычислитьВыражение("ВычислитьВыражениеСГруппировкойМассив(""ФакторРоста"")",,, "Первая", "Текущая"))
Вот так отработало, но в функии массив с одним значение 0.
21 Rom_Kat
 
17.09.21
16:56
(15) только нет группировок. Есть только детальные записи. И нужно массив от первого значения по текущее.
22 toypaul
 
гуру
17.09.21
19:04
(20) а почему оно так должно работать, если я писал не так?
23 Rom_Kat
 
20.09.21
15:30
(22) а что я не так написал? Не понял.
AdBlock убивает бесплатный контент. 1Сергей