Универсальные коллекции значений
1) Массив
Мас = Новый Массив(); // массив из нуля элементов
Мас = Новый Массив(5); // массив из 5 элементов, каждый из которых равен Неопределено
Мас = Новый Массив(4,6); // массив из четырех элементов, каждый из которых – массив из 6-ти элементов, каждый из которых равен Неопределено
Одномерный:
Мас[3] = <Значение>; // индекс – с нуля
<Переменная> = Мас[2];
Двумерный:
Мас[2][1] = <Значение>;
Мас[2,1] = <Значение>; - НЕЛЬЗЯ!!
Методы:
Мас.Добавить(<Значение>) – в конец массива
Мас.Вставить(<Индекс>, <Значение>) – в необходимую позицию
Мас.Удалить(<Индекс>) – удаление элемента
Мас.Очистить() – очищается весь массив (длина = 0)
Мас.Количество() – число элементов массива
Мас.ВГраница() – последний индекс. Всегда равен Мас.Количество()-1
Мас.Получить(<Индекс>) – аналогично Мас[<Индекс>]
Мас.Установить(<Индекс>, <Значение>) – аналогично Мас[<Индекс>]=<Значение>
Мас[1][2] = Мас[1][2] + 1;
Мас.Получить(1).Установить(2, Мас.Получить(1).Получить(2) + 1);
2) Структура
Структура – ключ и значение
Стр = Новый Структура(); // пустая структура
Стр = Новый Структура(«Поле1»); // структура с полем «Поле1», которому соответствует значение Неопределено
Стр = Новый Структура(«Поле1», Значение1); // структура с полем «Поле1», которому соответствует значение Значение1
Стр = Новый Структура(«Поле1, Поле2»); // структура с полями «Поле1» и «Поле2», которым соответствуют значения Неопределено
Стр = Новый Структура(«Поле1, Поле2», Значение1, Значение2); // структура с полями «Поле1» и «Поле2», которым соответствуют значения Значение1 и Значение2 соответствено.
Обращение:
Стр.Поле1 = <НовоеЗначение>;
Стр[«Поле1»] = <НовоеЗначение>;
Методы:
Стр.Вставить(«Поле3»)
Стр.Вставить(«Поле3», Значение3)
Стр.Количество() – число полей
Стр.Очистить() – Очищает структуру!! Нет больше полей(((
Свойство():
Буфер = Неопределено;
Если Стр.Свойство(«Поле4», Буфер) Тогда
Сообщить(«Есть такое поле!»);
КонецЕсли;
Аналог:
Перем Буфер;
Если Стр.Свойство(«Поле4», Буфер) Тогда
Сообщить(«Есть такое поле!»);
КонецЕсли;
Еще вариант:
Если Стр.Свойство(«Поле4») Тогда
Буфер = Стр.Поле4;
КонецЕсли;
Стр.Удалить(<ИмяПоля>) – удаляет поле
3) Соответствие
Очень похоже на структуру, только поле – необязательно имя
Соотв = Новый Соответствие();
Соотв.Вставить(Справочники.Валюты.Рубль, «Вот это рубль!»)
Переменная = Соотв[Справочники.Валюты.Рубль];
Переменная = Соотв.Получить(Справочники.Валюты.Рубль);
Методы:
Вставить()
Количество()
Очистить()
Получить()
Удалить()
4) Список значений
Список = Новый СписокЗначений();
Методы:
Вставить(): Список.Вставить(Индекс, Значение, Представление, Картинка, Пометка)
ВыбратьЭлемент() – пользователь выбирает элемент списка; возвращается ссылка на строку списка (ЭлементСпискаЗначений)
ВыгрузитьЗначения() – получается массив из значений
Добавить(): Список.Добавить(Значение, Представление, Картинка, Пометка)
ЗагрузитьЗначения() – обратный методу ВыгрузитьЗначений()
ЗаполнитьПометки() – одинаковые пометки у всех элементов
Список.ЗаполнитьПометки(Истина);
Индекс(): Список.Индекс(ЭлементСпискаЗначений)
Количество()- число элементов
НайтиПоЗначению() – возвращается ЭлементСпискаЗначений или Неопределено
НайтиПоИдентификатору() – вообще не понимаю!!!!!!
ОтметитьЭлементы() – пользователь расставляет галочки
Очистить() – это и мне понятно
Получить() – применяется в случаях, когда использование оператора [] невозможно
Сдвинуть():
Список.Сдвинуть(ЭлементСпискаЗначений, Смещение)
Список.Сдвинуть(Индекс, Смещение)
Скопировать() – создает копию (!!!!!!!)
СортироватьПоЗначению():
Список.СортироватьПоЗначению() – по возрастанию
Список.СортироватьПоЗначению(НаправлениеСортировки.УБЫВ) – по убыванию
Список.СортироватьПоЗначению(НаправлениеСортировки.ВОЗР) – по возрастанию
СортироватьПоПредставлению() – аналогично
Удалить(): параметр – ЭлементСпискаЗначений или Индекс
