#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область ДляВызоваИзДругихПодсистем
Функция РеквизитыРедактируемыеВГрупповойОбработке() Экспорт
Результат = Новый Массив;
Результат.Добавить("Важность");
Результат.Добавить("Ответственный");
Результат.Добавить("ВзаимодействиеОснование");
Результат.Добавить("Комментарий");
Результат.Добавить("ОтправительКонтакт");
Результат.Добавить("ОтправительПредставление");
Результат.Добавить("ПолучателиПисьма.Представление");
Результат.Добавить("ПолучателиПисьма.Контакт");
Результат.Добавить("ПолучателиКопий.Представление");
Результат.Добавить("ПолучателиКопий.Контакт");
Результат.Добавить("ПолучателиОтвета.Представление");
Результат.Добавить("ПолучателиОтвета.Контакт");
Результат.Добавить("АдресаУведомленияОПрочтении.Представление");
Результат.Добавить("АдресаУведомленияОПрочтении.Контакт");
Возврат Результат;
КонецФункции
Функция ПолучитьКонтакты(Ссылка) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| ЭлектронноеПисьмоВходящее.УчетнаяЗапись.АдресЭлектроннойПочты КАК УчетнаяЗаписьАдресЭлектроннойПочты
|ПОМЕСТИТЬ НашАдрес
|ИЗ
| Документ.ЭлектронноеПисьмоВходящее КАК ЭлектронноеПисьмоВходящее
|ГДЕ
| ЭлектронноеПисьмоВходящее.Ссылка = &Ссылка
|;
|
|
|ВЫБРАТЬ
| ЭлектронноеПисьмоВходящее.ОтправительАдрес КАК Адрес,
| ПОДСТРОКА(ЭлектронноеПисьмоВходящее.ОтправительПредставление, 1, 1000) КАК Представление,
| ЭлектронноеПисьмоВходящее.ОтправительКонтакт КАК Контакт
|ПОМЕСТИТЬ ВсеКонтакты
|ИЗ
| Документ.ЭлектронноеПисьмоВходящее КАК ЭлектронноеПисьмоВходящее
|ГДЕ
| ЭлектронноеПисьмоВходящее.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| ЭлектронноеПисьмоВходящееПолучателиПисьма.Адрес,
| ЭлектронноеПисьмоВходящееПолучателиПисьма.Представление,
| ЭлектронноеПисьмоВходящееПолучателиПисьма.Контакт
|ИЗ
| Документ.ЭлектронноеПисьмоВходящее.ПолучателиПисьма КАК ЭлектронноеПисьмоВходящееПолучателиПисьма
|ГДЕ
| ЭлектронноеПисьмоВходящееПолучателиПисьма.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| ЭлектронноеПисьмоВходящееПолучателиКопий.Адрес,
| ЭлектронноеПисьмоВходящееПолучателиКопий.Представление,
| ЭлектронноеПисьмоВходящееПолучателиКопий.Контакт
|ИЗ
| Документ.ЭлектронноеПисьмоВходящее.ПолучателиКопий КАК ЭлектронноеПисьмоВходящееПолучателиКопий
|ГДЕ
| ЭлектронноеПисьмоВходящееПолучателиКопий.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| ЭлектронноеПисьмоВходящееПолучателиОтвета.Адрес,
| ЭлектронноеПисьмоВходящееПолучателиОтвета.Представление,
| ЭлектронноеПисьмоВходящееПолучателиОтвета.Контакт
|ИЗ
| Документ.ЭлектронноеПисьмоВходящее.ПолучателиОтвета КАК ЭлектронноеПисьмоВходящееПолучателиОтвета
|ГДЕ
| ЭлектронноеПисьмоВходящееПолучателиОтвета.Ссылка = &Ссылка
|;
|
|
|ВЫБРАТЬ
| ВсеКонтакты.Адрес КАК Адрес,
| МАКСИМУМ(ВсеКонтакты.Представление) КАК Представление,
| МАКСИМУМ(ВсеКонтакты.Контакт) КАК Контакт
|ИЗ
| ВсеКонтакты КАК ВсеКонтакты
| ЛЕВОЕ СОЕДИНЕНИЕ НашАдрес КАК НашАдрес
| ПО ВсеКонтакты.Адрес = НашАдрес.УчетнаяЗаписьАдресЭлектроннойПочты
|ГДЕ
| НашАдрес.УчетнаяЗаписьАдресЭлектроннойПочты ЕСТЬ NULL
|
|СГРУППИРОВАТЬ ПО
| ВсеКонтакты.Адрес";
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Ссылка", Ссылка);
ТаблицаКонтактов = Запрос.Выполнить().Выгрузить();
Возврат Взаимодействия.ПреобразоватьТаблицуКонтактовВМассив(ТаблицаКонтактов);
КонецФункции
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Ответственный, Отключено КАК Ложь)
| ИЛИ ВЫБОР КОГДА УчетнаяЗапись.ВладелецУчетнойЗаписи = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка) ТОГДА
| ЗначениеРазрешено(УчетнаяЗапись, Отключено КАК Ложь)
| ИНАЧЕ
| ЭтоАвторизованныйПользователь(УчетнаяЗапись.ВладелецУчетнойЗаписи)
| КОНЕЦ";
КонецПроцедуры
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.Встреча.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ЗапланированноеВзаимодействие.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.СообщениеSMS.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ТелефонныйЗвонок.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Команда = СозданиеНаОсновании.ДобавитьКомандуСозданияНаОсновании(КомандыСозданияНаОсновании, Метаданные.Документы.ЭлектронноеПисьмоВходящее);
Если Команда <> Неопределено Тогда
Команда.Важность = "СмТакже";
КонецЕсли;
Возврат Команда;
КонецФункции
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
ВзаимодействияСобытия.ОбработкаПолученияДанныхВыбора(Метаданные.Документы.ЭлектронноеПисьмоВходящее.Имя,
ДанныеВыбора, Параметры, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#КонецЕсли