Dynamic CRM 2015 Social Listening.

Hi,
I need to configure and use the Social Listening feature with the trial dynamics CRM 2015.
When i go to administration section and try to configure the social listening in the drop down i am getting none so i am not able to configure it.
Kindly help.
Regards
Deepak Jangra
Deepak Jangra

I've also discovered that the qualify button on leads will throw the exact same error.

Similar Messages

  • CRM 2015 Outlook Plugin and SCCM 2012

    Good Morning!
    In need of some assistance from you more experienced SCCM admins. Let me quickly run down the steps of what I've done:
    1) Created a network share for CRM 2015 that everyone can see
    2) Ran the EXE from Microsoft and followed the instructions from them to create the CrmClient_32.msi 
    3) In SCCM, created a new application, and linked the shared folder. SCCM auto-populated the install command, publisher data, etc. The only thing I added was "/s" for the MSI package to install
    4) Created a Device Collection with one test PC that already has CRM 2013 installed
    5) Deployed the application to the device collection with the following options:
    Under Content Tab:
    Content Location: \\networkshare\Installs\CRM2015
    Persist content in the client cache is NOT checked
    Allow clients to share content with other clients on the same subnet IS checked
    Deployment options: Do not download content
    Under the Programs Tab:
    Installation program: msiexec /i /s "CrmClient_32.msi"
    Installation start in: blank
    Uninstall program: msiexec /x 
    Run installation and uninstall program as 32-bit process on 64-bit clients IS checked
    Under User Experience Tab:
    Installation Behavior: Install for system
    Logon requirement: Whether or not a user is logged on
    Installation program "margin-bottom:9px;padding-right:0px;padding-font-family:Arial, Helvetica, sans-serif;font-size:14px;line-height:21px;word-wrap:break-word;color:#333333;">Maximum allowed run time ( 120 minutes)
    Estimated installation time (0 minutes)
    6) I schedule the install (for most applications I've seen this works best)
    Now when I go to Monitoring, all I see is the deployment is "In Progress" and the category is "Waiting for content" 
    I'm frustrated because I don't understand why this won't work. It seems so painless and the method I've described above works for almost any other application I've pushed out.
    I'm all ears - is there anything you see that isn't correct? Any ideas or suggestions? If you've successfully pushed out CRM 2015 some how (even if it's not through SCCM), could you please share your solution?
    Thank you so much! -Nick

    Hi,
    In need of some assistance from you more experienced SCCM admins
    Since we are not familiar with SCCM, please refer to SCCM forums below to get more professional support:
    https://social.technet.microsoft.com/Forums/en-US/home?category=configurationmanager&filter=alltypes&sort=lastpostdesc
    Best Regards,
    Amy
    Please remember to mark the replies as answers if they help and un-mark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]

  • SharePoint Operations on a CRM 2015 Custom Form

    Platform:  CRM 2015 Online + O365 + SharePoint Online
    I have a custom form on an object related to Account that I would like to present to the users with functionality allowing them to upload a (single) document and have it associated with the Account record.  Then, I want to stuff a link to
    the document on the custom form so that other users consuming the custom object could click directly to the document (instead of having to click over to the "Documents" tile and dig up the document).
    Is this something I can do from JavaScript or am I looking at a .NET plugin?
    Any help much appreciated!
    Thanks!
    James Prevallet

    Hi joshalcorn22,
    I see that you have used the following:
    <endpointBehaviors>
    <behavior name="webHttpBehavior">
    <webHttp helpEnabled="true" />
    </behavior>
    <behavior name="PasswordResetter.Service1AspNetAjaxBehavior">
    <enableWebScript />
    </behavior>
    </endpointBehaviors>
    But it seems that you do not apply these endpoint behaviors to the endpoint, please try to apply it. After that if it still can not work, please try to change the POST method to the GET method to see if you can get the right result in the browser. If you
    can get the result with the GET method, then it may have something wrong with your javascript code. If you can not get the result with the GET method, then please try to enable the WCF trace to help you find the root cause.
    #How to enable WCF Trace:
    http://www.codeproject.com/Articles/420538/Simple-steps-to-enable-tracing-in-WCF .
    Best Regards,
    Amy Peng
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Coded UI automation support for MIcrosoft Dynamic CRM 2013

    Hi,
    I have been checking for a UI automation tool for Microsoft Dynamic CRM 2013. Even though it is mentioned as coded UI fully supports Dynamic CRM, I was not able to automate CRM with VS2013, VS2015 Preview. Please reply if you have any workaround to make
    it possible to automate UI testing of CRM 2013 using coded UI.
    Regards,
    Vinu chandran.

    Hi Vinu,
    According to your description,
    could you please tell me what version of VS you use to test your coded UI test?
    In addition, I did some search and don’t find any information about CRM2013 support for Coded UI test.
    Based on this article:
    Supported Configurations and Platforms for Coded UI Tests and Action
    Recordings, Dynamics CRM web client is fully supported. Even though I am not sure whether it includes CRM2013, I suggest you should use VS to drag the crosshair
    on the control to check the control can be identified by Coded UI Test.
    In addition, since the issue is related to the Microsoft Dynamic CRM, I suggest you can ask the issue to
    Microsoft Dynamic
    CRM forum, may be you will get better support.
    As you said that you are not able to automate coded UI test with VS2015 Preview, because VS2015 Preview is still a preview version
    instead of final released version, I suggest that you should submit this feedback to Microsoft Connect feedback portal:
    http://connect.microsoft.com/VisualStudio/feedback/CreateFeedback.aspx,
    Microsoft engineers will evaluate them seriously.
    After you submit the feedback, you can post the link here which will be beneficial for other members with the
    similar issue.
    Thanks for your understanding.
    Best Regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How to access CRM 2015 On-Premise from Azure web application

    hi,
    I have deployed a MVC Application on Microsoft Azure. I was wondering Is it possible to access(read and write records like we do normally in local deployment) CRM On-Premise from Cloud or Do CRM 2015 should be IFD deployed? 
    Any pointers will be highly appreciated.

    Hi,
    I don't familiar with CRM 2015 On-Premise, but it seems that this is a feature request, please access this website:
    https://zapier.com/zapbook/microsoft-dynamics/windows-azure-web-sites/, you could also ask this issue at CRM forum.
    Disclaimer: This response contains a reference to a third party World Wide Web site. Microsoft is providing this information as a convenience to you. Microsoft does not control these sites and has not tested any software or information found on these sites;
    therefore, Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there. There are inherent dangers in the use of any software found on the Internet, and Microsoft cautions you to make sure
    that you completely understand the risk before retrieving any software from the Internet
    Best Regards,
    Jambor
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Dynamic CRM 2013 Online how to execute Report, generate PDF and email

    Dear All,
    I am using Dynamic CRM 2013 online. For quote, I have workflow and Dialogue processes for review process. On approval, I want the system to generate a PDF of quote report, attach the PDF and email it to the Customer.
    Better I would like, When approver, clicks on the approve button, the system should auto generate a PDF of quote report, attach the PDF and email it to the Customer, without any further input from the user. If its not possible, I may have to put button on
    quote form.
    I am using the attached code, but facing various issues.
    1. Under prepare the SOAP Message coding part, I am not sure what should be the below URL for CRM 2013 Online?
    xHReq.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
    2. What should be the emailid here? Is it Recepient Contact id(Guid) ?
    var emailid = resultXml.selectSingleNode("//CreateResult").nodeTypedValue;
    alert("emailid" + emailid.toString());
    3. Using this code, not able to create Entity for "ActivityMimeAttachment", I am getting newEntity as undefined.
    Below is the code I am using. Please check and help me out, where I am going wrong. Let me know if any better way to implement it. At present, I have put one button on quote form, on click event, below code will get executed.
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title></title>
    <script type="text/javascript">
    var Xrm;
    if (window.opener) { Xrm = window.opener.Xrm; }
    else if (window.parent) { Xrm = window.parent.Xrm; }
    function getReportingSession() {
    var reportName = "Quotation_Report"; //set this to the report you are trying to download
    var reportId = "7C39D18F-1DC6-E311-8986-D89D6765B238"; //set this to the guid of the report you are trying to download
    var recordid = Xrm.Page.data.entity.getId();
    // recordid = recordid.substring(1, 37); //getting rid of curly brackets
    alert(recordid);
    var pth = Xrm.Page.context.getServerUrl() + "/CRMReports/rsviewer/reportviewer.aspx";
    var retrieveEntityReq = new XMLHttpRequest();
    retrieveEntityReq.open("POST", pth, false);
    retrieveEntityReq.setRequestHeader("Accept", "*/*");
    retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    retrieveEntityReq.send("id=%7B" + reportId + "%7D&uniquename=" + Xrm.Page.context.getOrgUniqueName() + "&iscustomreport=true&reportnameonsrs=&reportName=" + reportName + "&isScheduledReport=false");
    var x = retrieveEntityReq.responseText.indexOf("ReportSession=");
    var ret = new Array();
    ret[0] = retrieveEntityReq.responseText.substr(x + 14, retrieveEntityReq.responseText.indexOf("&", x) - x - 14); //the session id
    x = retrieveEntityReq.responseText.indexOf("ControlID=");
    ret[1] = retrieveEntityReq.responseText.substr(x + 10, retrieveEntityReq.responseText.indexOf("&", x) - x - 10); //the control id
    return ret;
    function createEntity(ent, entName, upd) {
    var jsonEntity = JSON.stringify(ent);
    var createEntityReq = new XMLHttpRequest();
    var ODataPath = Xrm.Page.context.getServerUrl() + "XRMServices/2011/OrganizationData.svc";
    createEntityReq.open("POST", ODataPath + "/" + entName + "Set" + upd, false);
    createEntityReq.setRequestHeader("Accept", "application/json");
    createEntityReq.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    createEntityReq.send(jsonEntity);
    var newEntity = JSON.parse(createEntityReq.responseText).d;
    alert("new entity" + newEntity);
    return newEntity;
    function createAttachment() {
    var params = getReportingSession();
    var recordid = Xrm.Page.data.entity.getId();
    alert("recordid " + recordid);
    var orgName = Xrm.Page.context.getOrgUniqueName();
    var userID = Xrm.Page.context.getUserId();
    //create email record
    // 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'>" +
    "<soap:Header>" +
    "</soap:Header>" +
    "<soap:Body>" +
    "<Create xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>" +
    "<entity xsi:type='email'>" +
    "<regardingobjectid type='quote'>" + recordid + "</regardingobjectid>" +
    "<subject>" + "Email with Attachment4" + "</subject>" +
    "</entity>" +
    "</Create>" +
    "</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/Create");
    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;
    // alert("resultXml " + resultXml);
    // Check for errors.
    var errorCount = resultXml.selectNodes('//error').length;
    if (errorCount != 0) {
    alert("ERROR");
    var msg = resultXml.selectSingleNode('//description').nodeTypedValue;
    alert(msg);
    var emailid = resultXml.selectSingleNode("//CreateResult").nodeTypedValue;
    alert("emailid" + emailid.toString());
    //var emailid = userID;
    var post = Object();
    post.Body = encodePdf(params);
    var email = new Array();
    email[0] =new Object();
    email[0].id = emailid;
    email[0].entityType ='email';
    post.Subject ="File Attachment";
    post.AttachmentNumber = 1;
    post.FileName ="Report.pdf";
    post.MimeType ="application/pdf";
    post.ObjectId = Object();
    post.ObjectId.LogicalName ="email";
    post.ObjectId.Id = email[0].id;
    post.ObjectTypeCode ="email";
    alert(post.ObjectId.Id);
    createEntity(post,"ActivityMimeAttachment", "");
    alert("created successfully");
    email.Subject = "Your Order";
    //Set The current order as the Regarding object
    email.RegardingObjectId = {
    Id: Xrm.Page.data.entity.getId(), //Get the current entity Id , here OrderId
    LogicalName: Xrm.Page.data.entity.getEntityName()//Get the current entity name, here it will be “salesOrder”
    //Create Email Activity
    SDK.JScriptRESTDataOperations.Create(email, "Email", EmailCallBack, function (error) { alert(error.message); });
    // Email Call Back function
    function EmailCallBack(result) {
    email = result; // Set the email to result to use it later in email attachment for retrieving activity Id
    var activityPartyFrom = new Object();
    // Set the From party of the ActivityParty to relate an entity with Email From field
    activityPartyFrom.PartyId = {
    Id: customerId, // id of entity you want to associate this activity with.
    LogicalName: "contact"
    // Set the "activity" of the ActivityParty
    activityPartyFrom.ActivityId = {
    Id: result.ActivityId,
    LogicalName: "email"
    // Now set the participation type that describes the role of the party on the activity).
    activityPartyFrom.ParticipationTypeMask = { Value: 2 }; // 2 means ToRecipients
    // Create the from ActivityParty for the email
    SDK.JScriptRESTDataOperations.Create(activityPartyFrom, "ActivityParty", ActivityPartyFromCallBack, function (error) { alert(error.message); });
    var activityPartyTo = new Object();
    // Set the From party of the ActivityParty to relate an entity with Email From field
    activityPartyTo.PartyId = {
    Id: ownerId, // id of entity you want to associate this activity with.
    LogicalName: "systemuser"
    // Set the "activity" of the ActivityParty
    activityPartyTo.ActivityId = {
    Id: result.ActivityId,
    LogicalName: "email"
    // Now set the participation type that describes the role of the party on the activity). activityPartyTo.ParticipationTypeMask = { Value: 1 }; // 1 means Sender
    // Create the from ActivityParty
    SDK.JScriptRESTDataOperations.Create(activityPartyTo, "ActivityParty", ActivityPartyToCallBack, function (error) { alert(error.message); });
    //ActivityParty From Callback
    function ActivityPartyFromCallBack(result) {
    //ActivityParty To Callback
    function ActivityPartyToCallBack(result) {
    var StringMaker = function () {
    this.parts = [];
    this.length = 0;
    this.append = function (s) {
    this.parts.push(s);
    this.length += s.length;
    this.prepend = function (s) {
    this.parts.unshift(s);
    this.length += s.length;
    this.toString = function () {
    return this.parts.join('');
    var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    function encode64(input) {
    var output = new StringMaker();
    var chr1, chr2, chr3;
    var enc1, enc2, enc3, enc4;
    var i = 0;
    while (i < input.length) {
    chr1 = input[i++];
    chr2 = input[i++];
    chr3 = input[i++];
    enc1 = chr1 >> 2;
    enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
    enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
    enc4 = chr3 & 63;
    if (isNaN(chr2)) {
    enc3 = enc4 = 64;
    else if (isNaN(chr3)) {
    enc4 = 64;
    output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4));
    return output.toString();
    var bdy = new Array();
    var bdyLen = 0;
    function concat2Bdy(x) {
    bdy[bdyLen] = x;
    bdyLen++;
    function encodePdf(params) {
    bdy = new Array();
    bdyLen = 0;
    var retrieveEntityReq = new XMLHttpRequest();
    var pth = Xrm.Page.context.getServerUrl() + "/Reserved.ReportViewerWebControl.axd?ReportSession=" + params[0] + "&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=" + params[1] + "&OpType=Export&FileName=Public&ContentDisposition=OnlyHtmlInline&Format=PDF";
    retrieveEntityReq.open("GET", pth, false);
    retrieveEntityReq.setRequestHeader("Accept", "*/*");
    retrieveEntityReq.send();
    BinaryToArray(retrieveEntityReq.responseBody);
    return encode64(bdy);
    </SCRIPT>
    <SCRIPT type=text/vbscript>
    Function BinaryToArray(Binary)
    Dim i
    ReDim byteArray(LenB(Binary))
    For i = 1 To LenB(Binary)
    byteArray(i-1) = AscB(MidB(Binary, i, 1))
    concat2Bdy(AscB(MidB(Binary, i, 1)))
    Next
    BinaryToArray = byteArray
    End Function
    </SCRIPT>
    </head>
    <body>
    <input type="button" onclick="createAttachment();" value="Attach Report" />
    </body>
    </html>
    Thanks. and waiting for your valuable comments.
    - Mittal

    Hello,
    Yes, I was able to make my code working as below. Tested on CRM online 2013.
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
    <script type="text/javascript">
    if (typeof (SDK) == "undefined")
    { SDK = { __namespace: true }; }
    SDK.JScriptRESTDataOperations = {
    _context: function () {
    if (typeof GetGlobalContext != "undefined")
    { return GetGlobalContext(); }
    else {
    if (typeof Xrm != "undefined") {
    return Xrm.Page.context;
    else { return new Error("Context is not available."); }
    _getServerUrl: function () {
    var serverUrl = this._context().getServerUrl()
    if (serverUrl.match(/\/$/)) {
    serverUrl = serverUrl.substring(0, serverUrl.length - 1);
    return serverUrl;
    _ODataPath: function () {
    return this._getServerUrl() + "/XRMServices/2011/OrganizationData.svc/";
    _errorHandler: function (req) {
    return new Error("Error : " +
    req.status + ": " +
    req.statusText + ": " +
    JSON.parse(req.responseText).error.message.value);
    _dateReviver: function (key, value) {
    var a;
    if (typeof value === 'string') {
    a = /Date\(([-+]?\d+)\)/.exec(value);
    if (a) {
    return new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10));
    return value;
    Create: function (object, type, successCallback, errorCallback) {
    var req = new XMLHttpRequest();
    req.open("POST", this._ODataPath() + type + "Set", true);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.onreadystatechange = function () {
    if (this.readyState == 4 /* complete */) {
    if (this.status == 201) {
    successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
    else {
    errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
    req.send(JSON.stringify(object));
    Retrieve: function (id, type, successCallback, errorCallback) {
    var req = new XMLHttpRequest();
    req.open("GET", this._ODataPath() + type + "Set(guid'" + id + "')", true);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.onreadystatechange = function () {
    if (this.readyState == 4 /* complete */) {
    if (this.status == 200) {
    successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
    else {
    errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
    req.send();
    Update: function (id, object, type, successCallback, errorCallback) {
    var req = new XMLHttpRequest();
    req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.setRequestHeader("X-HTTP-Method", "MERGE");
    req.onreadystatechange = function () {
    if (this.readyState == 4 /* complete */) {
    if (this.status == 204 || this.status == 1223) {
    successCallback();
    else {
    errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
    req.send(JSON.stringify(object));
    Delete: function (id, type, successCallback, errorCallback) {
    var req = new XMLHttpRequest();
    req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.setRequestHeader("X-HTTP-Method", "DELETE");
    req.onreadystatechange = function () {
    if (this.readyState == 4 /* complete */) {
    if (this.status == 204 || this.status == 1223) {
    successCallback();
    else {
    errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
    req.send();
    RetrieveMultiple: function (type, filter, successCallback, errorCallback) {
    if (filter != null) {
    filter = "?" + filter;
    else { filter = ""; }
    var req = new XMLHttpRequest();
    req.open("GET", this._ODataPath() + type + "Set" + filter, true);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.onreadystatechange = function () {
    if (this.readyState == 4 /* complete */) {
    if (this.status == 200) {
    successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d.results);
    else {
    errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
    req.send();
    __namespace: true
    </script>
    <script type="text/javascript">
    //Create Email and link it with Order as Regarding field
    var Xrm;
    var email = new Object();
    var ownerID = "";
    var CustomerId = "";
    if (window.opener) { Xrm = window.opener.Xrm; }
    else if (window.parent) { Xrm = window.parent.Xrm; }
    //Get ownerid who send email of quotation to customer
    function GetOwnerID() {
    var owner = Xrm.Page.getAttribute("ownerid").getValue();
    ownerID = owner[0].id;
    var ownerName = owner[0].name;
    var entityType = owner[0].entityType;
    GetToEmailGUID();
    //Get customerid who receive email of quotation from owner
    function GetToEmailGUID() {
    var Customer = Xrm.Page.getAttribute('customerid').getValue();
    CustomerId = Customer[0].id;
    var CustomerName = Customer[0].name;
    var entityType = Customer[0].entityType;
    //if CustomerId is type of "Account" then get Primary Contact id of that account
    if (entityType == "account") {
    var contact = Xrm.Page.getAttribute("customerid").getValue();
    if (contact === null) return;
    var serverUrl = Xrm.Page.context.getClientUrl();
    var oDataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc/AccountSet(guid'" + contact[0].id + "')?$select=PrimaryContactId";
    var req = new XMLHttpRequest();
    req.open("GET", oDataSelect, false);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json;charset=utf-8");
    req.onreadystatechange = function () {
    if (req.readyState === 4) {
    if (req.status === 200) {
    var retrieved = JSON.parse(req.responseText).d;
    CustomerId = retrieved.PrimaryContactId.Id;
    else {
    alert(this.statusText);
    req.send();
    function CreateEmail() {
    GetOwnerID();
    email.Subject = "Email with Report Attachment";
    //Set The current order as the Regarding object
    email.RegardingObjectId = {
    Id: Xrm.Page.data.entity.getId(), //Get the current entity Id , here OrderId
    LogicalName: Xrm.Page.data.entity.getEntityName()//Get the current entity name, here it will be “salesOrder”
    //Create Email Activity
    SDK.JScriptRESTDataOperations.Create(email, "Email", EmailCallBack, function (error) { alert(error.message); });
    // Email Call Back function
    function EmailCallBack(result) {
    email = result; // Set the email to result to use it later in email attachment for retrieving activity Id
    var activityPartyFrom = new Object();
    // Set the From party of the ActivityParty to relate an entity with Email From field
    activityPartyFrom.PartyId = {
    Id: CustomerId, //"79EBDD26-FDBE-E311-8986-D89D6765B238", // id of entity you want to associate this activity with.
    LogicalName: "contact"
    // Set the "activity" of the ActivityParty
    activityPartyFrom.ActivityId = {
    Id: result.ActivityId,
    LogicalName: "email"
    // Now set the participation type that describes the role of the party on the activity).
    activityPartyFrom.ParticipationTypeMask = { Value: 2 }; // 2 means ToRecipients
    // Create the from ActivityParty for the email
    SDK.JScriptRESTDataOperations.Create(activityPartyFrom, "ActivityParty", ActivityPartyFromCallBack, function (error) { alert(error.message); });
    var activityPartyTo = new Object();
    // Set the From party of the ActivityParty to relate an entity with Email From field
    activityPartyTo.PartyId = {
    Id: ownerID, //"79EBDD26-FDBE-E311-8986-D89D6765B238", // id of entity you want to associate this activity with.
    LogicalName: "systemuser"
    // Set the "activity" of the ActivityParty
    activityPartyTo.ActivityId = {
    Id: result.ActivityId,
    LogicalName: "email"
    // Now set the participation type that describes the role of the party on the activity).
    activityPartyTo.ParticipationTypeMask = { Value: 1 }; // 1 means Sender
    // Create the from ActivityParty
    SDK.JScriptRESTDataOperations.Create(activityPartyTo, "ActivityParty", ActivityPartyToCallBack, function (error) { alert(error.message); });
    //ActivityParty From Callback
    function ActivityPartyFromCallBack(result) {
    //ActivityParty To Callback
    function ActivityPartyToCallBack(result) {
    GetReportId('Quotation');
    //Create attachment for the created email
    function CreateEmailAttachment() {
    //get reporting session and use the params to convert a report in PDF
    var params = getReportingSession();
    //Email attachment parameters
    var activitymimeattachment = Object();
    activitymimeattachment.ObjectId = Object();
    activitymimeattachment.ObjectId.LogicalName = "email";
    activitymimeattachment.ObjectId.Id = email.ActivityId;
    activitymimeattachment.ObjectTypeCode = "email",
    activitymimeattachment.Subject = "File Attachment";
    activitymimeattachment.Body = encodePdf(params);
    activitymimeattachment.FileName = "Report.pdf";
    activitymimeattachment.MimeType = "application/pdf";
    //Attachment call
    SDK.JScriptRESTDataOperations.Create(activitymimeattachment, "ActivityMimeAttachment", ActivityMimeAttachmentCallBack, function (error) { alert(error.message); });
    //ActivityMimeAttachment CallBack function
    function ActivityMimeAttachmentCallBack(result) {
    var features = "location=no,menubar=no,status=no,toolbar=no,resizable=yes";
    var width = "800px";
    var height = "600px";
    window.open(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", features);
    // To open window which works in outlook and IE both
    //openStdWin(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", width, height, features);
    //This method will get the reportId based on a report name that will be used in getReportingSession() function
    function GetReportId(reportName) {
    var oDataSetName = "ReportSet";
    var columns = "ReportId";
    var filter = "Name eq '" + reportName + "'";
    retrieveMultiple(oDataSetName, columns, filter, onSuccess);
    function retrieveMultiple(odataSetName, select, filter, successCallback) {
    var serverUrl = Xrm.Page.context.getServerUrl();
    var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
    var odataUri = serverUrl + ODATA_ENDPOINT + "/" + odataSetName + "?";
    if (select) {
    odataUri += "$select=" + select + "&";
    if (filter) {
    odataUri += "$filter=" + filter;
    $.ajax({
    type: "GET",
    contentType: "application/json; charset=utf-8",
    datatype: "json",
    url: odataUri,
    beforeSend: function (XMLHttpRequest) {
    XMLHttpRequest.setRequestHeader("Accept", "application/json");
    success: function (data) {
    if (successCallback) {
    if (data && data.d && data.d.results) {
    successCallback(data.d.results);
    else if (data && data.d) {
    successCallback(data.d);
    else {
    successCallback(data);
    error: function (XmlHttpRequest, errorThrown) {
    if (XmlHttpRequest && XmlHttpRequest.responseText) {
    alert("Error while retrieval ; Error – " + XmlHttpRequest.responseText);
    function onSuccess(data) {
    reportId = data[0].ReportId.replace('{', ").replace('}', ");
    CreateEmailAttachment(); // Create Email Attachment
    //Gets the report contents
    function getReportingSession() {
    var pth = Xrm.Page.context.getServerUrl() + "/CRMReports/rsviewer/reportviewer.aspx";
    var retrieveEntityReq = new XMLHttpRequest();
    var Id = Xrm.Page.data.entity.getId();
    var quotationGUID = Id.replace('{', ""); //set this to selected quotation GUID
    quotationGUID = quotationGUID.replace('}', "");
    var reportName = "Quotation"; //set this to the report you are trying to download
    var reportID = "7C39D18F-1DC6-E311-8986-D89D6765B238"; //set this to the guid of the report you are trying to download
    var rptPathString = ""; //set this to the CRMF_Filtered parameter
    var strParameterXML = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'><entity name='quote'><all-attributes /><filter type='and'><condition attribute='quoteid' operator='eq' uitype='quote' value='" + quotationGUID + "' /> </filter></entity></fetch>";
    retrieveEntityReq.open("POST", pth, false);
    retrieveEntityReq.setRequestHeader("Accept", "*/*");
    retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    rptPathString = "id=%7B" + reportID + "%7D&uniquename=" + Xrm.Page.context.getOrgUniqueName() + "&iscustomreport=true&reportnameonsrs=&reportName=" +
    reportName + "&isScheduledReport=false&p:CRMAF_Filteredquote=" + strParameterXML;
    //remove the part starting from &p:salesorderid if your report has no parameters
    retrieveEntityReq.send(rptPathString);
    var x = retrieveEntityReq.responseText.indexOf("ReportSession=");
    var ret = new Array();
    ret[0] = retrieveEntityReq.responseText.substr(x + 14, retrieveEntityReq.responseText.indexOf("&", x) - x - 14); //the session id
    x = retrieveEntityReq.responseText.indexOf("ControlID=");
    ret[1] = retrieveEntityReq.responseText.substr(x + 10, retrieveEntityReq.responseText.indexOf("&", x) - x - 10); //the control id
    return ret;
    var bdy = new Array();
    var bdyLen = 0;
    function concat2Bdy(x) {
    bdy[bdyLen] = x;
    bdyLen++;
    function encodePdf(params) {
    bdy = new Array();
    bdyLen = 0;
    var retrieveEntityReq = new XMLHttpRequest();
    var pth = Xrm.Page.context.getServerUrl() + "/Reserved.ReportViewerWebControl.axd?ReportSession=" + params[0] +
    "&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=" + params[1] +
    "&OpType=Export&FileName=Public&ContentDisposition=OnlyHtmlInline&Format=PDF";
    retrieveEntityReq.open("GET", pth, false);
    retrieveEntityReq.setRequestHeader("Accept", "*/*");
    retrieveEntityReq.send();
    BinaryToArray(retrieveEntityReq.responseBody);
    return encode64(bdy);
    var StringMaker = function () {
    this.parts = [];
    this.length = 0;
    this.append = function (s) {
    this.parts.push(s);
    this.length += s.length;
    this.prepend = function (s) {
    this.parts.unshift(s);
    this.length += s.length;
    this.toString = function () {
    return this.parts.join('');
    var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    function encode64(input) {
    var output = new StringMaker();
    var chr1, chr2, chr3;
    var enc1, enc2, enc3, enc4;
    var i = 0;
    while (i < input.length) {
    chr1 = input[i++];
    chr2 = input[i++];
    chr3 = input[i++];
    enc1 = chr1 >> 2;
    enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
    enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
    enc4 = chr3 & 63;
    if (isNaN(chr2)) {
    enc3 = enc4 = 64;
    } else if (isNaN(chr3)) {
    enc4 = 64;
    output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4));
    return output.toString();
    </script>
    <script type="text/vbscript">
    Function BinaryToArray(Binary)
    Dim i
    ReDim byteArray(LenB(Binary))
    For i = 1 To LenB(Binary)
    byteArray(i-1) = AscB(MidB(Binary, i, 1))
    concat2Bdy(AscB(MidB(Binary, i, 1)))
    Next
    BinaryToArray = byteArray
    End Function
    </script>
    </head>
    <body>
    <input type="button" onclick="CreateEmail();" value="Attach Report" />
    </body>
    </html>
    Thank you,
    Mittal.

  • Dynamics CRM 2015 Install requires Active Directory on VM Windows 2012 R2 Server

    Hello,
    I'm trying to install Dynamics CRM 2015 on a standalone VM not connected to a domain (it's running under WIndows 8.1 Professional). The VM was configured using WIndows Server 2012 R2. I'm getting an error message shortly into the install process stating
    it needs to access Active Directory.
    How can I get around this issue - I just want to Install this CRM on the VM without getting into complicate network/AD issues.
    Can you please advise ?
    SO many thanks,
    John

    CRM requires AD no way around that so the most likely solution is to install it on that server or on a VM not connected to your other networks
    Jason Lattimer
    My Blog -  Follow me on Twitter -  LinkedIn

  • CRM 2015 installation hangs without errors on Windows Server 2012 installed in a VM

    I have installed a Windows Server 2012 and SQL Server 2012 on a VM using VMware Player and then installed Dynamics CRM 2013, working out all the configuration problems.
    The installation hanged once without errors and when I tried it again it was installed, no problems. Dynamics CRM 2013 works without issue.
    Then I copied the machine, uninstalled the Dynamics CRM 2013 and started installing CRM 2015. However this time without errors the installation hangs even though I tried more than 5 times.
    There are no errors, installation program is not unresponsive and task manager shows nothing out of the ordinary.
    I have also tried this on multiple physical and virtual PCs to no avail.

    Try to Delete the registry files of CRM before you start the installation : HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSCRM

  • Email Template Issue in MS CRM 2015 Online

    Hi,
    We recently upgraded the CRM form 2011 on premise to MS CRM 2015 online.
    We are facing the issue in Email Templates navigation in MS CRM 2015 online version as mentioned below.
    SETTINGS-->TEMPLATES-->Email Templates getting the following error message.
    I have deleted all the email templates in DEV instance but still this error occurred.
    Please help how to resolve this issue. Its very urgent.
    Yadav

    Hi,
    Please let me know if anybody aware of this issue.
    Yadav

  • CRM 2015 outlook client does not connect to CRM

    Hi,
    I am trying to run the configuration wizard to connect the office 2010 outlook to Dynamics CRM 2015 server and get the error below (outlook client 2015 is successfully installed). All the required components
    are installed on both server and client side.
    Any idea?
    captainsina

    Hi Nico,
    How is it going? :)
    I am going against on-prem. Not being prompted for credentials. I can go to the services using the browser, but the outlook client fails.
    I am using the same credentials on the local machine as the CRM user credentials.
    Cheers.
    captainsina

  • Cant add Competitors on Mobile Phone App CRM 2015

    I'm currently configuring the mobile phone app for CRM 2015 online.
    The issue i'm having is that i cant seem to add competitors, either directly or to an existing Lead or Opportunity. Although the entity appears in the lead and opportunity records, it only shows already added competitors (which were added via the browser
    or tablet app). I don't seem to have the option to add new competitors within the mobile phone app as the little "+" symbol at the top of the form is not present.
    I have the competitors entity enabled for the mobile phone app and tablet app. the tablet app works fine.
    I've also noticed that competitors entity appears on the tablet home page navigation but not on the mobile home page.
    Any suggestions?

    Hi,
    This is very urgent. I have to submit the app in 2 days. Doesn'y anyone have any idea about this?? Please Help

  • E-mail router (On-premise) to CRM 2015 (On-line) connectivity issue

    Hello Experts,
    I was trying to configure e-mail router on my location environment (working on domain administrator credentials :)) to connect to CRM 2015 Online server (TRIAL version).
    Unfortunately during "Load data" process ("Users, Queues and Forward Mailboxes" tab in E-mail Router Configuration Manager) I'm still getting "Access is denied" error.
    "CRM Server address" I'm using is: “https://disco.crm.dynamics.com/orgname” ("orgname" is 100% correct, I've also tried "DEV" instead of "DISCO" address option) and "Access credentials"
    specified are also correct (this is System Administrator user in my CRM organization).
    I assume that the problem is somehow connected with user account, because when I’m trying to use some fake one (ex. "[email protected]") the error message is different ("GetAuthStateEx(), Request Status: ").
    I was trying to use Fiddler to see problem source and I found that "Access denied" is return during accessing "https://disco.crm.dynamics.com/XrmServices/2011/Discovery.svc" URL.
    Am I missing something? Should CRM account used by e-mail router have some additional permissions except "System administrator" role in CRM?
    Any help will be really appreciated.
    Kind regards,
    Piotr

    I've checked unique organization name on developer resources page many times (this is very common reason of many problems with e-mail router deployments).
    Actually I'm looking at this name right now and it is 100% correct (only lowercase letters, no "strange" characters :)).
    Today - the error message looks a little different.
    I've checked above mentioned web service address ( https://disco.crm.dynamics.com/XrmServices/2011/Discovery.svc ) in IE and there is no problem with accessing it.
    I'm wondering should this error be somehow connected with fact that our CRM online organization is TRIAL version or that it is 7.0.1 version (our e-mail router is 7.0.0)?
    Any other ideas?
    Best regards,
    PG

  • Dynamics CRM 2015 : Email editor

    Dear all,
    Can anyone confirm if the email editor comes with the Dynamics CRM 2015 On-premise version and Online version?
    I have many reviews saying that we have email editor in the Dynamics CRM 2015 version but I am unable to find it.
    Any help/ guide would be greatly appreciated.
    Many Thanks & Regards
    Vinay

    Hello Vinay,
    The emal editor is only available with MDM (Microsoft Marketing). Check this out for reference.
    https://community.dynamics.com/crm/f/117/t/151513.aspx
    Regards
    Abhishek
    Abhishek Bakshi

  • Flitered Sub-grid in Online CRM 2015

    Hi all ,
       I have the following requirement. In Case form we included multiple sub-grids (Opportunity,Lead, etc..). On selecting the value in customer field, only the related records of that particular Customer should flow in the
    respective sub-grids.
    The same functionality we worked in CRM 2013 which was working fine. At present in CRM 2015 on loading the form some times it is working & some times it is not working (means some times it shows related record & some times it shows all records).
    Unable to identify the issue. We have also tried by refreshing the sub-grid twice in J-script.
    Any solution?
    Thanks &  Regards
    Shankar

    Hi Polat,
     Thanks for your reply. We have done the same work. Please find below Jscript we have used, which is working fine in CRM 2013. In CRM 2015 some times it works & some times it shows all the records with out filter. So any other solution for
    this issue.
    function BindGridSubscription() {
        // Get  Customer
        var lookupfield = new Array;
        lookupfield = Xrm.Page.getAttribute("customerid").getValue();
        if (lookupfield != null) {
            var lookupid = lookupfield[0].id;
        else {
            return;
        var relatedSubscriptions = null;
        relatedSubscriptions = document.getElementById('sgvSubscriptionDetails');
        if (relatedSubscriptions == null || relatedSubscriptions.readyState != "complete") {
            setTimeout('BindGridSubscription()', 2000);
            return;
        var fetchXmlSubs = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>";
        fetchXmlSubs += "<entity name='opportunity'>";
        fetchXmlSubs += "<attribute name='opportunityid' />";
        fetchXmlSubs += "<attribute name='tec_zone' />";
        fetchXmlSubs += "<attribute name='totalamount' />";
        fetchXmlSubs += "<attribute name='tec_subscriptiontype' />";
        fetchXmlSubs += "<attribute name='tec_copystartdate' />";
        fetchXmlSubs += "<attribute name='tec_copyenddate' />";
        fetchXmlSubs += "<attribute name='tec_subscribedscheme' />";
        fetchXmlSubs += "<attribute name='tec_subscribedproduct' />";
        fetchXmlSubs += "<attribute name='tec_schemestartdate' />";
        fetchXmlSubs += "<attribute name='tec_schemeenddate' />";
        fetchXmlSubs += "<attribute name='tec_poimplementationdate' />";
        fetchXmlSubs += "<attribute name='tec_bookingformnumber' />";
        fetchXmlSubs += "<attribute name='tec_bookingdate' />";
        fetchXmlSubs += "<order attribute='tec_zone' descending='false' />";
        fetchXmlSubs += "<filter type='and'>";
        fetchXmlSubs += "<condition attribute='customerid' operator='eq' uitype='contact' value='" + lookupid + "' />";
        fetchXmlSubs += "</filter>";
        fetchXmlSubs += "</entity>";
        fetchXmlSubs += "</fetch>";
        relatedSubscriptions.control.SetParameter("fetchXML", fetchXmlSubs);
        relatedSubscriptions.control.Refresh();
    Thanks
    Shankar

  • CRM 2015 Update 0.1 Install Fails with SQL Error

    Hi, anyone managed to install CRM 2015 Update 0.1?
    The software installed fine but the DB updates fail with a SQL error. Just want to know if this is just my issue or if MS have a bug in the update. This is the SQL error:
    System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Data.SqlClient.SqlException: The current transaction cannot be committed and cannot support operations that write to the log file. Roll
    back the transaction.
    Uncommittable transaction is detected at the end of the batch. The transaction is rolled back.
    All of the ORGs fail with this error, even when I try to apply the DB update via Deployment manager. I've had to back out the rollup.

    The issue appears when the update process creates the index cndx_BusinessDataLocalizedLabel. This is a known cause which is under investigation internally. Currently it seems to plan to release in CRM 2015 SP1

Maybe you are looking for