Функция подсчета суммы массива
(6)
ЗагрузитьКолонку (LoadColumn)
Синтаксис:
ЗагрузитьКолонку(<Массив>, <Колонка>)
Параметры:
Тип: Массив. Массив значений, который выступает в качестве источника данных для колонки.
<Колонка> (обязательный)
Тип: Число; Строка; КолонкаТаблицыЗначений. Колонка, в которую будут загружены значения из массива. В качестве значения параметра может выступать индекс колонки, имя колонки, сама колонка.
Описание:
Загружает колонку таблицы значений из массива значений.
Сервер, толстый клиент, внешнее соединение.
Примечание:
Значения из массива загружаются в колонку в порядке индексов.
Пример:
ТаблицаРезультат = Новый ТаблицаЗначений;
Для каждого ИмяКолонки Из МассивИменКолонок Цикл
ТаблицаРезультат.Колонки.Добавить(ИмяКолонки);
КонецЦикла;
// Создадим пустые строки таблицы
Для Н=1 По СтрокиДереваЗначений.Количество() Цикл
ТаблицаРезультат.Добавить();
КонецЦикла;
// Скопируем значения колонок
Для каждого ИмяКолонки Из МассивИменКолонок Цикл
ЗначенияКолонки = СтрокиДереваЗначений.ВыгрузитьКолонку(ИмяКолонки);
ТаблицаРезультат.ЗагрузитьКолонку(ЗначенияКолонки, ИмяКолонки);
КонецЦикла;
ну да. только вы здесь опять же добавляете вручную строки в ТЗ.
Для Н=1 По СтрокиДереваЗначений.Количество() Цикл
ТаблицаРезультат.Добавить();
КонецЦикла;
Тема: Как сложить элементы массива
Как сложить элементы массива
Хочу написать обработку, которая при нажатии кнопки сообщала бы сумму всех элементов массива.
Помогите, как это реализовать а то всю голову уже сломал.
Процедура КнопкаВыполнитьНажатие(Кн� �пка)
А = Новый Массив(5);
Для каждого Элемент из Новый Массив(5) Цикл
Д = Сумма + Элемент;
- Просмотр профиля
- Сообщения форума
- Личное сообщение
Суммирует между собой элементы массива и сообщает результат.
Процедура КнопкаВыполнитьНажатие(Кн� �пка)
МойМассив = Новый Массив(5); //Создание массива размерностью 5
МойМассив[0] = 10;
МойМассив[1] = 1;
МойМассив[2] = 2;
МойМассив[3] = 3;
//Числами проинициализированы первые 4 элемента массива (Т.е. 5й элемент остался не инициализированным)
Для каждого эл из МойМассив Цикл
Если ТипЗнч(эл) = Тип("Число") Тогда //Проверим что элемент массива является числом для математической операции сложения
Сумма = Сумма + эл;
КонецЕсли;
———- Post added at 21:27 ———- Previous post was at 21:27 ———-
Все, разобрался сам. 🙂
Суммирует между собой элементы массива и сообщает результат.
Процедура КнопкаВыполнитьНажатие(Кн� �пка)
МойМассив = Новый Массив(5); //Создание массива размерностью 5
МойМассив[0] = 10;
МойМассив[1] = 1;
МойМассив[2] = 2;
МойМассив[3] = 3;
//Числами проинициализированы первые 4 элемента массива (Т.е. 5й элемент остался не инициализированным)
Для каждого эл из МойМассив Цикл
Если ТипЗнч(эл) = Тип("Число") Тогда //Проверим что элемент массива является числом для математической операции сложения
Сумма = Сумма + эл;
КонецЕсли;
1с как сложить все элементы массива
Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.
Массив
Описание:
Предназначен для доступа к элементам массива, его методам и конструктору.
Элементы коллекции: Произвольный
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются значения элементов массива.
Возможно обращение к значению элемента посредством оператора [. ]. В качестве аргумента передается индекс значения (нумерация с 0).
1С 8.3 Массив — Программист 1С Минск. Автоматизация бизнеса.
✔ Создание массива (определенного размера)
&НаКлиенте
Процедура СозданиеМассиваОпределенногоРазмера ( Команда )
// Массив состоит из 3-х элементов
МассивОпрРазмера = Новый Массив ( 3 );
// Определяем значения элементов
МассивОпрРазмера [ 0 ] = 3 ;
МассивОпрРазмера [ 1 ] = МассивОпрРазмера [ 0 ] * 2 ; // 6
МассивОпрРазмера [ 2 ] = МассивОпрРазмера [ 1 ] * 3 ; // 18
Для Каждого ЭлементМассива из МассивОпрРазмера Цикл
Сообщить ( ЭлементМассива ); // 3 6 18
КонецЦикла;
&НаКлиенте
Процедура СозданиеМассиваБезРазмера ( Команда )
// В массиве пока нет элементов
МассивБезРазмера = Новый Массив ;
// Добавляем последовательно 3 элемента
МассивБезРазмера . Добавить ( 20 ); // Массив: (20)
МассивБезРазмера . Добавить ( 40 ); // Массив: (20, 40)
МассивБезРазмера . Добавить ( 70 ); // Массив: (20, 40, 70)
Для Каждого ЭлементМассива из МассивБезРазмера Цикл
Сообщить ( ЭлементМассива ); // 20 40 70
КонецЦикла;
&НаКлиенте
Процедура СозданиеМассиваСЭлементамиРазныхТипов ( Команда )
Массив = Новый Массив ( 5 );
Массив [ 0 ] = «1Cnik.BY» ; // («1Cnik.BY»)
Массив [ 1 ] = 36 ; // («1Cnik.BY», 36)
Массив [ 2 ] = «@» ; // («1Cnik.BY», 36, «@»)
Массив [ 3 ] = Формат ( 2007 , «ЧГ=0» ); // («1Cnik.BY», 36, «@», 2007)
Массив [ 4 ] = Дата ( «20200330» ); // («1Cnik.BY», 36, «@», 2007, 30.03.2020)
Для Каждого ЭлементМассива из Массив Цикл
Сообщить ( ЭлементМассива ); // 1Cnik.BY 36 @ 2007 30.03.2020
КонецЦикла;
&НаКлиенте
Процедура ОбходВсехЭлементовМассиваПоИндексу ( Команда )
// Инициализируем массив: (20, 40, 70)
МассивИндекс = Новый Массив ;
МассивИндекс . Добавить ( 20 );
МассивИндекс . Добавить ( 40 );
МассивИндекс . Добавить ( 70 );
// Цикл от первого (с индексом 0) до последнего элемента.
Для Индекс = 0 По МассивИндекс . Количество () — 1 Цикл
Сообщить ( МассивИндекс [ Индекс ]);
КонецЦикла;
&НаКлиенте
Процедура РаботаСМассивом ( Команда )
// Создание (инициализация) пустого массива
Массив = Новый Массив ;
// Вставка трёх элементов; каждый элемент вставляется в начало
Массив . Вставить ( 0 , «А» ); // (А)
Массив . Вставить ( 0 , «Б» ); // (Б, А)
Массив . Вставить ( 0 , «В» ); // (В, Б, А)
Массив . Вставить ( 0 , «Г» ); // (Г, В, Б, А)
// Определение последнего индекса
Сообщить ( Массив . ВГраница ()); // 3
// Перебор массива в цикле
Для Индекс = 0 по Массив . ВГраница () Цикл
Сообщить ( Массив [ Индекс ]); // Г В Б А
КонецЦикла;
// Находим индекс элемента
Индекс = Массив . Найти ( «А» ); // 1
// Удаляем элемент по найденному индексу
Массив . Удалить ( Индекс ); // Остаётся массив (Г, В, Б)
// Определение последнего индекса — теперь он уменьшился
Сообщить ( Массив . ВГраница ()); // 2
// Удаление всех элементов из массива
Массив . Очистить ();
&НаКлиенте
Функция ПередачаМассиваВКачествеПараметраФункции ( СсылкаНаМассив )
СсылкаНаМассив [ 0 ] = 50 ;
Возврат СсылкаНаМассив [ 0 ] * 5 ;
&НаКлиенте
Процедура ПередачаМассива ( Команда )
Массив = Новый Массив ( 1 ); // Инициализация массива из одного элемента
Массив [ 0 ] = 70 ; // Значение элемента до вызова функции = 70
// Передача массива в функцию для изменения
Сообщить ( ПередачаМассиваВКачествеПараметраФункции ( Массив )); // 250
// Значение первого элемента после функции изменилось
Сообщить ( Массив [ 0 ]); // 50
&НаКлиенте
Функция СозданиеМассива ()
Массив = Новый Массив ( 3 );
Массив [ 0 ] = «Добро» ;
Массив [ 1 ] = «пожаловать» ;
Массив [ 2 ] = «в Беларусь!» ;
&НаКлиенте
Процедура МассивВРезультатеВыполненияФункции ( Команда )
// Возврат массива из функции
МассивИзФункции = СозданиеМассива ();
Для Каждого ЭлементМассива из МассивИзФункции Цикл
Сообщить ( ЭлементМассива ); // Добро пожаловать в Беларусь!
КонецЦикла;
&НаКлиенте
Процедура ПроверкаМассива ( СсылкаНаМассив )
Если СсылкаНаМассив <> Неопределено И СсылкаНаМассив . Количество () > 0 Тогда
Сообщить ( СсылкаНаМассив [ 0 ]);
КонецЕсли;
&НаКлиенте
Процедура ПередачаМассиваВКачествеПараметраПроцедуры ( Команда )
// Инициализация массива: (20, 40, 70)
Массив = Новый Массив ( 3 );
Массив [ 0 ] = 20 ;
Массив [ 1 ] = 40 ;
Массив [ 2 ] = 70 ;
// печать первого элемента, переданного массива
ПроверкаМассива ( Массив ); // 20
ПроверкаМассива (Неопределено); // пусто
ПроверкаМассива (Новый Массив ); // пусто
&НаКлиенте
Процедура РаботаСМногомернымМассивом ( Команда )
// ,<>,<>> ,<>,<>>
Массив = Новый Массив ( 2 , 3 ); // два столбца, три строки
// , , > ,<>,<>>
Массив [ 0 ][ 0 ] = «А» ;
Массив [ 0 ][ 1 ] = «Б» ;
Массив [ 0 ][ 2 ] = «В» ;
// , , > , , >
Массив [ 1 ][ 0 ] = «1» ;
Массив [ 1 ][ 1 ] = «2» ;
Массив [ 1 ][ 2 ] = «3» ;
// Обход элементов многомерного массива через простой цикл
Для Каждого СтрокаМассива Из Массив Цикл
Для Каждого ЭлементМассива Из СтрокаМассива Цикл
Сообщить ( ЭлементМассива );
КонецЦикла;
КонецЦикла;
// Обход элементов многомерного массива через индекс
Для ИндексСтрока = 0 По Массив . Количество () — 1 Цикл
Для ИндексСтолбец = 0 По Массив [ ИндексСтрока ]. Количество () — 1 Цикл
Сообщить ( Массив [ ИндексСтрока ][ ИндексСтолбец ]);
КонецЦикла;
КонецЦикла;