Массив 1С


Массив 1С – это простой набор значений. В один массив 1С можно добавить значения разных типов. После добавления наличие в массиве 1С значения можно проверить встроенным поиском.

Массив 1С часто используется:
А) Для отборов
Б) Для сохранения списка значений, чтобы далее использовать его, например, передать как параметр в функцию/процедуру.

 

Работа с массивами 1С

Создадим массив 1С из 2 значений:
Массив = Новый Массив(); //массив без фиксированного кол-ва значений
ГСЧ = Новый ГенераторСлучайныхЧисел(); //будем заполнять случайными числами

Массив.Добавить( ГСЧ.СлучайноеЧисло(0, 1000) );
Массив.Добавить( ГСЧ.СлучайноеЧисло(0, 1000) );

//цикл прохода каждого значения массива 1С, сколько бы их ни было
Для каждого Знч из Массив Цикл
     Сообщить(Знч);
КонецЦикла;

Создадим массив 1С из 10 значений:
Массив = Новый Массив(10); //массив с фиксированным кол-вом значений
ГСЧ = Новый ГенераторСлучайныхЧисел(); //будем заполнять случайными числами

//индекс массива начинается с нуля, а не с единицы
//10 шт - это от 0 до 9
Для Сч = 0 по 9 Цикл
     //обращение к массиву ИмяМассива[Индекс]
     Массив[Сч] = ГСЧ.СлучайноеЧисло(0, 1000); //случайное число от 0 до 1000
КонецЦикла;

//цикл прохода каждого значения массива, сколько бы их ни было
Для каждого Знч из Массив Цикл
     Сообщить(Знч);
КонецЦикла;

//обратите внимание - 10 значений массива, это значит что их по умолчанию 10 шт и каждое значение равно НЕОПРЕДЕЛЕНО, пока мы не установили другое
//это не значит, что мы не можем добавить еще одно значение, 11е, с помощью ИмяМассива.Добавить();

 

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

Создадим многомерный массив 1С 2х2. Многомерный массив 1С, значит каждая ячейка массива 1С содержит не значение, а тоже массив 1С.


Только зарегистрированные пользователи VIP группы могут видеть этот контент.


Многомерный массив 1С не обязательно должен быть фиксированным. Сделаем многомерный массив 1С 2х2 без указания фиксированного количества значений:


Только зарегистрированные пользователи VIP группы могут видеть этот контент.


 

Создание массива 1С с нуля

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

Например – строка версии программы выглядит следующим образом «11.0.9.5» — четыре числа, разделенные точками. Мы можем перевести версию в «компьютерный» формат – массив из четырех числовых значений. Тогда далее мы можем сравнивать версии друг с другом:


Только зарегистрированные пользователи VIP группы могут видеть этот контент.


 

Получение готового массива 1С с данными

Массив 1С можно получить из списка значений с помощью метода спСписок.ВыгрузитьЗначения() и из таблицы значений с помощью метода тТаблица.ВыгрузитьКолонку().

В примере ниже мы делаем запрос – выбираем все ссылки документов из базы данных.

Далее:

  • РезультатЗапроса = Запрос.Выполнить() //выполняет запрос
  • тзРезультат = РезультатЗапроса.Выгрузить() //выгружает результат в таблицу значений
  • мМассивСсылок = тзРезультат.ВыгрузитьКолонку("ИмяКолонки") //выгружает колонку таблицы в массив


Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Документ.ПоступлениеТоваров");
МассивСсылок = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");

 

Получение массива 1С из других объектов и использование в качестве отбора в запросе

Когда на форме расположен список документов (или таблица значений) – пользователь может выделить курсором одну строку. Также можно разрешить выделять несколько строк одновременно. Чтобы выделить несколько строк (если не форме это разрешено) нужно зажать клавишу CTRL или SHIFT.

Добавьте на форму толстого клиента таблицу значений и в качестве ее типа выберите ДокументСписок.ИмяДокумента. В его свойствах выберите режим выделения – множественный.

Мы можем программно получить список выделенных строк:


Только зарегистрированные пользователи VIP группы могут видеть этот контент.


Если Вы используете управляемую форму, то нужно сначала добавить реквизит формы с типом ДинамическийСписок, а в его свойствах выберите основную таблицу – нужный документ. Перетащите реквизит на форму. В свойствах элемента формы (!) выберите также – режим выделения – множественный (установлен так по умолчанию).

Обращение к массиву 1С выделенных строк будет выглядеть как:
Элементы.ИмяРеквизитаФормы. ВыделенныеСтроки


Проголосовать за этот пост:

1 Star2 Stars3 Stars4 Stars5 Stars (15 голосов, среднее: 2,20 из 5)
Загрузка...

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