Здравствуйте,
можно ли программно присоединить к создаваемому по шаблону е-мэйлу файл, как вложение.
Е-мэйл создается с помощью стандартной ф-ии:
function SendEmailByAddress(MailUtils, TemplateFileName, Address, Subject) {
// by default 'false' means immediate message sending
// 'true' means putting message to 'Outbox' Outlook folders
var SendResult = MailUtils.SendMessage(TemplateFileName, Address,
Subject, false);
if (!SendResult) {
SendResult = false;
}
return SendResult;
}
Или может быть есть другие решения задачи?
Версия Terrasoft CRM 3.0.2.245 под Firebird.
Нравится
Здравствуйте Юрий,
Попробуйте воспользоватся советама в теме http://www.community.terrasoft.com.ua/forum/topic/6788
Действительно в случае с MailUtils.SendMessage(.......) получилось прикрепить вложение, добавив параметр Attachments.
Еще вопрос можно ли аналогичное действие реализовать при создании е-мэйла через MailUtils.CreateMessage(TemplateFileName, MailAddress, MailSubject).
Просто подстановка еще одного параметра Attachments не проходит, выдается ошибка (насчет, количество параметров не соответствует).
Используйте из scr_MailUtils
function CreateEmptyMessageWithAttachments(MailAddress, MailSubject, BodyFormat, CodePage, Importance, Attachments)
Евгений,
к сожалению в этой версии (3.0.2.245) в scr_MailUtils функции CreateEmptyMessageWithAttachments нет.
Есть только:
function CreateEmptyMessage(MailAddress, MailSubject) { var MailUtils = GetMailUtils(); MailUtils.CreateEmptyMessage(MailAddress, MailSubject); } function CreateMessageFromTemplate(TemplateFileName, MailAddress, MailSubject) { var MailUtils = GetMailUtils(); MailUtils.CreateMessage(TemplateFileName, MailAddress, MailSubject); }
Выложите именно текст скрипта а не сам сервис (чуть внимательнее ;))
Добавьте в скрипт этот код
function CreateEmptyMessageWithAttachments(MailAddress, MailSubject, BodyFormat, CodePage, Importance, Attachments) { if (!GetCanCreateMessage(true)) { return; } var MailUtils = GetMailUtilsWithoutMacroses(); if (IsEmptyValue(MailAddress)) { MailAddress = ''; } if (IsEmptyValue(MailSubject)) { MailSubject = ''; } if (IsEmptyValue(BodyFormat)) { BodyFormat = 1; } if (IsEmptyValue(CodePage)) { CodePage = ''; } if (IsEmptyValue(Importance)) { Importance = 1; } MailUtils.CreateEmptyMessage(MailAddress, MailSubject, BodyFormat, CodePage, Importance, Attachments); }
А потом попробуйте его вызвать.
50/50 что заработает т.к. непонятна версия вашей библиотеки TSOutlookLibrary
На вызов:
MailUtils.CreateEmptyMessage(MailAddress, MailSubject, BodyFormat, CodePage, Importance, Attachments);
появляется ошибка:
Недопустимое число аргументов или присвоение значения свойства.
Да, видимо так.
Похоже это добавили начиная с версий 3.0.4.
Здравствуйте, Юрий!
Да, к сожалению функциональные возможности 3.0.2 довольно ограничены в сравнении с более поздними версиями.
Инна Безверхняя,
II линия службы поддержки Terrasoft