Пн-Пт: 09:00-18:00

Сб-Вс: Выходной

Что такое структура в 1С: карманный органайзер для данных


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

Структура в отладчике

Как создать структуру

Допустим, мы готовим данные для вывода информации о заказе:

text

ДанныеЗаказа = Новый Структура;
ДанныеЗаказа.Вставить("Сумма", 12500);
ДанныеЗаказа.Вставить("Количество", 3);
ДанныеЗаказа.Вставить("ЕстьСкидка", Истина);

Теперь к значениям можно обращаться по имени:

text

Сообщить(ДанныеЗаказа.Сумма);

Читать такой код проще, чем пытаться вспомнить, что означает третий элемент массива. Структура особенно полезна, когда нужно передать в функцию небольшой набор связанных параметров или вернуть несколько именованных результатов.

создание структуры в модуле и результат команды Сообщить()

Как не попасть в ловушку

У структуры есть важная особенность: обратиться через точку можно только к существующему ключу. Если написать ДанныеЗаказа.Скидка, хотя такого ключа нет, выполнение кода завершится ошибкой «Поле объекта не обнаружено». Когда наличие ключа заранее неизвестно, проверяйте его методом Свойство():

text

Если ДанныеЗаказа.Свойство("ЕстьСкидка", ЗначениеСкидки) Тогда
Сообщить(ЗначениеСкидки);
КонецЕсли;

Метод не только сообщает, найден ли ключ, но и помещает его значение в переменную ЗначениеСкидки. Это удобно при обработке необязательных параметров: например, когда одна вызывающая процедура передаёт настройку, а другая — нет.

проверка существующего и отсутствующего ключа в отладчике

Где она пригодится

Представьте обработку, которая формирует печатную форму. Ей нужны организация, дата и признак вывода цен. Вместо длинного списка аргументов можно передать одну структуру ПараметрыПечати. Если позже появится настройка «Показывать артикул», её будет проще добавить как ещё один именованный элемент. При этом стоит сохранять понятные названия ключей и не превращать структуру в бесформенное хранилище всего подряд: стандарты 1С отдельно рекомендуют учитывать читаемость такого кода.

Структура — не «структура базы данных» и не объект метаданных конфигурации. Это рабочий контейнер в коде: он помогает держать связанные значения вместе и обращаться к ним по говорящим именам. Если после открытия модуля сразу ясно, что означает ПараметрыПечати.Организация, значит, структура уже выполняет свою главную задачу — делает программу понятнее.

НОВОСТИ
Статьи
Корзина0
В корзине нет никаких продуктов!
Продолжить покупки
0
Корзина0
В корзине нет никаких продуктов!
Продолжить покупки
0