![]() |
![]() |
![]() |
|
v8.1 есть ли способ получить сумму колонки массива без цикла? | ☑ | ||
---|---|---|---|---|
0
IceSer1
27.10.08
✎
13:54
|
есть ли способ получить сумму колонки массива без цикла?
|
|||
1
Черный всадник
27.10.08
✎
13:55
|
(0) Сам то понял что спросил? Если сумму элементов массива, то нельзя.
|
|||
2
Rebelx
27.10.08
✎
13:56
|
открою страшную тайну - у массива нет колонок
|
|||
3
Man4kin
27.10.08
✎
13:57
|
(2) :)
|
|||
4
IceSer1
27.10.08
✎
13:57
|
(2) сегодня не пятница =)
|
|||
5
a_alenkin
27.10.08
✎
15:11
|
Создать таблицу значений - загрузить туда колонку из массива - свернуть таблицу
|
|||
6
ptiz
27.10.08
✎
15:19
|
Создать COMSafeArray, выгрузить по OLE в Excel и применить функцию СУММА().
|
|||
7
Serg_1960
27.10.08
✎
15:20
|
(6) см. (4) :))
|
|||
8
Дерево
27.10.08
✎
15:24
|
(6)или на аутсортинг )))
|
|||
9
Черный всадник
27.10.08
✎
15:29
|
(0) Если подумать, то:
Функция СуммаЭлементовМассива(Массив, Идекс) Возврат Массив[Индекс] + ?(Индекс < Массив.ВГраница(), СуммаЭлементовМассива(Массив, Идекс + 1), 0) КонецФункции |
|||
10
ЁБ
27.10.08
✎
15:36
|
Если речь идет о таблице значений то используется метод .Итог()
|
|||
11
IceSer1
27.10.08
✎
15:40
|
(9) ну ет тоже цикл
|
|||
12
IceSer1
27.10.08
✎
15:40
|
(10) нет это не ТЗ
|
|||
13
Serg_1960
27.10.08
✎
15:42
|
(9)Вы что? Автору цикл "не нравится" - а Вы ему рекурсию (скрытый цикл) предлагаете :)
|
|||
15
ЁБ
27.10.08
✎
15:43
|
(12) Можно попробовать залить массив в ТЗ и потом Итог(). Еесли не ошибаюсь залить штатными средствами можно.
|
|||
16
Serg_1960
27.10.08
✎
15:57
|
//Это будет типа так (но лучше-бы Вы на цикл согласились):
Массив = Новый Массив; Массив.Добавить(Тип("Число")); ОписаниеТипов = Новый ОписаниеТипов(Массив, , ,Новый КвалификаторыЧисла(15,2); ); ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Числа",ОписаниеТипов,"Числа"); ТЗ.ЗагрузитьКолонку(ВашМассивЧисел, "Числа"); Итог = ТЗ.Итог("Числа"); |
|||
17
IceSer1
27.10.08
✎
15:59
|
(15) заливка тоже циклически будет....
|
|||
18
IceSer1
27.10.08
✎
16:00
|
(16) тогда вопрос только в производительности
|
|||
19
NULLL
27.10.08
✎
16:01
|
(16) Ой боюсь что не сработает. Нужно бодавить строки перед заливкой, и опять-же в цикле. Просто кошмар какой-то без цикла никуда.
|
|||
20
Черный всадник
27.10.08
✎
16:01
|
(17) Если уж и заливка циклом будет, то тогда как ты собираешься обойти элементы множества без цикла?
|
|||
21
Черный всадник
27.10.08
✎
16:02
|
(19) см (6) :)
|
|||
22
Kerk
27.10.08
✎
16:03
|
В РНР есть огромное количество фукций работы с массивами (про сумму просто не помню) обрайщайся к апатчю и считай.
А вопрос... при формировании массива нельзя сразу сумму считать? |
|||
23
Регистратор
27.10.08
✎
16:03
|
Пиши не в массив а ТЗ сразу
|
|||
24
Serg_1960
27.10.08
✎
16:04
|
(18) Вопрос в том, что надо данные "сразу" получать в нужном виде :) Может копнуть алгорит "до массива" - там где данные "получаете"?
|
|||
25
IceSer1
27.10.08
✎
16:04
|
(20) вообще у мну массив я хочу получить сумму элементов но не крутить его в цикле так как структура и так тяжелая
|
|||
26
МЮЛЛЕР
27.10.08
✎
16:05
|
Выгрузи массив в таблицу значений и воспользуйся методом Итог()
|
|||
27
IceSer1
27.10.08
✎
16:06
|
(24) боюсь потеряться по дороге к нему :)
|
|||
28
Регистратор
27.10.08
✎
16:07
|
Если массив результат поиска то его можно сделать запросом и выгрузить в тз или оставить временной таблицей
|
|||
29
Fragster
гуру
27.10.08
✎
16:07
|
а ведь автор вроде не фиксин....
|
|||
30
Serg_1960
27.10.08
✎
16:09
|
(27) "Будь проще - и к вам потянутся люди"(с) Пиши цикл и не ломай голову :)
|
|||
31
ЁБ
27.10.08
✎
16:12
|
(17) Остается один вариант - подбивать сумму самому непосредственно при заполнении массива.
|
|||
32
Kerk
27.10.08
✎
16:12
|
(30) +1 Выполняей на сервере подсчет суммы и мучай юзера.
|
|||
33
IceSer1
27.10.08
✎
16:50
|
(30) (32) предлагаете наплевать га производительность ?
|
|||
34
Черный всадник
27.10.08
✎
16:52
|
(33) Или так, или пересмотреть код на предмет оптимизации, если она нужна.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |