Имя: Пароль:
1C
1С v8
Как определить дату создания(изменения) файла вложения при получении почты?
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). Может быть кто-то с этим сталкивался?