-
ChatterFeed
-
19Best Answers
-
0Likes Received
-
0Likes Given
-
4Questions
-
85Replies
Trigger that send email notification when the case is updated
Hi,
I am trying to write the Trigger code when the status of the case is changed and any other changes in fields with conditional loops for changing the Mail subject.
The issue was on trigger that send the same mail subject when i changed the status or changed the iother fields in the case.
The following is my code,
trigger caseUpdationMailNotification on Case ( after update) { contact relatedCaseContact; CaseComment Cscmnt; for(case Cases :trigger.new){ relatedCaseContact = [SELECT Email FROM Contact WHERE Id = :Cases.ContactId]; Messaging.reserveSingleEmailCapacity(1); //Fetch the related case contact. Messaging.SingleEmailMessage CaseNotificationmail = new Messaging.SingleEmailMessage(); CaseNotificationmail.setToAddresses(new List<String> { relatedCaseContact.Email }); CaseNotificationmail.setReplyTo('ambigaraman@gmail.com'); CaseNotificationmail.setSenderDisplayName('Salesforce Support'); If(Cases.Status =='Working'){ CaseNotificationmail.setSubject(' Case Status updation : ' +'Changed to working. '+'Case Number:' + Cases.CaseNumber); CaseNotificationmail.setPlainTextBody('Your case Status: ' + Cases.CaseNumber +'To view your case <a href=https://na1.salesforce.com/'+Cases.Id);} If(Cases.Status =='Escalated'){ CaseNotificationmail.setSubject(' Case Status updation : ' +'Changed to Escalated. '+ 'Case Number:' +Cases.CaseNumber); CaseNotificationmail.setPlainTextBody('Your case Status: ' + Cases.CaseNumber +' has been updated.'+'To view your case <a href=https://na1.salesforce.com/'+Cases.Id); } If(Cases.Status =='closed'){ CaseNotificationmail.setSubject(' Case Status updation : ' +'Changed to closed. '+ 'Case Number:' +Cases.CaseNumber); CaseNotificationmail.setPlainTextBody('Your case Status:' + Cases.CaseNumber +' has been updated.'+'To view your case <a href=https://na1.salesforce.com/'+Cases.Id); } else{ CaseNotificationmail.setSubject(' Case updation : ' + 'Case Number:'+ Cases.CaseNumber); CaseNotificationmail.setPlainTextBody('Your case : ' + ' has been updated.'+'To view your case <a href=https://na1.salesforce.com/'+Cases.Id); } Messaging.sendEmail(new Messaging.SingleEmailMessage[] { CaseNotificationmail }); } }
If i use 'elseif', It again send the email with subject for status changed,
Can anyone help me to write the trigger that send the mail that send when we change the status only. or there is only changes in other fields(not in status) of the case?
Thanks & Regards.,
Ambiga
- AmbigaRam
- August 21, 2013
- Like
- 0
- Continue reading or reply
Code coverage across all Apex Classes and Triggers is 69%, at least 75% test coverage is required
Hi to all,
I have made some code changes in 2 apex classes, when i deploying these two apex classes, it throughs an error like this
: Average Test Coverage across all Apex classes and Triggers is 69%, atleast 75% test coverage is required.
when i run those 2 test classes, its test coverage is 84% and 86%.
I have deployd with change sets and also i try with Eclipse, getting the same error.
Please help me on this error, colud you please suggest any ideas or suggestons it will be greatly apriciated.
Thanking You in Advance.
- a!
- August 07, 2013
- Like
- 0
- Continue reading or reply
Please give some solution?
Hii evryone i already asked this question but i didnt got any answer from anybody...again i have serious issue with this topic.....if anyone understands please tell me your solution.....i will breifly clearly explain my task understand step by step...
1)When we click Home and scroll down we have "My Task" when we click new and we create Task. when we click new we ll see fields , in that we have 'Subject' , and 'Comments' fields also. let it put aside.
2) click contacts , when we open any existed contact record in below we will found "Activity History"block in that we have "send an email button"...
so now when i click "send an email" button the email page will opened with appropriate contact....and we will fill details like cc,BCC, Subject,Body in the email page. and we click 'send' button to send email.
Now the Requirement is when i click the send button , a new Task should need to create automatically (In first step it is manually) and Task subject is populated by email subject and Task comments is populated by email Body.
How should write trigger for this...
i found that there are no email fields are existed like emails (subject , body ,cc , BCC because it is standard and designed by salesforce.) so how should i know the fields apis name. but we have Task fields like subject,comments in Customize ---> Activities--> Task feilds.
can we write trigger between 2 objects. (because contacts email data need to save on Task.they are two diff objs)...
- anvesh@force.com
- August 06, 2013
- Like
- 0
- Continue reading or reply
List of field names which are external id
Hi,
I am new to Salesforce. Please help me in implementing following
In my Apex code, i have name of selected object in a Variable
I need a piece of code which returns name of the fields which are external ids in that selected object.
- Peace
- June 28, 2013
- Like
- 0
- Continue reading or reply
Values of custom object arent displayed in The Vf page
Accounts is a custom object.i have to retrieve the account type on the basis of Name.
I am able to retrieve the id and i'm getting account type in debug. But, it isnt displayed in the VF page.
Please have a look at the code..
Given below is the code of Class and VF page
<apex:page controller="SearchByName"> <apex:form > <apex:outputLabel style="font-weight:bold;" value="Search By Name" ></apex:outputLabel> <apex:inputText value="{!textData}"/> <apex:commandButton action="{!search}" value="Search" id="search" rerender="out, msgs" status="status"/> </apex:form> <!------Doesnt print the first name and account type-------> <apex:pageBlock > <apex:pageBlockTable value="{!Accounts}" var="c" > <apex:column > <apex:facet name="header">First Name</apex:facet> <apex:outputField value="{!c.First_Name__c}" /> </apex:column> <apex:column > <apex:facet name="header">Account Type</apex:facet> <apex:outputField value="{!c.Account_Type__c}" /> </apex:column> </apex:pageBlockTable> </apex:pageBlock> <!------------- Getting the value of var "c"------------> <apex:outputPanel id="out"> <apex:actionstatus id="status" startText="searching..."> <apex:facet name="stop"> <apex:outputPanel > <apex:dataList value="{!Accounts}" var="c">a:{!c}</apex:dataList> </apex:outputPanel> </apex:facet> </apex:actionstatus> </apex:outputPanel> </apex:page>
public class SearchByName { List<Account__c> Accounts; private String textdata = null; public String getTextData() { return textdata; } public void setTextData(String data) { textdata = data; } public void search(){ Accounts = Database.query('SELECT First_Name__c,Account_Type__c FROM Account__c where First_Name__c = :textdata'); system.debug('Accounts>>>>'+Accounts); } public List<Account__c> getAccounts() { return Accounts; } }
- sonam
- June 28, 2013
- Like
- 0
- Continue reading or reply
Structure and fuction for picklist's values
I'm tring to optimize the code below.
I'm looking for a structure where i can put the picklist's values and after (with just a condition) i want check the condition for all the values in the structure.
if ((lead.Status.trim()=='Archived' || lead.Status.trim()=='False'||lead.Status.trim()=='Lead - Never'))
should be like this:
structure=['Archived','False','Lead - Never'];
if ((lead.Status.trim()==structure))
I can not find anything, do you know how i can do this?
Thanks in advantage for any advice.
Br
- Enry
- June 28, 2013
- Like
- 0
- Continue reading or reply
Explain me error
Double growthRate = LifeInsuranceInterest__c.getInstance(description).Rate__c;
I am getting an error here, plz tell me what this error means...
Error: Compile Error: Not of type Custom Settings at line 545 column 29
- Mack Dsoza
- June 29, 2011
- Like
- 0
- Continue reading or reply
Apex Code Create Lead and Assign to Campaign?
Hi all,
I have a visualforce page that creates a new lead, however, how can I get it to add the new lead to a campaign, like a web-to-lead form does. In a web-to-lead form you would use campaign_id and member_status but that doesn't work in the apex. I also have a primary_campaign_id__c field in the lead so could I use that and if so how?
Here is the apex code:
public class Reserve {
public Lead lead {get; private set;}
public String company {get; set;}
public String email {get; set;}
public String phone {get; set;}
public String firstName {get; set;}
public String lastName {get; set;}
public String title {get; set;}
public String getName() {
return 'Reserve';
}
// save button is clicked
public PageReference save() {
Lead l = new Lead(
OwnerId = '00GE0000000hCBH',
LeadSource = 'Reserve',
FirstName = firstName,
LastName = lastName,
Email = email,
Phone = phone,
Title = title,
Company = company,
List_Assignment__c = 'Reserve',
Primary_Campaign_ID__c = '701E0000000TwCG'
);
try {
insert l; // inserts the new record into the database
} catch (Exception e) {
ApexPages.addMessage(new ApexPages.message(ApexPages.severity.Error,'Error adding Reserve List.'));
return null;
}
return Page.confirmationReserveEntry;
}
}
Thanks
Kev
- KevSnell
- June 23, 2011
- Like
- 0
- Continue reading or reply
Trigger Problem
Hi,
I wrote a trigger that serves to update a custom field on an object. The field actually gets updated with the change in price of the item. Now am kind of stuck with it if I use the before update trigger, it shows the second last change in the price. I cannot use the After update as record gets locked and I cannot update the field value. Below is the trigger code:
trigger TrackPRICEupdate on pb__InventoryItem__c(before update) { pb__InventoryItem__History invh = new pb__InventoryItem__History(); for(pb__InventoryItem__c inv: trigger.new){ invh = [Select NEWVALUE, FIELD, OLDVALUE, CREATEDDATE, PARENTID from pb__InventoryItem__History where PARENTID = :inv.id and FIELD = 'pb__PurchaseListPrice__c' order by CREATEDDATE DESC LIMIT 1]; if(invh.oldvalue <> null && invh.newvalue <> null) { string a = string.valueof(invh.oldvalue); string b = string.valueof(invh.newvalue); decimal old = decimal.valueof(a); decimal newv = decimal.valueof(b); inv.price_change__c = newv - old; } //update inv; } }
Anyone can help?
- phantom1982
- June 20, 2011
- Like
- 0
- Continue reading or reply
Trigger (after insert): having trouble assigning OwnerId value
Hi,
I've got a really simple trigger here that's giving me a little grief. I've got child records off Opportunities called "Opportunity Allocations". When an opportunity is created, we assume the allocation to the owner is at 100%. Later, we might allocate other percentages to the owner, plus members of the sales team.
After insert on Opportunity, I create a row in Opportunity_Allocation__c, supplying OpportunityId and Opportunity.OwnerId. For some reason I can't figure out, the Opportunity.OwnerId field won't populate on the child record.
The child record field is called "Sales_Team_Member__c and I've set it up as a lookup to User. So I should be able to simply populate OwnerId into it or any other primary key for any other record in User object. But it comes up null when the trigger fires.
So I decided to add a text field in called "STM" and I also put Opportunity.OwnerId in that field. That works.
Here's the code. The only bit that doesn't work properly is the beginning, inside the first if. The rest of the trigger works as it should. The rest of the trigger reassigns the owner's share of allocation every time the owner of the opportunity works.
I expected to have more trouble with the latter half of the code but that works. The trouble's in the first 18 or so lines.
trigger insUpdOpportunity on Opportunity (after insert, after update) { List<Opportunity_Allocation__c> oaList = new List<Opportunity_Allocation__c>(); if(Trigger.isInsert) { for (Opportunity o : trigger.new) { Opportunity_Allocation__c oa = new Opportunity_Allocation__c ( Opportunity__c = o.Id, IsOwner__c = true, Percentage_Of_Revenue__c = 100, Region__c = 'XXX', Sales_Team_Member__c = o.OwnerId, STM_txt__c = o.OwnerId ); system.debug('this is oa:' + oa); oaList.add(oa); } insert oaList; } // end if if(Trigger.isUpdate) { Opportunity[] oldOpp = trigger.old; Opportunity[] newOpp = trigger.new; // build the map of opp to new opp owner map<Id, Id> oppMap = new map<Id, Id>(); for (Integer i = 0; i < newOpp.size(); i++ ) { if (oldOpp[i].OwnerId != newOpp[i].OwnerId) { oppMap.put(newOpp[i].Id, newOpp[i].OwnerId) ; } } // build the list of opportunity allocations to modify oaList = [select Id,Opportunity__c, Sales_Team_Member__c from Opportunity_Allocation__c where Opportunity__c in :Trigger.newMap.keyset() and IsOwner__c = true]; // loop over the list and change the Sales_Team_Member for (Opportunity_Allocation__c oa : oaList) { oa.Sales_Team_Member__c = oppMap.get(oa.Opportunity__c); } //upsert the changed values (if any) if (oaList.size() > 0) upsert oaList; } // end if }
What am I doing wrong?
Thanks!!
- BigSmoke
- June 02, 2011
- Like
- 0
- Continue reading or reply
repeat and actionsupport no rerender
Can anyone tell me, help me, why the mainimage not rerenders?
The mainImage renders in a datatable component but not in a repeat component.
Use of repeat component is because i want a list of images shown horizontally instead of vertically.
The VisualForce page.:
<"abc__c"extensions="cntabcImageBrowser">
<apex:form>
<apex:pageBlock>
<apex:outputpanelid="mainImage">
<apex:Imagevalue="{!theImage}"title="{!theImage}"height="135px"/>
</apex:outputpanel>
<br/>
<h2>Images in table form as they will be displayed the page</h2>
<br/>
<apex:repeatvalue="{!abcList}"var="stocksetImage">
<apex:Image value="{!abcImage}" title="{!abcImage}" width="49px"/>
<apex:actionSupport action="{!makeMainImage}" event="onmouseover" rerender="mainImage">
<apex:param name="ImageID" value="{!abcImage}" />
</apex:actionsupport> </apex:repeat> <!-- the list of images in a simple table -->
<br/>
<br/>
<br/>
</apex:page>
</apex:pageBlock>
</apex:form>
Controller:
public String theImage {get;set;}
// action on Page image Generiek
public PageReference makeMainImage(){
theImage = ApexPages.CurrentPage().getParameters().get('ImageID');
returnnull;
}
Thanks in front
Paul
- Witte
- June 01, 2011
- Like
- 0
- Continue reading or reply
Use of Input Field...
<!-- For this example to render properly, you must associate the Visualforce page with a valid account record in the URL. For example, if 001D000000IRt53 is the account ID, the resulting URL should be: https://Salesforce_instance/apex/myPage?id=001D000000IRt53 See the Visualforce Developer's Guide Quick Start Tutorial for more information. --> <apex:page standardController="Account"> <apex:form > <apex:pageBlock title="My Content" mode="edit"> <apex:pageBlockButtons > <apex:commandButton action="{!save}" value="Save"/> </apex:pageBlockButtons> <apex:pageBlockSection title="My Content Section" columns="2"> <apex:inputField value="{!account.name}"/> <apex:inputField value="{!account.type}"/> </apex:pageBlockSection> </apex:pageBlock> </apex:form> </apex:page>
This is a code for the standard Object but If I want to insert/reference any custom object then how can i do that ?
I tried this things as I putted {!CustomObjectName__c.CustomFieldName__c} as value of the input field...
Regards....
- Bhola Vishwakarma
- June 01, 2011
- Like
- 0
- Continue reading or reply
test method stopped by a soql which is in a try catch block
public id dummy;
public pagereference somemethod()
{
try{
sometype obj=[select id from sometype where id=: dummy];
}catch(e)
{
apexpage.addMessage();
}
return null;
}
testMethod()
{
set dummy to null;
call to somemethod();
}
Hi there,
When save, the test stop at the call to somemethod() with error:
System.QueryException: List has no rows for assignment to SObject.
But this error is supposed to be catched in the method itself.
Any idea appriciated?
- maxout
- June 01, 2011
- Like
- 0
- Continue reading or reply
Help with Trigger - Link child id to parent Id with DML Insert outside of loop
Hi,
I have been revising my trigger code as I had DML Insert statements inside my loop. I created a list and brought the DML statements outside of loop, but have ran into another issue as a result. I need to create a contact and link the contact to the Bankruptcy_Judgements_Liens_Report__r custom object through the BJVLAgencyContact.ID lookup field. When I insert outside of the loop, the actual contact ID is not captured since its not inserted.
trigger ConVerificationRecordSetup on Con_Service_Task_Request__c (after insert, after update) { Set<ID> accID = new Set<ID>(); //map to contain Con_Service_Task_Request__c record's id as key and it's master Account record's ID as value Map<ID, ID> mapST_Account = new Map<ID, ID>(); Map<ID, ID> mapPrincipalAcctCont = new Map<ID, ID>(); Map<ID, List<Trade_Reference_Report__c>> mapExistingTRVs = new Map<ID, List<Trade_Reference_Report__c>>(); List <Contact> listBJLVAgencyContact = new List<Contact>(); List <Bankruptcy_Judgements_Liens_Report__c> listBJLV = new for(Con_Service_Task_Request__c ST : trigger.new){ //This "Con_Service_Task_Request__c" should be API Name of Master Detail relationship with the Account accID.add(ST.Account__c); mapST_Account.put(ST.id , ST.Account__c); Contact Principalcontact=[SELECT ID FROM Contact WHERE AccountId = : ST.Account__c AND Contact_Type__c = 'Acct Principal Contact' limit 1]; mapPrincipalAcctCont.put(ST.id, Principalcontact.ID); List<Trade_Reference_Report__c> ExistingTRVs = [SELECT ID FROM Trade_Reference_Report__c WHERE Account__c = : ST.Account__c AND TRV_Work_Category__c = : ST.Category__c limit 3]; mapExistingTRVs.put(ST.id, ExistingTRVs); } Map<Id,List<Account>> records = new Map<Id,List<Account>>(); for(Account a : [SELECT id , (select id from Bankruptcy_Judgements_Liens_Report__r) FROM Account WHERE id in : accID]) { if(!records.containsKey(a.id)) { records.put(a.id , new List<Account>()); } records.get(a.id).add(a); } for (Con_Service_Task_Request__c ST : Trigger.new) { //INSERT NEW BJLV RECORD IF REQUIRED AND DOES NOT YET EXIST if (records.get(mapST_Account.get(ST.id)).get(0).Bankruptcy_Judgements_Liens_Report__r.Size() == 0) Contact BJLVAgencyContact = new Contact(AccountId = ST.Account__c , Contact_Type__c = 'BJLV Agency', LastName = 'Enter Last Name'); listBJLVAgencyContact.add(BJLVAgencyContact); Bankruptcy_Judgements_Liens_Report__c BJLV = new Bankruptcy_Judgements_Liens_Report__c(Account__c = ST.Account__c , BJLV_Agency_Contact__c = BJLVAgencyContact.ID ); //BJVLAgencyContact.ID does not exist at this stage since Insert //outside of the loop now listBJLV.add(BJLV); } } insert listBJLVAgencyContact; insert listBJLV; //Does not link to Contact on Insert. How would I get it to link? }
- neckr
- June 01, 2011
- Like
- 0
- Continue reading or reply
Test Code coverage Question
On the below test code I am covering 53% and have an error that says the following:
TestQuoteExt.basicAttachTest System.QueryException: List has no rows for assignment to SObject Class.quoteExt.attachQuote: line 17, column 23 Class.TestQuoteExt.basicAttachTest: line 42, column 32 External entry point
I am running agains a brick wall. How to I solve this error in the test class?
Test Class:
@IsTest private class TestQuoteExt { /* This is a basic test which simulates the primary positive case for the save method in the quoteExt class. */ public static testmethod void basicSaveTest() { /* Construct the standard controller for quote. */ ApexPages.StandardController con = new ApexPages.StandardController(new quote()); /* Switch to runtime context */ Test.startTest(); /* Construct the quoteExt class */ QuoteExt ext = new QuoteExt(con); /* Switch back to test context */ Test.stopTest(); } /* This is a basic test which simulates the primary positive case for the attachQuote method in the quoteExt class. */ public static testmethod void basicAttachTest() { /* Construct the standard controller for quote. */ ApexPages.StandardController con = new ApexPages.StandardController(new Quote()); /* Construct the quoteExt class */ QuoteExt ext = new QuoteExt(con); /* Call save on the ext */ // ext.save(); /* Set the extension quote object using the id on the controller. */ ext.q = new quote(id = con.getId()); /* Switch to runtime context */ Test.startTest(); /* Simulate the button invocation of the attachQuote action method on the extension. */ PageReference result = ext.attachQuote(); /* Switch back to test context */ Test.stopTest(); /* Verify the navigation outcome is as expected */ System.assertEquals(result.getUrl(), con.view().getUrl()); /* Verify the attachment was created. */ System.assert([select name from attachment where parentid =:con.getId()].name!= null); } /* This setup method will create an opportunity with line items and a primary contact role for use in various tests. */ private static Opportunity setupTestOpportunity() { /* Create an account */ Account a = new Account(); a.name = 'TEST'; Database.insert(a); /* Get the standard pricebook. There must be a standard pricebook already in the target org. */ Pricebook2 pb = [select name, isactive from Pricebook2 where IsStandard = true limit 1]; if(!pb.isactive) { pb.isactive = true; Database.update(pb); } /* Get a valid stage name */ OpportunityStage stage = [select MasterLabel from OpportunityStage limit 1]; /* Setup a basic opportunity */ Opportunity o = new Opportunity(); o.Name = 'TEST'; o.AccountId = a.id; o.CloseDate = Date.today(); o.StageName = stage.masterlabel; o.Pricebook2Id = pb.id; /* Create the opportunity */ Database.insert(o); /* Setup a basic Template*/ PDF_Template__c pd = new PDF_Template__c(); pd.Name = 'English'; pd.Template_Address__c = 'apex/English'; /* Create the Template */ Database.insert(pd); /* Setup a basic quote*/ Quote q = new Quote(); q.Name = 'TEST'; q.OpportunityId = o.id; q.PDF_Template__c = pd.id; /* Create the opportunity */ Database.insert(q); /* Create a contact */ Contact c = new Contact(); c.lastname = 'LASTNAME'; c.firstname = 'FIRSTNAME'; Database.insert(c); /* Create the opportunity contact role */ OpportunityContactRole r = new OpportunityContactRole(); r.ContactId = c.id; r.OpportunityId = o.id; r.IsPrimary = true; r.role = 'ROLE'; Database.insert(r); /* Create a product2 */ Product2 p = new Product2(); p.Name = 'TEST'; Database.insert(p); /* Create a pricebook entry. */ PricebookEntry pbe = new PricebookEntry(); pbe.Pricebook2Id = pb.id; pbe.Product2Id = p.id; pbe.IsActive = true; pbe.UnitPrice = 1; Database.insert(pbe); /* Create a line item */ OpportunityLineItem i = new OpportunityLineItem(); i.opportunityId = o.id; i.pricebookentryid = pbe.id; i.quantity = 1; i.unitprice = 1; Database.insert(i); /* Set up the opportunity with the related records */ r.Contact = c; r.Opportunity = o; o.Account = a; i.Opportunity = o; pbe.Product2 = p; pbe.Pricebook2 = pb; i.PricebookEntry = pbe; return o; } }
Class:
ApexPages.StandardController controller; public Quote q {get;set;} public quoteExt (ApexPages.StandardController c) { controller = c; q = (Quote) c.getRecord(); } public PageReference attachQuote() { PageReference pdfPage; Quote quote = [select id, PDF_Template__r.id, PDF_Template__c, PDF_Template__r.Template_Address__c from Quote where id = :ApexPages.currentPage().getParameters().get('id') ]; if(Quote.PDF_Template__c != null) { pdfPage = new PageReference('/apex/' + quote.PDF_Template__r.Template_Address__c); } pdfPage.getParameters().put('id',q.id); Blob pdfBlob = pdfPage.getContentAsPDF(); QuoteDocument a = new QuoteDocument(quoteId= q.id, Document = pdfBlob); insert a; return controller.view(); } }
Thank you
- ckellie
- June 01, 2011
- Like
- 0
- Continue reading or reply
Error message not showing in page
hi
Here is my visualforce page:
- Anu-SFDC
- May 31, 2011
- Like
- 0
- Continue reading or reply
Rrcord is read only.
Hello ,
I was trying to change the value of the Leadstatus in After Insert.
Having changed the status of a set of leads in one method i made a call to the next one.
But this does not work. I sends out an Exception: Reacord is read only
Can some one please help me on this.
public static void afterInsertLeadTrigger(List<Lead> newLeads) {
// Process Leads after Insert Process
system.debug('Check IsError:' + isError);
if(!isError){
method1(newLeads);
method2(newLeads);
}else{
isError = false;
}
}
Thanks
Bidun
- Bidun
- May 30, 2011
- Like
- 0
- Continue reading or reply
Reg:email services
How to update the records directly from email to salesforce related object not by using tomcat or any other server just it should done by using only email services...
- kirank
- May 25, 2011
- Like
- 0
- Continue reading or reply
Code Test Coverage
What things should be keep in mind while deploying project or single program from Sandbox to Production environment ?
I have created one program & it is executing fine in sandboox environment but it is running in production environment & showing me error of code test coverage is of 15% & it must be atleast 75%.
The code is as follow...
<!-- Page: --> <apex:page controller="sampleCon"> <apex:form> <apex:selectRadio value="{!country}"> <apex:selectOptions value="{!items}"/> </apex:selectRadio><p/> <apex:commandButton value="Test" action="{!test}" rerender="out" status="status"/> </apex:form> <apex:outputPanel id="out"> <apex:actionstatus id="status" startText="testing..."> <apex:facet name="stop"> <apex:outputPanel> <p>You have selected:</p> <apex:outputText value="{!country}"/> </apex:outputPanel> </apex:facet> </apex:actionstatus> </apex:outputPanel> </apex:page> /*** Controller ***/ public class sampleCon { String country = null; public PageReference test() { return null; } public List<SelectOption> getItems() { List<SelectOption> options = new List<SelectOption>(); options.add(new SelectOption('US','US')); options.add(new SelectOption('CANADA','Canada')); options.add(new SelectOption('MEXICO','Mexico')); return options; } public String getCountry() { return country; } public void setCountry(String country) { this.country = country; } }
Now there are two files & Controller : SampleCon & other is VFPage : RadioButton...I uploaded both the files from outbound change set of sandbox environment & I deployed it from inbound change set of production environment but getting test coverage & action gets failed.
Please help me...
- sangeeta.marathe@Futurewise.co
- May 25, 2011
- Like
- 0
- Continue reading or reply
Use DLL in Salesforce
There is one system, which has exposed their API through DLL. I want to use that DLL in Salesforce.
For example, DLL have one class and has one function under it called login. I want to use this function in Salesforce.
How can I achieve this? Is their any way I can convert DLL to WSDL and import into Salesforce, or any other way?
- Sonali Bhardwaj
- June 24, 2011
- Like
- 0
- Continue reading or reply
Use DLL in Salesforce Apex
There is one system, which has exposed their API through DLL. I want to use that DLL in Salesforce.
For example, DLL have one class and has one function under it called login. I want to use this function in Salesforce Apex.
How can I achieve this? Is their any way I can convert DLL to WSDL and import into Salesforce, or any other way?
- Sonali Bhardwaj
- June 24, 2011
- Like
- 0
- Continue reading or reply
Use DLL in Salesforce
There is one system, which has exposed their API through DLL. I want to use that DLL in Salesforce.
For example, DLL have one class and has one function under it called login. I want to use this function in Salesforce.
How can I achieve this? Is their any way I can convert DLL to WSDL and import into Salesforce, or any other way?
- Sonali Bhardwaj
- June 24, 2011
- Like
- 0
- Continue reading or reply
CSV Parsing in Apex
I have some requirement, I need to parse CSV in Apex through RegEx.
I am able to parse it successfully using some string functions (split, substring, etc.) but I want to parse it through RegEx.
Could any one please help me on RegEx for CSV parsing?
- Sonali Bhardwaj
- May 31, 2011
- Like
- 0
- Continue reading or reply
Trigger that send email notification when the case is updated
Hi,
I am trying to write the Trigger code when the status of the case is changed and any other changes in fields with conditional loops for changing the Mail subject.
The issue was on trigger that send the same mail subject when i changed the status or changed the iother fields in the case.
The following is my code,
trigger caseUpdationMailNotification on Case ( after update) { contact relatedCaseContact; CaseComment Cscmnt; for(case Cases :trigger.new){ relatedCaseContact = [SELECT Email FROM Contact WHERE Id = :Cases.ContactId]; Messaging.reserveSingleEmailCapacity(1); //Fetch the related case contact. Messaging.SingleEmailMessage CaseNotificationmail = new Messaging.SingleEmailMessage(); CaseNotificationmail.setToAddresses(new List<String> { relatedCaseContact.Email }); CaseNotificationmail.setReplyTo('ambigaraman@gmail.com'); CaseNotificationmail.setSenderDisplayName('Salesforce Support'); If(Cases.Status =='Working'){ CaseNotificationmail.setSubject(' Case Status updation : ' +'Changed to working. '+'Case Number:' + Cases.CaseNumber); CaseNotificationmail.setPlainTextBody('Your case Status: ' + Cases.CaseNumber +'To view your case <a href=https://na1.salesforce.com/'+Cases.Id);} If(Cases.Status =='Escalated'){ CaseNotificationmail.setSubject(' Case Status updation : ' +'Changed to Escalated. '+ 'Case Number:' +Cases.CaseNumber); CaseNotificationmail.setPlainTextBody('Your case Status: ' + Cases.CaseNumber +' has been updated.'+'To view your case <a href=https://na1.salesforce.com/'+Cases.Id); } If(Cases.Status =='closed'){ CaseNotificationmail.setSubject(' Case Status updation : ' +'Changed to closed. '+ 'Case Number:' +Cases.CaseNumber); CaseNotificationmail.setPlainTextBody('Your case Status:' + Cases.CaseNumber +' has been updated.'+'To view your case <a href=https://na1.salesforce.com/'+Cases.Id); } else{ CaseNotificationmail.setSubject(' Case updation : ' + 'Case Number:'+ Cases.CaseNumber); CaseNotificationmail.setPlainTextBody('Your case : ' + ' has been updated.'+'To view your case <a href=https://na1.salesforce.com/'+Cases.Id); } Messaging.sendEmail(new Messaging.SingleEmailMessage[] { CaseNotificationmail }); } }
If i use 'elseif', It again send the email with subject for status changed,
Can anyone help me to write the trigger that send the mail that send when we change the status only. or there is only changes in other fields(not in status) of the case?
Thanks & Regards.,
Ambiga
- AmbigaRam
- August 21, 2013
- Like
- 0
- Continue reading or reply
'Map' usage concept
Hi,
We usually use map in triggers and classes. Can someone help me to understand in which object we should use map?
Suppose: I have 2 objects:
object1
object2
Based upon crtain condition of objecct1, the certain field of object2 changes.
So, in which object should we use map?
Please help.
- Kaity
- August 20, 2013
- Like
- 0
- Continue reading or reply
Updating a custom field with mater-detail relationship
Hi guys,
I need help to update a custom field. I have two custom objects A and B with mater details relationship and both have education progress field. Every time When a new record is added to object B , i want to insert objects B’s (education progress fields) value into Object A’s education progress field and it will concatenate values with comma. Object A have one-to-many relationship with Object B.
Please suggest best way to achieve this.
Thanks in advance.
Regards,
- ArrgHunter
- August 20, 2013
- Like
- 0
- Continue reading or reply
Visualforce chart won't render (I am going insane)
In the past few weeks I have put together a number of visualforce chart based pages with dynamic controls and everything, all with no problem. Suddenly one won't render the actual chart. After hours of trying to debug the controller, I slowly paired everything back until I am now pretty sure the problem in in my visualforce code.
But I can't see the mistake.
Anyone able to keep me out of the big white house with padded walls?
Visualforce =============================== <apex:page controller="TEST_TableLine_ActivitySummary" > <apex:form > <apex:pageBlock title="Test"> <!-- The Chart --> <apex:pageBlockSection > Begin <apex:chart height="800" width="1200" data="{!teDat}" id="actCh"> <apex:legend position="right"/> <apex:axis type="Numeric" position="left" fields="rowAnum, rowBnum" title="Meetings Calls"/> <apex:axis type="Category" position="bottom" fields="pLab" title="Date" > <apex:chartLabel rotate="315"/> </apex:axis> <apex:lineSeries title="Jo" axis="left" xField="pLab" yField="rowAnum" strokeColor="#190710" strokeWidth="2" markerFill="#190710" markerType="cross" markerSize="4"/> <apex:lineSeries title="not Jo" axis="left" xField="pLab" yField="rowBnum" strokeColor="#BBAACC" strokeWidth="2" markerFill="#BBAACC" markerType="cross" markerSize="4" /> </apex:chart> End <apex:dataTable value="{!teDat}" var="a" > <apex:column headerValue="Period" value="{!a.pLab}"/> <apex:column headerValue="NumA" value="{!a.rowAnum}"/> <apex:column headerValue="NumB" value="{!a.rowBnum}"/> </apex:dataTable> </apex:pageBlockSection> </apex:pageBlock> </apex:form> </apex:page>
Even here, the "Begin", "End" and the dataTable are things I added back in just to see if the render (they do). If I remove them, all I get is the page title. The table also shows the data is correct.
In case it helps, although I am pretty certain the error is not here, this is my test controller:
Controller =============================== public with sharing class TEST_TableLine_ActivitySummary { public List<ActivityGraph> teDat; //Constructor public TEST_TableLine_ActivitySummary() { } // -- The Activity Graph public List<ActivityGraph> getteDat() { List<ActivityGraph> activityFinalGraph = new List<ActivityGraph>(); activityFinalGraph.add(new ActivityGraph('Day 1')); activityFinalGraph[0].addUserMeetings(0,5); activityFinalGraph[0].addUserMeetings(1,9); activityFinalGraph.add(new ActivityGraph('Day 2')); activityFinalGraph[1].addUserMeetings(0,8); activityFinalGraph[1].addUserMeetings(1,3); System.debug('aFG: '+activityFinalGraph); return activityFinalGraph; } public class ActivityGraph { //STRUCT -- Going to assume no team will ever have more than 13 people public String pLab { get; set; } public Integer rowAnum { get; set; } public Integer rowBnum { get; set; } //Constructors public ActivityGraph(String pl) { pLab = pl; rowAnum = 0; rowBnum = 0; } //Utility Methods public void addUserMeetings(Integer row, Integer nMtg) { if(row == 0) rowAnum = nMtg; if(row == 1) rowBnum = nMtg; } } }
Again the System.debug call shows that the data being returned is correct.
What is wrong with my chart? I am assuming it is staring me in the face but it is alluding me.
Regards
MellowRen
- MellowRen
- August 09, 2013
- Like
- 0
- Continue reading or reply
How to create a chart with a variable number of series?
Hi
I have what I thought would be a simple thing but can’t work out how, or if, Visualforce charts can do it.
I have a set of data derived in Apex code which has:
- User Name
- Category
- Number (in category)
… and would like to graph it as such (using X, Y, Z to represent colour bars):
5 Legend N 4 XY Z User X u 3 XY Z Y User Y m 2 XYZ YZ XY User Z 1 XYZ XYZ XYZ Good Bad Ugly Category
The problem I have is that both the number of users and number of categories is not fixed (they are determined in the controller's Apex code). I can ensure every User has a value for every category (even if it is 0) so that is not a problem. In the sparse examples in the docs, I can only see how to do it when the number of categories is indetermined. They show data structures as such:
graph data {
user_x
user_y
user_z
category_label
number
}
But since I don't know how many users I'll have (nor their names) until the code has run, I am not sure how to put the data nor the visualforce code together. I tried experimenting with things like:
<apex:chart height="300" width="700" data="{!activityGraph}" id="actChart"> <apex:legend position="right"/> <apex:axis type="Numeric" position="left" fields="numberM" title="# Ms"/> <apex:axis type="Category" position="bottom" fields="catLabel" /> <apex:barSeries title="{!activityGraph[0].userName}" axis="left" xField="catLabel" yField="{!activityGraph[0].numberM}" orientation="vertical"/> </apex:chart>
…with the hope of embedding the barSeries into a <apex:repeat> loop. But that doesn't work.
I am really hoping that I am missing something simple here. Anyone got any ideas?
Regards
MellowRen
- MellowRen
- August 08, 2013
- Like
- 0
- Continue reading or reply
I have createa a Vf page .If i click the "review button" i want to make the input fileds read oly.
<apex:page standardController="Application__c" extensions="app">
<h1>Application Form</h1>
<apex:form >
<apex:pageMessages id="error"/>
<apex:pageBlock >
<apex:pageBlockSection title="Information">
<apex:inputText value="{!Application__c.Name}"/>
<apex:inputText value="{!Application__c.Candidate_Name__c}"/>
<apex:inputText value="{!Application__c.Age__c}"/>
<apex:inputText value="{!Application__c.Address__c}"/>
<apex:inputText value="{!Application__c.Contact_Number__c}"/>
</apex:pageBlockSection>
<apex:commandButton value="Review" />
</apex:pageBlock>
</apex:form>
</apex:page>
- ezhil_k
- August 07, 2013
- Like
- 0
- Continue reading or reply
Code coverage across all Apex Classes and Triggers is 69%, at least 75% test coverage is required
Hi to all,
I have made some code changes in 2 apex classes, when i deploying these two apex classes, it throughs an error like this
: Average Test Coverage across all Apex classes and Triggers is 69%, atleast 75% test coverage is required.
when i run those 2 test classes, its test coverage is 84% and 86%.
I have deployd with change sets and also i try with Eclipse, getting the same error.
Please help me on this error, colud you please suggest any ideas or suggestons it will be greatly apriciated.
Thanking You in Advance.
- a!
- August 07, 2013
- Like
- 0
- Continue reading or reply
Visual Force Page Refresh
Hi,
Can I know how to refresh the entire Visual force or Part of the page when a component is modified(i.e. when a command link action is performed by the component).
Thanks & Regards
- t.deepthi05
- August 07, 2013
- Like
- 0
- Continue reading or reply
Please give some solution?
Hii evryone i already asked this question but i didnt got any answer from anybody...again i have serious issue with this topic.....if anyone understands please tell me your solution.....i will breifly clearly explain my task understand step by step...
1)When we click Home and scroll down we have "My Task" when we click new and we create Task. when we click new we ll see fields , in that we have 'Subject' , and 'Comments' fields also. let it put aside.
2) click contacts , when we open any existed contact record in below we will found "Activity History"block in that we have "send an email button"...
so now when i click "send an email" button the email page will opened with appropriate contact....and we will fill details like cc,BCC, Subject,Body in the email page. and we click 'send' button to send email.
Now the Requirement is when i click the send button , a new Task should need to create automatically (In first step it is manually) and Task subject is populated by email subject and Task comments is populated by email Body.
How should write trigger for this...
i found that there are no email fields are existed like emails (subject , body ,cc , BCC because it is standard and designed by salesforce.) so how should i know the fields apis name. but we have Task fields like subject,comments in Customize ---> Activities--> Task feilds.
can we write trigger between 2 objects. (because contacts email data need to save on Task.they are two diff objs)...
- anvesh@force.com
- August 06, 2013
- Like
- 0
- Continue reading or reply
test class
How could i write a test class for a controller with out its constructor class??
example 1)public class convertToCLA {
List<Contact> contacts;
List<Lead> leads;
List<Account> accounts;
public void convertType(Integer phoneNumber) {
List<List<sObject>> results = [FIND '4155557000'
IN Phone FIELDS
RETURNING Contact(Id, Phone, FirstName, LastName),
Lead(Id, Phone, FirstName, LastName), Account(Id, Phone, Name)];
sObject[] records = ((List<sObject>)results[0]);
if (!records.isEmpty()) {
for (Integer i = 0; i < records.size(); i++) {
sObject record = records[i];
if (record.getSObjectType() == Contact.sObjectType) {
contacts.add((Contact) record);
} else if (record.getSObjectType() == Lead.sObjectType){
leads.add((Lead) record);
} else if (record.getSObjectType() == Account.sObjectType) {
accounts.add((Account) record);
}
}
}
}
}
2)public with sharing class CustomPaginationExt {
public List<Account> accounts{get;set;}
public Integer pageSize{get;set;}
public Integer noOfPages{get;set;}
public Integer pageNumber{get;set;}
private String baseQuery = 'select name, industry, annualRevenue from Account order by name';
private Integer totalNoOfRecs;
public CustomPaginationExt(ApexPages.StandardController controller) {
pageSize = 2;
totalNoOfRecs = [select count() from Account limit 50000];
getInitialAccountSet();
}
public PageReference getInitialAccountSet()
{
pageNumber = 0;
noOfPages = totalNoOfRecs/pageSize;
if (Math.mod(totalNoOfRecs, pageSize) > 0)
noOfPages++;
try{
accounts = Database.query(baseQuery + ' limit '+pageSize);
}
catch(Exception e){
ApexPages.addMessages(e);
}
return null;
}
public PageReference next(){
pageNumber++;
queryAccounts();
return null;
}
public PageReference previous(){
pageNumber--;
if (pageNumber < 0)
return null;
queryAccounts();
return null;
}
private void queryAccounts()
{
Integer offset = pageNumber * pageSize;
String query = baseQuery + ' limit '+pageSize +' offset '+ offset;
System.debug('Query is'+query);
try{
accounts = Database.query(query);
}
catch(Exception e){
ApexPages.addMessages(e);
}
}
}
- vinayakamurthy
- July 29, 2013
- Like
- 1
- Continue reading or reply
Export to CSV file
hi i need help
Below is my code:
VF page:
<apex:page sidebar="false" showHeader="false" controller="communityCon1234" cache="true" contentType="text/csv#Error.csv" language="en-US"> <apex:repeat value="{!HeaderXLS}" var="a"> <apex:outputText value="{!a}"> </apex:outputText> </apex:repeat> <br/> <apex:repeat value="{!fileLine}" var="b"> <apex:outputText value="{!b}"></apex:outputText> </apex:repeat> <br/> </apex:page>
Controller:
public List<String> getHeaderXLS() { List<String> listString1 = new List<String>(); listString1.add('phnnumber'); listString1.add('name'); return listString1; } public List<String> getFileLine() { List<String> listString = new List<String>(); listString.add('123456'); listString.add('urvashi'); return listString; }
MY problem here is i wana display the values of listString and listString1 in different columns in excel file.
like
phnnumber name
123456 urvashi
The the size of listString is not fixed.It varies depending upon the code.
How do i do this?
Please help.
And how do i insert<br/> tag in btwn vf page so that it doesnot come in the excel file.
- URVASHI
- July 15, 2013
- Like
- 0
- Continue reading or reply
passing default value in select list through constructor after sorting the select list
hello,
Can anyone help
I m new to Salesforce please help.
I have a picklist with some values of fruits in it.
Example:
Apple Grapes Banana etc.
I have sorted these values alphabetically.
But now i want a default value to be added in picklist like example: '--Select value--'
Can i pass this value directly to the constructor to make it default to picklist?
Or should I add it first to the select list.
Please help
Thanks.
- URVASHI
- July 05, 2013
- Like
- 0
- Continue reading or reply
How to make a selectoption active by default or at initialization
Hi,i build a multiple selectlist i want to show some items to be selected when the page renders initially how to accomplish that any guidance ??
- RIteshM
- July 04, 2013
- Like
- 0
- Continue reading or reply
List of field names which are external id
Hi,
I am new to Salesforce. Please help me in implementing following
In my Apex code, i have name of selected object in a Variable
I need a piece of code which returns name of the fields which are external ids in that selected object.
- Peace
- June 28, 2013
- Like
- 0
- Continue reading or reply
Values of custom object arent displayed in The Vf page
Accounts is a custom object.i have to retrieve the account type on the basis of Name.
I am able to retrieve the id and i'm getting account type in debug. But, it isnt displayed in the VF page.
Please have a look at the code..
Given below is the code of Class and VF page
<apex:page controller="SearchByName"> <apex:form > <apex:outputLabel style="font-weight:bold;" value="Search By Name" ></apex:outputLabel> <apex:inputText value="{!textData}"/> <apex:commandButton action="{!search}" value="Search" id="search" rerender="out, msgs" status="status"/> </apex:form> <!------Doesnt print the first name and account type-------> <apex:pageBlock > <apex:pageBlockTable value="{!Accounts}" var="c" > <apex:column > <apex:facet name="header">First Name</apex:facet> <apex:outputField value="{!c.First_Name__c}" /> </apex:column> <apex:column > <apex:facet name="header">Account Type</apex:facet> <apex:outputField value="{!c.Account_Type__c}" /> </apex:column> </apex:pageBlockTable> </apex:pageBlock> <!------------- Getting the value of var "c"------------> <apex:outputPanel id="out"> <apex:actionstatus id="status" startText="searching..."> <apex:facet name="stop"> <apex:outputPanel > <apex:dataList value="{!Accounts}" var="c">a:{!c}</apex:dataList> </apex:outputPanel> </apex:facet> </apex:actionstatus> </apex:outputPanel> </apex:page>
public class SearchByName { List<Account__c> Accounts; private String textdata = null; public String getTextData() { return textdata; } public void setTextData(String data) { textdata = data; } public void search(){ Accounts = Database.query('SELECT First_Name__c,Account_Type__c FROM Account__c where First_Name__c = :textdata'); system.debug('Accounts>>>>'+Accounts); } public List<Account__c> getAccounts() { return Accounts; } }
- sonam
- June 28, 2013
- Like
- 0
- Continue reading or reply
Structure and fuction for picklist's values
I'm tring to optimize the code below.
I'm looking for a structure where i can put the picklist's values and after (with just a condition) i want check the condition for all the values in the structure.
if ((lead.Status.trim()=='Archived' || lead.Status.trim()=='False'||lead.Status.trim()=='Lead - Never'))
should be like this:
structure=['Archived','False','Lead - Never'];
if ((lead.Status.trim()==structure))
I can not find anything, do you know how i can do this?
Thanks in advantage for any advice.
Br
- Enry
- June 28, 2013
- Like
- 0
- Continue reading or reply
Display a Multipick list as checkbox in vf page
HI All,
I m trying to dispaly a multipicklist as checkboxes in vf page but not succeeding.
How can I display the picklists in below showed style.
Name of the field : testpick__c
values : a, b, c, d, e
Object name: test__c
Expected Output:
A B C D E
Testpick X X X X X
Thanks in advance..........
- Manjunath BN
- June 27, 2013
- Like
- 0
- Continue reading or reply