Справочные материалы по 1С
Работа с соответствиями в 1С 8.x
Как создать соответствие?
СозданноеСоответствие = Новый Соответствие();
Как добавить элементы в соответствие?
ВозрастСотрудников.Вставить(Сотрудник, ВозрастСотрудника);
ВозрастСотрудников [Сотрудник] = ВозрастСотрудника;
Как обратиться к элементу соответствия?
ВозрастСотрудника = ВозрастСотрудников.Получить(Сотрудник);
ВозрастСотрудника = ВозрастСотрудников [Сотрудник];
Как перебрать элементы соответствия?
Для Каждого Элемент из Замены Цикл
Сообщить(Элемент.Ключ + " - " + Элемент.Значение);
КонецЦикла;
Как удалить элемент соответствия?
Замены.Удалить(УдаляемыйТовар);
Замены. Очистить();
Как получить данные из соответствия?
Значение = КурсыВалютДокумента.Получить(УправленческаяВалюта);
Если Значение = Неопределено Тогда
Сообщить("Данная валюта в соответствии отсутствует");
Иначе
Курс = Значение["Курс"];
Кратность = Значение["Кратность"];
КонецЕсли;
Как получить многоуровневое соответствие видов расчетов, обладающих базовыми видами расчетов?
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ОсновныеНачисленияОрганизацииБазовыеВидыРасчета.Ссылка КАК Ссылка,
| ОсновныеНачисленияОрганизацииБазовыеВидыРасчета.ВидРасчета,
| ОсновныеНачисленияОрганизацииБазовыеВидыРасчета.ВидРасчета.Наименование,
| ОсновныеНачисленияОрганизацииБазовыеВидыРасчета.Предопределенный
|ИЗ
| ПланВидовРасчета.ОсновныеНачисленияОрганизации.БазовыеВидыРасчета КАК
ОсновныеНачисленияОрганизацииБазовыеВидыРасчета
|ИТОГИ ПО
| Ссылка";
Результат = Запрос.Выполнить();
ВыборкаВидовРасчета = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ВидыРасчета = Новый Соответствие;
БазовыеВидаРасчета = Новый Соответствие;
СвойстваВидаРасчета = Новый Структура("Наименование, Предопределенный");
// Цикл по видам расчета, обладающим базовыми.
Пока ВыборкаВидовРасчета.Следующий() Цикл
БазовыеВидаРасчета.Очистить();
ВыборкаБазовых = ВыборкаВидовРасчета.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
// Цикл по базовым видам расчета.
Пока ВыборкаБазовых.Следующий() Цикл
// Заполненить значения структуры "СвойстваВидаРасчета".
СвойстваВидаРасчета.Наименование = ВыборкаБазовых.Наименование;
СвойстваВидаРасчета.Предопределенный = ВыборкаБазовых.Предопределенный;
// Заполненить соответствие "БазовыеВидАРасчета".
БазовыеВидаРасчета.Вставить(ВыборкаБазовых.ВидРасчета, СвойстваВидаРасчета);
КонецЦикла;
// Заполнить соответствие "ВидыРасчета".
ВидыРасчета.Вставить(ВыборкаВидовРасчета.Ссылка, БазовыеВидаРасчета);
КонецЦикла;