• Hemant_Soni
  • SMARTIE
  • 1288 Points
  • Member since 2015
  • Developer
  • Appronex

  • Chatter
    Feed
  • 39
    Best Answers
  • 0
    Likes Received
  • 1
    Likes Given
  • 5
    Questions
  • 283
    Replies
After adding new components to the package should I repackage it to a new version or will the new components reflect in older versions of the pacakage?
I have a Custom (Managed) object called Individual Email Result (et4ae5__IndividualEmailResult__c) which contains a Lookup field to a Contact record (et4ae5__Contact__c) and I want to create a schedulable Apex Class to execute daily and update all of the related Contact records (with specific data from the fields of the Individual Email Result record) when it detects that a particular Individual Email Result checkbox (MC_ANY_Sent__c) equals 'true'.

Here is the code that I have so far: 
public class MCANYSent implements Schedulable, Database.Batchable<sObject>{

    public void execute( SchedulableContext context )
    {
        Database.executeBatch( this );
    }

    public Database.QueryLocator start( Database.BatchableContext context )
    {
        return Database.getQueryLocator
        (   'SELECT Id, MC_ANY_Sent__c, et4ae5__DateSent__c, Name, et4ae5__FromName__c, et4ae5__FromAddress__c, et4ae5__Contact__c'
        +   'FROM et4ae5__IndividualEmailResult__c'
        +   'WHERE MC_ANY_Sent__c = true'
        );
    }

    public void execute( Database.BatchableContext context, List<et4ae5__IndividualEmailResult__c> individualemailresults )
    {
        for ( et4ae5__IndividualEmailResult__c ier : individualemailresults )
        {
            ier.et4ae5__Contact__r.MC_Date_of_Last_ANY_Sent__c = ier.et4ae5__DateSent__c;
            ier.et4ae5__Contact__r.MC_Last_Email_Title__c = ier.Name;
            ier.et4ae5__Contact__r.MC_Last_Email_Sender__c = ier.et4ae5__FromName__c + '(' + ier.et4ae5__FromAddress__c + ')';
        }
        update individualemailresults.et4ae5__Contact__c;
    }

    public void finish( Database.BatchableContext context )
    {
        // nothing to do here
    }
}
However, when I try to save this, I am getting the following error;
Error: Compile Error: Variable does not exist: et4ae5__Contact__c at line 25 column 39

Line 25 is the 'update individualemailresults.et4ae5__Contact__c;' line.

I don't need to update the Individual Email Result record, as it isn't being changed, so I'm only looking to update the Contact record in the Lookup field (et4ae5__Contact__c), which is the default Salesforce Contact object, where all of the changes have been made.

Any ideas? 
Will someone help with a test class for this controller? 
public with sharing class Pdf_Permit_Controller 
{
    public Permit__c permit {get; set;}
    public ApexPages.StandardController controller {get;set;}
    public String permitId {get;set;}
	 public List<Permit_Fees__c> allfees;
    
    public Pdf_Permit_Controller(ApexPages.StandardController controller) 
    {
        permitId = ApexPages.currentPage().getParameters().get('id');// controller.getId();
		//System.debug(permitId);
		permit = (Permit__c)controller.getRecord();

    	permit = [Select ID,name, customer__c from Permit__c where id=:permitId LIMIT 1];

 		allfees = new  List<Permit_Fees__c>();
    	Permit_Fees__c feelist = new Permit_Fees__c();
 		feelist.Permit__c = permit.Permit_Fees__c;
        allfees.add(feelist);
}
}
thank you,
P
 
Hi,

Can someone help me change the font size for this page block title?
<div style="float: left; width: 100%;"> 
<apex:pageBlock title="Household Members">
   <apex:pageBlockTable value="{!Intake__c.Household_Members_CCA__r}" var="HM">
   <apex:column >
   <apex:facet name="header">Name</apex:facet>
      <apex:outputField value="{!HM.Household_Member_Name__c}"/>
      </apex:column>
      <apex:column >
   <apex:facet name="header">Relationship</apex:facet>
      <apex:outputField value="{!HM.Relationship_to_Head_of_Household__c}"/>
      </apex:column>
     <apex:column >
   <apex:facet name="header">Birthdate</apex:facet>
    <apex:outputField value="{!HM.Birthdate__c}"/>   
      </apex:column>
        <apex:column >
   <apex:facet name="header">Gender</apex:facet>
    <apex:outputField value="{!HM.Gender__c}"/>   
      </apex:column>
       <apex:column >
      <apex:facet name="header">Race and Ethnicity</apex:facet>
    <apex:outputField value="{!HM.Race__c}"/>,&nbsp; <apex:outputField value="{!HM.Ethnicity__c}"/>   
      </apex:column>
       </apex:pageBlockTable>
</apex:pageBlock>
</div>

 
Hi Team,

I'm reviewing an Apex Batch job that failed overnight. I would like to update the email address that it sends in case of failure. I cannot figure out where this is built, but I've found this code in the Apex Class. There is a function called 'Label.BatchJobMonitors.split(';')' but I cannot find the definition. The 'toAddresses' is build based on that.
Any help?
Thank you
String status = (String.isEmpty(job.Status)) ? '' : job.Status;
          status = status.toLowerCase();
          ApexClass ac = [SELECT Id, Name FROM ApexClass WHERE Id =: job.ApexClassID];
      String className = ac.Name;
          Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
          String[] toAddresses = Label.BatchJobMonitors.split(';');
          mail.setToAddresses(toAddresses);
          mail.setSubject(subject);

 
Hi,

