Публикация
Как добавлять описание в уведомление по задаче как файл приложения
10 февраля 2012 17:23
В конфигурации отправка описана в скрипте scr_TaskUtils в функции function SendTaskEmailToContact(TaskDataset, AddressList)
Таким образом, Вам необходимо доработать функцию следующим образом:
function SendTaskEmailToContact(TaskDataset, AddressList) {
if (GetDatasetFieldValue(TaskDataset, 'CycleTaskParamID')) {
var TemplateID = GetSystemParameterValueEx('CycleTaskEmailByContactTemplateID');
} else {
var TemplateID = GetSystemParameterValueEx('TaskEmailByContactTemplateID');
}
if (IsEmptyGUID(TemplateID)) {
ShowErrorDialog(FormatStr(SystemParameterIsEmptyError,
'TaskEmailByContactTemplateID'));
return;
}
var ID = TaskDataset.Values('ID');
var FileName = System.CreateObject('TSObjectLibrary.Value'); //создаем объект файл
FileName.Value = 'C:\\Test.rtf' //определяем путь хранения временного файла
TaskDataset.DataFields('Description').SaveToFile(FileName.Value); //сохраняем описание в файл
var Attachments = new Array(FileName.Value); //определяем, что данный файл будет аттачем
var Service = Services.GetSingleItemByUSI('scr_MailUtils');
Service.ScriptControl.CodeObject.SendEmailByTemplate(TemplateID,
{RecordID: ID, Address: AddressList, AutoSend: true,
SkipQueryAddresses: true, Attachments: Attachments}); //в этой строке добавлены аттачи
}
if (GetDatasetFieldValue(TaskDataset, 'CycleTaskParamID')) {
var TemplateID = GetSystemParameterValueEx('CycleTaskEmailByContactTemplateID');
} else {
var TemplateID = GetSystemParameterValueEx('TaskEmailByContactTemplateID');
}
if (IsEmptyGUID(TemplateID)) {
ShowErrorDialog(FormatStr(SystemParameterIsEmptyError,
'TaskEmailByContactTemplateID'));
return;
}
var ID = TaskDataset.Values('ID');
var FileName = System.CreateObject('TSObjectLibrary.Value'); //создаем объект файл
FileName.Value = 'C:\\Test.rtf' //определяем путь хранения временного файла
TaskDataset.DataFields('Description').SaveToFile(FileName.Value); //сохраняем описание в файл
var Attachments = new Array(FileName.Value); //определяем, что данный файл будет аттачем
var Service = Services.GetSingleItemByUSI('scr_MailUtils');
Service.ScriptControl.CodeObject.SendEmailByTemplate(TemplateID,
{RecordID: ID, Address: AddressList, AutoSend: true,
SkipQueryAddresses: true, Attachments: Attachments}); //в этой строке добавлены аттачи
}
Обратите внимание, по умолчанию в датасете задачи нет поля Description, хотя описание хранится в таблице задач. Для корректной работы скрипта его необходимо добавить в запрос и датасет:
1. Откройте sq_Task и добавьте новую колонку Description:
Сохраните и закройте запрос.
2. Откройте датасет ds_Task и добавьте в него колонку типа большой бинарный объект:
Сохраните и закройте датасет.
3. Откройте scr_TaskUtils и внесите изменения в функцию отправки письма. Перезапустите клиент. Результат будет выглядеть следующим образом:
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать