Структура и соответствие являются динамическими наборами данных — коллекциями значений. Каждый элемент такой коллекции представляет собой пару «ключ» и «значение». Ключи структуры и соответствия уникальны, поэтому они однозначно идентифицируют элемент коллекции.
Внимание! В структуре ключи
могут быть только строковые и должны подчиняться правилам именования
переменных. В соответствиях ключи могут быть почти любого типа.
Структуры часто применяются в методах объектов для указания
отборов, например:
?
Структуры можно использовать для передачи списка параметров(в
версии 7.7 для этой цели часто применялся список значений и его методы
Установить и Получить):
Можно перебрать элементы структуры или соответствия с помощью
конструкции «Для Каждого». Каждый элемент коллекции является объектом
специального типа КлючИЗначение:
Для структуры можно обращаться к элементам коллекции через
точку, поскольку ключи являются свойствами структуры:
Для соответствия такое обращение через точку невозможно, так как
ключи соответствия могут быть самого разнообразного типа.
С помощью метода Свойство можно получить значение заданного
ключа или убедиться, что его в структуре нет, например:
У соответствия нет метода Свойство и обращение производится с
помощью оператора [...] или метода Получить:
Параметры = Новый Структура("ДатаНач,ДатаКон");
Параметры.ДатаНач = ВыбДата;
Параметры.ДатаКон = ДобавитьМесяц(ВыбДата,1);
Если ВыбТипОтчета = 0 Тогда
Параметры.Вставить("ТипОтчета",ВыбТипОтчета);
КонецЕсли;
глСформироватьОбороты(Параметры);
Для Каждого парам Из Параметры Цикл
ИмяПараметра = парам.Ключ;
Значение = парам.Значение;
КонецЦикла;
НачДата = парам.ДатаНач;
КонДата = парам.ДатаКон;
Найдено = парам.Свойство("ТипОтчета",ВыбТипОтчета);
Если Найдено Тогда
СформироватьПользовательскийОтчет(ВыбТипОтчета);
Иначе
СформироватьОтчетПоУмолчанию();
КонецЕсли;
ТоварАналог = соотвАналоги[Товар].Значение;