I am beginner in lightning.
Trying to implement DuelListBox and getting formatting issues with same.
Here is the code I am using:
DuelListComponent.cmp:
<aura:component implements="flexipage:availableForAllPageTypes">
    <aura:attribute name="listOptions" type="List" default="[]"/>
    <aura:attribute name="defaultOptions" type="List" default="[]"/>
    <aura:attribute name="requiredOptions" type="List" default="[]"/>
    <aura:handler name="init" value="{! this }" action="{! c.initialize }"/>
    <lightning:dualListbox aura:id="selectOptions" name="Select Options"  label= "Select Options"
                           sourceLabel="Available Options"
                           selectedLabel="Selected Options"
                           options="{! v.listOptions }"
                           value="{! v.defaultOptions }"
                           requiredOptions="{! v.requiredOptions }"
                           onchange="{! c.handleChange }"/>
</aura:component>

DuelListController.js​​​​​​​
/** Client-Side Controller **/
({
    initialize: function (component, event, helper) {
        var options = [
            { value: "1", label: "Option 1" },
            { value: "2", label: "Option 2" },
            { value: "3", label: "Option 3" },
            { value: "4", label: "Option 4" },
            { value: "5", label: "Option 5" },
            { value: "6", label: "Option 6" },
            { value: "7", label: "Option 7" },
            { value: "8", label: "Option 8" },
        ];
        var values = ["7", "2", "3"];
        var required = ["2", "7"];
        component.set("v.listOptions", options);
        component.set("v.defaultOptions", values);
        component.set("v.requiredOptions", required);
    },
    handleChange: function (cmp, event) {
        // Get the list of the "value" attribute on all the selected options
        var selectedOptionsList = event.getParam("value");
        alert("Options selected: '" + selectedOptionsList + "'");
    }
})

and here is the output I am getting:

User-added imageCould you please help me with the same?

Regards,
Prasad
Hello everyone!

I've been thinking about how to prevent account creation by using profile and recordtype. In the object Account I have two recordtypes: "Example 1" and "Example 2". In my ORG there are 2 profiles such as "System Administrator" and also "Customer Service" .What I need to do is basically:

-  If I'm logged in with profile  "System Administrator" or "Customer Service" I'm allowed to create an account "Example 1" or "Example 2"(recordtype) on Salesforce. 

Thank you guys in advance. Have a good one. 
I've tried to complete the Trailhead for Apex test classes however I've not been able to apply the knowledge to our specific scenario. For our Salesforce Community, external users will have access to some or all of our marketing toolkits. This access is dependent on whether they have a certain field checked as true in their profile (e.g. BiRetix_Toolkit__c).

Apex class to test:

public class FileRepositoryController {
    @AuraEnabled
    
       public static List<Contact> getItems() {
        List<Contact> TK = [SELECT BiRetix_Toolkit__c, AesthetiCare_Cleansers_Toolkit__c, 
                            EDS_Toolkit__c, Endocare_CELLPRO_Toolkit__c, Endocare_Concentrates_Toolkit__c,
                            Endocare_Growth_Factor_Facials__c, Endocare_Tensage_Toolkit__c, Endocare_C_Ferulic_Toolkit__c,
                            ENDYMED_Toolkit__c, G_T_Peels_Toolkit__c, Heliocare_360_Toolkit__c, NeoRettin_Toolkit__c, 
                            NeoRetin_Rejuvemax_Toolkit__c, Retriderm_Toolkit__c FROM Contact WHERE AccountId IN 
                            (SELECT AccountId FROM User WHERE username=:UserInfo.getUsername())];
        return TK;
    }
}

Would someone be able to assist in helping me write a correct test class please?
this is my code 

trigger trigb23 on position1__c (after update) {
     list<candidate1__c> clist=new list<candidate1__c>();
   
    for(position1__c p:trigger.new){
        
            
        list<candidate1__c> cnd=[select id,name,position1__c from candidate1__c where position1__c=:p.id];
        
        candidate1__c c=new candidate1__c();
        c.position1__c=p.Id;
        c.email__c=p.email__c;
        clist.add(c);

    }
    update clist;
    
}
The following part of a trigger is giving error " execution of AfterInsert caused by: System.SObjectException: Invalid field expr0 for AggregateResult ()".  Do I need a way of passing the decimal value into the expr0?

for(AggregateResult q : [select Project__c, sum(Amount) AmountSum1, sum(npe01__Amount_Outstanding__c)  AmountSum2 from Opportunity 
where (StageName = 'Complete - Won' or StageName = 'Sign Contract' or StageName = 'Funding approved') and Project__c != null and Project__c IN :ProjectIds group by Project__c]){

    decimal value=((decimal)q.get('AmountSum1')-(decimal)q.get('AmountSum2'));
      ProjectMap.put((Id)q.get('Project__c'),(Double)q.get('expr0'));
Hi Team,

In visualforce page i have created one pageblock section. Is it possible to hide this pageblock in lightning view.


please let me know anyone.

Thanks.
Lakshmi
 
Hello All!!  I need some guidence with a trigger or class.  I'm new to developing in general so I was hoping that some of the fantastic experts here could help me out.  Here's the deal:

I have a custom object called 'SIC Codes' that has a code as the Name and 4 fields that are simply a 'yes' or 'no' text field.  So a record would look like this:

Name: 1234
Description__c = 'doctors'
WC__c = yes
BOP__c no
GA__c = yes
GL__c = no

Now, on the Lead record I have a description text field that will match a SIC CODE record's description.  So a lead may will have a description field that will say 'doctors'.    The lead also has 4 text fields that match the fields above on the custom object's record.   

What I am trying to do is say "If a lead comes in with a description that matches a description on the custom object, copy the values of the 4 custom fields to the lead record with those same custom fields.  The result would be that the lead's field values for WC__c, BOP__c, ect... will match the 'yes' or 'no' from the record on the custom object that matches that description.  

Now, i have a lead handler where I will put this trigger and call a class that will do all the work.  I'm kind of overwhelmed and don't know how to get started.  Any adivce or guidence would be increcible!  

Thanks so much!

 
I am new to Apex triggers. Can anyone help me writing the Trigger for updating a customised Account "Tier" field to Tier 1,2,3 or 4 when the Opportunity Stage is equal to 'Closed Won' and the Tier number is determined by the number of products purchased on the Opportunity e.g. Tier 1 = 10000+,Tier 2 = 5000-10000, Tier 3=2500-4999,Tier 4=<2500?
Thanks in advance.
Hi everyone. I am a newbie..
My working trigger is as follows. As you can see record insertion works perfectly well. However i am trying to add update functionality to it. 
Please help?. A few lines of test class will be good too.

Thanks so much in advance


My trigger handler
public class PreAppLifeUpdateInsert {
    
    
       public static void myPreAppTable(List <Pre_Application__c> preApplication){
     

    List <PA_Pre_App_Life_Assured__c> preAppCreateList = new List <PA_Pre_App_Life_Assured__c>();

    for(Pre_Application__c preAppLoop : preApplication){
        PA_Pre_App_Life_Assured__c insertRecords;
        

       insertRecords = new PA_Pre_App_Life_Assured__c(Pre_Application__c = preAppLoop.Id); 
        // Begining of Life Prelife Table
        if(preAppLoop.Age_at_next_birthday__c>=17  && preAppLoop.Age_at_next_birthday__c<=35 && preAppLoop.PA_Life_Sum_Assured__c>= 0 && preAppLoop.PA_Life_Sum_Assured__c<=750000  ||
           preAppLoop.Age_at_next_birthday__c>=36  && preAppLoop.Age_at_next_birthday__c<=40 && preAppLoop.PA_Life_Sum_Assured__c>= 0 && preAppLoop.PA_Life_Sum_Assured__c<=600000  
          
              { insertRecords.Life_Assured__c    = 'NO NML EVIDENCE NEEDED';   } 
        
        //begining of Life NSE_c update
        if(preAppLoop.Age_at_next_birthday__c>=17 && preAppLoop.Age_at_next_birthday__c<=35 && preAppLoop.PA_Life_Sum_Assured__c>= 750001  && preAppLoop.PA_Life_Sum_Assured__c<=1000000 ||
           preAppLoop.Age_at_next_birthday__c>=36 && preAppLoop.Age_at_next_birthday__c<=40 && preAppLoop.PA_Life_Sum_Assured__c>= 600001  && preAppLoop.PA_Life_Sum_Assured__c<=1000000 
           
        { insertRecords.Life_Assured__c    = 'NSE*'; } //end of Life (NSE_c update)
        
        //begining of Life NSE_c NML_GPR__c  update
        if (preAppLoop.Age_at_next_birthday__c>=17 && preAppLoop.Age_at_next_birthday__c<=35 && preAppLoop.PA_Life_Sum_Assured__c>= 1000001  && preAppLoop.PA_Life_Sum_Assured__c<=1500000 ||
            preAppLoop.Age_at_next_birthday__c>=36 && preAppLoop.Age_at_next_birthday__c<=40 && preAppLoop.PA_Life_Sum_Assured__c>= 1000001  && preAppLoop.PA_Life_Sum_Assured__c<=1500000 
            
        { insertRecords.Life_Assured__c    = 'NSE* NML GPR';} // end of Life NSE_c NML_GPR__c  update
        
         //begining of Life NSE* NML GPR HIV~  update
         if (preAppLoop.Age_at_next_birthday__c>=17 && preAppLoop.Age_at_next_birthday__c<=35 && preAppLoop.PA_Life_Sum_Assured__c>= 1500001  && preAppLoop.PA_Life_Sum_Assured__c<=2000000 ||
             preAppLoop.Age_at_next_birthday__c>=36 && preAppLoop.Age_at_next_birthday__c<=40 && preAppLoop.PA_Life_Sum_Assured__c>= 1500001  && preAppLoop.PA_Life_Sum_Assured__c<=2000000 )
         {insertRecords.Life_Assured__c    = 'NSE* NML GPR HIV~';}//End of Life NSE* NML GPR HIV~  update
        
        //begining of Life NML GPR HIV~ FQ MER* FBP
         if (preAppLoop.Age_at_next_birthday__c>=17 && preAppLoop.Age_at_next_birthday__c<=35 && preAppLoop.PA_Life_Sum_Assured__c>= 2000001  && preAppLoop.PA_Life_Sum_Assured__c<=3500000 ||
             preAppLoop.Age_at_next_birthday__c>=36 && preAppLoop.Age_at_next_birthday__c<=40 && preAppLoop.PA_Life_Sum_Assured__c>= 2000001  && preAppLoop.PA_Life_Sum_Assured__c<=3500000 )
         {insertRecords.Life_Assured__c    = 'NML GPR HIV~ FQ MER* FBP';}//end of NML GPR HIV~ FQ MER* FBP update

          //begining of Life NML GPR HIV~ FQ MER* FBP FC  update
          if(preAppLoop.Age_at_next_birthday__c>=17 && preAppLoop.Age_at_next_birthday__c<=35 && preAppLoop.PA_Life_Sum_Assured__c>= 3500001  && preAppLoop.PA_Life_Sum_Assured__c<=7500000 ||
             preAppLoop.Age_at_next_birthday__c>=36 && preAppLoop.Age_at_next_birthday__c<=40 && preAppLoop.PA_Life_Sum_Assured__c>= 3500001  && preAppLoop.PA_Life_Sum_Assured__c<=7500000 ||
             preAppLoop.Age_at_next_birthday__c>=46 && preAppLoop.Age_at_next_birthday__c<=50 && preAppLoop.PA_Life_Sum_Assured__c>= 3500001  && preAppLoop.PA_Life_Sum_Assured__c<=4000000 )
          {insertRecords.Life_Assured__c    = 'NML GPR HIV~ FQ MER* FBP FC';} //end of NML GPR HIV~ FQ MER* FBP FC update
        
         preAppCreateList.add(insertRecords);} //End of for loop
  insert preAppCreateList;
       
       }// end of Method

}// end of class

My trigger class

trigger PreAppTrigger on Pre_Application__c ( after insert, after update) {
    PreAppLifeUpdateInsert.myPreAppTable(trigger.new);
    

}
 
I have created a new custom object that is not showing up when doing a search.  How can I get this object to be part of the global search?
Hello Friends,

I am getting an error trying to compile my class that I am hoping someone can assist with.  My requirement is to check a box on the Case object when an attachment is added to the case.  I  am getting the message 'Method does not exist or incorrect signature: void startswith(String) from type Id" . 

Any assistance would be greatly appreciated.  Here's my code:

trigger AttachmentPresent on Attachment (after insert) {
    Set<Id> caseIds = new Set<Id>();
    for(Attachment att : Trigger.New) {
        //Check if added attachment is related to Case or not
        if(att.ParentID.startswith('500')) {
            caseIds.add(att.ParentId);
        }
    }
    if(!caseIds.isEmpty()) {
        CaseHandler.attachmentAdded(caseIds);
    }
}

And Class:

public with sharing class CaseHandler {

    public static void attachmentAdded(Set<Id> caseIds) {
        List<Case> updateCases = new List<Case>();
        List<Case> caseList = [SELECT Id, has_Attachment__c FROM Case WHERE Id IN: caseIds];
        for(Case myCase : caseList) {
            if(!myCase.has_Attachment__c) {
                myCase.has_Attachment__c = true;
                updateCases.add(myCase);
            }
        }
        if(!updateCases.isEmpty()) {
            update caseList;
        }
    }
}
OK. I'm trying to create a lightning component that will calculate the new payment for the user based on what option they choose.  The user inputs the current payment frequency (monthly, semi-monthly, etc.), the amount they are currently paying each payment, and the new frequency they wish to pay (monthly, semi-monthly, etc.)  The user then presses a calculate button and the new payment amount would display.

The issue I'm running in to, is that I have two picklists in the same lightning component, and so the picklists are mirroring each other.  When I select something in Current frequency it sets the New frequency, and vice versa.  After doing some looking, I thought it was perhaps I was trying to use the same function to load both items, so I created a doInit function that calls two separate functions in the .js file to populate the two picklists.  Here's the code I'm working with.

Lightning Component
<aura:component implements="flexipage:availableForAllPageTypes" access="global">
    <aura:attribute name="currOptions" type="List" />
    <aura:attribute name="newOptions" type="List" />
    <aura:attribute name="selectedValue" type="String" />
    <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
    
    <div class="slds-form">
        <lightning:card >
            <lightning:select name="currPmtType" label="Current Payment Frequency" aura:id="currPmtType" value="{!v.selectedValue}" required="true">
                <aura:iteration items="{!v.currOptions}" var="item">
                    <option text="{!item.label}" value="{!item.value}" selected="{!item.selected}"/>
                </aura:iteration>
            </lightning:select>
            <lightning:input name="currPmtAmt" label="Current Payment Amount" type="number" formatter="currency" required="true"/>
            <lightning:select name="newPmtType" label="New Payment Frequency" aura:id="newPmtType" value="{!v.selectedValue}" required="true">
                <aura:iteration items="{!v.newOptions}" var="opt">
                    <option text="{!opt.label}" value="{!opt.value}" selected="{!opt.selected}"/>
                </aura:iteration>
            </lightning:select>
        </lightning:card>
    </div>
</aura:component>

.js Controller
({
    doInit: function(component, event, helper){
        
        //load current option
        var a = component.get('c.loadCurrOptions');
        $A.enqueueAction(a);
        
        //load new option
        var b = component.get('c.loadNewOptions');
        $A.enqueueAction(b);
    }
    ,
    loadCurrOptions: function(component, event, helper){
        var currOpts = [
            {value: "", label: "" },
            {value: "Monthly", label: "Monthly - 12 pmts annually" },
            {value: "Semi-monthly", label: "Semi-monthly - 24 pmts annually" },
            {value: "Bi-weekly_lower_payment", label: "Bi-weekly - 26 pmts annually, lower pmt (same annual total)" },
            {value: "Bi-weekly_payoff_sooner", label: "Bi-weekly - 26 pmts annually, payoff sooner (2 more pmts annually)" },
            {value: "Weekly", label: "Weekly - 52 pmts annually" }
        ];
        //set the new selected value on the component
        component.set("v.currOptions", currOpts);
        //return the selected value
        component.find("currPmtType").get("v.value");
    }
    ,
    loadNewOptions: function(component, event, helper){
        var newOpts = [
            {value: "", label: "" },
            {value: "Monthly", label: "Monthly - 12 pmts annually" },
            {value: "Semi-monthly", label: "Semi-monthly - 24 pmts annually" },
            {value: "Bi-weekly_lower_payment", label: "Bi-weekly - 26 pmts annually, lower pmt (same annual total)" },
            {value: "Bi-weekly_payoff_sooner", label: "Bi-weekly - 26 pmts annually, payoff sooner (2 more pmts annually)" },
            {value: "Weekly", label: "Weekly - 52 pmts annually" }
        ];
        //set the new selected value on the component
        component.set("v.newOptions", newOpts);
        //return the selected value
        component.find("newPmtType").get("v.value");
    }
})
Can anyone tell me why the two picklists keep acting as though they are the same list?  If there's an easier way to do this, I'm not opposed to altering my approach.  Thanks.
I have a Lightning App that contains some components.
For one component calling doInit() does not work.

I get following error message :
Action failed: c:BoatSearchResults$controller$doInit [component is undefined] Failing descriptor: {c:BoatSearchResults$controller$doInit}

This is the component and controller :
<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes"  
                controller="BoatSearchResults"
 >
    
        <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
    
</aura:component>
({
    doInit: function (component, event, helper) {
        helper.onSearch();
    }
})





 
  • April 15, 2018
  • Like
  • 0
I have a use case that I am creating, and I would like to ask the community on some guidance on the best way to go about creating it.
We have contacts / Accounts with a related  custom object "Preferences" - Preferences are buy preferences for purchasing a property (example - Property Type, Min Price, Size, etc.)
 
We have a custom object "Properties" and when they are put on the market, they become an Opportunity.
 
I am looking for a way to match Contacts / Accounts whom have Preferences that fit the criteria of the Property(Opportunity)
 
So, ideally when you click the opportunity record, there is a tab that has a list of Contact/ Account's preferences that match the criteria of the opportunity and would be labeled as potentials buyers
 
 
Any advice on how to set up this matching?
hi......
i am try to make a input text field required with javascript but it is not working and this javascript is put in component.
here is my VF Page
<apex:page standardController="Account" extensions="searchcontroller" >
    <apex:form id="theform">
        <script type='text/javascript'>
            function runOnEnter(ev) {
                if (window.event && window.event.keyCode == 13 || ev.which == 13) {
                    searchAccRecs();
                    return false;
                } else {
                    return true;
                }
            }
        </script>
        <apex:pageBlock title="Search Account" id="block">

            <span>
            <apex:commandLink value="A |" action="{!namesearch}" reRender="block" status="searchStaus"  >
             <apex:param name="searchChar" value="A" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="B |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="B" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="C |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="C" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="D |" action="{!namesearch}" reRender="block" status="searchStaus">
           <apex:param name="searchChar" value="D" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="E |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="E" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="F |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="F" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="G |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="G" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="H |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="H" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="I |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="I" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="J |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="J" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="K |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="K" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="L |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="L" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;            
            </span>
            <span>
            <apex:commandLink value="M |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="M" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="N |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="N" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="O |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="O" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="P |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="P" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="Q |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="Q" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="R |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="R" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="S |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="S" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="T |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="T" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="U |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="U" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="V |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="V" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="W |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="W" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="X |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="X" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="Y |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="Y" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="Z |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="Z" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="Other |" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="Other" assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <span>
            <apex:commandLink value="All" action="{!namesearch}" reRender="block" status="searchStaus">
            <apex:param name="searchChar" value="All"  assignTo="{!searchname}" />
            </apex:commandLink>
            &nbsp;
            </span>
            <apex:pageBlockSection title="Account">
                <c:RequiredField />
                <apex:commandButton value="search" action="{!doSearch}" status="searchStaus" reRender="block" id="thesearch" />
                <apex:actionstatus id="searchStaus">
                    <apex:facet name="start">
                        <span style="color:red;font-weight:bold; position:fixed; top:210px; left:700px; ">searching...</span>
                        <img src="/img/loading.gif" alt="" style="position:fixed; top:210px; left:780px;" />
                    </apex:facet>
                </apex:actionstatus>
                 <apex:actionstatus id="searchStaus1">
                    <apex:facet name="start">
                        <span style="color:red;font-weight:bold; position:fixed; top:210px; left:700px; ">Deleting...</span>
                        <img src="/img/loading.gif" alt="" style="position:fixed; top:210px; left:780px;" />
                    </apex:facet>
                    &nbsp;
                </apex:actionstatus>
               </apex:pageBlockSection>
            <apex:pageBlockSection title="Detail View" id="lst" rendered="{!NOT(ISNULL(lst))}">
                <apex:pageBlockTable value="{!lst}" var="l" rendered="{!NOT(ISNULL(lst))}" style="width:242%;">
               
                    <apex:column >
                        <apex:facet name="header">
                            <apex:inputcheckbox onclick="checkAll(this,'check')" />
                        </apex:facet>
                        <apex:inputcheckbox id="check">
                        </apex:inputcheckbox>
                    </apex:column>
                    <apex:column >
                        <apex:facet name="header">Action</apex:facet>
                        <apex:outputLink value="/{!l.id}/e?retURL=/apex/{!$CurrentPage.Name}">Edit</apex:outputLink>
                        &nbsp;|&nbsp;
                        <a href="javascript:if (window.confirm('Are you sure?')) doDelete('{!l.Id}');">Del</a>
                    </apex:column>
                    <apex:column value="{!l.Id}">
                        <apex:facet name="header">
                            <apex:commandLink action="{!ViewData}" value="Account id{!IF(sortExpression=='id',IF(sortDirection='ASC','▼','▲'),'')}" reRender="block">
                                <apex:param value="id" name="column" assignTo="{!sortExpression}"></apex:param>
                            </apex:commandLink>
                        </apex:facet>
                    </apex:column>
                    <apex:column value="{!l.Phone}">
                        <apex:facet name="header">
                            <apex:commandLink action="{!ViewData}" value="Phone{!IF(sortExpression=='Phone',IF(sortDirection='ASC','▼','▲'),'')}" reRender="block">
                                <apex:param value="Phone" name="column" assignTo="{!sortExpression}"></apex:param>
                            </apex:commandLink>
                        </apex:facet>
                    </apex:column>
                    <apex:column value="{!l.BillingCity}">
                        <apex:facet name="header">
                            <apex:commandLink action="{!ViewData}" value="Billing City{!IF(sortExpression=='BillingCity',IF(sortDirection='ASC','▼','▲'),'')}" reRender="block">
                                <apex:param value="BillingCity" name="column" assignTo="{!sortExpression}"></apex:param>
                            </apex:commandLink>
                        </apex:facet>
                    </apex:column>
                    <apex:column value="{!l.Name }">
                        <apex:facet name="header">
                            <apex:commandLink action="{!ViewData}" value="Name{!IF(sortExpression=='Name',IF(sortDirection='ASC','▼','▲'),'')}" reRender="block">
                                <apex:param value="Name" name="column" assignTo="{!sortExpression}"></apex:param>
                            </apex:commandLink>
                        </apex:facet>
                    </apex:column>
                </apex:pageBlockTable>
            </apex:pageBlockSection>
        </apex:pageBlock>
        <apex:actionFunction action="{!doDelete}" name="doDelete" reRender="theform" status="searchStaus1">
            <apex:param name="accountId" value="" assignTo="{!accountId}" />
        </apex:actionFunction>
        <apex:actionFunction name="searchAccRecs" action="{!doSearch}" reRender="block" />
    </apex:form>
</apex:page>

And Here Is my Component 

<apex:component controller="searchcontroller">
<apex:attribute name="requiredField" description="Attribute on the component."
type="String" required="ture" />
<style type="text/css">{
.requiredInput .requiredBlock {
    background-color: #B00000 ;
    position: absolute;
    left: -4px;
    width: 3px;
    top: 1px;
    bottom: 1px;
}
}
</style>
<script>

</script>
<apex:pageBlockSection >
<apex:outputLabel for="searchaccount" >Search Text</apex:outputLabel>
<apex:outputPanel >
<div class="requiredInput">
<div class="requiredBlock"></div>

<apex:inputText id="inf" value="{!searchText}" onkeypress="return runOnEnter(event);" required="ture"  />
</div>
</apex:outputPanel>
</apex:pageBlockSection>
<script language="javascript">
function validate()
{
try
{
var fNameObj = document.getElementById("{!$Component.inf}");

if(trim(fNameObj.value) == "" )
{
alert("required field must fill !");
return false;
}
return true;
}
catch(e)
{
alert(e);
return false;
}
}
</script> 
</apex:component> 
Hi.. 
how to cretre a rolodex in vf and how to crearte a controller of this rolodex and it is possible to search with rolodex..
 
Hi.....
i am trying to do searching with header alphabat but it is not gives right output so please help me.....
and  i am very confuse about the quey because i am use 26 query for alphbat search..
HERE IS MY CONTROLLER
public class searchcontroller {
    String sortDirection = 'ASC';
    String sortExp = 'name';
    string searchaccount;
    list < account > lst;
    public string getsearchtext() {
        return searchaccount;
    }
    public void setsearchtext(string s) {
        searchaccount = s;
    }
    public string getsearchtext1() {
        return searchaccount;
    }
    public void setsearchtext1(string s1) {
        searchaccount = s1;
    }

    public list < account > getlst() {
        return lst;
    }
    public PageReference doSearch() {
        if (searchaccount =='' && searchaccount != null) {
            lst = [SELECT id, name, phone, billingcity from Account ORDER by name limit 27];
        } else {
            if (searchaccount == 'A') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'A%'limit 5];
        } else
        if (searchaccount == 'B') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'B%'limit 5];
        } else
        if (searchaccount == 'C') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'C%'limit 5];
        } else
        if (searchaccount == 'D') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'D%'limit 5];
        } else
        if (searchaccount == 'E') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'E%'limit 5];
        } else
        if (searchaccount == 'F') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'F%'limit 5];
        } else
        if (searchaccount == 'G') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'G%'limit 5];
        } else
        if (searchaccount == 'H') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'H%'limit 5];
        } else
        if (searchaccount == 'I') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'I%'limit 5];
        } else
        if (searchaccount == 'J') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'J%'limit 5];
        } else
        if (searchaccount == 'K') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'K%'limit 5];
        } else
        if (searchaccount == 'L') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'L%'limit 5];
        } else
        if (searchaccount == 'M') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'M%'limit 5];
        } else
        if (searchaccount == 'N') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'N%'limit 5];
        } else
        if (searchaccount == 'O') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'O%'limit 5];
        } else
        if (searchaccount == 'P') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'P%'limit 5];
        } else
        if (searchaccount == 'Q') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'Q%'limit 5];
        } else
        if (searchaccount == 'R') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'R%'limit 5];
        } else
        if (searchaccount == 'S') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'S%'limit 5];
        } else
        if (searchaccount == 'T') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'T%'limit 5];
        } else
        if (searchaccount == 'U') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'U%'limit 5];
        } else
        if (searchaccount == 'V') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'V%'limit 5];
        } else
        if (searchaccount == 'W') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'W%'limit 5];
        } else
        if (searchaccount == 'X') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'X%'limit 5];
        } else
        if (searchaccount == 'Y') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'Y%'limit 5];
        } else
        if (searchaccount == 'Z') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like 'Z%'limit 5];
        } else
        if (searchaccount == 'All') {
            lst = [SELECT id, Name, phone, billingcity FROM Account where name like '%'limit 5];
        }
        }       
        return null;
        }
    public PageReference next() {
        return doSearch();
    }
    public PageReference previous() {
        return doSearch();
    }
    public String sortExpression {
        get {
            return sortExp;
        }
        set {
            if (value == sortExp)
                sortDirection = (sortDirection == 'ASC') ? 'DESC' : 'ASC';
            else
                sortDirection = 'ASC';
            sortExp = value;
        }
    }
    public String getSortDirection() {
        if (sortExpression == null || sortExpression == '')
            return 'ASC';
        else
            return sortDirection;
    }
    public void setSortDirection(String value) {
        sortDirection = value;
    }
    public PageReference ViewData() {
        string sortFullExp = sortExpression + ' ' + sortDirection;
        lst = Database.query('Select id, Name, BillingCity, BillingCountry, Phone from Account order by ' + sortFullExp + ' limit 27');
        return null;
    }
}


and This is my VF page


<apex:page controller="searchcontroller">
    <apex:form >
        <script type='text/javascript'>
            function runOnEnter(ev) {
                if (window.event && window.event.keyCode == 13 || ev.which == 13) {
                    searchAccRecs();
                    return false;
                } else {
                    return true;
                }
            }
        </script>
        <apex:pageBlock title="Search Account" id="block">
            <span style="position:initial; top:145px; left:840px;">
            <apex:commandLink value="A |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="B |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="C |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="D |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="E |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="F |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="G |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="H |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="I |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="J |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="K |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="L |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="M |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="N |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="O |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="P |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="Q |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="R |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="S |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="T |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="U |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="V |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="W |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="X |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="Y |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="Z |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="Other |" action="{!doSearch}" reRender="block"/>&nbsp;
            <apex:commandLink value="All" action="{!doSearch}" reRender="block"/>&nbsp;
             </span>
            <apex:pageBlockSection title="Account">
                <apex:outputLabel for="searchaccount" rendered="false">Search Text</apex:outputLabel>
                <apex:inputText id="searchaccount" value="{!searchText}" onkeypress="return runOnEnter(event);" />
                <apex:commandButton value="search" style="position:initial; top:195px; left:450px;" onkeypress="return" action="{!doSearch}" status="searchStaus" reRender="block" id="thesearch" />
                <apex:actionstatus id="searchStaus">
                    <apex:facet name="start">
                        <span style="color:red;font-weight:bold; position:fixed; top:220px; left:500px;">searching...</span>
                        <img src="/img/loading.gif" alt="" style="position:fixed; top:220px; left:600px;" />
                    </apex:facet>
                    &nbsp;
                </apex:actionstatus>
            </apex:pageBlockSection>
            <apex:pageBlockSection title="Detail View" id="lst" rendered="{!NOT(ISNULL(lst))}">
                <apex:pageBlockTable value="{!lst}" var="l" rendered="{!NOT(ISNULL(lst))}" style="width:242%;">
                    <apex:column value="{!l.Id}">
                        <apex:facet name="header">
                        <apex:commandLink action="{!ViewData}" value="Account id{!IF(sortExpression=='id',IF(sortDirection='ASC','▼','▲'),'')}" reRender="block">
                                <apex:param value="id" name="column" assignTo="{!sortExpression}"></apex:param>
                            </apex:commandLink>
                        </apex:facet>
                    </apex:column>
                    <apex:column value="{!l.Phone}">
                        <apex:facet name="header">
                            <apex:commandLink action="{!ViewData}" value="Phone{!IF(sortExpression=='Phone',IF(sortDirection='ASC','▼','▲'),'')}" reRender="block">
                                <apex:param value="Phone" name="column" assignTo="{!sortExpression}"></apex:param>
                            </apex:commandLink>
                        </apex:facet>
                    </apex:column>
                    <apex:column value="{!l.BillingCity}">
                        <apex:facet name="header">
                            <apex:commandLink action="{!ViewData}" value="Billing City{!IF(sortExpression=='BillingCity',IF(sortDirection='ASC','▼','▲'),'')}" reRender="block">
                                <apex:param value="BillingCity" name="column" assignTo="{!sortExpression}"></apex:param>
                            </apex:commandLink>
                        </apex:facet>
                    </apex:column>
                    <apex:column value="{!l.Name }">
                        <apex:facet name="header">
                            <apex:commandLink action="{!ViewData}" value="Name{!IF(sortExpression=='Name',IF(sortDirection='ASC','▼','▲'),'')}" reRender="block">
                                <apex:param value="Name" name="column" assignTo="{!sortExpression}"></apex:param>
                            </apex:commandLink>
                        </apex:facet>
                    </apex:column>
                </apex:pageBlockTable>
            </apex:pageBlockSection>
        </apex:pageBlock>
        <apex:actionFunction name="searchAccRecs" action="{!doSearch}" reRender="block" />
    </apex:form>
