Массив в 1С: общие сведения и некоторые примеры использования

Понятие «массив» уже давно используется в программировании и, чаще всего, под ним понимают некоторую структуру в памяти, состоящую из последовательности элементов. Массив в 1С – самая простая из универсальных коллекций значений. Помимо массива к универсальным коллекциям относятся:

  1. Список значений (в отличие от массива у значений из списка есть представление, реализована возможность сортировки и интерфейсного представления коллекции);
  2. Таблица значений – коллекция, имеющая колонки для расширенного описания значения, подобную структуру можно получить, выполнив запрос;
  3. Дерево – очень похоже на таблицу, дополненную структурой подчиненности;
  4. Структура – динамический набор имен и значений переменных;
  5. Соответствие – подобно структуре, только переменные сопоставляются не строковым представлениям, а друг другу.

Методы массива

Программное создание экземпляра массива происходит с помощью с помощью оператора Новый() (Рис.1).

Рис.1

Как видно из приведенного примера массивы можно создавать как с фиксированным количеством элементов, так и без этого ограничения.

Прежде, чем приступать к обсуждению методов  работы с массивом, давайте определимся с двумя понятиями:

  • Индекс элемента – можно представить как порядковый номер отдельно взятого значения;
  • Количество элементов – число элементов в коллекции, его определение доступно с помощью метода Количество().

Важно знать: в 1С подсчет количества значений любой коллекции начинается с 1, а раздача индексов с 0, т.е первый элемент в массиве имеет индекс 0. Таким образом, обход коллекции с помощью цикла с итератором должен начинаться с 0 и заканчиваться количеством элементов минус 1, в противном случае система с помощью окна (Рис.2) уведомит о наступлении исключительной ситуации.

Рис.2

Любой объект конфигурации имеет свои методы для работы, массив не исключение, перечислим их с некоторой расшифровкой:

  • ВГраница() – с помощью метода можно получить максимальный индекс элемента, для пустого массива будет возвращено значение (-1);
  • Вставить() – этот метод имеет два параметра: индекс и значение, индекс указывает куда в массив вставить новый элемент, добавляемое значение может быть пустым;
  • Добавить() – этот метод вставки значения можно использовать, когда место размещения элемента непринципиально, с его помощью новые данные будут записаны в конец имеющегося массива;
  • Найти() – в случае успешного выполнения возвращает индекс указанного в скобках значения, в противном случае возвращает «Неопределено»;
  • Очистить() –очищает коллекцию;
  • Получить() – читает данные, расположенные в массиве по указанному индексу, можно заменить квадратными скобками [];
  • Удалить() – удаляет элемент с указанным индексом;
  • Установить() – заменяет данные в указанной ячейке массива.

Одномерные и многомерные массивы

В простейшем случае одномерный массив может содержать значения различных типов (Рис.3)

Рис.3.

Результат выполнения вышеприведенного кода представлен на Рис.4

Рис.4

Таким образом, мы получили одномерный массив, состоящий из строкового значения, ссылки на элемент справочника и даты. При этом при добавлении элементов мы использовали два различных метода Добавить() и Вставить(), если бы при добавлении даты мы использовали метод Добавить() наш результат имел бы несколько другой вид.

В старших классах средней школы дается представление о понятии двумерной матрицы. Это такой набор данных, каждый элемент которого имеет два индекса (в простейшем случае порядковый номер по вертикали и по горизонтали) именно она лучше всего иллюстрирует понятие двумерного массива.

Создавая подобную матрицу можно указать количество строк и столбцов, которые будут использованы.

Допустим, перед нами стоит задача создать массив из фамилии, имени и отчества двух сотрудников. С помощью кода (Рис.5) создаем соответствующий массив с фиксированным количеством столбцов и строк.

Рис.5

Для его обхода нам понадобится два цикла, в первом цикле мы обходим массив по строкам, во втором разбираем строку на элементы. Это можно сделать либо с помощью цикла «Для каждого …. Из» (Рис.6)

Рис.6

