Пример: Как используется структура в 1С
Пример 01.
Человек = Новый Структура;
Человек.Вставить("Имя", "Иван");
Человек.Вставить("Фамилия", "Сидоров");
Человек.Вставить("Возраст", 25);
Сообщить(Человек.Имя + " " + Человек.Фамилия + ", " + Человек.Возраст + " лет");
Пример 02.
Процедура ПечатьСообщения(Параметры)
Сообщить(Параметры.Текст);
Сообщить("Цвет: " + Параметры.Цвет);
КонецПроцедуры;
Параметры = Новый Структура("Текст, Цвет", "Привет!, Красный");
ПечатьСообщения(Параметры);
Пример 03.
Настройки = Новый Структура;
Настройки.Вставить("Тема", "Светлая");
Настройки.Вставить("ПоказыватьПодсказки", Истина);
Настройки.Вставить("РазмерШрифта", 12);
Сообщить("Текущая тема: " + Настройки.Тема);
Пример 04.
Функция РассчитатьИтог(Цена, Количество) Экспорт
Итог = Новый Структура;
Итог.Вставить("Сумма", Цена * Количество);
Итог.Вставить("НДС", Цена * Количество * 0.2);
Возврат Итог;
КонецФункции;
Рез = РассчитатьИтог(100, 3);
Сообщить("Сумма: " + Рез.Сумма + ", НДС: " + Рез.НДС);
Пример 05.
Адрес = Новый Структура("Город, Улица, Дом", "Москва, Ленина, 10");
Человек = Новый Структура("Имя, Адрес", "Иван, ");
Человек.Адрес = Адрес;
Сообщить("Живет: " + Человек.Имя + " → " + Человек.Адрес.Город + ", " + Человек.Адрес.Улица + " " + Человек.Адрес.Дом);
структура в 1С
При разработке на 1С часто возникает задача хранить и обрабатывать связанные между собой данные. Для этого идеально подходит объект Структура. Давайте разберёмся, что это такое, как её создать и использовать на практике.
Что такое структура
Структура —это как коробка с отделениями, где у каждого отделения есть свой ключ — то есть название. Ключ говорит, что именно хранится внутри. Например, ты создаёшь структуру «Человек» и задаёшь ключи: «Имя», «Фамилия», «Возраст». В ключ «Имя» кладёшь значение «Иван», в ключ «Фамилия» — «Петров», в ключ «Возраст» — число 30. В итоге получается набор пар «ключ → значение», и ты всегда можешь быстро достать нужное, обратившись именно по ключу.
- Значение — любое значение: число, строка, дата, объект, массив или даже другая структура.
Если массив можно представить как «список значений», то структура — это скорее «таблица с названиями колонок».
Создание структуры
Создать структуру можно несколькими способами:
- Пустая структура:
СтруктураДанных = Новый Структура;
- Сразу с ключами и значениями:
СтруктураДанных = Новый Структура("Имя, Возраст, Город", "Иван, 30, Москва");
- Добавление элементов после создания:
СтруктураДанных.Вставить("Имя", "Иван");
СтруктураДанных.Вставить("Возраст", 30);
СтруктураДанных.Вставить("Город", "Москва");
Доступ к элементам
Получить значение по ключу можно так:
Сообщить(СтруктураДанных.Имя); // Иван
Сообщить(СтруктураДанных["Возраст"]); // 30
Изменить элемент просто:
СтруктураДанных.Город = "Санкт-Петербург";
Структуры внутри структур
В 1С можно хранить в структуре другие структуры:
Адрес = Новый Структура;
Адрес.Вставить("Город", "Москва");
Адрес.Вставить("Улица", "Тверская");
Человек = Новый Структура;
Человек.Вставить("Имя", "Анна");
Человек.Вставить("Возраст", 25);
Человек.Вставить("Адрес", Адрес);
Сообщить(Человек.Адрес.Город); // Москва
Когда использовать структуры
Когда лучше использовать структуры в 1С
Структуры удобны в тех случаях, когда:
- нужно хранить данные с названиями (например: Имя = «Иван», Возраст = 30, Город = «Москва»);
- надо передать несколько параметров в процедуру или функцию, но не хочется создавать много отдельных переменных;
- требуется хранить «объект» с разными свойствами (например, «Машина» с ключами «Марка», «Модель», «Цвет»);
- нужно собрать и вернуть из функции несколько результатов сразу.
А если просто нужен список значений без подписей (например: «Москва», «Казань», «Самара»), то лучше использовать массив.
задачи
Задача 1. «Человек»
Цель: создать структуру и обратиться к полям.
Требуется:
- Создай структуру с ключами:
Имя,Фамилия,Возраст. - Заполни значениями.
- Выведи в сообщения строку вида:
Иван Петров, 30 лет.
Задача 2. «Адрес в структуре»
Цель: добавить вложенную структуру.
Требуется:
- К структуре из задачи 1 добавь ключ
Адрес— это вложенная структура с ключамиГород,Улица,Дом. - Выведи строку вида:
Адрес: Москва, Ленина, 10.
Задача 3. «Проверка ключей»
Цель: безопасная работа с ключами.
Требуется:
- Перед выводом
Отчествопроверь, есть ли такой ключ в структуре (Свойство/Содержит). - Если ключа нет — выводи
Отчество не задано.
Итоги
Структуры в 1С — это как умные ящички с табличками: каждому значению даёшь ключ, и потом легко находишь нужное. Хоть параметры, хоть целые объекты — всё можно сложить в одну структуру и передавать туда-сюда без лишних переменных.
