Невозможно удалить любую сущность во время постоперации любого телефонного звонка или изменения состояния встречи, когда включен аудит сущности - PullRequest
1 голос
/ 17 ноября 2011

Представьте себе сценарий, в котором телефонный звонок или встреча помечаются как завершенные.

Я настроил плагин для запуска во время последующей операции обоих этих сценариев, в котором я пытаюсь удалить другойнесвязанная запись (с использованием метода удаления службы организации).Запись, которую я пытаюсь удалить, включила аудит.Ошибка удаления, и я получаю ошибку бизнес-процесса.Если аудит отключен, процесс успешен.У кого-нибудь есть понимание того, в чем может быть проблема?

1 Ответ

0 голосов
/ 13 сентября 2012

Это невозможно.Просто добавьте функцию к кнопке «Пометить как завершенную», чтобы удалить любую запись.

Или создайте пользовательскую кнопку с этой логикой.

Надеюсь, это поможет.

Вот код для удаления записи через JavaScript

// Identify the contact to delete.
var contactid = "89a7e456-8098-bb33-b345-0003gg9ff218";
var authenticationHeader = GenerateAuthenticationHeader();
// Prepare the SOAP message.
var xml = "<?xml version='1.0' encoding='utf-8'?>"+
"<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'"+
" xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'"+
" xmlns:xsd='http://www.w3.org/2001/XMLSchema'>"+
authenticationHeader+"<soap:Body>"+"<Deletexmlns='http://schemas.microsoft.com/crm/2007/WebServices'>"+
"<entityName>contact</entityName>"+
"<id>"+contactid+"</id>"+
"</Delete>"+"</soap:Body>"+"</soap:Envelope>";
// Prepare the xmlHttpObject and send the request,
var xHReq = new ActiveXObject("Msxml2.XMLHTTP");
xHReq.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
xHReq.setRequestHeader("SOAPAction","http://schemas.microsoft.com/crm/2007/WebServices/Delete");
xHReq.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xHReq.setRequestHeader("Content-Length", xml.length);
xHReq.send(xml);
// Capture the result,
var resultXml = xHReq.responseXML;
// Check for errors,
var errorCount = resultXml.selectNodes('//error').length;
if (errorCount != 0)
{
 var msg = resultXml.selectSingleNode('//description').nodeTypedValue;
 alert(msg);
}
...