Либо с помощью цикла с итератором «Для … по» (Рис.7)

Рис.7

В принципе, количество измерений конкретного массива может быть любым, другое дело, что в случае большого количества уровней детализации достаточно сложно создать построитель для чтения данных.

Использование массива

Массивы в 1С чаще всего используются для:

  1. Создания различных отборов используемых при работе с запросами и другими коллекциями значений;
  2. Передачи списков в качестве параметров между процедурами и функциями;
  3. Обмена данными с внешними компонентами, подключенными с использованием COM технологии.

Безусловно, это далеко неполный список того, в каких целях можно задействовать объект «Массив».


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

Ваш e-mail не будет опубликован.

*

code


Оснащение для магазина с доставкой от компании Ru-Holod
Выбор оборудования зависит от цели его эксплуатации. В магазине оборудование для реализации продуктов питания, условия хранения которых требуют поддержания особой ...
Проверка отчетности 6-НДФЛ и 2-НДФЛ в 1С ЗУП 3.1
Какие проверки необходимо произвести для успешной сдачи отчетов 6-НДФЛ и 2-НДФЛ и какие средства в 1С ЗУП 3.1 в этом ...
Как сократить издержки в производственной компании малого бизнеса. Вебинар
18 февраля 2020 г. состоялся вебинар «Как сократить издержки в производственной компании малого бизнеса. Планирование, фактическая себестоимость, анализ в 1С:Управление ...
Интервью с Сергеем Кукановым
На предприятии есть производство, но вы ещё не доросли до крупных систем управления? Тогда вполне можете попробовать обойтись решением 1С:Управление ...
Годовая отчетность за 2019 г.: бухгалтерская и налоговая
Оформить заявку на участие в онлайн-семинаре "Годовая отчетность за 2019 г.: бухгалтерская и налоговая" https://buhexpert8.ru/dostup#buh ПРОГРАММА СЕМИНАРА НАЛОГОВАЯ ОТЧЕТНОСТЬ: • ...
Новое в ЗУП за 5 мин [выпуск от 17.02.2020]
Выпуск на нашем сайте - https://buhexpert8.ru/1s-zup#tt-5min В этом выпуске: • Разместили ответы на вопросы с семинара по СЗВ-ТД • Обновили ...
1С:ERP Урок 55. Исполнение заказа на производство
Пятьдесят пятый видеоурок вводного курса по «1С:ERP Управление предприятием». Тема на сегодня – исполнение заказа на производство (без использования пооперационного ...
Новое в учете и отчетности по НДФЛ в 2020 году
Изменения по НДФЛ в 2020 году. Изменения сроков и порядка представления отчетности по НДФЛ. Как представить отчетность по доходам по ...
Ошибки при учете договоров ГПХ в 1С ЗУП 3.1
Кого считать работниками по договорам ГПХ. Ошибки квалификации договоров ГПХ. Выплаты по договорам ГПХ в 1С ЗУП 3.1. Смотрите тест-драйва ...
Ответы на популярные вопросы по ЭТК - часть 2
Фрагмент вебинара по электронным трудовым от 11.02.2020 - Если все оставляют бумажные трудовые, можно ли не сдавать СЗВ-ТД? - Нужно ...
Юридическая и организационная (управленческая) структура Компании в 1С:ЗУП КОРП
✔️ Как настроить в 1С:ЗУП КОРП юридическую и организационную (управленческую) структуру Компании? ✔️ Какой отчет показывает сотрудников в разрезе оргструктуры? ...
1С:Электронные трудовые книжки - бесплатный сервис от фирмы 1С
Если вы не используете программу 1С, предлагаем вам воспользоваться сервисом для формирования отчета СЗВ-ТД совершенно бесплатно. Переходите по ссылке etk.1c.ru ...
Сведения о среднесписочной численности работников в 1С 8.3 ЗУП
Кем и в какие сроки сдаются сведения по среднесписочной численности. Что входит в понятие среднесписочная численность и как она рассчитывается ...