1с создать массив дат
Массив в платформе 1С 8.3 это самая простая универсальная коллекция значений.
Что такое Массив?
Массив в языке программирования 1С — это коллекция элементов, следующих друг за другом, которые могут быть доступны с помощью индекса массива. Элементы могут быть любого типа, в том числе и типа Массив. У каждого элемента в массиве есть уникальный номер, который называют Индексом. Посредством индекса можно получить доступ к данному элементу.
Все элементы в массиве упорядочены, т.е. первый элемент имеет индекс, равный нулю, второй — одному, и так далее.
Создать массив можно при помощи конструктора Новый
«КоличествоЭлементов» — необязательный параметр. Он может быть один — тогда мы будем иметь одномерный массив, а также их может быть несколько — тогда мы имеем многомерный массив.
— Одномерный массив из 10 элементов.
Двумерный массив из 6 элементов (три строки, два столбца).
Массив, не имеющий ни одного элемента, — пустой массив.
В отличие от таблиц значений 1С, работать с массивами можно как в режим тонкого клиента, так и в режим толстого клиента.
Имейте в виду, что когда Вы создадите не пустой массив (одномерный или многомерный), его элементы уже будут существовать, но с не заполненными значениями. Если Вы посмотрите на данный массив в отладчике, то увидите напротив каждого элемента тип Неопределено.
Обращаться к элементу массива можно посредством индекса. Делается это с помощью оператора «квадратные скобки».
Как видите, элементы массива могут иметь разные типы ( в том числе ссылочные).
При помощи индекса и квадратных скобок можно как задать какой-то элемент массива, так и прочитать этот элемент.
Индекс внутри скобок не должен превышать общего количества элементов минус один (т.к. индекс начинается с нуля). Если мы напишем такой код:
То при его выполнении, возникнет ошибка «Индекс находится за границами массива»
Хоть мы и указали у конструктора массивов в скобках значение 5, но обращаться может только до 4 индекса, поскольку нумерация индексов начинается с нуля.
Перебор элементов массива
Перебрать все элементы массива можно двумя способами. Первый способ – с помощью так называемого «китайского кода», когда присваиваем каждому элементу массива нужное значение. Иногда это бывает необходимо.
Но чаще необходимо прочитать каждый элемент массива в цикле. Для этого в теле цикла нужно обойти индексы от первого до последнего. Сделать это можно при помощи цикла Для…Цикл.
Или с помощью цикла Для каждого … Цикл
Где в переменной ЭлМассив для каждой итерации содержится соответствующее значение элемента массива.
Количество элементов массива
Узнать количество элементов массива можно двумя способами. С помощью метода Количество() и метода ВГраница(). Метод Количество() возвращает количество элементов массива (т.е. то число, что задается в скобках конструктора массива), а метод ВГраница() самый максимальный индекс элемента массива или граница массива. В этом случае перебор элементов массива в цикле возможен двумя способами.
Второй способ считается более правильным.
Добавление элементов массива
Добавить элемент массива можно с помощью методов Добавить() и Вставить(). Первый метод добавляет элемент в конец массива, а второй вставляет элемент в нужный индекс массива.
В этом коде мы создали пустой массив, потом добавили элемент (он же первый), потом вставили на нулевой индекс элемент, а потом добавили. Должен получиться следующий результат.
Многомерный массив
Многомерным массивом в языке программирования 1С называется массив, элементами которого являются массивы. Если одномерный массив создавался посредством конструктора с одним параметром, то в многомерном массиве может быть два и больше параметров.
МассивМн1 = Массив(3,2,5);
В этом примере мы создали массив, у которого будет три элемента, каждый из которых будет массивом, содержащим по два массива, в каждом из которых будет пять элементов.
Например, создадим двумерный массив:
Статьи о других универсальных коллекциях значений в 1С
Более подробно о работе с массивами и другими интересными объектами языка программирования в 1С читайте в моей книге «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
Работа с Датами (Временем) | Версия | |
---|---|---|
Ввести дату, ввод даты | [7.x, 8.x] | |
Выбор периода, задать период | [7.x, 8.x] | |
Вычислить возраст человека и выразить его прописью | [8.x] | |
Добавить к Дате указанное количество дней | [8.x] | |
Добавить к Дате указанное количество лет | [8.x] | |
Как Выбрать Месяц формирования отчета? | [8.x, 8.2 УП] | |
Как вывести месяц прописью в родительском падеже?(Як вивести місяц в батьківському відмінку?) | [8.x] | |
Как вычислить количество дней между датами | [7.x, 8.x, 8.2 УП] | |
Как вычислить разницу между двумя датами в днях | [8.x] | |
Как вычислить разницу между двумя датами в месяцах | [8.x] | |
Как вычислить разницу между двумя датами в часах и минутах | [8.x, 8.2 УП] | |
Как перебрать все даты с НачалоПериода по КонецПериода и получить таблицу периодов? | [8.x, 8.2 УП] | |
Как по Номеру Недели Года получить Дату | [8.x, 8.2 УП] | |
Как показать период времени в формате hh:mm:ss | [] | |
Как получить день недели прописью? | [8.3] | |
Как получить количество ЛЕТ, МЕСЯЦЕВ, ДНЕЙ между датами? | [8.x] | |
Как получить количество рабочих дней в месяце по календарю? | [8.x, 8.2 УП, 8.3] | |
Как получить количество часов/минут из интервал с исключением ночного времени | [8.2 УП] | |
Как получить номер Декады месяца ( Например: 1 Декада )? | [7.x, 8.x, 8.2 УП] | |
Как получить текущее время с милисекундами? | [7.x, 8.x, 8.2 УП] | |
Как получить текущую (системную) дату на сервере 1С:Предприятия? | [8.x] | |
Как посчитать разницу между двумя датами? | [7.x, 8.x, 8.2 УП, 8.3] | |
Как преобразовать дату в формат RFC 822 и обратно? | [8.2 УП, 8.3] | |
Как при выполнении обработки сообщить пользователю текущее время и дату? | [8.x] | |
Как прибавить к дате день, месяц? | [8.x] | |
Как проверить дату на пустое значение? | [8.x] | |
Как соединить дату и время? | [8.x, 8.2 УП] | |
Как сравнить две даты (дни)? | [8.x] | |
Как узнать количество дней в месяце? | [8.x, 8.2 УП] | |
Как указать нужную,конкретную дату? | [7.x, 8.x] | |
Количество месяцев и дней между 2-мя датами | [8.x] | |
Месяц прописью и День Прописью | [7.x] | |
Момент Времени и Граница, назначение, примеры использования | [7.x, 8.x] | |
Неправильно рассчитывает номер недели в году, функция корректного расчета | [] | |
Перебор дат, заполнение списка, массива дат по порядку | [8.x] | |
Перевод, преобразование Даты в Строку и Обратно | [8.x, 8.2 УП] | |
Передаем в функцию дату, например 13.08.2009 11:13:54, получаем 13 августа 2009 г. | [8.x] | |
Подсчет реального количества месяцев между датами, включая начало и конец месяца | [8.x, 8.2 УП, 8.3] | |
Преобразование времени в универсальное (GMT) и местное в 1С | [8.x, 8.2 УП] | |
Преобразование даты 1С в unixtime (Unix Time Stamp) | [8.x] | |
Процедура вычисляет количество лет, месяцев и дней между двумя датами | [7.x, 8.x] | |
Пустая дата в запросе и в модуле | [8.x, 8.2 УП] | |
Разница между датами в рабочих днях, подсчет рабочих дней в 1С | [8.x, 8.2 УП, 8.3] | |
Синхронизация времени рабочей станции с сервером | [7.x, 8.x, 8.2 УП] | |
Синхронизация системного Времени по запросу | [8.x] | |
Сколько лет, месяцев, дней прошло между датами | [8.x] | |
Сколько лет, месяцев, дней прошло между датами | [8.x] | |
Строку в дату по форматной строке | [] | |
Функции для работы с датами через запрос (Разность, Добавление, Граница) | [8.x] | |
Функции преобразуют время из представления в виде строки в число и обратно | [8.x] | |
Функция вычисляет даты начала/конца периодов за интервал в виде таблицы значений | [8.x] | |
Функция дата прописью | [8.x] | |
Функция Дата прописью | [7.x, 8.x, 8.2 УП] | |
Функция месяц прописью | [7.x, 8.x] | |
Функция описывает период, определяемый датой и периодичностью | [8.x] | |
Функция переводит Дату в формате 1С в формат вида 'YYYYMMDD hh:mm:ss' и обратно | [8.x, 8.2 УП] | |
Функция пересчитывает сумму из валюты ВалютаНач по курсу КурНач в валюту ВалютаКон по курсу КурКон | [8.x] | |
Функция ПредставлениеПериода() аналог 7-ной функции ПериодСтр() | [8.x, 8.2 УП] | |
Функция преобразует строку вида 04/30/09 в дату | [8.x] | |
Функция преобразует строку вида 31.01.2015 в дату | [8.x, 8.2 УП, 8.3] | |
Функция проверяет является ли передаваемое значение датой или нет | [8.x] |
В платформе 1С 8.3 существует три вида циклов. Это циклы «Для Цикл», «Для каждого Цикл» и «Пока Цикл». При помощи циклов «Для Цикл» и «Пока Цикл» можно осуществлять цикличное повторение произвольных операторов. А цикл «Для каждого Цикл» необходим для обхода коллекций значений (массивов, таблиц значений и т.п.). В этой статье на разберем простые примеры всех трёх видов циклов.
Цикл «Для Цикл»
Разберем самый простой вид цикла. Этот цикл имеет следующий синтаксис.
В этом цикле, переменной НазваниеПерем в самом начале присваивается выражение СчетчНачало, которое имеет числовое значение (целое число). Потом, в каждой итерации цикла переменная НазваниеПерем увеличивается на 1. Цикл будет выполняться пока переменная НазваниеПерем меньше или равно переменной СчетчКонец.
СчетчНачало и СчетчКонец могут быть как числами, так и переменными с типом число.
Причем СчетчНачало может быть меньше нуля.
Чтобы цикл корректно работал СчетчНачало должно быть меньше СчетчКонец.
Такой код будет не корректен!!
С этим циклом удобно работать, когда нам нужно линейно заполнить какие-нибудь величины. Например, заполним массив в 1С цифрами от -3 до 3.
Или когда нужно получить какие-нибудь значения, которые следуют друг за другом. Например, значения того же массива.
Цикл «Пока Цикл»
Если при помощи предыдущего цикла можно было делать линейные обходы от меньшего значения к большему, то этот вид цикла позволяет выполнять практически любые обходы.
Данный цикл имеет следующий синтаксис
ЗначениеВыражения – какое-то логическое выражение. Пока это выражение истинно, то операторы цикла будут выполняться. Если выражение принимает значение Ложь, то цикл прекращается.
При помощи данного цикла можно делать различные нестандартные обходы. Например, выше мы заполнили массив цифрами начиная от -3 до 3, но циклом «Для Цикл» мы не можем заполнить массив цифрами от 3 до -3. Но, мы можем это сделать при помощи цикла «Пока Цикл»
Этот цикл можно также использовать, когда нужно что-то заполнить датами.
В этом коде мы заполняем массив датами, начиная с 1 января и заканчивая 31 января.
Цикл «Для каждого Цикл»
Этот вид цикла предназначен для обхода различных коллекций, например, массивов, таблиц значений, табличных частей и т.д.
Этот цикл имеет следующий синтаксис:
Переменной ЭлементКоллекции присваивает очередное значение элемента коллекции.
Например, если мы напишем вот такой код.
То при первом обходе переменная ЭлМассива будет равна 100, при втором — 45, а при третьем – 1000.
Это массив, у него, по сути, каждый элемент это значение какого-то типа, а если будет обход более сложной коллекции? Например, таблицы значений. В том случае, если будет обход таблицы, значений, то в переменной ЭлементКоллекции будет содержать очередная строка этой таблицы значений. Мы можем получить значение колонок в этой строке через оператор «.».
Пример в этом коде
И результат работы этого кода
Прервать цикл 1С
Иногда возникают такие ситуации, когда нужно из цикла выйти. Сделать это можно при помощи оператора Прервать. Этот оператор применим ко всем тремя видам циклов.
После выполнения этого оператора Прервать все последующие операторы в теле цикла не выполняются, и следующим выполняется оператор после ключевого слова КонецЦикла.
Рассмотрим следующий пример.
В этом примере мы обходим простым циклом ряд чисел от -5 до 5, и делим 1 на обходимое число. Если же переменная счетчика равна 0, то чтобы не происходила исключительная ситуация, то выходим из цикла. Т.е. мы выполним деление только для отрицательных чисел.
Продолжить цикл 1С
А есть ситуации, когда нам не нужно выходить из цикла, но и не нужно продолжать текущую итерацию. Помочь нам в этом может оператор Продолжить. Этот оператор также применим ко всем тремя видам циклов.
Операторы после этого ключевого слова выполняться не будут, и произойдет следующая итерация цикла.
Рассмотрим такой пример.
Это измененный предыдущий пример, только когда счетчик цикла равно 0, то мы не выходим а продолжаем цикл, в этом случае деление будет выполнено как для отрицательных, так и для положительных чисел.
Более подробно и основательно начальные вопросы программирования в 1С есть в моей книге:
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
В этой статье научимся узнаем, как работают даты в 1С. Тип Дата — это один из примитивных типов 1С 8.3. При помощи этого типа в программе 1С можно задать дату (например, 10 ноября 2019 года), время (например, 12 часов 32 минуты 45 секунд), а также дату с временем (например, 10 ноября 2019 года 12 часов 32 минуты 45 секунд). В этой статье мы научимся создавать переменные с типом дата, создавать реквизиты объектов с типом дата и работать на форме с этим типом. А также научимся выполнять элементарные операции над датами.
Создаем программно даты в 1С
Научимся программным способом создать переменную с типом дата. Сделать это можно двумя вариантам. Первый, при помощи ординарных кавычек, в которых дата задается в следующем формате:
ГГГГ – цифры года даты,
ММ — цифры месяца даты
ДД – цифры дня даты
ЧЧ – цифры часа от 0 до 23
ММ – цифры минут от 0 до 59
СС – цифры секунд от 0 до 59
Причем, дату можно задать в полном формате с минутами и секундами, а также без указания минут и секунд. То есть, вот так:
В переменной с типом дата, можно хранить только время без даты. В этом случае нужно указать, что год, месяц и день равно 1, т.е. формат даты будет следующим.
Рассмотрим, примеры. Создадим дату со временем, дату без времени и время с пустой датой. И также все это выведем методом Сообщить. Хотя, метод Сообщить и принимает в качестве параметра тип строка, мы можем и передать в него дату, платформа 1С автоматически её конвертирует в строку.
И посмотрим, как это все вывелось.
Таким образом, в платформе 1С у нас хранится дата в полном размере (год, месяц, день, час, минута, секунда). Если нам нужна просто дата, то час, минута и секунда равны нулю (при программном создании дат их можно не задавать), а если нам нужно просто время без даты, то год, месяц и день равны 1 (при программном создании даты их следует указывать).
Разберем еще один способ создания переменной с типом дата, это использование метода Дата. Этот метод имеет два варианта синтаксис:
СтрокаДаты – строка, которая задаётся в уже знакомом нам формате «ГГГГММДДЧЧММСС», принципы задания строки аналогичны принципам задания даты в ординарных кавычках.
Год – цифра года даты,
Месяц – цифра месяца даты,
День – цифры дня даты,
Час – цифры часа
Минута – цифры минуты
Секунда – цифры секунды.
Первый три параметра являются обязательными.
Если нам нужно задать, просто дату (без времени), то будет следующий синтаксис.
А если нужно задать время, то года, месяц и день будут равны 1:
Переделаем предыдущий пример.
Здесь я использовал два синтаксиса метода Дата. Первый синтаксис, по сути, преобразует строку в дату (строка естественно должна быть задана по правилам). Второй синтаксис, позволяет задать дату при помощи типа число.
Реквизит с типом дата в объектах 1С
Для того, чтобы какой-то реквизит объекта 1С 8.3 был датой, достаточно указать ему соответствующий тип. Например, как мы это делаем со справочником.
Причем у любого реквизита с типом дата имеется состав даты. Это Дата, Время и Дата и время.
В зависимости от того, какой состав даты выбран, такой вид даты и можно будет указать в форме объекта.
Состав даты Дата.
Состав даты Время.
Состав даты Дата и время.
Причем, не имеет значения, какой состав даты выбран, дата запишется полностью в формате ГГГГММДДЧЧММСС. Просто в зависимости от состава даты, или время будет равняться нулю (если выбран состав даты Дата), или год, месяц, день будут равняться единицы.
Дата на управляемой форме 1С
На управляемую форме 1С можно поместить реквизит с типом дата, у которого, также, имеется возможность выбрать состав даты: Дата, Время, Дата и время.
Если мы поместим этот реквизит на форму, то он разместится в виде поля ввода.
Причем у этого поля ввода имеется справа кнопка, при нажатии на которую будет открыто окно выбора даты.
Это окно появляется в том случае, если состав даты реквизита или Дата, или Дата и время.
А отвечает за появление этой кнопки свойство поля ввода «Кнопка выбора».
Посмотрим, как записывается дата, в зависимости от значения состава даты.
Для этого у поля ввода я создам событие при изменении.
Посмотрим, что вернет этот метод, когда состав даты реквизита — Дата.
Когда состав даты реквизита — Время
Когда состав даты реквизита – Дата и время
Вы убедились наглядно, что независимо от состава даты, у нас дата всегда записывается в формате ГГГГММДДЧЧММСС.
Разность дат в 1С
В 1С 8.3 имеется возможность вычитать одну дату из другой, или получать разность дат. В этом случае разность будет равна количеству секунд между датами.
Например, создадим две даты разностью в минуту, вычтем одну из другой.
И посмотрим, какая разница.
Мы получили количество секунд разности между Дата2 и Дата1. Если мы вычтем наоборот.
То поскольку Дата2 раньше на временной оси, чем Дата1, то получим разность с отрицательным знаком.
Прибавить дату 1С
Мы также, можем прибавить к дате нужное количество секунда. Делается это просто: к определенной дате, прибавляется то количество секунд, которое нам нужно.
Например, прибавим к дате минуту, час, день.
Посмотрим на результат:
Также можно и вычесть дату.
Посмотрим на результат:
Этим способом рекомендую прибавлять к датам и вычитать из дат небольшие значения (до дня), для прибавления месяцев и выше, в платформе 1С имеется способ, который будет рассмотрен в следующей статье.
Другие статьи о примитивных типах:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
Массив в 1С 8.3 - это набор значений, которые могут быть разных типов. Значения массива можно добавлять, получать, вставлять, удалять и очищать. Массивы бывают одномерными и двумерными. В 1С 8.3 используются для отборов или для сохранения списка значений, чтобы потом передать как параметр в функцию/процедуру.
Массив можно получить из списка значений с помощью метода ВыгрузитьЗначения() и из таблицы значений с помощью метода ВыгрузитьКолонку(). В виде массива также можно получить выделенные строки динамического списка. Можно создать массив и программно.
✔ Создание массива (определенного размера)
&НаКлиенте
Процедура СозданиеМассиваОпределенногоРазмера ( Команда )
// Массив состоит из 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 Цикл
Сообщить ( Массив [ ИндексСтрока ][ ИндексСтолбец ]);
КонецЦикла;
КонецЦикла;
Читайте также: