Наименование адреса электронной почты контакта. Получает наименование и адреса электронной почты контакта.
// Получает наименование и адреса электронной почты контакта.
//
// Параметры:
// Контакт - Ссылка - контакт, для которого получаются данные.
//
// Возвращаемое значение:
// Структура - содержит наименование контакта и список значений электронной почты контакта.
//
Функция НаименованиеИАдресаЭлектроннойПочтыКонтакта(Контакт) Экспорт
Если Не ЗначениеЗаполнено(Контакт)
Или ТипЗнч(Контакт) = Тип("СправочникСсылка.СтроковыеКонтактыВзаимодействий") Тогда
Возврат Неопределено;
КонецЕсли;
МетаданныеКонтакта = Контакт.Метаданные();
Если МетаданныеКонтакта.Иерархический Тогда
Если Контакт.ЭтоГруппа Тогда
Возврат Неопределено;
КонецЕсли;
КонецЕсли;
МассивОписанияТиповКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
ЭлементМассиваОписания = Неопределено;
Для Каждого ЭлементМассива Из МассивОписанияТиповКонтактов Цикл
Если ЭлементМассива.Имя = МетаданныеКонтакта.Имя Тогда
ЭлементМассиваОписания = ЭлементМассива;
Прервать;
КонецЕсли;
КонецЦикла;
Если ЭлементМассиваОписания = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
ИмяТаблицы = МетаданныеКонтакта.ПолноеИмя();
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| ЕСТЬNULL(ТаблицаКонтактнаяИнформация.АдресЭП,"""") КАК АдресЭП,
| СправочникКонтакт." + ЭлементМассиваОписания.ИмяРеквизитаПредставлениеКонтакта + " КАК Наименование
|ИЗ
| " + ИмяТаблицы + " КАК СправочникКонтакт
| ЛЕВОЕ СОЕДИНЕНИЕ " + ИмяТаблицы + ".КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = СправочникКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
|ГДЕ
| СправочникКонтакт.Ссылка = &Контакт
|ИТОГИ ПО
| Наименование";
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Контакт", Контакт);
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Если Не Выборка.Следующий() Тогда
Возврат Неопределено;
КонецЕсли;
Адреса = Новый Структура("Наименование,Адреса", Выборка.Наименование, Новый СписокЗначений);
ВыборкаАдреса = Выборка.Выбрать();
Пока ВыборкаАдреса.Следующий() Цикл
Адреса.Адреса.Добавить(ВыборкаАдреса.АдресЭП);
КонецЦикла;
Возврат Адреса;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ВсеКонтактыПоНачалуНаименованияСАдресамиЭлектроннойПочты (БСП)
ПолучитьАдресаЭлектроннойПочтыКонтакта (БСП)
ПолучитьАдресаЭлектроннойПочтыДляМассиваКонтактов (БСП)
ОбновитьАдресЭлектроннойПочты (БСП)
ОпределитьАдресЭлектроннойПочтыПользователя (БСП)
АдресаЭлектроннойПочтыИзСтроки (БСП)
СоздатьЗапросНаСменуПочты (БСП)