11.10.2007, 10:29 | #1 |
Участник
|
Поле - Email контакта.
Добрый день!
У меня на форме есть lookup - КОНТАКТЫ, рядом поле где должно отображаться email этого контакта. Не подскажите в каком направлении подумать, чтобы при изменении контакта в поле отображался его email. Спасибо. |
|
11.10.2007, 13:45 | #2 |
Участник
|
У меня тоже был подобный вопрос Как получить значение поля одной сущности при обработке формы другой сущности, решения пока не нашлось, может Вам кто ответит
|
|
11.10.2007, 14:12 | #3 |
Участник
|
Я попробовал зделать так, по логике должно работать, но почему то не работает... (вернее работает только для поля fullname)
var sEntityName="contact"; var sAttributeName="emailaddress1"; if (sGUID1 != null) { sXml = ""; sXml += "<?xml version=\"1.0\" encoding=\"utf-8\" ?>"; sXml += "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""; sXml += " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""; sXml += " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">"; sXml += "<soap:Body>"; sXml += "<entityName xmlns=\"http://schemas.microsoft.com/crm/2006/WebServices\">" +sEntityName + "</entityName>"; sXml += "<id xmlns=\"http://schemas.microsoft.com/crm/2006/WebServices\">" +sGUID1+ "</id>"; sXml += "<columnSet xmlns=\"http://schemas.microsoft.com/crm/2006/WebServices\""; sXml += " xmlns:q=\"http://schemas.microsoft.com/crm/2006/Query\""; sXml += " xsi:type=\"q:ColumnSet\"><q:Attributes><q:Attribute>" +sAttributeName + "</q:Attribute></q:Attributes></columnSet>"; sXml += "</soap:Body>"; sXml += "</soap:Envelope>"; oXmlHttp.Open("POST", serverurl +"/MsCrmServices/2006/CrmService.asmx",false); oXmlHttp.setRequestHeader("SOAPAction","http://schemas.microsoft.com/crm/200...vices/Retrieve"); oXmlHttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); oXmlHttp.setRequestHeader("Content-Length", sXml.length); oXmlHttp.send(sXml); var result = oXmlHttp.responseXML.selectSingleNode("//" + sAttributeName); if (result == null) { sassocfullmemvalue= "Нет данных"; } else { sassocfullmemvalue= result.text; } crmForm.all.new_emailkon.DataValue= sassocfullmemvalue; } Последний раз редактировалось tatra; 11.10.2007 в 14:16. |
|
11.10.2007, 17:35 | #4 |
Участник
|
Я использую такой способ. На форме:
Код: var servername = window.location.protocol+"//"+window.location.hostname; var oXmlDoc = new ActiveXObject("Msxml2.DOMDocument"); oXmlDoc.async = false; param = "Значение параметра"; var sFunc = "GetData"; //имя вызываемой функции oXmlDoc.load(servername +"/getdata/WebForm1.aspx?param=" + param+"&func="+sFunc); Напр. public void GetData { Response.Clear(); Response.ContentType="text/xml"; *******извлечь данные с помощью crm сервисов**** Response.Write("<result>"); Response.Write(result); Response.Write("</result>"); } Потом это xml обработать в коде формы как надо и разложить по полям (oXmlDoc.SelectSingleNode и т.д.) Может быть не самое красивое решение, но оно работает! |
|
12.10.2007, 14:10 | #5 |
Участник
|
Неужели это единственный выход? Нужели для каждого пустячка сервис на сервере развертывать надо?
|
|
15.10.2007, 11:55 | #6 |
Moderator
|
|
|
|
|