Список значений 1С


Список значений 1С с натяжкой можно назвать расширенным аналогом массива 1С. Это также – набор значений (значения могут разных типов), есть поиск и сортировка значений.


В дополнение – отличия списка значений 1С от массива 1С.

В списке значений отсутствует:

  • список значений 1С создается пустой, а значений добавляются потом (т.е. недоступно: Массив = Новый Массив(10))
  • многомерность (хотя элементом списка значений 1С может быть другой элемент массива значений)
  • метод ВГраница()

В списке значений 1С есть дополнительные возможности:

  • в массиве «элемент» — это непосредсвенное значение, а в списке значений 1С «элемент» это структура со свойствами .Значение и .Представление
  • каждый элемент списка значений 1С отображается в интерфейсе не по значению, а по представлению (если оно задано), которое может сильно отличаться от значения (так как задал программист)
  • у каждого элемента может быть отображена картинка и «чекбокс» (квадратик для установки галочки «отмечено или нет»)
  • у списка значений 1С есть метод выбора пользователем значения из списка.

Список значений 1С часто используется:
А) Как обычный массив
Б) Для работа со списком значений 1С на интерфейсе (например выбор значения в «выпадающем списке»)
В) Для отборов в интерфейсных списках (отбор по множеству значений).

Список значений 1С можно использовать для отбора в запросе полностью также, как и массив (см. пример в «Работа с массивами»).

Список значений 1С можно создать из массива:
спЗначений = Новый СписокЗначений();
спЗначений.ЗагрузитьЗначения(Массив);

Массив можно создать из списка значений 1С:
Массив = спЗначений.ВыгрузитьЗначения();

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

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

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


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

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

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