Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

СКД Произведение всех предыдущих значений поля

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

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

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

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

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

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

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

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

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

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

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

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


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.