• Jonny Simmo
  • NEWBIE
  • 50 Points
  • Member since 2014
  • Salesforce Developer
  • Simplyhealth

  • Chatter
    Feed
  • 0
    Best Answers
  • 2
    Likes Received
  • 0
    Likes Given
  • 16
    Questions
  • 14
    Replies
Hello there,

We have recently noticed that the Quote PDF Preview is not working within the Internet Explorer browser, yet works fine within Google Chrome? Has anybody else noticed this issue, is it a known Salesforce issue.

Basically when we click 'Create Quote' button on the Quote page layout then choose a template, then click 'Create PDF' is does not render in the preview pop up, instead we get the error message attached. You can save the quote but it is usually corrupted. As I say this only happens within Internet Explorer, we are on version 11.0.9600. This was working fine a couple of months ago?

Quote preview issue

Any ideas on how to resolve this?
 
Hello there,

Interested in peoples thoughts on whether it is essential for a company with Salesforce to always have a Salesforce dedicated team.

My company have recently disbanded thier Salesforce team and placed the members in various project teams, the theory being that each project team will have a Salesforce skill set. However, it does leave the question open of who is responsible for managing and monitoring the Saleforce application as a whole?

Anybody had a similar experience?
Any thoughts?

 
Hello,

We have an issue where if we are logged into two different sandboxes within the same browser, when you log into the second sandbox as soon as you navigate or refresh in the previous browser tabs that were logged into the first sandbox they will switch to the second sandbox?
Hopefully that makes sense, so basically you can only be logged into one sandbox within the browser.

This is the same if using IE or Chrome.

However, we have two orgs and I have noticed that one of the orgs does NOT behave like this. So the question is how is this working differently, is there a setting that can be configured for this beahviour within the org?

Many thanks

 
Hello there,

I am having trouble using a controller extension, I don't seem to be able to get the record Id from the visualforce page.

I keep getting the error:
The name can only contain underscores and alphanumeric characters. It must begin with a letter and be unique, and must not include spaces, end with an underscore, or contain two consecutive underscores.

What I don't understand is that my VF Page is one word and does not have underscores or spaces.

Here is the VF Page:

<apex:page standardController="Account" recordSetVar="accounts" extensions="AccountActionCodes">
    {!$CurrentPage.parameters.Id}
     <apex:pageBlock title="Viewing Accounts">
        <apex:form id="theForm">
            <apex:pageBlockSection >
                <apex:dataList value="{!AccountActionCodes}" var="acct" type="1">
                    {!acct.name}
                </apex:dataList>
            </apex:pageBlockSection>
            <apex:panelGrid columns="2">
                <apex:commandLink action="{!previous}">Previous</apex:commandlink>
                <apex:commandLink action="{!next}">Next</apex:commandlink>
            </apex:panelGrid>
        </apex:form>
    </apex:pageBlock>
</apex:page>

And here is the controller extension:

public with sharing class AccountActionCodes {
    private final Account acct;  
    //create a private local handle for the standard controller
    private ApexPages.StandardSetController ctrl;


    // The constructor passes in the standard controller defined
    // in the markup below
    public AccountActionCodes(ApexPages.StandardSetController ctrlParam) {
        //assign from the passed in controller
        ctrl = ctrlParam;
    }    
    
    public List<Account> getAccountActionCodes() {
        Account theAccount = (Account)ctrl.getRecord();
        Id accountId = ApexPages.CurrentPage().getparameters().get('id');
        System.debug('Account id = ' + accountId);
    
        List<Account> accList = [SELECT Name FROM Account WHERE Id = :accountId]; 
         
        return accList;
    }
      
}

If I hardcode an Account Id in the SELECT query it works fine, but when it needs to get the Account Id from the VF Page it always sends the error message.

Any help appreciated...

 
Hello,

I am implementing Live Agent chat. In the post chat page I can access a few values using the following syntax in a VisualForce page, for example:

<apex:outputText value="{!$CurrentPage.parameters.chatKey}" />

This would display the Chat Key.

I can access the Chat Key value in the Apex controller with the following code:

liveAgentChatKey = ApexPages.currentPage().getParameters().get('chatKey');

