d9e5a92d

СПИСОК ЗНАЧЕНИЙ

Список значений - это аналог одномерного массива в 1С, который предназначен для хранения и обработки промежуточных данных, возникающих в процессе работы программы. Объект Список значений имеет множество полезных возможностей и работает очень быстро. Следует учитывать, что в языке 1С есть и одномерные массивы в том смысле, как это принято в других языках программирования (Перем мас[10]). Список значений создается в памяти и не сохраняется в базе данных, т.е. это временный набор данных.

СписокЗнач = СоздатьОбъект(СписокЗначений);

Синтаксис: ДобавитьЗначение(значение,[представление]);

//у каждого значения в СпискеЗначений есть экранное представление

//если оно не указано, то используется стандартное строковое представление объекта

СписокЗнач.ДобавитьЗначение(Иванов Иван Иванович);

СписокЗнач.ДобавитьЗначение(Сотрудник);

СписокЗнач.ДобавитьЗначение(1,Значение №1);

СписокЗнач.УстановитьЗначение(3,3,Значение №3); //установить новое значение и представление 3-й позиции

стр = ;

Для Номер = 1 По СписокЗнач.РазмерСписка() Цикл

...значение = СписокЗнач.ПолучитьЗначение(Номер, стр); //получить значение и представление

...Сообщить(значение + , + стр);

КонецЦикла;

//сортировать по значению

СписокЗнач.Сортировать(); //по возрастанию

СписокЗнач.Сортировать(1); //по убыванию



//сортировать по представлению

СписокЗнач.СортироватьПоПредставлению(); //по возрастанию

СписокЗнач.СортироватьПоПредставлению(1); //по убыванию

//поиск по значению

Синтаксис: НайтиЗначение(Знач)

Возвращает номер позиции списка, в которой найдено значение или 0, если не найдено

номстр = СписокЗнач.НайтиЗначение (Сотрудник);

//проверка вхождения значения в список

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

//если передается элемент справочника, а в списке хранятся группы справочника

//тогда проверяется вхождение элемента справочника в группу



Если СписокЗнач.Принадлежит(Сотрудник)=1 Тогда

....действия

КонецЕсли;

СписокЗнач.УдалитьВсе(); //очистить список значений

//удаляет значения из указанной позиции

СписокЗнач.УдалитьЗначение(откуда, [сколько]);



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

//установить курсор на указанную строку или можно узнать, где находится курсор.

ТекСтрока = СписокЗнач.ТекущаяСтрока(НовСтрока);

//список значений в диалоге может иметь пометки (флажки)

пометка = СписокЗнач.Пометка(Позиция); //прочитать пометку у значения списка

СписокЗнач.Пометка(Позиция,1); //установить пометку у значения списка

СписокЗнач.Пометка(Позиция,0); //снять пометку у значения списка

//выгрузка в другой список значений или таблицу значений

Синтаксис: Выгрузить(Знач,НачПоз,Колич)

СписокЗнач.Выгрузить(НовыйСписок,1,10); //выгрузить первые 10 значений



//выгрузка списка значений в строку с разделителями

стр = СписокЗнач.ВСтрокуСРазделителями(); //возвращает строку: 10,12,Иванов,Петров

//загрузка списка значений из строки с разделителями

//обратите внимание на двойные кавычки для строковых значений

СписокЗнач.ИзСтрокиСРазделителями(10,12,Иванов,Петров);



Содержание раздела