Работа со структурой в 1С

Структура — это особый тип данных в 1С, который можно представить в виде таблицы из двух колонок. Первая колонка называется Ключ, вторая — Значение. Ключ всегда является строкой и должен удовлетворять требованиям, предъявляемым к именованию переменных встроенного языка, значение может быть разных типов.

КЛЮЧ ЗНАЧЕНИЕ
«Имя» «Иван»
«Фамилия» «Иванов»
«Возраст» 25

Как создать переменную с типом Структура

Создать переменную с типом Структура можно двумя способами. Рассмотрим создание структуры, описанной в таблице выше.

П1 = новый Структура ("Имя, Фамилия, Возраст", "Иван", "Иванов", 25);

или

П1 = новый Структура;
П1.Вставить("Имя", "Иван");
П1.Вставить("Фамилия", "Иванов");
П1.Вставить("Возраст", 25);

Как добавить новый элемент в структуру

Для добавления нового элемента в структуру используется функция Вставить(Ключ, Значение). Пример использования этой функции смотрите в предыдущем разделе.

Как получить значение элемента структуры по имени ключа

Фамилия = П1.Фамилия; //переменной Фамилия будет присвоено значение "Иванов"
Возраст = П1.Возраст; //переменной Возраст будет присвоено значение 25

Как изменить значение элемента структуры по имени ключа

Если известно имя ключа структуры, то изменить значение можно двумя способами.

П1.Возраст=26; // Значение изменено на 26
П1.Вставить("Возраст",26); // Значение изменено на 26

Как узнать количество элементов структуры

Колич = П1.Количество(); // 3

Как проверить, есть ли в структуре ключ с определенным именем

Для этого существует функция Свойство (Ключ, НайденноеЗначение). Первый параметр Ключ — обязательный. Сюда нужно передать имя искомого ключа структуры. Второй параметр — переменная, в которую нужно поместить значение, если ключ будет найден. Этот параметр не обязателен. А сама функция возвращает значение Истина, если ключ найден, или Ложь, если не найден.

Найдено = П1.Свойство("Отчество"); // Найдено = Ложь
Перем Имя;
Найдено = П1.Свойство("Имя", Имя);

//Имя = "Иван", Найдено = Истина

Как удалить элемент структуры

П1.Удалить("Возраст");

Как удалить все элементы, очистить структуру

П1.Очистить();

Как обойти в цикле все элементы структуры

Для обхода структуры используется цикл Для каждого.

Для каждого Элемент из П1 Цикл
Сообщить(Элемент.Ключ + " - " + Элемент.Значение);
КонецЦикла;

//Результат:
//Имя - Иван
//Фамилия - Иванов
//Возраст - 25

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *