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