</apex:page>
 
hi..
i am trying to do custome pagination but i dont understand how to do custompagination .i am done pagination with standard set controller and with offset but without these it very difficult to understand how to do custom pagination so please help me.
Please Help...
hi.... 
i am new to understand apex.it is very difficult to  learn.and document are also very hard to understand.so some one give me 
some another apex development document .it is very important please help...
We have an integration in a sandbox environment that uses the SF session ID. In classic we get a valid session ID but when we switch to lightning, we get a session ID, however that ID is not valid. We're trying to understand why this is so and what we can do to get valid IDs from either environment.

e.g. Where the first ID is returned for classic and the second for lightning. The second is not valid. 

http://XXXXXXXXXX/sforce_login?sid={!$Api.Session_ID}&instance={!$Api.Enterprise_Server_URL_480}&cid={!Contact.Id}"

Session ID: 00Dg0000006VWjo!ARAAQL3rmIE7Jp_uaZi9CIcIN4oXu5py50ypG3kIKeNu4ySza37EoZ4HNv4Qn9jLPsiqc1QvjGxtmLw.xOFT_QMVAjnWFfYk
Session ID: 00Dg0000006VWjo!ARAAQItccgmw5iPsBjBtfTgYrSyF9CCQOtBKIg4dSWvqQPJBI89J5doGqdXqcJ20lphEAWQhqYHV_vhYOuJxWR40pYtJTqPd
Please can someone explain why this wouldn't work?
 the error im receiving is:
