Чтение нескольких реквизитов объекта

БСП (стандартные подсистемы) / Данные в базе

//Вызывается на сервере. Реквизиты - строка с именами через запятую;
//результат - структура, ключи которой совпадают с этими именами
Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Ромашка");
Данные = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Контрагент,
    "ИНН, ЮридическоеФизическоеЛицо");
//ИНН = "7801234567"
Сообщить("ИНН = " + Данные.ИНН);
//Вид = "Юридическое лицо"
Сообщить("Вид = " + Данные.ЮридическоеФизическоеЛицо);

//Структура задаёт псевдонимы: ключ - имя в результате,
//значение - имя реквизита в базе
Поля = Новый Структура("Идентификатор", "ИНН");
Данные = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Контрагент, Поля);
//Идентификатор = "7801234567"
Сообщить("Идентификатор = " + Данные.Идентификатор);

//Пустая ссылка - структура с теми же ключами, все значения Неопределено
Данные = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
    Справочники.Контрагенты.ПустаяСсылка(), "ИНН, ЮридическоеФизическоеЛицо");
//НетИНН = Да
Сообщить("НетИНН = " + (Данные.ИНН = Неопределено));

//Без БСП - запрос и перенос полей строки результата в структуру
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
    |    Контрагенты.ИНН КАК ИНН,
    |    Контрагенты.ЮридическоеФизическоеЛицо КАК ЮридическоеФизическоеЛицо
    |ИЗ
    |    Справочник.Контрагенты КАК Контрагенты
    |ГДЕ
    |    Контрагенты.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Контрагент);
Данные = Новый Структура("ИНН, ЮридическоеФизическоеЛицо");
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
    ЗаполнитьЗначенияСвойств(Данные, Выборка);
КонецЕсли;
//ИНН = "7801234567"
Сообщить("ИНН = " + Данные.ИНН);