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