Error: Engineer_Returns_Contact line 24, column 23: The element type "apex:outputPanel" must be terminated by the matching end-tag "</apex:outputPanel>"
Error: The element type "apex:outputPanel" must be terminated by the matching end-tag "</apex:outputPanel>".





<messaging:emailTemplate subject="RAM Cameras to Return" recipientType="Contact" relatedToType="Case">

<messaging:htmlEmailBody >
<html>
<body>


kdmksmda
djbaskns
sjdnsaokdna

<table>
       <apex:repeat Value="{!relatedto.Service_Bookings__r}" var="SVC">
                   <apex:outputPanel rendered="{!AND(SVC.Work_Type__c = "Service Call"), SVC.Camera_Returned__c = False)}">
                    <tr>
                   <td style="color: #EB690B; text-align: Center; padding-left: 10%; padding-right: 10%;"><b>{!SVC.Case_Owner__c}</b></td>


                   <!-- <td>{!SVC.Account_name__c}</td> -->

                   <!-- <td>{!SVC.Case_ID__c}</td> -->

                    </tr>
                    </apex:outputPanel>
             </apex:repeat>
</table>
</body>
</html>
We currently have a button on our account records which when clicks opens a form with further information about the account that can be filled in. This was custom built but isn't user friendly and a bit of a mess to be honest.
We are moving to Lightning, and I would like to suggest that this is an idea time to revisit this.

