Список значений - это аналог одномерного массива в 1С, который предназначен для хранения и обработки промежуточных данных, возникающих в процессе работы программы. Объект Список значений имеет множество полезных возможностей и работает очень быстро. Следует учитывать, что в языке 1С есть и одномерные массивы в том смысле, как это принято в других языках программирования (Перем мас[10]). Список значений создается в памяти и не сохраняется в базе данных, т.е. это временный набор данных.
СписокЗнач = СоздатьОбъект(СписокЗначений);
Синтаксис: ДобавитьЗначение(значение,[представление]);
//у каждого значения
в СпискеЗначений есть экранное представление
//если оно не указано, то используется стандартное строковое представление
объекта
СписокЗнач.ДобавитьЗначение(Иванов
Иван Иванович);
СписокЗнач.ДобавитьЗначение(Сотрудник);
СписокЗнач.ДобавитьЗначение(1,Значение №1);
СписокЗнач.УстановитьЗначение(3,3,Значение №3); //установить новое значение и представление 3-й позиции
стр = ;
Для Номер = 1 По СписокЗнач.РазмерСписка() Цикл
...значение = СписокЗнач.ПолучитьЗначение(Номер, стр); //получить
значение и представление
...Сообщить(значение + , + стр);
КонецЦикла;
//сортировать по
значению
СписокЗнач.Сортировать(); //по возрастанию
СписокЗнач.Сортировать(1); //по убыванию
//сортировать по представлению
СписокЗнач.СортироватьПоПредставлению(); //по возрастанию
СписокЗнач.СортироватьПоПредставлению(1); //по убыванию
//поиск по значению
Синтаксис: НайтиЗначение(Знач)
Возвращает номер позиции списка, в которой найдено значение или 0, если
не найдено
номстр = СписокЗнач.НайтиЗначение (Сотрудник);
//проверка вхождения
значения в список
//работает очень быстро, если между проверками список не изменяется.
//если передается элемент справочника, а в списке хранятся группы справочника
//тогда проверяется вхождение элемента справочника в группу
Если СписокЗнач.Принадлежит(Сотрудник)=1 Тогда
....действия
КонецЕсли;
СписокЗнач.УдалитьВсе(); //очистить список значений
//удаляет значения
из указанной позиции
СписокЗнач.УдалитьЗначение(откуда, [сколько]);
Список значений может использоваться в экранных формах как элемент диалога
с пользователем.
//установить курсор
на указанную строку или можно узнать, где находится курсор.
ТекСтрока = СписокЗнач.ТекущаяСтрока(НовСтрока);
пометка = СписокЗнач.Пометка(Позиция);
//прочитать пометку у значения списка
СписокЗнач.Пометка(Позиция,1); //установить пометку у значения списка
СписокЗнач.Пометка(Позиция,0); //снять пометку у значения списка
//выгрузка в другой
список значений или таблицу значений
Синтаксис: Выгрузить(Знач,НачПоз,Колич)
СписокЗнач.Выгрузить(НовыйСписок,1,10); //выгрузить первые 10 значений
//выгрузка списка значений в строку с разделителями
стр = СписокЗнач.ВСтрокуСРазделителями(); //возвращает строку:
10,12,Иванов,Петров
//загрузка списка
значений из строки с разделителями
//обратите внимание на двойные кавычки для строковых значений
СписокЗнач.ИзСтрокиСРазделителями(10,12,Иванов,Петров);