Массивы в 1с : Предприятии можно использовать аналогично другим системам программирования.
Также Массив в языке программирования 1С – это универсальная коллекция элементов, следующих друг за другом, которые могут быть доступны с помощью индекса. Элементы могут быть любого типа, в том числе и типа Массив. У каждого элемента в массиве есть уникальный номер, который называют Индексом. Посредством индекса можно получить доступ к данному элементу.
Все элементы в массиве упорядочены, т.е. первый элемент имеет индекс, равный нулю,
второй – одному, и так далее.
Массивы в 1с. Создание массива
Конструктор – это то, как создается определенный объект. Все массивы создаются с помощью конструктора Новый. Синтаксис:
Новый Масссив(<КоличествоЭлементов1>,…,<КоличествоЭлементовN>)
Массив можно создать при помощи следующей конструкции:
// в массиве сразу 3 элемента
Массив = Новый Массив(3);
Для работы с массивами в 1с существуют различные программные методы. Рассмотрим их ниже:
Метод Добавить() в массивах 1с
Добавить элемент в массив можно следующим образом:
Массив.Добавить("знач1");//Добавили строковый элемент
Массив.Добавить();//Добавили пустой элемент в массив
Метод Вставить() в массивах 1с
Позволяет Вставить элемент в массив 1с. Для вставки необходимо указать номер позиции или номер вставляемого элемента.
// в массив вставляем элемент
Массив.Вставить(0,"Новое значение");
Метод Количество() в 1с
Данный метод выводит количество элементов массива. Знание количества элементов позволяет перебрать элементы при помощи цикла для.
// в массиве находим количество
Массив= новый массив(20);
Колво=Массив.Количество();
Сообщить("Количество="+Колво);
Метод Найти() в массивах 1с
// в массиве метод Найти
Сообщить(Массив.Найти("знач1"));
Возвращаемое значение
Число — индекс первого найденного элемента массива
Неопределено — если элемент не был найден
1с как получить индекс элемента массива
Строка=Массив[8];
Индекс=Массив.Найти(Строка);
Метод Удалить() в 1с
Удаляет элемент массива по заданному номеру.
// в массиве метод Удалить
Массив.Удалить(0);
Метод Очистить() в 1с
Производит очистку или удаление всех элементов массива.
// в массиве метод Очистить
Массив.Очистить();
Метод ВГраница в 1с
// в массиве в массиве метод ВГраница
НомерПоследнегоЭлемента = Массив.ВГраница;
Заполнение массива случайными числами 1с
Для заполнения массива случайными числами можно с помощью цикла с использованием кода:
массив= новый массив(20);
для индекс=0 по 19 цикл
ГСЧ = Новый ГенераторСлучайныхЧисел(Индекс);
СлучайноеЧисло = ГСЧ.СлучайноеЧисло(0, 25);
массив[индекс]=СлучайноеЧисло;
конеццикла;
Прикладываю фрагмент кода для создания и вывода массива без повторяющихся элементов.
массив= новый массив(20);
Массив2=новый массив(20);
для индекс=0 по 19 цикл
массив[индекс]=индекс;
конеццикла;
k=0;
для индекс=0 по 19 цикл
ГСЧ = Новый ГенераторСлучайныхЧисел(Индекс);
СлучайноеЧисло = ГСЧ.СлучайноеЧисло(0,19-k);
массив2[индекс]=массив[СлучайноеЧисло];
Массив.Удалить(СлучайноеЧисло);
k=k+1;
конеццикла;
Для Каждого ЭлементМассива из Массив2 Цикл
Результат.ДобавитьСтроку(ЭлементМассива);//.Добавить(ЭлементМассива);
//Сообщить(ЭлементМассива); //
КонецЦикла;
При работе с массивами удобно использовать цикл Для Каждого.
Двумерные массивы в 1с
Встроенный язык платформы 1С:Предприятие 8.3 позволяет создавать двумерные и многомерные массивы. По своей сути — это массивы массивов (ведь никто не запрещал задавать в качестве элементов массива другие массивы). Давайте на примерах разберемся, как создавать и работать с такими массивами.
Рассмотрим пример создания двумерного массива. Создадим массив состоящий из 7 дней и каждый день состоит из 24 часов.
Во-первых создадим двумерный массив.
день=7;
час=24;
ДеньНедели=новый массив(день);
ДеньНедели[0]=новый массив(час);
ДеньНедели[1]=новый массив(час);
ДеньНедели[2]=новый массив(час);
Во-вторых заполним двумерный массив значениями:
Создание двумерного массива в 1с
колво=5;
Массив = новый массив(колво);
Для номер=0 По колво-1 Цикл
Массив[номер]=новый массив(колво);
КонецЦикла;
Заполнение двумерного массива 1с случайными числами.
Для номер=0 По колво-1 Цикл
Строка1="";
Для номер1=0 По колво-1 Цикл
ГСЧ = Новый ГенераторСлучайныхЧисел(номер*номер1);
СлучайноеЧисло = ГСЧ.СлучайноеЧисло(1,50-колво);
Массив[номер][номер1]=СлучайноеЧисло;
Строка1=строка1+" "+Строка(Массив[номер][номер1]);
КонецЦикла;
Сообщить(Строка1);
КонецЦикла;
Многомерный массив
Многомерный массив создается аналогично двумерному, только добавляется еще одно измерение.
В нашем примере добавим количество недель в году(52).
неделя=52;
Такой массив может хранить неделя * день * час
элементов. Для программного обращения к элементам трехмерного массива необходимо указывать имя массива, а также три индекса: первый — индекс строки, второй — индекс колонки, третий — индекс глубины:
Рассмотрены Массивы в 1с : Предприятии и их основные методы.