Is there an easy way to recreate this perhaps using Lightning?

Essentially, there just needs to be a button or link on the Account record, that allows addditional custom fields / data to be recorded about that account. And then we also need to build a few reports to report on the data.
I want the button so the user gets the full dialog box, not the LEX small window in Actvities page tab. Was told by SF support can only be done through coding and to ask developer community.
I am looking to have a button on my opportunity record page layout that redirects to a URL that lives in the opportunities field.
Hello,
Lookin gto do an audit on the number of users assigned to all of the profiles in an org.  Is there a way to get the user count on each profile? Goal is to remove/consolidate profiles if possible.
Thanks
P
Hi Everyone!

I get to write my first apex class! Yay! I am running into a NullPointerException De-Reference A Null Object error. My method is being called in an afterTrigger, please look below...

public static void updatenewCaseRecordTeamFields(List<Case> cases){
    map<Case, Id> CasetoUser = new map<Case,Id>();
    map<Id, User> UserIdtoUser = new map<Id,User>();
    List<Id> OwnerIds = new List<Id>();
        for(Case c:(List<Case>)trigger.new){
            If(c.Owner.Type=='User' && c.OwnerId != null){
               OwnerIds.add(c.OwnerId);
               CasetoUser.put(c,c.OwnerId);
            }
        }
               List<User> userList = [SELECT team__c from User where Id IN: OwnerIds];
            For(User u: userList){
                UserIdtoUser.put(u.Id,u);
            }
                for(Case c:(List<Case>)trigger.new){
                    c.CaseOpenedTeam__c = UserIdtoUser.get(CasetoUser.get(c)).team__c;
                    c.CaseOwnerTeam__c = UserIdtoUser.get(CasetoUser.get(c)).team__c;               
                }
        
    }
