Показать сообщение отдельно
Старый 14.09.2009, 09:43   #22  
datfi is offline
datfi
Участник
 
240 / 15 (1) ++
Регистрация: 20.08.2009
Адрес: Россия, Сыктывкар
!
Господа убил все выходные не смог разобраться что не так с этим кодом.
Вроде все поменял как надо на salesorder и на salesorderdetail. Письмо открывается а описание не вставляется.

Вот код в ISV

Код:
var url = '/' + ORG_UNIQUE_NAME + '/activities/email/edit.aspx?pId=' + crmForm.ObjectId + '&pType='+crmForm.ObjectTypeCode+ '&pName=' + crmForm.all.name.DataValue + '&FillWithSalesOrderDetails=1'; window.open(url);
Вот кот на e-mail
Код:
function InsertDescription()
{
	var descrFrame = document.getElementById('descriptionIFrame');

	if(descrFrame.readyState != 'Complete')
		return;

	var salesorderid = '';
	if (crmForm.all.regardingobjectid.DataValue != null && crmForm.all.regardingobjectid.DataValue[0] != null)
		salesorderid = crmForm.all.regardingobjectid.DataValue[0].id;
	else
		return;


	var textbody = "sрошу выставить счет по данным продуктам:";

	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'>"+ 
	GenerateAuthenticationHeader()+
	"<soap:Body>"+ 
	"<Fetch xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>"+ 
	"<fetchXml>&lt;fetch mapping='logical'&gt;"+
	"&lt;entity name='SalesOrderDetail'&gt;"+
	"&lt;attribute name='productdescription'/&gt;"+
	"&lt;attribute name='quantity'/&gt;"+
	"&lt;attribute name='productid'/&gt;"+
	"&lt;attribute name='uomid'/&gt;"+
	"&lt;filter type='and'&gt;"+
	"&lt;condition attribute='SalesOrderid' operator='eq' value='" + salesorderid + "'/&gt;"+
	"&lt;/filter&gt;"+
	"&lt;/entity&gt;"+
	"&lt;/fetch&gt;</fetchXml>"+ 
	"</Fetch>"+ 
	"</soap:Body>"+ 
	"</soap:Envelope>";
	
	var xHReq = new ActiveXObject("Msxml2.XMLHTTP");
	xHReq.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
	xHReq.setRequestHeader("SOAPAction","http://schemas.microsoft.com/crm/2007/WebServices/Fetch");
	xHReq.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
	xHReq.setRequestHeader("Content-Length", xml.length);
	xHReq.send(xml);
	var resultXml = xHReq.responseXML;


	var resultSet = resultXml.text;
	resultSet.replace('&lt;','<');
	resultSet.replace('&gt;','>');

	var oXmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	oXmlDoc.async = false;
	oXmlDoc.loadXML(resultSet);
	var results = oXmlDoc.getElementsByTagName('result');

	//debugger;

	for (var i=0; i < results.length;i++)
	{
		textbody = textbody + "<br/>"+ 
		(results[i].selectSingleNode('./productid') == null ? "" : results[i].selectSingleNode('./productid').getAttribute('name')) + 
		" " + (results[i].selectSingleNode('./productdescription') == null ? "" : results[i].selectSingleNode('./productdescription').nodeTypedValue) 

+
		" в количестве " + (results[i].selectSingleNode('./quantity') == null ? "" : results[i].selectSingleNode('./quantity').nodeTypedValue) +
		" " + (results[i].selectSingleNode('./uomid') == null ? "" : results[i].selectSingleNode('./uomid').getAttribute('name'));
	}

	var descrWindow = document.frames['descriptionIFrame'];
	descrWindow.document.body.innerHTML = textbody;
}


if (crmForm.FormType == 1 && window.location.href.indexOf('FillWithSalesOrderDetails=1') != -1)
{
	var descrFrame = document.getElementById('descriptionIFrame');
	descrFrame.attachEvent('onreadystatechange',InsertDescription);
}
Гляньте своим зорким глазом. что может быть не так. Могут быть проблемы из-за того что у меня русская локализация?

Последний раз редактировалось datfi; 14.09.2009 в 09:55.