0

I have a custom object: License, this has a Lookup for the standard Account (meaning: an account can have many licenses) and they are shwon on the account page with a related list.

On my account page, there is a custom field called: Support_end_date

I want that if anyone is accessing the License page, a pop up will show if the account is not under support. (first part is working, as for SF question: How to compare 2 dates in JavaScript on a Visualforce page?)

My current code than is:

<apex:page StandardController="OptiTex_License__c">
 <script>
window.document.onload = new function(e)
{
  var tempdate = new Date("{!OptiTex_License__c.Account.Support_end_date__c}");

  if(tempdate < Date.now() || tempdate ){
    alert("--- ATTENTION --- \nCustomer is NOT under Support\nor no support end date is given.");
  }
}
</script>

</apex:page>

*Similar code, only that the StandardController is now the customer: License object.

I tried to access the Account field through: OptiTex_License__c.Account.Support_end_date__c - but that gave me a compilation error.

So I ask: How and where in my code to I query (SOQL maybe?) or simply have access to the values from my parent.

5

Your code is almost correct. The error is the way you are trying to access the support date.

Where you are referencing the Account relationship you actually trying to access a custom field via a custom relationship you have created.

So you need to use the __r notation:

OptiTex_License__c.Account__r.Support_end_date__c

If your relationship was a customfield called MyAccountLink you would reference the actual Id of the relationship using MyAccountLink__c but to access information within that object MyAccountLink__r.MyAccountCustomField__c

For more information please read this page on the relationship notation that Apex and SOQL use: http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_soql_relationships.htm

This should give you:

<apex:page StandardController="OptiTex_License__c">
 <script>
window.document.onload = new function(e)
{
  var tempdate = new Date("{!OptiTex_License__c.Account__r.Support_end_date__c}");

  if(tempdate < Date.now() || tempdate ){
    alert("--- ATTENTION --- \nCustomer is NOT under Support\nor no support end date is given.");
  }
}
</script>

</apex:page>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.