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