- Чтобы использовать шаблон электронной почты для автоматической генерации содержимого электронной почты, необходимо использовать действие " InstantiateTemplate ".
Действие принимает в качестве входного объектакоторый выглядит следующим образом:
var instantiateTemplateRequest = {
TemplateId: templateId,
ObjectType: objectType,
ObjectId: objectId,
getMetadata: function () {
return {
boundParameter: null,
parameterTypes: {
"TemplateId": {
"typeName": "Edm.String",
"structuralProperty": 1
},
"ObjectType": {
"typeName": "Edm.String",
"structuralProperty": 1
},
"ObjectId": {
"typeName": "Edm.String",
"structuralProperty": 1
}
},
operationType: 0,
operationName: "InstantiateTemplate"
};
}
};
Который затем может быть передан:
Xrm.WebApi.online.execute (instantiateTemplateRequest)
Theвозвращаемый объект имеет 2 свойства: тему и описание.
Чтобы создать сообщение электронной почты из шаблона:
Вам необходимо создать запись электронной почты, используя метод CreateRecord Он принимает в качестве входных данных объект следующего типа:
var activityParties = [];
activityParties.push({
participationtypemask : participationTypeMasks.From,
"partyid_queue@odata.bind" : "/queues("+ queueId+ ")"
});
//setup 2 send-to addresses
activityParties.push({
participationtypemask : participationTypeMasks.To,
"partyid_account@odata.bind" : "/accounts(" + accountIdTo1 + ")"
});
activityParties.push({
participationtypemask : participationTypeMasks.To,
"partyid_account@odata.bind" : "/accounts(" + accountIdTo2 + ")"
});
//examples of using contacts
// activityParties.push({
// participationtypemask : participationTypeMasks.To,
// "partyid_contact@odata.bind" : "/contacts(00000000-0000-0000-0000-000000000000)"
// });
//examples of using the current user as the from address
// var currentUserId = Xrm.Page.context.getUserId().replace("}", "").replace("{", "");
// activityParties.push({
// participationtypemask : participationTypeMasks.From,
// "partyid_systemuser@odata.bind" : "/systemusers("+currentUserId+")"
// });
var email = {
subject: emailTemplate.subject,
description: emailTemplate.description,
email_activity_parties: activityParties,
"regardingobjectid_incident@odata.bind" : "/incidents(" + incidentId + ")"
};
Возвращение - это просто идентификатор объекта созданной записи.
У меня есть полный образец кода, доступный по адресу: https://github.com/rajrao/CRM-Tools/tree/master/JavaScript/CreateEmail