|
05.04.2009, 19:37 | #1 |
Участник
|
Отображение поля "Название подразделения" в форме
Доброго времени суток!
Подскажите, пожалуйста, есть ли возможность вывести в форму настраиваемого объекта название бизнес-подразделения владельца записи? Желательно без программирования. Последний раз редактировалось O_Chiner; 05.04.2009 в 19:49. |
|
06.04.2009, 10:02 | #2 |
Учаснег
|
У меня у самого такая задача стоит, но пока за нее не брался. скорее всего без программирования не обойтись.
Можно попробовать конечно сопоставлениями полей при создании, но это тльк при создании будет работать (да и будет ли, тоже вопрос). а так мысль скриптом при изменении ответственного брать подразделение и записывать в поле "Подразделение".
__________________
http://about.me/fedorovigor |
|
06.04.2009, 13:50 | #3 |
Чайный пьяница
|
Цитата:
Цитата:
Сообщение от IgorF
У меня у самого такая задача стоит, но пока за нее не брался. скорее всего без программирования не обойтись.
Можно попробовать конечно сопоставлениями полей при создании, но это тльк при создании будет работать (да и будет ли, тоже вопрос). а так мысль скриптом при изменении ответственного брать подразделение и записывать в поле "Подразделение".
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
06.04.2009, 14:41 | #4 |
Учаснег
|
у мну есть ....кидайте народу сюда, полезно будет всем.
__________________
http://about.me/fedorovigor |
|
06.04.2009, 19:57 | #5 |
Участник
|
|
|
07.04.2009, 11:08 | #6 |
Чайный пьяница
|
Вот такой код:
Код: function GetBUId(userid) { if (userid == null) return null; var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); xmlhttp.open("POST", "/mscrmservices/2007/crmservice.asmx", false); xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); xmlhttp.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/Fetch"); 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> "+ "<fetch mapping='logical'> " + "<entity name='systemuser'> " + "<attribute name='businessunitid' /> " + "<filter type='and'> " + "<condition attribute='systemuserid' operator='eq' value='" + userid +"'/> " + "</filter> " + "</entity> " + "</fetch>"+ "</fetchXml>"+ "</Fetch>"+ "</soap:Body>"+ "</soap:Envelope>"; xmlhttp.setRequestHeader("Content-Length", xml.length); xmlhttp.send(xml); var resultSet = new String(xmlhttp.responseXml.text); resultSet.replace('<','<'); resultSet.replace('>','>'); var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; xmlDoc.loadXML(resultSet); var lookupitem = new Object(); lookupitem.typename = "businessunit"; lookupitem.id = xmlDoc.selectSingleNode("//resultset/result/businessunitid").nodeValue; lookupitem.name = xmlDoc.selectSingleNode("//resultset/result/businessunitid").attributes.getNamedItem("name").text; retutn lookupItem; } if (crmForm.all.ownerid.DataValue != null && crmForm.all.ownerid.DataValue.length != 0 && crmForm.all.ownerid[0] != null) { var lookupData = new Array(); lookupData[0] = GetBUId(crmForm.all.ownerid[0].id); crmForm.all.new_businessunitid.DataValue = lookupData; }
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: O_Chiner (1). |
07.04.2009, 07:42 | #7 |
Участник
|
Ставил этот скрипт на поле ownerid, событие onChange:
X++: var ownerLookupItem = new Array; ownerLookupItem = crmForm.all.ownerid.DataValue; var lookupData = new Array(); var bUnitLookupItem= new Object(); if (ownerLookupItem != null) { if (ownerLookupItem[0] != null) { var oXmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); sGUID=ownerLookupItem[0].id; if (sGUID != null) { var sEntityName="systemuser"; var sAttributeName="businessunitid"; var bUID =""; bUID = GetAttributeValue(sEntityName, sGUID, sAttributeName); var bUEntityName ="businessunit"; var bUEntityType ="name"; var bUName = GetAttributeValue(bUEntityName, bUID, bUEntityType); bUnitLookupItem.id = bUID; bUnitLookupItem.typename = bUEntityName; bUnitLookupItem.name = bUName; lookupData[0] = bUnitLookupItem; crmForm.all.new_businessunit_incident.DataValue = lookupData; } } } function GetAttributeValue(sEntityName, sGUID, sAttributeName) { var xml = ""; xml +="<?xml version=\"1.0\" encoding=\"utf-8\"?>"; xml +="<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\">"; xml += GenerateAuthenticationHeader(); xml +="<soap:Body>"; xml +="<entityName xmlns=\"http://schemas.microsoft.com/crm/2006/WebServices\">" + sEntityName + "</entityName>"; xml +="<id xmlns=\"http://schemas.microsoft.com/crm/2006/WebServices\">" + sGUID + "</id>"; xml +="<columnSet xmlns=\"http://schemas.microsoft.com/crm/2006/WebServices\" xmlns:q=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q:ColumnSet\">"; xml +="<q:Attributes>"; xml +="<q:Attribute>" + sAttributeName + "</q:Attribute>"; xml +="</q:Attributes>"; xml +="</columnSet>"; xml +="</soap:Body>"; xml +="</soap:Envelope>"; var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP"); xmlHttpRequest.Open("POST", "/mscrmservices/2006/CrmService.asmx", false); xmlHttpRequest.setRequestHeader("SOAPAction","http://schemas.microsoft.com/crm/2006/WebServices/Retrieve"); xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); xmlHttpRequest.setRequestHeader("Content-Length", xml.length); xmlHttpRequest.send(xml); var doc = xmlHttpRequest.responseXML; var retValue = ""; if (doc.selectSingleNode("//RetrieveResult/q1:" + sAttributeName) != null) retValue = doc.selectSingleNode("//RetrieveResult/q1:" + sAttributeName).text; return retValue; } |
|
|
За это сообщение автора поблагодарили: O_Chiner (1). |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|