• praveen murugesan
  • SMARTIE
  • 671 Points
  • Member since 2013
  • Senior Salesforce Developer


  • Chatter
    Feed
  • 17
    Best Answers
  • 2
    Likes Received
  • 4
    Likes Given
  • 15
    Questions
  • 233
    Replies
Hi everyone i am new to salesforce i had some requirement please tell me 

Create a page which displays a subset of Opportunity fields using apex:outputField components. Bind the Name, Amount, Close Date and Account Name fields to the apex:outputField components.The page must be named 'OppView'.
It must reference the Opportunity standard controller.
It must have an apex:outputField component bound to the Opportunity Name.
It must have an apex:outputField component bound to the Opportunity Amount.
It must have an apex:outputField component bound to the Opportunity Close Date.
It must have an apex:outputField component bound to the Account Name of the Opportunity.

My Answer:
<apex:page standardcontroller="Opportunity">
<apex:pageBlock>
   <apex:pageBlockTable >
      <apex:outputField value="{!Opportunity.Opportunity Name}"/>
      <apex:outputField value="{!Opportunity.Amount}"/>
      <apex:outputField value="{!Opportunity.Close Date}"/>
      <apex:outputField value="{!Opportunity.Account Name}"/>
   </apex:pageBlockTable>
</apex:pageBlock>
</apex:page>

Error Displaying:
Error: Missing required attribute value in <apex:pageBlockTable> in OppView at line 3 column 25

Please help to improve my knowledge
 

I want to show the progress of  the Stages in Opportunity as per Probability?

For example, If it is "Prospecting", 10% of the bar will be displayed. If "Closed Won", it will be 100%.
Also some diggerent colors need to be set as per Stages.

Can anyone help? Thanks in advance.

Hi,

Can anyone please tell me how to write Edit and Delete button code for hyperlink in APEX?

  <apex:outputLink value="{!$Page.Edit}" style="color:blue">Edit</apex:outputLink> 
                                    <apex:outputLink value="{!$Page.Delete}" style="color:blue">|Del</apex:outputLink> 

I want to edit and delete the details of current campaign member 

Thanks

 
i want 2 knw how to generate random number using vf and controller plz can anyone suggest me syntax r ping some code advance thanks 2 all
Hi folks,
 Can anyone tell me how to display list of all account_name in two column in VFP??

Thanks in advance
Karthick
I have created a form  ( Leads) where the data gets inserted .

Every Lead will have a Unique Lead ID.

I have another form where i add salesperson under that Lead, so in the drop down first lead is selected then the data of salesperon is added.

My question is i want to Add only ONE salesperson per lead.

So how do i manage this what is the best approach ? To show validation error that you have already added a salesperson... under LEADID.

Any code?
Hi,
If I am writing a test class for a visualforce page whose controller returns a page refernce. How should I write and what all things should be kept in mind while writing the test class for pagereference?
<apex:page standardController="opportunity" extensions="wrapperclass">
<apex:form >
  <apex:pageBlock >
   <apex:pageBlockTable value="{!oppdata}" var="v">
    <apex:column value="{!v.oppflag.name}"/>
    <apex:column value="{!v.oppflag.CloseDate}"/>
    <apex:column value="{!v.oppflag.Type}"/>
    <apex:column value="{!v.oppflag.StageName}"/>
    <apex:column value="{!v.oppflag.Amount}"/>
    <apex:column >
    <apex:inputCheckbox value="{!opp.oppflag}"/>
   </apex:pageBlockTable>
  </apex:pageBlock>
</apex:form>
</apex:page>


public class wrapperclass {

  public list<displaywrapper> oppdata{get;set;}

    public wrapperclass(ApexPages.StandardController controller) {
     if(oppdata == null){
    
     oppdata=new list<displaywrapper>();
     for(opportunity o1:[select id,name,closedate,type,stagename,amount from opportunity]);
     oppdata.add(new displaywrapper(o1,true));
     }
    }
    public class diplaywrapper{
     public opportunity oppflag{get;set;}
     public boolean boo{get;set;}
    
     public diplaywrapper(opportunity opp,boolean b1)
     {
      opp=oppflag;
      b1=boo;
      }
}
   }
public class productExtension
{

    public productExtension(){
     cPro = [SELECT Id, Products__c FROM Product_Services__c where ID =:ApexPages.currentPage().getParameters().get('id')];
          System.debug('=========================================Products'+cPro);}


    public PageReference cancel() {
        return null;
    }

   
     public Product_Services__c cPro {get; set;}
  
      public PageReference SubmitPRoduct()
     {
          update cPro;
          Quick_Contact__c con = new Quick_Contact__c();
        
          con.Choose_Area_of_Interest__c = cPro.Products__c ;
          insert con;
         
          System.debug('==========================================='+con);
          PageReference pageRef=Page.Quick_Contact;
        pageRef.setRedirect(false);             
        return pageRef;
      }         
}

<apex:page Controller="productExtension" standardStylesheets="false" showHeader="true"  sidebar="false" >
    <style>
        .activeTab {background-color: #236FBD; color:white;
        background-image:none}
        .inactiveTab { background-color: Magenta; color:black;
        background-image:none}
    </style>
    <apex:form >
        <apex:pageBlock title=""  >          
            <apex:image value="{!$Resource.ReveSoftLogo}"   style="border:none;"/>
           
       <!--         <p style="color:orange;font-size:30px;"></p>    -->
               
           <apex:pageBlockButtons location="bottom">
                  <apex:commandButton value="Submit " action="{!SubmitPRoduct}"/>`
                  <apex:commandButton value="Cancel" action="{!cancel}"/>
                <apex:commandButton value="Back" action="/"/>
            </apex:pageBlockButtons>           
            <apex:pageBlockSection columns="1" >  
                <apex:inputfield value="{!cPro.Products__c}" /><br/>  
                <apex:inputfield value="{!cPro.Mobile_VoIP__c}" /><br/>                 
                <apex:inputfield value="{!cPro.Softswitch_Billing__c}" /><br/> 
                <apex:inputfield value="{!cPro.Other__c}" /><br/> 
                
            </apex:pageBlockSection>
        </apex:pageBlock>
    </apex:form>
</apex:page>
Hi everyone,
      I want to know about flow of standard object how the flow works??
Hi,

Iam creating a vf page in that vf page i have a checkbox field when i check the checkbox automatically another vf page should be display as popup in my vf page.
Please help me guys,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Hi Experts,

In my org I display the account records using pageblocktable tag with columns Account name,Location and id. When i click on Account name in list of records i want to display in popup is "you selected record is Account name". For example when i click on joint account record it will display in popup "you selected record is joint" .

Please anyone can help me how to achieve this

Thanks,
Balaji
Hi,

I am a newbie in salesforce. Can anyone please explain me how to solve the following scenario using data loader.

I have two objects: object1 and object2. The two objects have a common column 'global id'. There are 50000 records in object1. My scenario is when the column values are equal in two objects, i need to update object1.

Can anyone please provide a solution for this?

Thanks in advance.
Hi,

I want to get the currently logged in user profile from user object , Here is the code below

Utility class :

I am having a utility class which contains the  logic for query to fetch the currently logged in  user and which i am calling the same method in my main class 

public static User getUserInfo(String profileId){
      // String profileName=[Select Id,Name from Profile where Id=:profileId].Name;
       User usr = [Select Id,Name,UserType,Employee_HR_ID__c,EmployeeNumber,profile.Name from User Where profile.Name =:profileName AND isActive=true];
       //User usr = [Select Id,Name,UserType,Employee_HR_ID__c,EmployeeNumber,profile.Name,Profile.UserLicense.Name  from User Where Profile.UserLicense.Name = 'Salesforce' AND isActive=true LIMIT 1];

      return usr;
   }

Main class where utility mehod is called :

public PageReference generateReport() {
  
        PageReference pg = null;        
        //String userId = UserInfo.getUserId();
        String profileId =userinfo.getProfileId();
        User usr = AF_DealerCRM_Utility.getUserInfo(profileId);
        System.debug (' ProfileName: ' + usr);
}

Kindly let me know wat changes do i need to make in my code

Thanks in advance
Suddenly we are getting Internal Salesforce Error on getAll method with List Custom Setting. Same code used in other classes it doesn't throw an error. Classes created in last 2 months only throws this error. Raised a case with salesforce team for the fix.
Hi  all,

I have one requirement from my client. As of now once the User record is created password confirmation email will send to user immediately, but they want to send the confirmation mail in future.

That is in user record we are having on date field. Based on that date confirmation mail need to send.

I tried this but its not much clear,
http://salesforce.stackexchange.com/questions/6082/avoiding-the-password-notification-to-be-sent-to-the-user-on-creation

Any suggestions?

Thanks.

Praveen Murugesan
Hi all,

In my case initally i need to update setup and not setup object at a time. So I have used @future method to save setup object seperately. But new requirement is to save update setup object and if any error occurs i need to insert non setup object in @future method

Scenario:

If any error occurs while updating user record i need to save that error in custom object.

I tried with 

1. Created one more separate @future method to insert non-setup obj. but we can't call @future method from @future method.

2. Tried with Database.Update, try-catch-finally methods.

But its doesn't work.

Can any one help me pls.

Thanks.
Hi  All,

My client is facing an issue on uploading image in richtextarea field from his system. But if I login as that employee from my system. I can upload a image.

He is getting the "Aw Snap" error message.  I did notice that the status bar shows "java script void" when it's trying to upload. I think its a version of browser/java problem. But I would like to know the exact issue.


User-added image
User-added image

Any body faced this issue before? Any one having idea of this?

Thanks.
Hi All,

I am displaying rich text area field in VF page. Using output field. It is showing

User-added image

But for administrator its is displayng the image. If i login as manager profile it is showing above error. And if the record is shared with that manager image displaying correctly.

And in controller i am using without sharing only. In the field level i gave the access correctly.

And most important thing all the other fields such as text, number are displaying correctly except richtextarea field.

Using inspect element i got the url of the image [https://c.cs18.content.force.com/servlet/rtaImage?eid=xxxxxxxxxxxxx&feoid=xxxxxxxxxxxxxxxxxxx&refid=xxxxxxxxxxxxxxxx (https://c.cs18.content.force.com/servlet/rtaImage?eid=xxxxxxxxxxxxx&feoid=xxxxxxxxxxxxxxxxxxx&refid=xxxxxxxxxxxxxxxx)] if I click the link with admin login its showing the image. if manager login means its showing above error.

I have two question:

1. Where the image in richtextarea is stored ?

2. Is it stored with all other fields or seperatly?


Anyone can help me pls.. Thanks.

Praveen Murugesan.
Hi All,

I am strugling with this error from last 2 days. Anyone can help me pls.

Actually in my VF page i am displaying all the fields in object which includes richtextarea field. In controller i am using public without sharing. In page its displaying all the fields correctly. But its not displaying image in richtextarea field its showing image not available error. For Admin profile all the image is displaying correctly but for manager profile image is displaying only for employees who is reporting to him. Becasue those recrord only shared with him. And image is not displaying for other team members those not shared.

And the issue is not stable. Some time its loading some times not even for displaying for admin. And its differs with each brower. From the morning the image is displayed in Mozilla, IE, Safari but now it is not displaying.

Following links helped me bit but i couldn't found the solution,

https://developer.salesforce.com/forums/ForumsMain?id=906F00000009wneIAA
http://stackoverflow.com/questions/19043834/issues-with-displaying-salesforce-rich-text-editor-image
http://salesforce.stackexchange.com/questions/15501/accessing-an-image-from-sites-stored-in-a-rich-text-area-field

Anyone met this issue before?? 

Thanks in advance.

--
Praveen Murugesan

I have used taborderhint and tabindex for the screen flow. It is working fine except for dependent picklist. While searching about this i came to know this will not support for dependent picklist field. And this is the salesforce known issue.

Is there any solution available now??

Thanks in advance.
Hi all,

I have facing this error for the long time.

Scenario:

Employee_Detail__c is the obj. which is having lookup field which related to User field name is User__c.

To print the user name i am using following code. But I can't save the code its saying "Error: Unknown property 'VisualforceArrayList.name'"

<apex:page standardController="Employee_Detail__c">
{!Employee_Detail__c.User__r.name}
</apex:page>

Guidance much apperciable..

Thanks.
Hi all,

I am using google visualisation API to display ORG chart. It is working fine in chrome,Safari and Mozilla but not in IE11. In IE it is working fine for few employees. But if I tried with entire organizaiton employees means it is not showing.

The problem is in only production not in sandbox

Any fixes for this would help.

Thanks in advance.
Hello All,

I cant save the VF page code it is showing this error Unknown property 'VisualforceArrayList.name'.

Previously ie., two days before the code was saved and worked correctly. But today I was tried to save the same code but I cant save. Its because of related object's fields. Any suggestions.?

My page code:

<apex:pageBlockTable value="{!emplist}" var="emp" >       
        <apex:column headerValue="Name">                     
         <apex:outputText value="{!emp.User__r.name}" />          
        </apex:column>
</apex:pageBlockTable>

Controller Code:

List<Employee__c> emplist = [select ID,Name,user__c,User__r.name from Employee__c ];

Fields:

User__c is a custom filed in Employee__c which related to user object.

Thanks.


This is my code

<apex:inputText  value="{!Name}" id="targetName">
      <apex:actionSupport event="onchange" action="{!userExist}" reRender="errorId,theForm"/>     
</apex:inputText>

I am using popup(to show some list) in VF page. On actionsupport rerendering popup gets closed. So, if actionSupport executes only on null value in inputtext means that will be good. Popup will not close.

Thanks.
Start a discussion button is not working in internet explorer. But in other browser such as chrome, mozilla its working fine

It is not rendering to another page if I clicked. Even I have logged in to salesforce.com.

Any suggestions.

Thanks
Hi All,

 I am able to create a new user through apex code but the user is not receiving an password confirmation email in one org. But I have used same code in another org in that user is receiving mail perfectly.   Any suggestions??

I have used this code 

Database.DMLOptions dmlo = new Database.DMLOptions();
dmlo.EmailHeader.triggerUserEmail = true;
dmlo.EmailHeader.triggerAutoResponseEmail= true;
user.setOptions(dmlo);
insert user;


Thanks.

In my object there are totally three fieds Value__c,Hexa__c,Bytevalue_c.

Value__c- User input(textfield).

Hexa__c- Hexa Decimal of A (text field used trigger to convert string to hexa decimal).

Bytevalue__c In this field I need to save the byte code of the Hexa Decimal value.

 

Sample Input:

 

Value__c -- 'A'

 

Hexa__c- '6dcd4ce23d88e2ee9568ba546c007c63d9131c1b'

 

Now I need to convert Hexa__c to bytecode. So I have used IF ladder for Substitute but it is not working. 

 

if(contains(Encrypted__c,'a') ,
SUBSTITUTE(Encrypted__c, 'a', '1010' ),

if( contains(Encrypted__c,'b') ,
SUBSTITUTE(Encrypted__c, 'b', '1011' ),

if(contains(Encrypted__c,'c') ,
SUBSTITUTE(Encrypted__c, 'c', '1010' ),

if( contains(Encrypted__c,'d') ,
SUBSTITUTE(Encrypted__c, 'd', '1011' ),

if(contains(Encrypted__c,'e') ,
SUBSTITUTE(Encrypted__c, 'e', '1010' ),

if( contains(Encrypted__c,'f') ,
SUBSTITUTE(Encrypted__c, 'f', '1011' ),

SUBSTITUTE(Encrypted__c, 'c', '1011')

)
)
)
)
)
)

 

 

Help me to do this.. Thanks..

 

 

 

I have created the customer portal without using sites. But I want to enable custom visual force registration in Custom portal login page. If the customer is new to this portal they will click register now button in the login page and the registration should be appear.

 

 

Is this possible to do without using sites in customer portal?

 

 

Thanks in adavance..!

Hi  all,

I have one requirement from my client. As of now once the User record is created password confirmation email will send to user immediately, but they want to send the confirmation mail in future.

That is in user record we are having on date field. Based on that date confirmation mail need to send.

I tried this but its not much clear,
http://salesforce.stackexchange.com/questions/6082/avoiding-the-password-notification-to-be-sent-to-the-user-on-creation

Any suggestions?

Thanks.

Praveen Murugesan
Hi all,

I am using google visualisation API to display ORG chart. It is working fine in chrome,Safari and Mozilla but not in IE11. In IE it is working fine for few employees. But if I tried with entire organizaiton employees means it is not showing.

The problem is in only production not in sandbox

Any fixes for this would help.

Thanks in advance.
Suddenly we are getting Internal Salesforce Error on getAll method with List Custom Setting. Same code used in other classes it doesn't throw an error. Classes created in last 2 months only throws this error. Raised a case with salesforce team for the fix.
i have a Detail Page button on OLI that calls this flow.  In Lightning I get a " refused to Connect " error and hangs on the Screen.  Does any one know how to fix this so it will work in Lightning?
 
/flow/CreateDeliverableFromOpportunityLineItem?oliId={!CASESAFEID(OpportunityLineItem.Id)}&retURL=/apex/Redirect?parentId={!OpportunityLineItem.Id}%26mode=edit%26type=latest_deliverable
I have checked all the forums and there is no conclusive answer to this error on Step 10

The BoatTile component doesn't fire the plotMapMarker event when a user clicks a boat.

Here is my code;
PlotMapMarker.evt
<aura:event type="APPLICATION"
description="PlotMapMarker test">
<aura:attribute name="sObjectId"
type="String"/>
    <aura:attribute
name="lat" type="String"/>
<aura:attribute name="long" type="String"/>
<aura:attribute name="label" type="String"/>
</aura:event>

Map.cmp
<aura:component implements="flexipage:availableForAllPageTypes"
access="global" >
<aura:attribute name="width"  type="String"
default="100%" />
<aura:attribute name="height" type="String"
default="200px" />
<aura:attribute name="location"
type="SObject"/>
<aura:attribute name="jsLoaded" type="boolean"
default="false"/>
<aura:handler event="c:PlotMapMarker"
action="{!c.onPlotMapMarker}" />
<aura:registerEvent type="c:PlotMapMarker"
name="PlotMapMarker"/>
<ltng:require styles="{!$Resource.Leaflet + '/leaflet.css'}"    
scripts="{!$Resource.Leaflet + '/leaflet-src.js'}"       
afterScriptsLoaded="{!c.jsLoaded}" /> 
              <lightning:card
title="Current Boat Location" >
                  <div aura:id="map"
style="{!'width: ' + v.width + '; height: ' + v.height + ';
border:none;'}">
                      <div style="width:100%;
height:100%" class="slds-align_absolute-center">Please make a
selection</div>
                  </div>
</lightning:card>
</aura:component>

onBoatClick.cmp
({
    onBoatClick : function(component, event, helper) {
        var boat = component.get('v.boat');
        //this is how you fire an application event
        var createEvent = $A.get("e.c:PlotMapMarker");
        createEvent.setParams({'sObjectId' : boat.id});
        createEvent.fire();
    }
})

onBoatClickController.js
({
    onBoatClick : function(component, event, helper) {
        var boat = component.get('v.boat');
        //this is how you fire an application event
        var createEvent = $A.get("e.c:PlotMapMarker");
        createEvent.setParams({'sObjectId' : boat.id});
        createEvent.fire();
    }
})
        
        var boat=component.get('v.boat');
        console.log('Boat Selected Id in boattile' + boat.Id);
        var lat = boat.Geolocation_Latitude__s;
        var long = boat.Geolocation_Longitude__s;
        var label = boat.Name;
        console.log('boat name in BoatTile'+ label);
        console.log('Latitude in BoatTile' + lat);
        console.log('Longitude in BoatTile' + long);
        var PlotMapMarkerEvent = $A.get("e.c:PlotMapMarker");
         PlotMapMarkerEvent.setParams({
            "lat"   : lat,
            "long"  : long,
            "label" : label,
             "SObjectId" : boat.Id });
         PlotMapMarkerEvent.fire();
        ),


 
Sorry for the hijack, I can't create my own post.

Error: 
Ensure that you implement all the pagination methods using the corresponding StandardSetController methods.

I am having an issue with validating the ext.getTotalPages method.
 
/**
     * @name GetTotalPages
     * @description
    **/
    public Integer getTotalPages(){
        return ((Decimal)this.standardSetController.getResultSize() / (Decimal)Constants.DEFAULT_ROWS).round(System.RoundingMode.CEILING).intValue();
    }

Here is my method toSetStandardSetController 
 
private void setStandardSetController() {
        if (this.selectedFamily != Constants.SELECT_ONE && this.selectedFamily != null) {
            this.standardSetController = new ApexPages.StandardSetController(Database.getQueryLocator([
                    SELECT
                            Id,
                            Product2.Name,
                            Product2.Family,
                            Product2Id,
                            UnitPrice,
                            Product2.Quantity_Remaining__c
                    FROM
                            PricebookEntry
                    WHERE Product2.IsActive = true
                    AND Product2.Family =: this.selectedFamily

            ]));
        } else {
            this.standardSetController = new ApexPages.StandardSetController(Database.getQueryLocator([
                    SELECT
                            Id,
                            Product2.Name,
                            Product2.Family,
                            Product2Id,
                            UnitPrice,
                            Product2.Quantity_Remaining__c
                    FROM
                            PricebookEntry
                    WHERE Product2.IsActive = true
            ]));
        }

        this.standardSetController.setPageSize(Constants.DEFAULT_ROWS);
    }

 
Hi All,

 How to focus the lookup image icon after selecting the values from pop window.
 means after values getting populated i need to show the focus on lookup image only.

Thanks,
Ravi

Hi,

I want to update leads based on criteria once after the contact is insereted. This trigger is not working for my bulk inserts or updates. Am getting error 'System.LimitException: Too many SOQL queries: 101'. Can anyone help me out ?
There is other trigger on leads which will tag the contact details on lead object fields when lead is inserted or updated.
I suppose to deliver this by this friday, Very Urgent.


Trigger updateLeads1 on Contact (after insert, after update) {

Id rtID= [select Id,name from RecordType where name ='APAC - Open' limit 1].Id;

        for(Contact myContact : Trigger.new){
            if(myContact.email != null && myContact.FirstName != null && myContact.LastName != null) {
              for(Lead checkLead : [Select Id, FirstName, LastName, Email, Status, Ready_to_Convert__c, Country_code__c FROM Lead where RecordTypeId = :rtId AND Email = :myContact.Email AND FirstName = :myContact.FirstName AND LastName = :myContact.LastName limit 1]){
                    if(myContact.Turnover__c > 0.00){
                    updatelead(checkLead.id);
                }
             if((myContact.Turnover__c <= 0.00 || myContact.Turnover__c== null) && (checkLead.Country_code__c != 'India' || checkLead.Country_code__c != 'China' || checkLead.Country_code__c != 'Taiwan' || checkLead.Country_code__c != 'Hong Kong')){
                    updatelead1(checkLead.id);
                    }
                }
          }
    }
    
    public static void updatelead(Id leadId) {
    System.debug('Lead ID : '+ leadId);
    lead ld = [SELECT id FROM lead WHERE ID = :leadId];
    system.debug('Lead ID in Query :'+ld);
    ld.Status = 'Order Placed';
    ld.Ready_to_Convert__c = TRUE;
    try {
        update ld;             
        } catch(DMLException e) {   
        System.debug('The following exception has occurred: ' + e.getMessage()); 
        }
}

    public static void updatelead1(Id leadId) {
    System.debug('Lead ID : '+ leadId);
    lead ld = [SELECT id FROM lead WHERE ID = :leadId];
    system.debug('Lead ID in Query :'+ld);
    ld.Status = 'Account created';
    try {
        update ld;             
        } catch(DMLException e) {   
        System.debug('The following exception has occurred: ' + e.getMessage()); 
        }
    }
}

Regards,
Pranav

Hi All,

I am working on a test class for a class which was created by me nut unfortunately i am not able to increase the code coverage beyond 67%.
P.F.A the controller and test class.
public with sharing class TfB_PB_AccountActionsWrapper{
       
    public List<wrapSubscription> SubscriptionSetList{get;set;}
    public integer size{get;set;}
    public Date currentDateValue { get; set; }
    public String selectedActions{get;set;}
    public csord__Subscription__c vSub{get;set;}
    public List<csord__Subscription__c> vLstSub{get;set;}
    public Map<Id, List<csord__Subscription__c>> AccIdSubListMap { get; set; }
    public Opportunity oppList;
    public Map<Id, List<csord__Service__c>> SubIdServListMap { get; set; }
    Map<Id, csord__Subscription__c> subMap = new Map<Id, csord__Subscription__c>();
    public boolean AccountBool{get;set;}
    public boolean fals{get;set;}
    public Date SysDate{get;set;}
    public Account vAccount{get;set;}
    public Account vSourceAccount{get;set;}
    public String contextItem{get;set;}
    public integer noOfRecords{get;set;}
    public set<csord__Subscription__c > selectedSubscription;
    public List<csord__Subscription__c > selectedSubscriptionList;
    public set<id> subids;
    public Id OpptyId;
    public string accountId;
    public String baseQuery;
    
    //Constructor for the class    
    public TfB_PB_AccountActionsWrapper( ){
       
        AccIdSubListMap=new Map<Id, List<csord__Subscription__c>>();
        SubIdServListMap= new Map<Id, List<csord__Service__c>>();
        
        vSub= new csord__Subscription__c();
        selectedActions='Takeover';
        if(selectedActions=='Takeover'){
            AccountBool=true; 
        }
        fals= false; 
        this.subids = new set<id>();
        selectedSubscriptionList = new List<csord__Subscription__c >(); 
        this.selectedSubscription = new set<csord__Subscription__c>();
        SubscriptionSetList = new List<wrapSubscription>();
        accountId=ApexPages.currentPage().getParameters().get('id');      
    }
    
    //Following property will pick values from the custom setting
        public List<selectOption> ActionValues {
        get {
          List<selectOption> options = new List<selectOption>();
    
          for (TfB_PB_ChangeType__c cType : TfB_PB_ChangeType__c.getAll().values())
          
            options.add(new SelectOption(cType.Name,cType.Name));
          return options;
        }
        set;
      }
    
    //This function implements the pagination logic
    public ApexPages.StandardSetController SubSetController{ 
        
        get{            
            if(SubSetController == null){
                size =20;                
                SubSetController = new ApexPages.StandardSetController([SELECT Name, csord__Status__c,csord__Account__c,MACD_in_progress__c,Billing_Account_Number__c,(select Id,Billing_Account_Number__c from csord__Services__r) FROM csord__Subscription__c where csord__Account__c=:accountId order by Billing_Account_Number__c desc nulls Last]);
                system.debug('Return Records $$$$$$$$'+SubSetController);            
                this.SubSetController.setpageNumber(1);               
                this.SubSetController.setPageSize(size);
                noOfRecords = SubSetController.getResultSize(); 
            }
            return SubSetController;
          }set;
     }
     
     //Below logic is used for enable/disable of Target Account field based on Action field value
    public void getDisplayAccount( ){
       if(selectedActions!='Takeover'){
            AccountBool=false; 
        }
        else{
            AccountBool=true;
        }
    }
    
    //Following function implements wrapper logic 
    public List<wrapSubscription> getCurrentList( ){        
        updateSelectedSubscriptions();
        SubscriptionSetList = new List<wrapSubscription>();
        for (csord__Subscription__c vSubscription : (List<csord__Subscription__c >)SubSetController.getRecords( )){
            system.debug('vSubscription @@@@@@@@@ '+vSubscription);
            if(selectedSubscription.contains(vSubscription))
                SubscriptionSetList.add(new wrapSubscription(vSubscription,'true'));
            else
                SubscriptionSetList.add(new wrapSubscription(vSubscription));
                system.debug('SubscriptionSetList########'+SubscriptionSetList);
        }  
        fals=false;       
        return SubscriptionSetList;
    }
    
   //This method update the selected Subscriptions List in the wrapper Class
    public void updateSelectedSubscriptions( ){
        for(wrapSubscription cs: SubscriptionSetList){
            if(cs.selected){              
                selectedSubscription.add(cs.vSub);
                selectedSubscriptionList.addAll(selectedSubscription);
                system.debug('++++++++'+selectedSubscriptionList.size());
              }
            else{            
                if(selectedSubscription.contains(cs.vSub))
                selectedSubscription.remove(cs.vSub);                              
            }
            
        }
    }
    
    //This method adding the selected subscriptions to the list
    public void doSelectItem( ){        
        if(contextItem!=null)
            this.subids.add(this.contextItem);        
    }
    
    //This method remove the deselected subscriptions to the list
    public void doDeselectItem( ){      
        this.subids.remove(this.contextItem);        
    }
     
    //This method count the selected subscriptions
    public Integer getSelectedCount( ){       
       // subids.clear();
        for(csord__Subscription__c acc: selectedSubscription){
            subids.add(acc.id);
        }
        return this.subids.size();       
    }
     
    //Below method implements the Next button logic for pagination
    public void doNext( ){       
        if(this.SubSetController.getHasNext())
            this.SubSetController.next();       
    }
    
    
    //Below method for the Previous button logic for pagination
     public void doPrevious( ){       
        if(this.SubSetController.getHasPrevious())
            this.SubSetController.previous();        
    }
     
    public Boolean getHasPrevious( ){       
        return this.SubSetController.getHasPrevious();        
    }
       
       
    //Below method implements the Next button logic for pagination   
    public Boolean getHasNext( ){      
        return this.SubSetController.getHasNext();        
    }
       
       
    //Following method returns the current page number in pagination logic  
    public Integer getPageNumber( ){       
        return this.SubSetController.getPageNumber();        
    }
       
       
    //Following function implements the total pages number  
    public Integer getTotalPages( ){       
        Decimal totalSize = this.SubSetController.getResultSize();
        Decimal pageSize = this.SubSetController.getPageSize();       
        Decimal pages = totalSize/pageSize;       
        return (Integer)pages.round(System.RoundingMode.CEILING);
    } 
       
    //Below method has logic for Cancel button used in pagination       
    public PageReference cancel( ){
        return new PageReference('/'+accountid);
    }       
      
      
    //Following function will perform the validations behind the Continue button& restrict an user to proceed to next page if any of the validation fails.Also invokes the method provided by CS Team.
    public pageReference Proceed( ){
        SysDate = System.today();
        accountId=ApexPages.currentPage().getParameters().get('id');
        if(vSub.csord__Account__c!= null){
            vAccount=[Select Name,TINA_Parent_Cust_Number__c,TfB_PB_CreditCheckExpiryDate__c,TfB_PB_CreditCheckResponse__c from Account where Id=:vSub.csord__Account__c];  
        }  
        
        vSourceAccount = [Select Name,TINA_Parent_Cust_Number__c,TfB_PB_CreditCheckExpiryDate__c,TfB_PB_CreditCheckResponse__c from Account where Id=:accountId];
        if(selectedActions =='Takeover'){
            if(vSub.csord__Account__c==null){ 
                ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'Please select The Target Account');
                ApexPages.addMessage(myMsg);            
                return null;          
            }                      
            if(vSub.csord__Account__c==accountId){ 
                ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'The target account is the same as the current account, it has to be different.');
                ApexPages.addMessage(myMsg);            
                return null; 
            } 
            
            if(vAccount.TfB_PB_CreditCheckExpiryDate__c== null){                                                                     
                ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'The credit check for this account is missing an expiry date, you need to do another credit check before entering the Takeover order.');
                ApexPages.addMessage(myMsg);            
                return null;                                 
            }
            
            if(vAccount.TfB_PB_CreditCheckExpiryDate__c <= SysDate){                                                              
                system.debug('Negative Else1----');                                      
                ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'The Credit Check results have reached the expiry date. Please perform the Credit Check from the account before performing Order');
                ApexPages.addMessage(myMsg);            
                return null;                       
            } 
            
            if(vAccount.TfB_PB_CreditCheckResponse__c == 'Positive' || vAccount.TfB_PB_CreditCheckResponse__c == 'ERROR'){                        
                system.debug('========='+subids);
                if(subids.size()>0){
                try
                {
                    system.debug('@@@@@@@@@@ :'+selectedSubscriptionList.size());
                    system.debug('###########:'+vAccount.Id);
                    system.debug('***********:'+selectedActions);
                    system.debug('%%%%%%%%%%%:'+currentDateValue);
                    OpptyId = TB_PB_CloneOpportunity.createClonedOpportunity(selectedSubscriptionList,vAccount.Id,selectedActions,currentDateValue);
                    system.debug('Opportunity Id is :'+OpptyId);
                    PageReference pageOpportunity = new PageReference('/'+OpptyId);
                    system.debug('pageOpportunity is :'+pageOpportunity );
                    pageOpportunity.setRedirect(false);
                    return pageOpportunity;
                 }
                 catch(Exception e)
                 {
                    ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'There was a technical problem encountered while carrying out this order. To retry click on Continue button again, if you still get this message please take a screen print and log a ticket in Remedy force');
                    ApexPages.addMessage(myMsg);                  
                 }
                  return null;  
                }
                else{
                    ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'You need to select atleast one subscription');
                    ApexPages.addMessage(myMsg);            
                    return null; 
                    }   
            }
            
            if(vAccount.TfB_PB_CreditCheckResponse__c == 'Negative-1'){                                                                          
                ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'You cannot proceed with Order Intake since the customer has a negative credit check -1');
                ApexPages.addMessage(myMsg);            
                return null;
            }
            
            if(vAccount.TfB_PB_CreditCheckResponse__c == 'Negative-2'){
                system.debug('Negative----');
                ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'You cannot proceed with Order Intake since the customer has a negative credit check -2');
                ApexPages.addMessage(myMsg);            
                return null;                             
            }
            
            if(vAccount.TfB_PB_CreditCheckResponse__c == null || vAccount.TfB_PB_CreditCheckResponse__c!='POSITIVE' ||vAccount.TfB_PB_CreditCheckResponse__c!='NEGATIVE-1'||vAccount.TfB_PB_CreditCheckResponse__c!='NEGATIVE-2'||vAccount.TfB_PB_CreditCheckResponse__c!='ERROR' ){
                system.debug('Negative Else----');
                ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'The account does not have a positive credit check, you need to get an approval to continue with the order');
                ApexPages.addMessage(myMsg);            
                return null;                                           
            }                                  
            return null;                              
        }                                                                                
        else if(selectedActions =='Move'){
            if(vSourceAccount.TfB_PB_CreditCheckExpiryDate__c== null){                            
                ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'The credit check for this account is missing an expiry date, you need to do another credit check before entering the Takeover order.');
                ApexPages.addMessage(myMsg);            
                return null;                                 
            }
            
            if(vSourceAccount.TfB_PB_CreditCheckExpiryDate__c <= SysDate){
                ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'The Credit Check results have reached the expiry date. Please perform the Credit Check from the account before performing Order');
                ApexPages.addMessage(myMsg);            
                return null;                       
            }  
            
            if(vSourceAccount.TfB_PB_CreditCheckResponse__c == 'Positive'|| vSourceAccount.TfB_PB_CreditCheckResponse__c == 'ERROR'){                      
                system.debug('========='+subids);
                if(subids.size()>0){
                try
                {
                    system.debug('@@@@@@@@@@ :'+selectedSubscriptionList.size());
                    system.debug('###########:'+null);
                    system.debug('***********:'+selectedActions);
                    system.debug('%%%%%%%%%%%:'+currentDateValue);
                    OpptyId = TB_PB_CloneOpportunity.createClonedOpportunity(selectedSubscriptionList,null,selectedActions,currentDateValue);
                    system.debug('Opportunity Id is :'+OpptyId);
                    PageReference pageOpportunity = new PageReference('/'+OpptyId);
                    system.debug('pageOpportunity is :'+pageOpportunity );
                    pageOpportunity.setRedirect(false);
                    return pageOpportunity;
                 }
                 catch(Exception e)
                 {
                    ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'There was a technical problem encountered while carrying out this order. To retry click on Continue button again, if you still get this message please take a screen print and log a ticket in Remedy force');
                    ApexPages.addMessage(myMsg);                  
                 }
                 return null;
                }
                else{
                    ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'You need to select atleast one subscription');
                    ApexPages.addMessage(myMsg);            
                    return null; 
                }   
            }
            
            if(vSourceAccount.TfB_PB_CreditCheckResponse__c == 'Negative-1'){
                ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'You cannot proceed with Order Intake since the customer has a negative credit check -1');
                ApexPages.addMessage(myMsg);            
                return null;
            }
            if(vSourceAccount.TfB_PB_CreditCheckResponse__c == 'Negative-2'){
                ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'You cannot proceed with Order Intake since the customer has a negative credit check -2');
                ApexPages.addMessage(myMsg);            
                return null;                             
            }
            if(vSourceAccount.TfB_PB_CreditCheckResponse__c == null || vSourceAccount.TfB_PB_CreditCheckResponse__c!='POSITIVE' ||vSourceAccount.TfB_PB_CreditCheckResponse__c!='NEGATIVE-1'||vSourceAccount.TfB_PB_CreditCheckResponse__c!='NEGATIVE-2'||vSourceAccount.TfB_PB_CreditCheckResponse__c!='ERROR' ){
                ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'The account does not have a positive credit check, you need to get an approval to continue with the order');
                ApexPages.addMessage(myMsg);            
                return null;                                           
            } 
            return null; 
        }                                                                                                                                                                                                                                
            else{
                system.debug('========='+subids);
                if(subids.size()>0){
               try
                {
                    system.debug('@@@@@@@@@@ :'+selectedSubscriptionList.size());
                    system.debug('###########:'+null);
                    system.debug('***********:'+selectedActions);
                    system.debug('%%%%%%%%%%%:'+currentDateValue);
                    OpptyId = TB_PB_CloneOpportunity.createClonedOpportunity(selectedSubscriptionList,null,selectedActions,currentDateValue);
                    system.debug('Opportunity Id is :'+OpptyId);
                    PageReference pageOpportunity = new PageReference('/'+OpptyId);
                    system.debug('pageOpportunity is :'+pageOpportunity );
                    pageOpportunity.setRedirect(false);
                    return pageOpportunity;
                 }
                 catch(Exception e)
                 {
                    ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'There was a technical problem encountered while carrying out this order. To retry click on Continue button again, if you still get this message please take a screen print and log a ticket in Remedy force');
                    ApexPages.addMessage(myMsg);                  
                 }
                 return null;
                }
                else{
                    ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'You need to select atleast one subscription');
                    ApexPages.addMessage(myMsg);            
                    return null; 
                }        
                 
            } 
    }        
    
    //Wrapper class logic      
    public class wrapSubscription{
        public csord__Subscription__c vSub {get; set;}        
        public Boolean selected {get; set;}
        public wrapSubscription( ){
            vSub = new csord__Subscription__c();
            selected = false;
        }
        public wrapSubscription(csord__Subscription__c a){
            vSub = a;
            selected = false;
        }
        public wrapSubscription(csord__Subscription__c c,string s){
            vSub=c;
            selected=true;
        }       
        
    }
}





Following lines of code is not getting covered after so much permutations and combinations.
All these lines are called behind "Proceed" button.


This forum helped me earlier many times and this time again i am very hopeful and can expect that i would be able to make it beyond 75%.Many thanks in advance..

 

I have seen suggestion with below code for catching Validation Error:

try {
   update user;
}
catch (Exception e) {
   String errorMessage = e.getMessage();
   if(!errorMessage.contains('FIELD_CUSTOM_VALIDATION_EXCEPTION')) {
      ApexPages.addMessage(new ApexPages.Message(ApexPages.severity.ERROR, errorMessage));
   }
}

Is there any better way for this as my custom error message may also contain String: 'FIELD_CUSTOM_VALIDATION_EXCEPTION'

Is there any specific Exception Type provided by Salesforce for Validation Error. Or is there any better way to catch ValidationError?

hi Guys,

I have a formula field to determine day of the date. I am trying to calculate day of the date which is a formula field. I used mod(Date__c- Date(1900,1,7) which is giving a decimal value which is not supposed to happen.
here is my formula, CASE(MOD(  X2_days_past_finance_extension_date2__c  - DATE(1900, 1, 6), 7), 0, "Saturday", 1, "Sunday", 2,"Monday", 3, "Tuesday", 4, "Wednesday", 5, "Thursday", 6,"Friday","Error")

X2_days_past_finance_extension_date2__c  is a formula field.
I dont have any idea why Mod function is giving decimal result. Any help is greatly appreciated guys.
Thanks,
  • May 25, 2015
  • Like
  • 0

Hello everybody,

     I would like to know how do you check the value of a checkbox (isDone__c), whether it is true or false.
     I have tried this: if(isDone__c)  and I am getting the following error: Condition expression must be of type Boolean.


Thanks for any help,
Vijay,

String queryString = 
                'SELECT Id  'FROM Account ' +
                'WHERE DISTANCE(GeoLocation__c, GEOLOCATION('+lat1+','+lon1+'), \'mi\') < ' + Integer.valueOf(SelectedWithin) ;

Here lat1, lon1, selectedWithin are the variables.

Can you help me in converting this dynamic query into direct query?
Hi everyone i am new to salesforce i had some requirement please tell me 

Create a page which displays a subset of Opportunity fields using apex:outputField components. Bind the Name, Amount, Close Date and Account Name fields to the apex:outputField components.The page must be named 'OppView'.
It must reference the Opportunity standard controller.
It must have an apex:outputField component bound to the Opportunity Name.
It must have an apex:outputField component bound to the Opportunity Amount.
It must have an apex:outputField component bound to the Opportunity Close Date.
It must have an apex:outputField component bound to the Account Name of the Opportunity.

My Answer:
<apex:page standardcontroller="Opportunity">
<apex:pageBlock>
   <apex:pageBlockTable >
      <apex:outputField value="{!Opportunity.Opportunity Name}"/>
      <apex:outputField value="{!Opportunity.Amount}"/>
      <apex:outputField value="{!Opportunity.Close Date}"/>
      <apex:outputField value="{!Opportunity.Account Name}"/>
   </apex:pageBlockTable>
</apex:pageBlock>
</apex:page>

Error Displaying:
Error: Missing required attribute value in <apex:pageBlockTable> in OppView at line 3 column 25

Please help to improve my knowledge
 
Hi guys,
I was woundering if there are any good website/books for learning Apex, I have never done coding and I am struggling with the basic concepts of the language and what goes were. The Salesforce trailhead for Apex does not make alot of sence to me at all or the Apex dev guild.
If anybody can help me by pointing me in the right direction that would be most helpful.  
Regards

I want to show the progress of  the Stages in Opportunity as per Probability?

For example, If it is "Prospecting", 10% of the bar will be displayed. If "Closed Won", it will be 100%.
Also some diggerent colors need to be set as per Stages.

Can anyone help? Thanks in advance.

Hello,
We are trying to deploy a change set for our client, but the validation keeps returning a Code Coverage Error with the following error message:
Details: Average test coverage across all Apex Classes and Triggers is 73%, at least 75% test coverage is required.
According to our developer the code coverage is 82% in the Developer Console.
Hi All,

I need to select all the fields ( like accountName, accountNumber etc ) of Account ( or any sobject ) through SOQL.

I constructed the select qurey as follows.

DescribeSObjectResult res = binding.describeSObject( "Account" );
Field[] fields = res.getFields();
String expr = "";
for( int i=0; i < fields.length-1; i++ )
{
expr += fields[i].getName() + ", ";
}
expr += fields[ fields.length - 1 ].getName();

String qry = "Select " + expr + " from Account";
QueryResult res = binding.query( qry );

While executing this, I am getting following exception.

Is there any easier way to achieve this!

Kindly help me solve this problem!

Regards,
Ganesh Kumar N.S.A

Exception in thread "main" java.rmi.UnmarshalException: Error unmarshaling return; nested exception is:
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.apache.crimson.tree.ElementNode2
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:217)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown Source)
at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:135)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:96)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)
at com.adventnet.authentication.interceptor.ClientPrincipalAssociator.invoke(ClientPrincipalAssociator.java:52)
at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:100)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:85)
at $Proxy1.importFromSForce(Unknown Source)
at com.adventnet.examples.ImportUtilClient.main(ImportUtilClient.java:39)
Caused by: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.apache.crimson.tree.ElementNode2
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1278)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1603)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1271)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:215)
... 10 more
Caused by: java.io.NotSerializableException: org.apache.crimson.tree.ElementNode2
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1224)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1050)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:367)
at java.util.Vector.writeObject(Vector.java:1017)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
  • April 23, 2004
  • Like
  • 0
Hi, I need a vf page to show a filter criteria as of like rule criteria (or) a like a new list view in vf page, please help me out to complete this.....thanks!
Hello Everyone, 

I am looking for salesforce development work. I have 1 and half years of experience and worked on Apex, Visualforce, Communties and sites. I am based in Australia, However, I am open to remote work as well.

Thank You 

Regards,
Lavanya Kavuri
lavanya@pepcha.com
SF Developer Needed (Los Angeles)
We need an experienced Salesforce Developer for a contract position to extend the functionality of our salesforce applications to completely replace existing custom applications. This will be part time contract position. You must have strong development skills in the Salesforce.com platform to be considered for this position.

Specific Requirements:
• Salesforce.com Certified / Force.com Developer preferred
• Salesforce.com Architecture, Design, Development and Operational Support required
• Force.com developer toolkit - Apex, Visualforce, SalesForce Sites, Force.com IDE, Force.com Migration Tool, Web Services/SOA & Metadata API, SQL, RDBMS
• Strong web development skills including CSS, JavaScript, DHTML, HTML, XML
• Technical skills: PHP, MySQL, XML, HTML and CSS, SOAP, XML, JavaScript, AJAX
• Object Oriented Development Skills
• Ability to develop rapid prototypes
• B.S. in Business, Computer Science, Software Engineering, MIS or equivalent work experience

To be successful, you must:
• Have excellent verbal and written communication/collaboration skills
• Be comfortable interacting with senior management
• Have a positive attitude; be a proactive thinker; be self motivated; enjoy working independently
• Have strong analysis and problem solving skills
• Be knowledgeable of the IT process: Software Development Life Cycle, Project Management Processes
• Knowledge of experiential event marketing industry helpful, but not required

Please, no companies and must be located in Los Angeles.

To Apply:
Please email Jennifer@attackmarketing.com . Include hourly rate and available start date. We are looking to start working with a developer immediately. Thanks!
Hi there,

I have more 2 yrs of Experience in salesforce, I am Salesforce Certified Developer, hands on experience in salesforce Cofiguration , Apex Class, Vf pages, Test classes, Integration, Triggers, documentation and handeling clients etc.
Currently am looking salesforce developer freelancer job.
Any help would be appreciated.

to know more about me.
My Linkedin Profile : http://www.linkedin.com/pub/abhi-tripathi-%E2%98%81/46/906/317
My Blog : http://abhithetechknight.blogspot.in/2014/05/opportunity-probability-field-value.html

Warm Regards,
Abhi Tripathi
Salesforce Certified Developer
Mobile : +91-9928833992
Skype : abhi.tripathi7