Структуры в языке 1С 8.3

Структура представляет собой коллекцию пар КлючИЗначение. При этом ключ может быть только строковым и должен удовлетворять требованиям, предъявляемым к именованию переменных встроенного языка. Структуры обычно используются для хранения небольшого количества значений, каждое из которых имеет некоторое имя.
К значениям структуры можно обращаться как к свойствам объекта. При этом ключ используется как имя свойства.
Элементы коллекции: КлючИЗначение
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл.
При обходе выбираются элементы коллекции.
Свойства:
Имя ключа | В качестве свойств структура предоставляет элементы. Имя свойства определяется ключом, а значение свойства определяется значением элемента. |
Методы:
Вставить(Ключ, Значение) | Устанавливает значение элемента структуры по ключу. Если элемент с переданным значением ключа существует, то его значение заменяется, в противном случае добавляется новый элемент. |
Количество() | Получает количество элементов структуры. |
Очистить() | Удаляет все элементы структуры. |
Свойство(Ключ, НайденноеЗначение) | Получает значение элемента по указанному имени, а также проверяет, имеется ли указанное свойство. Возвращает значения: Истина – ключ найден. Ложь – в противном случае. |
Удалить(Ключ) | Удаляет элемент структуры с заданным ключом. |
Конструкторы:
Новый Структура(ФиксированнаяСтруктура) | Создаваемая структура заполняется свойствами из исходной фиксированной структуры. |
Новый Структура(Ключи, Значения) | Создает структуру с ключами, значения которых передаются в параметре конструктора. Если в первом параметре заданы ключи элементов структуры, то в следующих параметрах могут быть указаны значения этих элементов в том же порядке, в котором они расположены в строке в первом параметре. |
Примеры работы со структурами:
//// Создание структуры (способ 1):
Время = Новый Структура("Часы, Минуты, Секунды", 12, 45, 33);
Сообщить("Время " + Время.Часы + ":" + Время.Минуты + ":" + Время.Секунды);
//// Создание структуры (способ 2):
ЛичныеДанные = Новый Структура;
// Добавляем в структуру записи в формате: пара ключ - значение (имя переменной – её значение произвольного типа)
ЛичныеДанные.Вставить("Фамилия", "Иванов");
ЛичныеДанные.Вставить("Имя", "Иван");
ЛичныеДанные.Вставить("ДатаРождения", '19800802');
Сообщить(ЛичныеДанные.Имя + " " + ЛичныеДанные.Фамилия + " родился " + ЛичныеДанные.ДатаРождения);
//// Изменение значения поля структуры (способ 1):
Время.Часы = 13;
//// Изменение значения поля структуры (способ 2):
ЛичныеДанные.Вставить("Фамилия", "Сидоров");
//// Как узнать количество элементов структуры:
Сообщить(Время.Количество());
//// Обход всех элементов структуры:
Для Каждого Элемент Из ЛичныеДанные Цикл
Сообщить(Элемент.Ключ + " " + Элемент.Значение);
КонецЦикла;
//// Удалить элемента структуры:
ЛичныеДанные.Удалить("ДатаРождения");
//// Очистка всех элементов структуры:
ЛичныеДанные.Очистить();