The run down is that the code is trying to set fields on case fields based on the Owner of the record, being the user, and update those fields with the users teams. 

Thanks in Advance!
Hello!

I have different lead sources and i need certain fields hidden in regards to what contact list the lead pushes too. For example, if i receive a lead from Zillow the lead source will be Zillow.. i need specific and certain fields visible in the Zillow Contact list that i want hidden in other contact lists. 
Another example, Zillow provides 1 number when a lead inqures, other lead sources provide multiple numbers. Other lead sources give me 4-5 numbers for example, in that case i have 4-5 slots to enter in the mobile or phone that will be visible to my agents. I want 1 number field avaiable and the rest hidden for different lists and lead sources.

I hope this makes sense.
We are using the LIghtning Experience.  I have a custom object and I would like to add a section on the page layout that would allow me to add one or more lookup fields for the same object (perhaps a link or button).  For example, the custom object is called "Investment Strategy" and I would like to be able to add all of a client's financial accounts (which is another custom object) that are associated with this particular "Investment Strategy".  I'd rather not create 10+ lookup fields as it crowds the form and it messes up some other items we are doing with document merges.  Any ideas?
Hi Team,
I have received the below exception mail from my org. Can anyone please let me know why this error is thrown.
execution of AfterUpdate caused by: System.FinalException: ApexPages.addMessage can only be called from a Visualforce page ()
 
Where is the metadata for Report Filter values stored in SalesForce. There are over 2000 reports that have a filter value that needs to be changed. I wanted to change the value in the metadata itself instead of changing each report manually
How do we ensure that all records greater than 7 years old are deleted? How to setup a retention rules on the textfiles,  pdf  or docs
  • January 02, 2020
  • Like
  • 0
Hi all,

When I click a particular button, it rerenders the entire page. The problem is that I have a PageBlockTable within an outputPanel that is also rerendered when the button is clicked. This causes the PageBlockTable to lose the selected radio button.

Is there a way that I can skip rerending on a particular section even though the entire page is refreshed or is there a way to get the selected radio button and have it selected after the page is rerendered?
apex class is calling from onclick javascript button its working fine ,but in lightning button is not showing ...

button code here invoicecreation is apex class & senddata, invoicepdf are class methods ,invoicecreation  is api related

{!REQUIRESCRIPT("/soap/ajax/30.0/connection.js")}
{!REQUIRESCRIPT("/soap/ajax/30.0/apex.js")}

sforce.apex.execute("invoicecreation","senddata",{odr:"{!Order.Id}"});
sforce.apex.execute("invoicecreation","invoicepdf",{odr:"{!Order.Id}"});


alert("Invoice creation Request submitted");
Hi Friends,

I am learning Integration and I need some clarification for the below question.
Scenario:
I have 3 methods in REST Api class,
@HttpGet
@HttpPost
@HttpPut
I have all the methods in single class.

Question:
Whether I can use each method in each class.
Like, @HttpGet in one class and @HttpPost in one class..
So that If I want to make any changes to particulat method only that class and corresponding test class is modified.

Kinldly need some inputs for my understanding.

Thanks.
After adding new components to the package should I repackage it to a new version or will the new components reflect in older versions of the pacakage?
Will someone help with a test class for this controller? 
public with sharing class Pdf_Permit_Controller 
{
    public Permit__c permit {get; set;}
    public ApexPages.StandardController controller {get;set;}
    public String permitId {get;set;}
	 public List<Permit_Fees__c> allfees;
    
    public Pdf_Permit_Controller(ApexPages.StandardController controller) 
    {
        permitId = ApexPages.currentPage().getParameters().get('id');// controller.getId();
		//System.debug(permitId);
		permit = (Permit__c)controller.getRecord();

    	permit = [Select ID,name, customer__c from Permit__c where id=:permitId LIMIT 1];

 		allfees = new  List<Permit_Fees__c>();
    	Permit_Fees__c feelist = new Permit_Fees__c();
 		feelist.Permit__c = permit.Permit_Fees__c;
        allfees.add(feelist);
}
}
thank you,
P
 
I had created a web tab to redirect it to gmail page by giving the url but it is showing a blank page. plz help me