locked
Update Entity image issue RRS feed

  • Question

  • Hi,

    i want to change entity image according to status field if status value is "1", image1 name "new_image1.jpg" will display and if status value is "2" then image2 name "new_image2.jpg" will display


    i have an entity name "new_dealer" with optionset field name "new_status"

    i have added two images as web resource "new_image1.jpg" , "new_image2.jpg"

    These are steps which i followed according to your instructions

    first of all i added a web resource as javascript file name "new_setImageMethods"

    //Hook this method to the "OnChange" event of "new_status" field
    function OnAttributeChange_Status() {
     
        var dealerId = Xrm.Page.data.entity.getId();
        var statusValue = Xrm.Page.getAttribute("new_status").getValue();
     
        if (statusValue == 1)
        {
             //retrieve image new_image1.jpg and update dealer record "EntityImage" attribute
            this.UpdateDealerRecordWithNewImage(dealerId, "new_image1.jpg");
     
        }
        else if (statusValue == 2)
        {
             //retrieve image new_image2.jpg and update dealer record "EntityImage" attribute
            this.UpdateDealerRecordWithNewImage(dealerId, "new_image2.jpg");
     
        }
    }

    function UpdateDealerRecordWithNewImage(dealerId, webResourceName){
     
        this.GetImageWebResource(
            dealerId,
            webResourceName,
            this.UpdateDealerRecord
        );
     
    }

    function GetImageWebResource(dealerId, imageName, successCallback) {
     
        //OData URI to get address information from parent account record
        var oDataURI = Xrm.Page.context.getClientUrl()
            + "/XRMServices/2011/OrganizationData.svc/"
            + "WebResourceSet"
            + "?$filter="
            + "Name eq '" + imageName + "'"
            + "&$select=Name,Content";
     
        //Synchronous XMLHttpRequest to retrieve account record
        var req = new XMLHttpRequest();
        req.open("GET", encodeURI(oDataURI), false);
        req.setRequestHeader("Accept", "application/json");
        req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
        req.onreadystatechange = function () {
            //debugger;
            if (this.readyState == 4 /* complete */) {
                req.onreadystatechange = null; //avoids memory leaks
                if (this.status == 200) {
                    //parse the response string as a JSON object into the successCallback method.
                    successCallback(dealerId, JSON.parse(this.responseText).d);
                }
                else {
                    var errorMsg1 = "GetImageWebResource Error: cannot retrieve image with name = " + imageName + ".";
                    //display a non-blocking alert dialog
                    Xrm.Utility.alertDialog(errorMsg1, function () { });
                }
            }
        };
        req.send();
    }

    function UpdateDealerRecord(recordId, webResource) {
     
        var new_dealer = {};
        new_dealer.EntityImage = webResource.results[0].Content; //byte[] content of the web resource
     
        var jsonDealer = JSON.stringify(new_dealer);
     
        //OData URI
        var oDataURI = Xrm.Page.context.getClientUrl()
            + "/XRMServices/2011/OrganizationData.svc/"
            + "new_dealertSet(guid'" + recordId + "')";
     
        //Synchronous post
        var req = new XMLHttpRequest();
        req.open("POST", encodeURI(oDataURI), false);
        req.setRequestHeader("Accept", "application/json");
        req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
        req.setRequestHeader("X-HTTP-Method", "MERGE");
        req.onreadystatechange = function () {
            //debugger;
            if (this.readyState == 4 /* complete */) {
                req.onreadystatechange = null;
                if (this.status == 204 || this.status == 1223) {
                    //reloads the dealer record
                    window.location.reload(false);
                }
                else {
                    var errorMsg2 = "UpdateDealerRecord Error: Cannot update dealer record with dealerId = " + recordId + ".";
                    //display a non-blocking alert dialog
                    Xrm.Utility.alertDialog(errorMsg2, function () { });
                }
            }
        };
        req.send(jsonDealer);
    }

    I call this function "OnAttributeChange_Status" onchange event of status field but still i got an error

    here is error:

    Microsoft Dynamics CRM Error Report Contents

    <CrmScriptErrorReport>
      <ReportVersion>1.0</ReportVersion>
      <ScriptErrorDetails>
       <Message>Unable to get property 'Content' of undefined or null reference</Message>
       <Line>67</Line>
       <URL>/%7B635300259790000809%7D/WebResources/new_updateimage</URL>
       <PageURL>/main.aspx?etc=10010&extraqs=%3f_gridType%3d10010%26etc%3d10010%26id%3d%257bCC7A88A6-14A8-E311-940F-002564C04E9E%257d%26rskey%3d422667900&pagemode=iframe&pagetype=entityrecord&rskey=422667900</PageURL>
       <Function>UpdateDealerRecord(recordId,webResource)</Function>
       <CallStack>
        <Function>UpdateDealerRecord(recordId,webResource)</Function>
       </CallStack>
      </ScriptErrorDetails>
      <ClientInformation>
       <BrowserUserAgent>Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729)</BrowserUserAgent>
       <BrowserLanguage>en-US</BrowserLanguage>
       <SystemLanguage>en-US</SystemLanguage>
       <UserLanguage>en-US</UserLanguage>
       <ScreenResolution>1280x800</ScreenResolution>
       <ClientName>Web</ClientName>
       <ClientTime>2014-03-09T22:29:24</ClientTime>
      </ClientInformation>
      <ServerInformation>
        <OrgLanguage>1033</OrgLanguage>
        <OrgCulture>1033</OrgCulture>
        <UserLanguage>1033</UserLanguage>
        <UserCulture>1033</UserCulture>
        <OrgID>{9271BA52-3892-E311-93F4-002564C04E9E}</OrgID>
        <UserID>{9D4AB36C-3892-E311-93F4-002564C04E9E}</UserID>
        <CRMVersion>6.0.0.809</CRMVersion>
      </ServerInformation>
    </CrmScriptErrorReport>

    Please tell me what should I do for resolve this issue?

    Monday, March 10, 2014 5:42 AM

All replies

  • Hi,

    I got an error :

    SCRIPT5007: Unable to get property 'Content' of undefined or null reference

    on this line :

    new_dealer.EntityImage = webResource.results[0].Content; //byte[] content of the web resource

    please help me out :(

    Monday, March 10, 2014 5:48 AM
  • The code looks fine.

    It looks like there's no result coming back from web resource with the matching name so that webResource.results[0] is null and it's throwing error when you try to access Content attribute of null object.

    Try "alert(webResource.results.length);" and see if it's showing 0 or 1.

    Re-check the name of the webresource name "new_image1.jpg".

    If you still can't figure out, try to alert out the oDataURI of WebResourceSet and enter the same URL on the browser and see if returns any result.

    Monday, March 10, 2014 6:25 AM
  • HI Linn,

    I used this line "alert(webResource.results.length);" in my code as you told me I got value 1

    But I used "alert(oDataURI);" then displayed "Undefined". Now what will I do?

    Please guide me more...


    • Edited by Syed Hijazi Monday, March 10, 2014 10:11 AM
    Monday, March 10, 2014 10:08 AM
  • Now I got oDataURI like

    /XRMServices/2011/OrganizationData.svc/WebResourceSet?filter=Name eq'new_image2.jpg'&$select=Name,Content

    but still not showing image :(

    Monday, March 10, 2014 10:23 AM
  • Hi Syed,

    Check that the name of the image is correct as present in the web resource. That could be an issue.


    Admin QuikView Solution for CRM 2013

    Monday, March 10, 2014 10:51 AM
  •  Hi ,

          Set debugger in your script as shown below, and save your script resource, Debug your script at following line.

      

          debugger; //breakpoint

          new_dealer.EntityImage = webResource.results[0].Content;

         

         Now in IE goto Tools->InternetOptions -> Advanced    and uncheck   Disable Script Debugging (Internet Explorer)

          Now do the operation which is causing error and debug the code , check wither Content is returning any value or else you need to make sure Content will get proper value before you assign it or access it

     

       

       


    Thanks Regards Prashanth Kamasamudram Even the least work done for others awakens the power within; even thinking the least good of others gradually instills into the heart the strength of a lion.


    Monday, March 10, 2014 11:03 AM
  • Hi Dynamtion,

    I have checked the name of image but still same problem occurred

    Monday, March 10, 2014 11:08 AM
  • Hi Prashanth,

    When i debugged my code this is occurring

    Please guide me

    Monday, March 10, 2014 11:21 AM
  • Can you add webResource.results[0].Content in the watch and see what's the value?

    If it's not return proper value, can you try adding webResource.results[0] and all of its attributes?

    Monday, March 10, 2014 2:54 PM
  • Hi Linn,

    Should I paste this line in the watch?

    webResource.results[0].Content

    Tuesday, March 11, 2014 4:45 AM
  • When i paste this line

    webResource.results[0].Content

    then value is shown like this "webResource is undefined"

    Tuesday, March 11, 2014 4:52 AM
  • Hi,

    Now I got value of webResource.results[0].Content in the watch

    please tell me what to do now?

    Tuesday, March 11, 2014 5:04 AM
  • Then, there shouldn't be an error since value of webResource.results[0].Content is not null.

    Or is it still throwing an error at the same line?

    Tuesday, March 11, 2014 6:36 AM
  • still no image showing.....
    Tuesday, March 11, 2014 6:38 AM
  • this is actual value of "webResource.results[0].Content"

            webResource.results[0].Content    "/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABeAAD/4QO2aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6MzI6MDAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcFJpZ2h0cz0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3JpZ2h0cy8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBSaWdodHM6TWFya2VkPSJGYWxzZSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjJEQkY3NDUwM0MwMURFMTE5RURCQTE0Nzc5MDQwRTFBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRCRjAxMjQ0NTgwQTExRTA5QjI0ODI1NzY2NjBGNDY2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRCRjAxMjQzNTgwQTExRTA5QjI0ODI1NzY2NjBGNDY2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjk5QTU4QjFFMDk1OEUwMTE5MkM3QzkzQjg3NEZDRjMzIiBzdFJlZjpkb2N1bWVudElEPSJ1dWlk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    String

    Tuesday, March 11, 2014 6:42 AM
  • Kindly check what is issue in my code

    please resolve my issue which is occurring again and again

    Tuesday, March 11, 2014 6:50 AM
  • The watched objects will be null since those values are not assigned at the breakpoint which is currently at "var jsonDealer = JSON.stringify(new_dealer);"

    So, obviously, oDataURI and req will be null.

    Value for jsonDealer will also be set only after you've passed the current line.

    You can check the value of JSON.stringify(new_dealer) instead.

    And can you identify at which line of code did it throw an error? And what's the error message?


    Tuesday, March 11, 2014 7:08 AM
  • this is an error occurred

    Tuesday, March 11, 2014 7:26 AM
  • What's the error message?
    Tuesday, March 11, 2014 8:52 AM
  • Hi Linn,

    This is an error occurred:

    Wednesday, March 12, 2014 7:33 AM
  • Looks like there an error while you're updating the record.

    Can you set the debugger after the following line and check the values of this.status and this.statusText to see more details about the error?

    var errorMsg2 = "UpdateDealerRecord Error: Cannot update dealer record with dealerId = " + recordId + ".";

    Wednesday, March 12, 2014 7:43 AM
  • I checked the value of  "this.status" on debugger that is 404

    Wednesday, March 12, 2014 10:38 AM
  • here is an image of status text or status value

    Now tell me what should I do

    Wednesday, March 12, 2014 10:42 AM
  • Sounds like oDataURI is incorrect.

    I just found an error. There's an extra t in "new_dealertSet" in the following line of code. The correct uri must be "new_dealerSet"

    var oDataURI = Xrm.Page.context.getClientUrl()
    + "/XRMServices/2011/OrganizationData.svc/"
    + "new_dealertSet(guid'" + recordId + "')";

    Thursday, March 13, 2014 2:36 AM
  • Thank you Linn problem resolved.. :)
    Friday, March 14, 2014 10:25 AM
  • Glad to know that it's finally working.

    Please "Mark as Answer" if a post has answered the question.

    • Proposed as answer by Aamir Hijazi Monday, March 17, 2014 4:35 AM
    Monday, March 17, 2014 1:51 AM
  • Hi Linn,

    When i use my script online its working fine but when i create a new solution and then I use this script in new solution I got an error  this.status==400 or this.statustext=="bad request" here is my script

    //Hook this method to the "OnChange" event of "new_status" field
    function OnAttributeChange_Status() {
     
        var dealerId = Xrm.Page.data.entity.getId();
        var statusValue = Xrm.Page.getAttribute("new_propertystatusdetail").getValue();
    alert(dealerId);
     alert(statusValue);
        if (statusValue == 1)
        {
             //retrieve image new_image1.jpg and update dealer record "EntityImage" attribute
            this.UpdateDealerRecordWithNewImage(dealerId, "new_image1");
     
        }
        else if (statusValue == 2)
        {
             //retrieve image new_image2.jpg and update dealer record "EntityImage" attribute
            this.UpdateDealerRecordWithNewImage(dealerId, "new_image2");
     
        }
    }

    function UpdateDealerRecordWithNewImage(dealerId, webResourceName){
     
        this.GetImageWebResource(
            dealerId,
            webResourceName,
            this.UpdateDealerRecord
        );
     
    }

    function GetImageWebResource(dealerId, imageName, successCallback) {
     
        //OData URI to get address information from parent account record
        var oDataURI = Xrm.Page.context.getClientUrl()
            + "/XRMServices/2011/OrganizationData.svc/"
            + "WebResourceSet"
            + "?$filter="
            + "Name eq '" + imageName + "'"
            + "&$select=Name,Content";
     
        //Synchronous XMLHttpRequest to retrieve account record
        var req = new XMLHttpRequest();
        req.open("GET", encodeURI(oDataURI), false);
        req.setRequestHeader("Accept", "application/json");
        req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
        req.onreadystatechange = function () {
            //debugger;
            if (this.readyState == 4 /* complete */) {
                req.onreadystatechange = null; //avoids memory leaks
                if (this.status == 200) {
                    //parse the response string as a JSON object into the successCallback method.
                    successCallback(dealerId, JSON.parse(this.responseText).d);
                }
                else {
                    var errorMsg1 = "GetImageWebResource Error: cannot retrieve image with name = " + imageName + ".";
                    //display a non-blocking alert dialog
                    Xrm.Utility.alertDialog(errorMsg1, function () { });
                }
            }
        };
        req.send();
    }

    function UpdateDealerRecord(recordId, webResource) {
     
        var new_dealer = {};
        new_dealer.EntityImage = webResource.results[0].Content; //byte[] content of the web resource
     
        var jsonDealer = JSON.stringify(new_dealer);
     
        //OData URI
        var oDataURI = Xrm.Page.context.getClientUrl()
            + "/XRMServices/2011/OrganizationData.svc/"
            + "new_dealerSet(guid'" + recordId + "')";
     alert(oDataURI);
        //Synchronous post
        var req = new XMLHttpRequest();
        req.open("POST", encodeURI(oDataURI), false);
        req.setRequestHeader("Accept", "application/json");
        req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
        req.setRequestHeader("X-HTTP-Method", "MERGE");
        req.onreadystatechange = function () {
            //debugger;
            if (this.readyState == 4 /* complete */) {
                req.onreadystatechange = null;
                if (this.status == 204 || this.status == 1223) {
                    //reloads the dealer record
                    window.location.reload(false);
                }
                else {
                    var errorMsg2 = "UpdateDealerRecord Error: Cannot update dealer record with dealerId = " + recordId + ".";
                    //display a non-blocking alert dialog
                    Xrm.Utility.alertDialog(errorMsg2, function () { });
                }
            }
        };
        req.send(jsonDealer);
    }

    Monday, March 17, 2014 6:59 AM
  • At which line of code is the error throwing?

    Were the webresources uploaded with a new name without extension ".jpg"???

    I saw "new_image1" and "new_image2" in the new code.

    Monday, March 17, 2014 4:16 PM
  • Hi Linn,

    I have an issue in getting field of selected lookup record.

    can you help me?

    here is my script please tell me what did i mistake?

    function getCurrentUserFullName()
    {
        var serverUrl;
    var account=Xrm.Page.getAttribute("new_predecessorid").getValue();
    var acc=account[0].id;

    alert(acc);
        if (Xrm.Page.context.getClientUrl !== undefined)
       {
    alert("2");
            serverUrl = Xrm.Page.context.getClientUrl();
        }
    else
        {
            serverUrl = Xrm.Page.context.getServerUrl();
        }
    alert("3");
        var ODataPath = serverUrl + "/XRMServices/2011/OrganizationData.svc";
        var userRequest = new XMLHttpRequest();

    userRequest.open("GET", ODataPath + "/TaskSet((guid'" + account[0].id + "')?$select=ScheduledEnd&$expand=new_task_task", false);     
    userRequest.setRequestHeader("Accept", "application/json");
        userRequest.setRequestHeader("Content-Type", "application/json; charset=utf-8");
        userRequest.send();
        if (userRequest.status === 200)
        {
            var retrievedUser = JSON.parse(userRequest.responseText).d;
            var userFullName = retrievedUser.ScheduledEnd;
            alert(userFullName);
        }
        else  
        {
            return "error";
        }
    }

    Friday, March 21, 2014 12:08 PM
  • I don't see any issue with the code.

    Please post a new thread for your new issue with more details like what error message are you getting at which line of code.

    Monday, March 24, 2014 7:44 AM