====== Список значений ====== ===== Описание ===== Список Значений представляет собой **линейный упорядоченный список**, упорядоченный в данном случае означает, что на порядок следования элементов в списке можно опираться и сам список можно сортировать. Список значенией удобно использовать для хранения и обработки списка данных обладающих линейной структурой, для вывода значений на форму или для предоставления возможности выбора пользователю. Список на самом деле представляет собой таблицу с фиксированным набором колонок: * Отметка – булевский тип данных, который позволяет устанавливать пометку для элемента. * Картинка – нужна для визуального отображения какого либо элемента * Значение – непосредственно само значение * Представление – здесь хранится отображаемое для пользователя значение, то есть у нас в значении может храниться все что угодно, начиная от массива заканчивая бинарными данными, пользователю можно показать значение в удобочитаемом виде(указав нужное представление). В случае если представление не указано, то 1С попробует сгенерировать его на основании указанного вами значения. Как вы могли заметить все дополнительные колонки служат для работы с интерфейсом пользователя. Это связано с тем, что список значений часто используются для предоставления пользователю выбора одного или несколько значений. ===== Создание и использование ===== Список значений создается с помощью метода новый: МойСписок = Новый СписокЗначений; Добавление значений в список происходит с помошью методов, ''Добавить()'' и ''Вставить()'' например: Список = Новый СписокЗначений(); Список.Добавить("Первое значение которое будет добавлено в список"); метод ''Вставить'' отличается от метода ''Добавить'', только возможностью указать позицию для вставки объекта. У каждого элемента списка значений, есть уникальный идентификатор, который не меняется, вне зависимости от того, что бы не происходило со списком значений. Получить его можно с помощью метода ''ПолучитьИдентификатор()'' применять его нужно к элементу списка значений. В дальнейшем идентификатор можно использовать с помошью, метода НайтиПоИдентификатору(Идентификатор). Обращение к элементам коллекции происходит [[1c:коллекции:общие_положения|стандартно для коллекции]] Поиск в коллекции происходит с помощью метода НайтиПоЗначению(), метод возвращает либо элемент списка значений, либо ''Неопределено'', если искомое значение отсутствует в списке. Обратите внимание, что элемент списка значений это не само значение и здесь доступны все свойства описанные выше: отметка, картинка, значение, пометка. Например: ЗначениеСписка = Список.НайтиПоЗначению(«Просто какая то строка»); Если ЗначениеСписка.Пометка Тогда //один алгоритм Иначе //другой алгоритм КонецЕсли; ===== Методы для работы с пользователем ===== Как уже отмечалось, список значений удобная коллекция для интерактивной работы с пользователем. Есть возможность сформировав заранее список с удобными представлениями и картинками. Показать пользователю окно для выбора одного или нескольких значений. Либо дать возможность пользователю поставить отметки в выведенном списке. Для этого используются следующие команды: * ''ВыбратьЭлементы()'' этот метод выводит окно с выбором значений из списка значений, можно указать заголовок окна и значение на которое нужно позиционироваться при открытии. Метод возвращает выбранный элемент списка значений или ''Неопределено'', если пользователь отказался от выбора. * ''ОтметитьЭлементы()'' выводит окно позволяя пользователю проставить отметки в списке значений, возвращает ''Истина'' если выбор сделан и ''Ложь'' в противном случае. Оба вышеприведенных метода работают с [[1c:база:опасность_использования_модальных_окон|модальными окнами]] Также можно вывести список значений на форму.FIXME(Сделать картинки для обычного и для управляемого приложения)