13.02.2011, 09:41 | #1 |
newborn in DAX
|
SysEmailBatch посылает прикреплённый файл без расширения
Пытаюсь послать почту с одним прикреплённым файлом. Письмо приходит со вложенным файлом. Но у файла нет раширения, т.е. получатель не будет знать какой программой открывать. Прошлась дебугером по SysEmailBatch .run там такой кусок кода
if (attachmentfileName) { [filePath, filename, fileExtension] = Global::fileNameSplit(attachmentfileName); if (attachmentDataListEnumerator && attachmentDataListEnumerator.moveNext()) { attachmentData = attachmentDataListEnumerator.current(); if (attachmentData) { fileIOPermission = new FileIOPermission(tmpPath + fileName,'w'); fileIOPermission.assert(); binData = new BinData(); binData.setData(attachmentData); //BP Deviation Documented binData.saveFile(tmpPath + fileName); CodeAccessPermission::revertAssert(); mailer.attachments().add(tmpPath + fileName); } } else ... т.е. как-то раширение "потерялось". Кто-то сталкивался с подобной ситуацией? "Чинить" оригинальные классы как-то страшновато (очень начинающая я в Axapte) Всегда есть не элегантное решение - типа str filename = attachedFileName + ".jpg" и его прикреплять, чтобы довесок "потерялся". Есть идеи? Может есть заплатка, которую надо установить, а у нас её нет? |
|
13.02.2011, 10:44 | #2 |
Модератор
|
Цитата:
Всегда есть не элегантное решение
X++: public void addAttachmentfileName(FilenameOpen _attachmentfileName , container _attachmentData) // Vadim - no extension { ; if (!attachmentFileNameList) { attachmentFileNameList = new List(Types::String); } if (attachmentFileNameList) { attachmentFileNameList.addEnd(_attachmentfileName); } // Vadim - no extension --> if (!attachmentDataList) { attachmentDataList = new List(Types::Container); } attachmentDataList.addEnd(_attachmentData); // Vadim - no extension <-- } P.S, Вообще логика немного отличается для .run() и .sendToBatch(), этот вариант проверен для .run()
__________________
-ТСЯ или -ТЬСЯ ? |
|
13.02.2011, 11:06 | #3 |
newborn in DAX
|
не элегантность в том что к корректному fileName добавить неважно какое расширение, хоть ".notUse". Он то и потеряется при запуске run и останется нормальное правильное корректное fileName
мне PDF не подходит. Я посылаю фото с мордой лица сотрудника, которую потом напечатают на магнитной карточке. в моём методе есть SysEmailBatch.addAttachmentfileName(fileName). И он в порядке, имено в run и проблема предлагаете чинить addAttachmentfileName' а не run? а как быть если другие программисты тоже пользуются этим классом?? |
|