However another value I can display on the page looks like an array or list, it's called ChatDetails and displays like this on the page:

{"prechatDetails":[{"label":"CaseType",
                    "value":"General Query",
                    "entityMaps":[],
                    "transcriptFields":[],
                    "displayToAgent":"true",
                    "doKnowledgeSearch":false},
                   {"label":"CaseSubject",
                    "value":"Webchat Case",
                    "entityMaps":[],
                    "transcriptFields":[],
                    "displayToAgent":"true",
                    "doKnowledgeSearch":false},
                   {"label":"CaseStatus",
                    "value":"New",
                    "entityMaps":[],
                    "transcriptFields":[],
                    "displayToAgent":"true",
                    "doKnowledgeSearch":false},
                   {"label":"FullName",
                    "value":"tytyty",
                    "entityMaps":[],
                    "transcriptFields":[],
                    "displayToAgent":"true",
                    "doKnowledgeSearch":false},
                   {"label":"CaseOrigin",
                    "value":"Webchat",
                    "entityMaps":[],
                    "transcriptFields":[],
                    "displayToAgent":"true",
                    "doKnowledgeSearch":false},
                   {"label":"Policy_Type",
                    "value":"Cashplan",
                    "entityMaps":[],
                    "transcriptFields":[],
                    "displayToAgent":"true",
                    "doKnowledgeSearch":false},
                   {"label":"EmailId",
                    "value":"a1Pg00000011qsWEAQ",
                    "entityMaps":[],
                    "transcriptFields":[],
                    "displayToAgent":"true",
                    "doKnowledgeSearch":false},
                   {"label":"CaseRT",
                    "value":"012b0000000DhUIAA0",
                    "entityMaps":[],
                    "transcriptFields":[],
                    "displayToAgent":"true",
                    "doKnowledgeSearch":false}],
                   "geoLocation":{"countryCode":"GB",
                                  "longitude":-0.1300048828125,
                                  "countryName":"United Kingdom",
                                  "organization":"BT",
                                  "latitude":51.5},
                   "visitorId":"ad376c22-49d4-455c-921c-803f7b805d6d",
                   "customDetails":[],
                   "agent":{"userId":"005b0000001Ps0u",
                            "agentName":"Jon at Simplyhealth",
                            "transfer":0}}

Question is, if I was to bring this into a variable in the Apex controller, how can I access the different values?

I would access it like this in Apex, but I don't know what it is?
ApexPages.currentPage().getParameters().get('chatDetails');

What type of variable would I put it into?
And how would I get at the values?

Any help appreciated.




 

Is it possible to save a custom value from within the Live Agent chat to the Transcript object?

I can add a new field to the Transcript object. But how would I save a value to it during the chat so it is included when the Transcript record is created after the chat?

 
Hello,

I was wondering if it is possible to put logic around liveagent.prechat.findorcreate tags so they only run when required.

For example, in my pre-chat form I search for an Account object and display that Account in the Agents Salesforce console if found.

If no Account is found I want to create a new Case and have that display in the Agents console.

My problem is it always creates the Case and displays it in the Agents console. I want to be able to control when this happens as I don't always want a case to be created and displayed.

So I have the tags to search for the Account create the Case in my pre-chat form, is there a way to control when they run? They seem to run what ever logic I try to put in.

Is there a way of doing this?

Many thanks

Jon

 
Hello,

Within my pre-chat form I am trying to find an Account using the isExactMatch functionality.

This is the code:

<!-- Map the values used to find the Account -->
<input type="hidden" name="liveagent.prechat.findorcreate.map:Account" value="LastName,lastName;billingpostalcode,postcode;personbirthdate,dob" />
           
<!-- Search for the Account using the set values -->
<input type="hidden" name="liveagent.prechat.findorcreate.map.doFind:Account" value="LastName,true;billingpostalcode,true;personbirthdate,true;" />
           
<!-- Ensure the values are an exact match -->
<input type="hidden" name="liveagent.prechat.findorcreate.map.isExactMatch:Account" value="LastName,true;billingpostalcode,true;personbirthdate,true;" />

