Имя: Пароль:
1C
1С v8
Вложения писем отдельно
0 Лялечка
 
06.12.11
16:51
Добрый день! Подскажите, пожалуйста, ситуация такая:
в базе используется встроенный почтовый клиент. Как сделать, чтобы при получении писем с вложениями, вложения хранить не в базе, а в отдельном каталоге на сервере. Реально вообще это?
Заранее благодарна.
1 Dmitry77
 
06.12.11
16:57
пишешь обработку которая будет сохранять файлы в папку вешаешь ее на правило или в регламентные задания.
А вообще нужна фотка
2 Лялечка
 
06.12.11
17:01
(1) за совет спасибо, а как из ХранилищаЗначения получить файл?
3 Лялечка
 
06.12.11
17:02
(1) без фото видимо все же никак...
4 Nutsiiam
 
06.12.11
17:17
Обработка "ПолучениеПочты",
Процедура ОсновныеДействияФормыВыполнить()

// Теперь сохраним вложения
Для каждого Вложение Из Строки.Письмо.Вложения Цикл

...
Спр = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
Спр.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Файл;
Спр.ИмяФайла = ИмяФайла;
Спр.Объект = Док.Ссылка;
Спр.Хранилище = Новый ХранилищеЗначения(Данные, Новый СжатиеДанных);
...

//либо сюда пишешь сохранение вложения (если можно изменения вносить в конфу

КонецЦикла;

Если изменения вносить нельзя - то в отдельном сеансе в обработку по таймеру дергай внешнюю, которая будет выгружать атачи из Справочники.ХранилищеДополнительнойИнформации к тебе в твое место.

Вышеописанное, па примере УТ 10.3.
5 acsent
 
06.12.11
17:18
использовать ут 11
6 Лялечка
 
06.12.11
17:29
(4) спасибо, это я понимаю...не понимаю как из хранилища файл получить... вложение это ИнтернетПочтовоеВложение, как его в файл превратить?..
7 Dmitry77
 
06.12.11
17:32
вот кусок кода работающий в ЗиУП
Запрос = новый запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |    ВложенияЭлектронныхПисем.Объект.Ссылка КАК Письмо,
                  |    ВложенияЭлектронныхПисем.Хранилище,
                  |    ВложенияЭлектронныхПисем.ТекстФайла,
                  |    ВложенияЭлектронныхПисем.ИмяФайла
                  |ИЗ
                  |    Справочник.ВложенияЭлектронныхПисем КАК ВложенияЭлектронныхПисем
                  |ГДЕ
                  |    ВложенияЭлектронныхПисем.Объект.ПометкаУдаления = ЛОЖЬ
                  |    И ВложенияЭлектронныхПисем.Объект.ГруппаУчетнойЗаписи = &Группа";
   ГруппаПисем=справочники.ГруппыПисемЭлектроннойПочты.НайтиПоНаименованию("ОбменСсайтом");              
   ГруппаПисемОбработанные=справочники.ГруппыПисемЭлектроннойПочты.НайтиПоНаименованию("ОбработанныйОбменССайтом");              
   Запрос.УстановитьПараметр("Группа",ГруппаПисем);

Реззапр = запрос.Выполнить().Выбрать();
   Если реззапр.Следующий() тогда
       Попытка
           Дан = РезЗапр.Хранилище.Получить();
           Дан.Записать("C:/windows/temp/" + РезЗапр.ИмяФайла);
       Исключение
       
       КонецПопытки;
конецесли;

фотка зачетная
8 Лялечка
 
06.12.11
17:35
(7) спасибо...(далее смайлик смущенный:)
9 Nutsiiam
 
06.12.11
17:35
Ок.

Общий модуль: УправлениеЭлектроннойПочтой.

Процедура ЗаписатьВложениеЭлектронногоПисьма()

ВложениеПисьмаСсылка = ЗаписатьВложениеЭлектронногоПисьмаИзВременногоХранилища(Объект, Адрес, Вложение.ИмяФайла, Размер);

УдалитьИзВременногоХранилища(Адрес);

//тут можно подхватить файло. Или прямо в ЗаписатьВложениеЭлектронногоПисьмаИзВременногоХранилища.

КонецПроцедуры()

(6) см.процедуру СохранитьФайлНаДиске УТ 10.3 в 11 ищите сами =)
10 Лялечка
 
06.12.11
17:39
(9) спасибо, ща гляну...где-то у себя видела такую процедуру...
11 Лялечка
 
07.12.11
14:34
Добрый день! В продолжение вчерашней темы...
Подскажите, пожалуйста... При загрузке файла в базу 1с он сжимается, так вот вопрос, сильно 1с их ужимает?
12 Лялечка
 
07.12.11
14:42
Люди...ну что, никто не знает?:(
13 Лялечка
 
07.12.11
15:25
:(
14 Nutsiiam
 
07.12.11
15:55
см.(4) слово "СжатиеДанных"

Конфигуратор - Ctrl+F1 - СжатиеДанных - читаем, думаем :)
15 Лялечка
 
07.12.11
16:32
(14) читала...думала и не понимаю=(
загрузила в базу файлов на 1Гб, а размер увеличился на 50 Мб (смотрю по размеру файла базы данных в скл)...как так? я думала, что размер увеличится значительно...