You need to sign in to do that
Don't have an account?

List button on lead to check field value of selected records
Hi,
I am trying to create a custom button on the lead list view which will; -
check if any records are selected else send an error and then once records are selected check the value of a picklist and if its not the value I want, send an error message, else update the field. So far I have the below but its ignoring my validation formula to check the picklist, I am not a coder of any sort and am trying to piece this together from what I have learnt so far but not sure I understad what I am missing...I think I need to somehow loop through all the records selected and check the value of the picklist?!?
Any help would be great
{!REQUIRESCRIPT ("/soap/ajax/24.0/connection.js")}
{!REQUIRESCRIPT("/soap/ajax/24.0/apex.js")}
var records = {!GETRECORDIDS($ObjectType.Lead)};
var newRecords = [];
if (records[0] == null) {
alert("Please select at least one row");
} else {
if({!ISPICKVAL(Lead.Lead_Lifecycle_Stage__c, 'New Lead')} || {!ISPICKVAL(Lead.Lead_Lifecycle_Stage__c, 'Active')} || {!ISPICKVAL(Lead.Lead_Lifecycle_Stage__c, 'Engaged')} || {!ISPICKVAL(Lead.Lead_Lifecycle_Stage__c, 'Industry Influencer')} || {!ISPICKVAL(Lead.Lead_Lifecycle_Stage__c, 'Recycled')} || {!ISPICKVAL(Lead.Lead_Lifecycle_Stage__c, 'Disqualified')}) {
alert('You cannot Take Ownership of this lead until it has reached the Marketing Qualified Lead (MQL) stage.\n\n If you would like this lead fast tracked to MQL, please contact Marketing.');
} else {
for (var n=0; n<records.length; n++) {
var l = new sforce.SObject("Lead");
l.id = records[n];
l.OwnerId ="{!$User.Id}";
l.Lead_Lifecycle_Stage__c = "Sales Accepted Lead (SAL)";
newRecords.push(l);
}
result = sforce.connection.update(newRecords);
parent.window.location.reload();
}
}
I am trying to create a custom button on the lead list view which will; -
check if any records are selected else send an error and then once records are selected check the value of a picklist and if its not the value I want, send an error message, else update the field. So far I have the below but its ignoring my validation formula to check the picklist, I am not a coder of any sort and am trying to piece this together from what I have learnt so far but not sure I understad what I am missing...I think I need to somehow loop through all the records selected and check the value of the picklist?!?
Any help would be great
{!REQUIRESCRIPT ("/soap/ajax/24.0/connection.js")}
{!REQUIRESCRIPT("/soap/ajax/24.0/apex.js")}
var records = {!GETRECORDIDS($ObjectType.Lead)};
var newRecords = [];
if (records[0] == null) {
alert("Please select at least one row");
} else {
if({!ISPICKVAL(Lead.Lead_Lifecycle_Stage__c, 'New Lead')} || {!ISPICKVAL(Lead.Lead_Lifecycle_Stage__c, 'Active')} || {!ISPICKVAL(Lead.Lead_Lifecycle_Stage__c, 'Engaged')} || {!ISPICKVAL(Lead.Lead_Lifecycle_Stage__c, 'Industry Influencer')} || {!ISPICKVAL(Lead.Lead_Lifecycle_Stage__c, 'Recycled')} || {!ISPICKVAL(Lead.Lead_Lifecycle_Stage__c, 'Disqualified')}) {
alert('You cannot Take Ownership of this lead until it has reached the Marketing Qualified Lead (MQL) stage.\n\n If you would like this lead fast tracked to MQL, please contact Marketing.');
} else {
for (var n=0; n<records.length; n++) {
var l = new sforce.SObject("Lead");
l.id = records[n];
l.OwnerId ="{!$User.Id}";
l.Lead_Lifecycle_Stage__c = "Sales Accepted Lead (SAL)";
newRecords.push(l);
}
result = sforce.connection.update(newRecords);
parent.window.location.reload();
}
}