My understanding when using isExactMatch is that by setting all three values to true, a record will only be returned if all three values match?

However, the Account is popping in the Salesforce Console even when only one of the values is an exact match?

Any ideas?


 
Hello all,

I think i know the answer to this question but will ask anyway in case somebody has worked out how to do this.

Within Live Agent it is possible to have a 'Save Chat' button on your customers chat window that allows them to save the transcript as a text file to thier machine. Does anybody know if it is possible to determine how many of your customers have used the 'Save Chat' button?

There does not appear to be an Event Status for this so it is not recorded as an event as far as I can tell. So is there any other way to determine this?

Thanks

Jon
Hello there,

Is it possible to create a new Page Layout for either the Live Agent Configuration or Chat button objects?

It doesn't look like there is an option to create Page Layouts on these objects. I wanted to create a new Page Layout that allowed certain users to amend restricted fields on these objects but it doesn't look possible.

Any ideas?
 
Hello there,

Is it possible to close the current Visualforce window from the apex controller?

I have a submit button which when clicked uses the action="{!submit}" to call a Submit method in my controller, this submit method does some validation and if successful writes a record to the database, at this point I want to close the window from the controller. Is this possible?

I don't want to use the oncomplete("") option for the button to close the window as if the validation fails in the submit method I want to keep the window open.

Many thanks

 
Hello all,

I have been struggling to access the values of VF apex component values within a Javascript function, I cant understand why it is not working? I have been trying this for hours and have read various blogs on the web but the usual methods which I keep reading do not work?

Surely this is an easy thing to do, can you see what I am doing wrong?

// An example of the type of grid I have...
<apex:form id="form1">
  <apex:panelGrid columns="1" id="grid1" style="margin-top:1em;">
     <apex:inputTextarea id="inputText5" value="{!inputText5}" cols="25" rows="6"/>
     <apex:commandButton action="{!submit}" value="Submit" onClick="Testval();"/>
   </apex:panelGrid>
</apex:form>

