This topic contains 2 replies, has 0 voices, and was last updated by Olivier Gagnon NC 5 years, 11 months ago.

  • Author
    Posts
  • #21253 Score: 0

    david.lyle
    • Contributions: 0
    • Level 1

    I'm editing a Suitescript 1.0 Suitelet so that it displays the customer's recent transactions, which I am able to successfully test in my browser's javascript console. But in the Suitelet the nlapiSearchRecord's search results are not displaying. Also.."Debug 1" and "Debug 2" are displayed, but "Debug 3" is not displayed. Can anyone help me troubleshoot the problem?

    Code:
    function displaySuccessPage(request, response)
    {
    var customerID = getRequestParameter(request, "customerID", "Customer ID");

    response.write("Your order has been submitted successfully. Please review the customer's recent transactions below: <br/><br/>");
    response.write("Debug 1<br/>");
    var filters = new Array();
    filters[0] = new nlobjSearchFilter('internalid', 'customer', 'is', 11409);
    var columns = [];
    columns.push(new nlobjSearchColumn('internalid'));
    columns.push(new nlobjSearchColumn('trandate').setSort(true));
    columns.push(new nlobjSearchColumn('status'));
    var searchResult = nlapiSearchRecord('transaction', null , filters , columns);
    response.write("Debug 2<br/>");
    response.write(searchResult[0].rawValues[0].value);
    response.write("Debug 3<br/>");

    }
    I thought originally that it may have something to do with nlapiSearchRecord making a call to the server..but if true doesn't that mean that "Debug 2" shouldn't display?

    Thanks for any help
    This is a cached copy. Click here to see the original post.

  • #21254 Score: 0

    JohnCCole
    • Contributions: 0
    • Level 1

    Check if the result array is null and accessing rawValues I don't think is possible server side. Also consider using mainline as a filter or you're going to get several rows in the array for the same transaction..unless of-course that's what you want.

    Code:
    if(searchResult == null){
    response.write('No results<br/>');
    else{
    response.write('Found something<br/>');
    response.write(searchResult[0].getValue('trandate'))
    }


    david.lyle replied on 05/17/2018, 10:46 AM: Awesome, yes you’re right I shouldn’t be using “rawValues” which I guess is a clientSide method. Good call on the mainline filter. Much appreciated for your help!

  • #21255 Score: 0

    Olivier Gagnon NC
    • Contributions: 0
    • Level 1

    Under what Role is your suitelet executing? It may not have permissions to fetch the search results.

You must be logged in to reply to this topic.