Структура и соответствие

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

Внимание! В структуре ключи могут быть только строковые и должны подчиняться правилам именования переменных. В соответствиях ключи могут быть почти любого типа.

Структуры часто применяются в методах объектов для указания отборов, например:

?

Структуры можно использовать для передачи списка параметров(в версии 7.7 для этой цели часто применялся список значений и его методы Установить и Получить):

 

Параметры = Новый Структура("ДатаНач,ДатаКон");
Параметры.ДатаНач = ВыбДата;
Параметры.ДатаКон = ДобавитьМесяц(ВыбДата,1);
Если ВыбТипОтчета = 0 Тогда
	Параметры.Вставить("ТипОтчета",ВыбТипОтчета);
КонецЕсли;
глСформироватьОбороты(Параметры);
 

Можно перебрать элементы структуры или соответствия с помощью конструкции «Для Каждого». Каждый элемент коллекции является объектом специального типа КлючИЗначение:

 

Для Каждого парам Из Параметры Цикл
	ИмяПараметра = парам.Ключ;
	Значение = парам.Значение;
КонецЦикла;
 

Для структуры можно обращаться к элементам коллекции через точку, поскольку ключи являются свойствами структуры:

 

НачДата = парам.ДатаНач;
КонДата = парам.ДатаКон;

 

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

С помощью метода Свойство можно получить значение заданного ключа или убедиться, что его в структуре нет, например:

 

Найдено = парам.Свойство("ТипОтчета",ВыбТипОтчета);
Если Найдено Тогда
	СформироватьПользовательскийОтчет(ВыбТипОтчета);
Иначе
	СформироватьОтчетПоУмолчанию();
КонецЕсли;
 

У соответствия нет метода Свойство и обращение производится с помощью оператора [...] или метода Получить:

 

ТоварАналог = соотвАналоги[Товар].Значение;
Отправить голосовое смс поздравление. Короткий смс текст сердечного поздравления. . качественная русификация bmw ccc . освобождение от физкультуры