Версия для печати темы (https://pro1c.org.ua/index.php?s=3118395c074bff3d5ef652cb591e5941&showtopic=45757)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Как получить файл из вложения документа Эл.письма входящего

Автор: djmn_alexander 16.05.18, 13:18

Есть код:

Процедура ДобавитьДанные(Хранилище)
    Данные = Хранилище.Получить();
КонецПроцедуры

&НаСервере
Процедура ЗагрузитьНаСервере()
    // Вставить содержимое обработчика.
    УправлениеЭлектроннойПочтой.ПолучениеИОтправкаЭлектронныхПисем();
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ЭлектронноеПисьмоВходящее.Ссылка
                   |ИЗ
                   |    Документ.ЭлектронноеПисьмоВходящее КАК ЭлектронноеПисьмоВходящее
                   |ГДЕ
                   |    ЭлектронноеПисьмоВходящее.УчетнаяЗапись.Наименование = &УчетнаяЗапись
                   |    И ЭлектронноеПисьмоВходящее.Тема ПОДОБНО &Тема
                   |    И ЭлектронноеПисьмоВходящее.Дата МЕЖДУ &Дата1 И &Дата2";
    
    Запрос.УстановитьПараметр("Тема","%"+Объект.Тема+"%");
    Запрос.УстановитьПараметр("УчетнаяЗапись",Объект.ИмяУчетнойЗаписи);
    Запрос.УстановитьПараметр("Дата1",КонецДня(ТекущаяДата()) - 24*3600*10);
    Запрос.УстановитьПараметр("Дата2",КонецДня(ТекущаяДата()));
    
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
        ТаблицаВложения = УправлениеЭлектроннойПочтой.ПолучитьВложенияЭлектронногоПисьма(Выборка.Ссылка, Истина);
        Для Каждого Стр Из ТаблицаВложения Цикл
            Если Найти(Стр.ИмяФайла,Объект.ИмяФайла) > 0 Тогда
                ДобавитьДанные(Стр.Ссылка.ФайлХранилище);                
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
КонецПроцедуры


В процедуре ДобавитьДанные пробую Данные.Записать("..."), Данные - почему-то равно Неопределено, хотя размер у файла есть, и из формы его можно открыть. Если Хранилище.Записать - пишет нет метода (у Хранилища нет метода Записать)

Автор: logist 16.05.18, 16:20

Файл в базе хранится, может в папке на диске?

Автор: djmn_alexander 16.05.18, 18:13

logist @ Сегодня, 17:20 * ,
пишется что в конфигурации, путькфайлу пустой

Автор: logist 16.05.18, 18:53

Есть вариант что файл хранится в РС ПрисоединенныеФайлы, а не в справочнике.

Автор: djmn_alexander 17.05.18, 13:18

logist @ Вчера, 19:53 * ,
Да действительно там и хранится спасибо

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua