Имя: Пароль:
1C
 
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) Или так, или пересмотреть код на предмет оптимизации, если она нужна.