Записки программиста 1с

Массивы в 1с : Предприятии

Массивы в 1с : Предприятии можно использовать аналогично другим системам программирования.

Также Массив в языке программирования 1С – это универсальная коллекция элементов, следующих друг за другом, которые могут быть доступны с помощью индекса. Элементы могут быть любого типа, в том числе и типа Массив. У каждого элемента в массиве есть уникальный номер, который называют Индексом. Посредством индекса можно получить доступ к данному элементу.
Все элементы в массиве упорядочены, т.е. первый элемент имеет индекс, равный нулю,
второй – одному, и так далее.

Массивы в 1с. Создание массива

Конструктор – это то, как создается определенный объект. Все массивы создаются с помощью конструктора Новый. Синтаксис:

Новый Масссив(<КоличествоЭлементов1>,…,<КоличествоЭлементовN>)

Массив можно создать при помощи следующей конструкции:

// в массиве сразу 3 элемента
 Массив = Новый Массив(3);

Для работы с массивами в 1с существуют различные программные методы. Рассмотрим их ниже:

Массивы в 1с
Методы работы с массивами в 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с
Создаем двумерный массив

Во-вторых заполним двумерный массив значениями:

Массивы в 1с
Заполняем двумерный массив значениями

Создание двумерного массива в 1с

Массивы в 1с
Создание двумерного массива в 1с
        колво=5;
	 Массив = новый массив(колво);
	Для номер=0 По колво-1 Цикл
	 Массив[номер]=новый массив(колво);
	КонецЦикла;

Заполнение двумерного массива 1с случайными числами.

Для номер=0 По колво-1 Цикл
	 Строка1="";
	 Для номер1=0 По колво-1 Цикл
		ГСЧ = Новый ГенераторСлучайныхЧисел(номер*номер1);
                   СлучайноеЧисло = ГСЧ.СлучайноеЧисло(1,50-колво);
                   
		Массив[номер][номер1]=СлучайноеЧисло;
		
	Строка1=строка1+" "+Строка(Массив[номер][номер1]);
	КонецЦикла;
 	Сообщить(Строка1);
 
КонецЦикла;

Многомерный массив

Многомерный массив создается аналогично двумерному, только добавляется еще одно измерение.

В нашем примере добавим количество недель в году(52).

неделя=52;

Такой массив может хранить неделя * день * час элементов. Для программного обращения к элементам трехмерного массива необходимо указывать имя массива, а также три индекса: первый — индекс строки, второй — индекс колонки, третий — индекс глубины:

Рассмотрены Массивы в 1с : Предприятии и их основные методы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *