![]() |
![]() |
|
Как определить дату создания(изменения) файла вложения при получении почты? | ☑ | ||
---|---|---|---|---|
0
rikodroo
08.05.13
✎
10:58
|
Привет!
Есть обработка, которая подключается к почтовому ящику (объект ИнтернетПочта()), затем в письмах перебираются вложения: Для Каждого Вложение Из Письмо.Вложения Цикл КонецЦикла; Так вот, если внутри цикла написать так: Вложение.Данные.Записать("C:\MAIL\"+ Вложение.ИмяФайла); тогда, файл будет записан текущим временем. Я бы хотел, если и записать файл текущем временем, то хотябы как-то получать значение его атрибута "Дата создания(или изменения)" (т.е. то время, которым файл был создан или изменен еще до отправки нам) и изпользовать его в имени сохраняемого файла. Подскажите, может кто-нибудь также с этим сталкивался? |
|||
1
cw014
08.05.13
✎
10:59
|
Никак
|
|||
2
rikodroo
08.05.13
✎
11:02
|
(1) почему? Аутлук это делает прекрасно. Из него, сохраняшь файл на диск - там именно нужная дата.
|
|||
3
cw014
08.05.13
✎
11:04
|
(2) Тогда удаляй свой код вместе с ИнтернетПочта() и пользуйся аутлуком
|
|||
4
rikodroo
08.05.13
✎
11:06
|
(3) ну этот вариант я и так знаю. Он не подходит.
|
|||
5
cw014
08.05.13
✎
11:06
|
(4) А другой вариант смотри в (1)
|
|||
6
ptiz
08.05.13
✎
11:07
|
(2) У меня outlook сохраняет файл с текущей датой.
|
|||
7
rikodroo
08.05.13
✎
11:10
|
(6) у меня 2010 сохраняет датой файла
|
|||
8
cw014
08.05.13
✎
11:27
|
(6) (7) Ну и отлично, разобрались, тему можно закрывать
|
|||
9
rikodroo
08.05.13
✎
11:40
|
Вот так сделал, может кому пригодится.
Вложение.Данные.Записать(ПутьДляПисем + Вложение.ИмяФайла); FSO = Новый COMОбъект("Scripting.FileSystemObject"); File = FSO.GetFile(ПутьДляПисем + Вложение.ИмяФайла); |
|||
10
cw014
08.05.13
✎
11:42
|
(9) Молодец, и?
|
|||
11
rikodroo
08.05.13
✎
12:10
|
(10) что и? Дальше из свойств объекта File можно получить требуемые данные (которые не изменяются с момента начала обработки почты).
|
|||
12
ptiz
08.05.13
✎
12:24
|
И в чем отличие
Вложение.Данные.Записать(.. из (9) от Вложение.Данные.Записать(.. из (0) ? |
|||
13
rikodroo
08.05.13
✎
12:29
|
Блин, да не тот файл тестовый отправлял ((( Не катит такой способ.
|
|||
14
rikodroo
08.05.13
✎
13:40
|
Если использовать библиотеку DSOFil.dll, то можно так решить мой вопрос:
Вложение.Данные.Записать(ПутьКФайлу) DSOFile = Новый COMОбъект("DSOFile.OleDocumentProperties"); DSOFile.Open("ПутьКФайлу"); SummaryProperties = DSOFile.SummaryProperties; (12) Ничем. Однако мне для решения вопроса нужно было как-то получить значения атрибутов файлов. |
|||
15
1Сергей
08.05.13
✎
13:42
|
а почему средствами 1С не хотите читать/изменять дату и время файла?
|
|||
16
rikodroo
08.05.13
✎
13:47
|
(15) оно не показывает их. 1с-кий ПолучитьВремяИзменения() возвращает дату записи файла, которая устанавливается временем, когда выполняется Вложение.Данные.Записать(ПутьКФайлу);
|
|||
17
rikodroo
13.05.13
✎
12:43
|
Привет!
Обнаружил, что dsofile.dll не умеет вроде как определять дополнительные атрибуты у файлов 2010 офиса (в частности у файлов *.xlsx). Может быть кто-то с этим сталкивался? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |