У меня проблема в том, что если я запускаю код, аналогичный приведенному ниже, в консольном приложении C #, у меня нет проблем.Документ сохраняется как примечание к заметкам внутри цитаты по желанию.
Проблема возникает, когда я пытаюсь запустить код (ниже) в плагине.При запуске я получаю следующую ошибку.«Запрос SetWordTemplate не может быть вызван из песочницы».
Я помещаю файл как вложение в электронное письмо, поэтому в идеале это будет все внутри плагина без вызова и запуска рабочего процесса отдельно.
Мой вопрос: нужно ли преобразовывать весь процесс в шаг рабочего процесса или это возможно изнутри плагина?Для контекста я однажды изменил код и выдал ошибку с указаниями как целевого объекта Quote, так и объекта documenttemplate.
if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
{
Entity quoteEntity = (Entity)context.InputParameters["Target"];
if (quoteEntity.LogicalName == "quote" &&
quoteEntity.GetAttributeValue<Boolean>("pinnacle_emailquote") == true)
{
/***********************************************Template Run Attach to Quote Note Section***********************************************/
var templateEntity = new Entity();
var templateQuery = new QueryExpression
{
EntityName = "documenttemplate",
ColumnSet = new ColumnSet(true)
};
templateQuery.Criteria.AddCondition("name", ConditionOperator.Equal, "New POP Quote Template");
DataCollection<Entity> templateResponse =
localContext.OrganizationService.RetrieveMultiple(templateQuery).Entities;
//go through each quote entity (should only be one) and pick out pricelevelid to get its name in string form
foreach (var entity in templateResponse)
{
templateEntity = entity;
}
OrganizationRequest req = new OrganizationRequest("SetWordTemplate");
req["Target"] = new EntityReference("email", quoteEntity.Id);
req["SelectedTemplate"] = new EntityReference("documenttemplate", templateEntity.Id);
try
{
localContext.OrganizationService.Execute(req);
}
catch (FaultException<OrganizationServiceFault> ex)
{
string message = "An error occurred while creating template document";
throw new InvalidPluginExecutionException(
message + " .... " + ex.Message + "..." + ex.InnerException);
}