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