// An example of the Javascript and how I am accessing it...
function Testval() {
   alert('Inside Testval() method');
   var inputText5 = document.getElementById('{!$Component.form1.grid1.inputText5}').value;
   alert("inputText5 = " + inputText5);



 
Hi,

I'm hoping this is an easy thing to do?

Within my Visualforce page I have a radio button, and I want to reference the values of the radio button within a JavaScript function within the same page. How can I do this?

I am not picking any of the Radio Button options by default so when the user clicks Submit I want to check that they have selected at least one option.

Many thanks
 
Hello there,

I have a Visualforce page in which I am using some CurrentPage.parameters, I understand how to use and reference these within the Visualforce page, but if I want to pass the value back to a variable in my Apex Controller, how do I do that?

I basically want to store a CurrentPage.parameters value in the database, so I want to get it from the VF page back to the controller so I can include it in a record I write to the database.

Any help much appreciated.
 
Hi there,

When you create a Post Chat page for Live Agent, can you reference standard objects in the visualforce code?

Thanks
Hello,

I have successfully set up Live Agent and have it working.

I then added a pre chat page with input fields successfully.

However when I add a post chat page, it works until I try adding a standard controller to the visualforce page, as soon as I put in any code that references a standard object I get the error page below when the post chat page should appear:

User-added image
Any ideas why I am getting this issue?

I would like to add some inoput fields so I can store data from a post chat survey.

Thanks

Jon
 
Hello there,

Interested in peoples thoughts on whether it is essential for a company with Salesforce to always have a Salesforce dedicated team.

My company have recently disbanded thier Salesforce team and placed the members in various project teams, the theory being that each project team will have a Salesforce skill set. However, it does leave the question open of who is responsible for managing and monitoring the Saleforce application as a whole?

Anybody had a similar experience?
Any thoughts?

 
Hello there,

We have recently noticed that the Quote PDF Preview is not working within the Internet Explorer browser, yet works fine within Google Chrome? Has anybody else noticed this issue, is it a known Salesforce issue.

Basically when we click 'Create Quote' button on the Quote page layout then choose a template, then click 'Create PDF' is does not render in the preview pop up, instead we get the error message attached. You can save the quote but it is usually corrupted. As I say this only happens within Internet Explorer, we are on version 11.0.9600. This was working fine a couple of months ago?

Quote preview issue

Any ideas on how to resolve this?
 
Hello there,

Interested in peoples thoughts on whether it is essential for a company with Salesforce to always have a Salesforce dedicated team.

My company have recently disbanded thier Salesforce team and placed the members in various project teams, the theory being that each project team will have a Salesforce skill set. However, it does leave the question open of who is responsible for managing and monitoring the Saleforce application as a whole?

Anybody had a similar experience?
Any thoughts?

 
Hello,

We have an issue where if we are logged into two different sandboxes within the same browser, when you log into the second sandbox as soon as you navigate or refresh in the previous browser tabs that were logged into the first sandbox they will switch to the second sandbox?
Hopefully that makes sense, so basically you can only be logged into one sandbox within the browser.

This is the same if using IE or Chrome.

However, we have two orgs and I have noticed that one of the orgs does NOT behave like this. So the question is how is this working differently, is there a setting that can be configured for this beahviour within the org?

Many thanks

 
Hello there,

I am having trouble using a controller extension, I don't seem to be able to get the record Id from the visualforce page.

I keep getting the error:
The name can only contain underscores and alphanumeric characters. It must begin with a letter and be unique, and must not include spaces, end with an underscore, or contain two consecutive underscores.

What I don't understand is that my VF Page is one word and does not have underscores or spaces.

Here is the VF Page:

<apex:page standardController="Account" recordSetVar="accounts" extensions="AccountActionCodes">
    {!$CurrentPage.parameters.Id}
     <apex:pageBlock title="Viewing Accounts">
        <apex:form id="theForm">
            <apex:pageBlockSection >
                <apex:dataList value="{!AccountActionCodes}" var="acct" type="1">
                    {!acct.name}
                </apex:dataList>
            </apex:pageBlockSection>
            <apex:panelGrid columns="2">
                <apex:commandLink action="{!previous}">Previous</apex:commandlink>
                <apex:commandLink action="{!next}">Next</apex:commandlink>
            </apex:panelGrid>
        </apex:form>
    </apex:pageBlock>
</apex:page>

And here is the controller extension:

public with sharing class AccountActionCodes {
    private final Account acct;  
    //create a private local handle for the standard controller
    private ApexPages.StandardSetController ctrl;


    // The constructor passes in the standard controller defined
    // in the markup below
    public AccountActionCodes(ApexPages.StandardSetController ctrlParam) {
        //assign from the passed in controller
        ctrl = ctrlParam;
    }    
    
    public List<Account> getAccountActionCodes() {
        Account theAccount = (Account)ctrl.getRecord();
        Id accountId = ApexPages.CurrentPage().getparameters().get('id');
        System.debug('Account id = ' + accountId);
    
        List<Account> accList = [SELECT Name FROM Account WHERE Id = :accountId]; 
         
        return accList;
    }
      
}

If I hardcode an Account Id in the SELECT query it works fine, but when it needs to get the Account Id from the VF Page it always sends the error message.

Any help appreciated...

 
Hi,

While creating a Visualforce page with Standard Controller,I'm getting this ERROR:

" Visualforce ErrorHelp for this Page
The name can only contain underscores and alphanumeric characters. It must begin with a letter and be unique, and must not include spaces, end with an underscore, or contain two consecutive underscores. "
 please ,can anyone help me to troubleshoot this error.

Thanks,
Hima Bindu.

Is it possible to save a custom value from within the Live Agent chat to the Transcript object?

I can add a new field to the Transcript object. But how would I save a value to it during the chat so it is included when the Transcript record is created after the chat?

 
Hello all,

I think i know the answer to this question but will ask anyway in case somebody has worked out how to do this.

Within Live Agent it is possible to have a 'Save Chat' button on your customers chat window that allows them to save the transcript as a text file to thier machine. Does anybody know if it is possible to determine how many of your customers have used the 'Save Chat' button?

There does not appear to be an Event Status for this so it is not recorded as an event as far as I can tell. So is there any other way to determine this?

Thanks

Jon
I am using the pre-chat api with live agent. I can't get the api to populate a new record if it doesn't find a matching record

I am following the instructions in chapter 5 of the live agent developer's guide: http://www.salesforce.com/us/developer/docs/live_agent_dev/live_agent_dev_guide.pdf

Has anyone been able to get this to work correctly?  Any suggestions are welcome.  My code is below
<apex:page showHeader="false"> 
<!-- This script takes the endpoint URL parameter passed from the deployment 
  page and makes it the action for the form -->
<script type="text/javascript">
     (function() { 
     function handlePageLoad() {
       var endpointMatcher = new RegExp("[\\?\\&]endpoint=([^&#]*)");
       document.getElementById('prechatForm').setAttribute('action',
       decodeURIComponent(endpointMatcher.exec(document.location.search)[1]));
     } if (window.addEventListener) {
              window.addEventListener('load', handlePageLoad, false);
   } else { window.attachEvent('onload', handlePageLoad, false);
              }})(); 
</script>
<form method='post' id='prechatForm' class="elegant-aero"> 

<h1>Welcome! <span>Before we begin, please enter the information below</span></h1>
      First name: <input type='text' name='liveagent.prechat:FirstNameDetail'
        id='customField1' /><br />
      Last name: <input type='text' name='liveagent.prechat:LastNameDetail'
        id='customField2' /><br />
      Email address: <input type='text' name='liveagent.prechat:EmailDetail'
        id='customField3' /><br />
      <!-- Department: <select name="liveagent.prechat.buttons">
           Values are LiveChatButton IDs. 
          <option value="573a00000000001">Customer Service</option> 
          <option value="573a00000000002">Technical Support</option> 
          <option value="573a00000000001,573a00000000002">Customer Service if online, 
          otherwise Technical Support</option> 
      </select> --><br /> 

      <!-- Map liveagent.prechat:FirstNameDetail and liveagent.prechat:LastNameDetail
        custom detail to Lead's field FirstName and LastName -->
      <input type="hidden" name="liveagent.prechat.findorcreate.map:Lead"
        value="FirstName,FirstNameDetail;LastName,LastNameDetail;Email,EmailDetail" />
      
      <!-- Specify query for to match lead email address to existing record -->
      <input type="hidden" name="liveagent.prechat.findorcreate.map.doFind:Lead"
        value="Email,true" />

      <!-- Return results only if there is an exact match of email address-->
      <input type="hidden" name="liveagent.prechat.findorcreate.map.isExactMatch:Lead"
        value="Email,true" />

      <!-- If no match in search, create a new Lead record with the mapped value
        of firstname and last name and email-->
      <input type="hidden" name="liveagent.prechat.findorcreate.map.doCreate:Lead"
        value="FirstName,true;" />

      <!-- If a new Lead record has been created, open it as a subtab -->
      <input type="hidden" name="liveagent.prechat.findorcreate.showOnCreate:Lead"
        value="true" />

      <!-- Save the Lead id to transcript's field LeadId -->
      <input type="hidden" name="liveagent.prechat.findorcreate.saveToTranscript:Lead"
        value="LeadId" />
        
      <!-- save the name and email address to the transcript for insurance -->
      <input type="hidden" name="liveagent.prechat.save:email"  value="Email__c" />  

      <input type='submit' value='Request Chat' id='prechat_submit'/> 
<style type="text/css"> 
/* Elegant Aero */
.elegant-aero {
    margin-left:auto;
    margin-right:auto;
    font: 24px "Open Sans",sans-serif;
    max-width: 500px;
    background: #99cc66;
    padding: 20px 20px 20px 20px;
    font: 12px Arial, Helvetica, sans-serif;
    color: #fff;
}
.elegant-aero h1 {
    font: 24px "Open Sans",sans-serif;
    padding: 10px 10px 10px 20px;
    display: block;
    background: #339933;
    border-bottom: 1px solid #B8DDFF;
    margin: -20px -20px 15px;
    color: #fff;
}
.elegant-aero h1>span {
    display: block;
    font-size: 11px;
}

.elegant-aero label>span {
    float: left;
    margin-top: 10px;
    color: #fff;
}
.elegant-aero label {
    display: block;
    margin: 0px 0px 5px;
}
.elegant-aero label>span {
    float: left;
    width: 20%;
    text-align: right;
    padding-right: 15px;
    margin-top: 10px;
    font-weight: bold;
}
.elegant-aero input[type="text"], .elegant-aero input[type="email"], .elegant-aero textarea, .elegant-aero select {
    color: #888;
    width: 70%;
    padding: 0px 0px 0px 5px;
    border: 1px solid #C5E2FF;
    background: #FBFBFB;
    outline: 0;
    -webkit-box-shadow:inset 0px 1px 6px #ECF3F5;
    box-shadow: inset 0px 1px 6px #ECF3F5;
    font: 200 12px/25px Arial, Helvetica, sans-serif;
    height: 30px;
    line-height:15px;
    margin: 2px 6px 16px 0px;
}
.elegant-aero textarea{
    height:100px;
    padding: 5px 0px 0px 5px;
    width: 70%;
}
.elegant-aero select {
    background: #fbfbfb url('down-arrow.png') no-repeat right;
    background: #fbfbfb url('down-arrow.png') no-repeat right;
   appearance:none;
    -webkit-appearance:none;
   -moz-appearance: none;
    text-indent: 0.01px;
    text-overflow: '';
    width: 70%;
}
.elegant-aero .button{
    padding: 10px 30px 10px 30px;
    background: #000;
    border: none;
    color: #FFF;
    box-shadow: 1px 1px 1px #4C6E91;
    -webkit-box-shadow: 1px 1px 1px #4C6E91;
    -moz-box-shadow: 1px 1px 1px #4C6E91;
    text-shadow: 1px 1px 1px #5079A3;
   
}
.elegant-aero .button:hover{
    background: #99cc66;
}
</style> 
</form> 
</apex:page>


 
Hello there,

Is it possible to create a new Page Layout for either the Live Agent Configuration or Chat button objects?

It doesn't look like there is an option to create Page Layouts on these objects. I wanted to create a new Page Layout that allowed certain users to amend restricted fields on these objects but it doesn't look possible.

Any ideas?
 
Hello there,

Is it possible to close the current Visualforce window from the apex controller?

I have a submit button which when clicked uses the action="{!submit}" to call a Submit method in my controller, this submit method does some validation and if successful writes a record to the database, at this point I want to close the window from the controller. Is this possible?

I don't want to use the oncomplete("") option for the button to close the window as if the validation fails in the submit method I want to keep the window open.

Many thanks

 
Hello all,

I have been struggling to access the values of VF apex component values within a Javascript function, I cant understand why it is not working? I have been trying this for hours and have read various blogs on the web but the usual methods which I keep reading do not work?

Surely this is an easy thing to do, can you see what I am doing wrong?

// An example of the type of grid I have...
<apex:form id="form1">
  <apex:panelGrid columns="1" id="grid1" style="margin-top:1em;">
     <apex:inputTextarea id="inputText5" value="{!inputText5}" cols="25" rows="6"/>
     <apex:commandButton action="{!submit}" value="Submit" onClick="Testval();"/>
   </apex:panelGrid>
</apex:form>

// An example of the Javascript and how I am accessing it...
function Testval() {
   alert('Inside Testval() method');
   var inputText5 = document.getElementById('{!$Component.form1.grid1.inputText5}').value;
   alert("inputText5 = " + inputText5);



 
Hi,

I'm hoping this is an easy thing to do?

Within my Visualforce page I have a radio button, and I want to reference the values of the radio button within a JavaScript function within the same page. How can I do this?

I am not picking any of the Radio Button options by default so when the user clicks Submit I want to check that they have selected at least one option.

Many thanks
 
Hello there,

I have a Visualforce page in which I am using some CurrentPage.parameters, I understand how to use and reference these within the Visualforce page, but if I want to pass the value back to a variable in my Apex Controller, how do I do that?

I basically want to store a CurrentPage.parameters value in the database, so I want to get it from the VF page back to the controller so I can include it in a record I write to the database.

Any help much appreciated.