Структура
Описание:
Представляет собой коллекцию пар КлючИЗначение. При этом ключ может быть только строковым и должен удовлетворять требованиям, предъявляемым к именованию переменных встроенного языка.
К значениям структуры можно обращаться как к свойствам объекта. При этом ключ используется как имя свойства.
Структура используется обычно для хранения небольшого количества значений, каждое из которых имеет некоторое имя.
Элементы коллекции: КлючИЗначение
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.
Свойства:
Имя ключа | В качестве свойств структура предоставляет элементы. Имя свойства определяется ключом, а значение свойства определяется значением элемента. |
Методы:
Вставить(<Ключ>, <Значение>) | Устанавливает значение элемента структуры по ключу. Если элемент с переданным значением ключа существует, то его значение заменяется, в противном случае добавляется новый элемент. |
Количество() | Получает количество элементов структуры. |
Очистить() | Удаляет все элементы структуры. |
Свойство(<Ключ>, <НайденноеЗначение>) | Получает значение элемента по указанному имени, а также проверяет, имеется ли указанное свойство. Возвращает Истина — ключ найден, Ложь — в противном случае. |
Удалить(<Ключ>) | Удаляет элемент структуры с заданным ключом. |
Конструкторы:
Новый Структура(<ФиксированнаяСтруктура>) | Создаваемая структура заполняется свойствами из исходной фиксированной структуры. |
Новый Структура(<Ключ>, <Значения>) | Создает структуру с ключами, значения которых передаются в параметре конструктора. Если в первом параметре заданы ключи элементов структуры, то в следующих параметрах могут быть указаны значения этих элементов в том порядке, в котором они расположены в строке в первом параметре. |
Как создать структуру в 1с 8.2, 8.3?
Способ 1 — без данных
НоваяСтруктура = Новый Структура;
Способ 2 — с заполнением данными
НоваяСтруктура = Новый Структура ("Марка, ГодВыпуска, Цвет","TOYOTA", "2016","Черный"); // Созданная структура имеет пары КлючИЗначение // 1) "Марка" -> "TOYOTA" // 2) "ГодВыпуска" -> "2016" // 3) "Цвет" -> "Черный"
Как добавить элемент в структуру в 1с 8.2, 8.3?
// Создаем структуру НоваяСтруктура = Новый Структура; // Добавляем данные используя метод Вставить(<Ключ>,<Значение>) НоваяСтруктура.Вставить("Марка","TOYOTA"); НоваяСтруктура.Вставить("ГодВыпуска","2016"); НоваяСтруктура.Вставить("Цвет","Черный");
Как изменить значение ключа созданной структуры в 1с 8.2, 8.3?
Способ 1
// Создаем структуру НоваяСтруктура = Новый Структура; // Добавляем данные используя метод Вставить(<Ключ>,<Значение>) НоваяСтруктура.Вставить("Марка","TOYOTA"); НоваяСтруктура.Вставить("ГодВыпуска","2016"); НоваяСтруктура.Вставить("Цвет","Черный"); // Меняем значение поля Марка НоваяСтруктура.Марка = "ВАЗ"; // Теперь значение поля Марка - "ВАЗ".
Способ 2
НоваяСтруктура.Вставить("Марка","Chevrolet"); // Теперь значение поля Марка - "Chevrolet"
Как узнать количество элементов в структуре 1с 8.2, 8.3?
//Для вывода количества элементов структуры используем метод Количество(). Сообщить(НоваяСтруктура.Количество()); // По нашим примерам выше количество элементов вернется - 3
Как удалить элемент из структуры в 1с 8.2, 8.3?
//Для удаления одного элемента из структуры, //необходимо передать имя ключа в метод Удалить(<Ключ>), //после этого элемент с переданным ключом будет удален. НоваяСтруктура.Удалить("Цвет");
Как удалить все элементы из структуры в 1с 8.2, 8.3?
//Для удаления всех элементов из структуры необходимо вызвать метод Очистить(). НоваяСтруктура.Очистить();
Как обойти все элементы структуры в 1с 8.2, 8.3?
//Для обхода всей структуры (коллекции) необходимо использовать конструкцию - Для Каждого Из Цикл Для Каждого ЭлементСтруктуры Из НоваяСтруктура Цикл Сообщить(ЭлементСтруктуры.Ключ+" "+ЭлементСтруктуры.Значение); КонецЦикла;