СКД Нарастающий итог с условием

1. aleks xantaev 8 21.01.19 13:01 Сейчас в теме
Требуется сделать отчет в котором будут рассчитываться нарастающии итоги по определенной группировки. Какие есть варианты? В функции ВычислитьВыражение или в других условие по группировке не получается поставить.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. user700035_6550355 29 21.01.19 13:56 Сейчас в теме
(1) выводите в виде таблицы, колонки будут Ваше нарастающее значение (по датам) и ставите периодичность
4. aleks xantaev 8 22.01.19 03:58 Сейчас в теме
(3) Другого вариант нет? только если ставить периодичность? Мне дополнительные колонки не нужны
2. monolog 21.01.19 13:10 Сейчас в теме
ВычислитьВыражениеСГруппировкойМассив() тоже как я понимаю использовать пытались ?
5. Гость 29.12.23 02:48
Кто-нибудь решил эту задачу? У меня тоже проблема с поиском решения. Прошу помощи.
6. Said-We 29.12.23 03:44 Сейчас в теме
(5) Конечно решили. В этой задаче нет сложностей.
Прикрепленные файлы:
7. Гость 29.12.23 12:10
(6) Отлично. А теперь самое главное: как это перевести на язык СКД?))
8. soft_wind 29.12.23 13:26 Сейчас в теме
вот пример запроса в 1С (главное в соединении не запутаться)
Выбрать 1 как Док, "Товар1" как Товар, 2 как Кол поместить Таб
объединить все выбрать 1, "Товар2", 4
объединить все выбрать 1, "Товар3", 1
объединить все выбрать 2, "Товар1", 4
объединить все выбрать 2, "Товар2", 9
объединить все выбрать 2, "Товар4", 5
объединить все выбрать 3, "Товар1", 7
объединить все выбрать 3, "Товар2", 0
объединить все выбрать 3, "Товар3", 8
объединить все выбрать 3, "Товар5", 5
;                                    
выбрать
	т1.док,
	т1.Товар,
	т1.Кол,
	Сумма(т2.Кол) как КолВоз
//поместить втВоз	
из
таб т1
левое соединение таб т2
по т2.док <= т1.док
и т2.Товар = т1.Товар
сгруппировать по
	т1.док,
	т1.Товар,
 	т1.Кол
упорядочить по 1,2
Показать
9. Гость 29.12.23 13:41
(8) А функциями СКД такое делается? Есть же всякие "ВычислитьВыражение"... Я мучался с параметрами этой функции, но правильный нарастающий итог получается только в пределах группировки. А если один товар находится в разных группировках (как у ТС), то посчитать нарастающий итог уже не получается.

Ваш способ мне известен, только у меня база большая. Там такое соединение работает около 25 минут:(
10. Said-We 29.12.23 15:48 Сейчас в теме
(7) Не надо переводить на язык СКД. Надо на язык запросов и это легко и непринужденно сделали в {8}.

(9) СКД медленнее чем запрос. Если запрос делает 25 минут, то СКД будет ещё дольше делать. Но очень сомневаюсь, что такой запрос работает 25 минут. Попробуйте в временную таблицу автономерзаписи добавить и индекс по нему. И связь на больше меньше уже по нему, а не по документу.

Не важно, что в какой группировки находится. Нарастающий итог считается так как считается. Последний упорядочить упорядочит так как упорядочит. Так что всё получается. Вы НЕ пробовали запрос в {8} запустить в консоли?
11. Гость 29.12.23 16:17
(10) Делал я этот запрос - хоть в консоли, хоть в БД выполняется долго. Теперь хочу СКД протестировать. Сдается мне я просто неправильно функцию ВычислитьВыражение использую (описание в синтаксис-помощнике у нее так себе). Так вот эта функция внутри группировки нарастающий итог норм считает. А если, как у автора топика, надо нарастающий итог считать по товарам, находящимся в разных группировках, то не работает :(

Подскажите как на СКД, кто сталкивался, пожалуйста.
12. Said-We 29.12.23 16:30 Сейчас в теме
(11)
Делал я этот запрос - хоть в консоли, хоть в БД выполняется долго. Теперь хочу СКД протестировать
Вы не слышите - СКД медленнее.
13. Гость 30.12.23 02:12
(12) Ваше мнение и вывод о том, слышу я или нет очень ценно для меня. Но я бы все же хотел узнать у людей, возможно ли такое на СКД или нет.

Так что вопрос пока оставляю открытым и буду благодарен за комментарии по СКД. Спасибо.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот