• Sai Ram A
  • SMARTIE
  • 631 Points
  • Member since 2012
  • Salesforce Developer/ Technical Lead
  • Birlasoft

  • Chatter
    Feed
  • 16
    Best Answers
  • 6
    Likes Received
  • 4
    Likes Given
  • 20
    Questions
  • 133
    Replies
I am on the 3rd challenge of the lightning connect project on trailhead. I have followed the instructions as stated, however when i try to create am indirect lookup relationship between customerID and account, account ( nor any other object)  does not show up on the drop down list. 


Quick Start: Lightning ConnectCreate an Indirect Lookup Relationship 
 
Hi All,
I am from Payment/Payroll agent tools. There are many workflows supported by Case 360 for maintaing the case life cyle for any request. I wanted to understand what type of workflows salesforce support and How extensive is it ?
Please somebody help me in this regard.
Thanks & Regards
Saurabh
This is my controller :

public class ContactsListController{

 private string sortOrder = 'LastName';
 
 public List<Contact> getContacts(){
 
  string soqlQuery = 'SELECT Id, FirstName, LastName, Title, Email'+ 'from Contacts'+ 'OrderBy' + sortOrder 
                          + 'ASC' + 'LIMIT 10' ;
  
  List<Contact> results = Database.query(soqlQuery);
  return results;
  
 }                         

}



And this is my visualforce page :

<apex:page controller="ContactsListController" >
  <apex:form >
   <apex:pageBlock title="Contacts List" id="Contacts_list">
   
    <apex:pageBlockTable value="{!Contacts}" var="ct">
    <apex:column value="{!ct.FirstName}"/>
    <apex:column value="{!ct.LastName}"/>
    <apex:column value="{!ct.Title}"/>
    <apex:column value="{!ct.Email}"/>
    
    </apex:pageBlockTable>
  
   </apex:pageBlock>
  </apex:form>
</apex:page>


I'm getting an error "System.QueryException: unexpected token: 10 " while saving the above vf page. Please help.
Hi,

I need to update the Stage Name for the most recent opportunity when any updates has been made in Account Program Status.. I want to achieve it through workflows. Is it possible?

Eg: Account Program Status = "On Hold", then change Opportunity Stage Name = "On Hold"

Thanks,
Vetriselvan M
I just got a standard developer force.com license. However, I do not see any way to create force.com site from my instance. Here is a screenshot of when I search for site in my Salesforce instance: Do not see any access to Force.com site in my developer instance.
https://www.dropbox.com/s/so5qv9pmg9kulra/Screenshot%202014-12-29%2011.53.11.png?dl=0

Apparently, when we login to our non-profit instance, we can create new site. Please let me know what do I need to do create site?
i'm getting below error for one of the challenge in trailhead. 

 ERROR:

Challenge not yet complete... here's what's wrong: 
There was an unexpected error in your org which is preventing this assessment check from completing: System.DmlException: Insert failed. First exception on row 0; first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, Contact_must_be_in_Account_ZIP_Code: []


CHALLENGE:
Create a validation rule to check that a contact is in the zip code of its account.
To complete this challenge, add a validation rule which will block the insertion of a contact if the contact is related to an account and has a mailing postal code (which has the API Name MailingPostalCode) different from the account's shipping postal code (which has the API Name ShippingPostalCode).Name the validation rule 'Contact must be in Account ZIP Code'.
A contact with a MailingPostalCode that has an account and does not match the associated Account ShippingPostalCode should return with a validation error and not be inserted.
The validation rule should ONLY apply to contact records with an associated account. Contact records with no associated parent account can be added with any MailingPostalCode value. (Hint: you can use the ISBLANK function for this check)


And i used below formula in validation Rule: 
 
AND(ISBLANK( Account.Name ),  MailingPostalCode <>  Account.ShippingPostalCode )
 
Hi all,

How to install eclipse for salesforce in my system...
Hi All,

How to deploy a application in salesforce...
What is RecordSetVar?? How can i use this

Thanks in Advance

 
I continue to receive the following message when I attempt to check for completion of the Automating Processes with Workflow Trailhead module:
Challenge not yet complete... here's what's wrong: 
The 'Set Case to Escalated' Workflow field update action was not found.

I even tested and confirmed that the workflow rule works and all of the required actions have been created and completed per the instructions of the module. A bug on the challenge verification perhaps?
when i am trying below custom formula field for creating object in activities, it is continuously showing syntax error...can anyone one help with correct formula here...

IF(
BEGINS(WhatId, “006″), “Opportunity”,
IF(
BEGINS(WhatId, “001″), “Account”,
IF(
BEGINS(WhoId, “00Q”), “Lead”,
IF(
BEGINS(WhoId, “003″), “Contact”,””))))
Hi 

I have a Simple controller returns list of Accounts  in JSON String format, I have structured well to map with Script in vf page. But i m unable map in Script in visualforce page. Please suggest

Please click here to see the screenshot of requirement https://developer.salesforce.com/forums/ForumsMain?id=906F0000000B3tpIAC
<apex:page controller="JSONGeneratorController"  docType="HTML-5.0" >
   
    <apex:stylesheet value="{!URLFOR($Resource.JQueryDataTable, '/css/jquery.dataTables.css')}"/> 
    <!-- jQuery library -->
    <apex:includeScript value="{!URLFOR($Resource.JQueryDataTable, '/jquery.dataTables.min.js')}"/>
    <apex:includeScript value="{!URLFOR($Resource.JQueryDataTable, '/jquery-1.11.1.min.js')}"/> 
    
    <script>
        /* Formatting function for row details - modify as you need */
        function format ( d ) {
            // `d` is the original data object for the row
            return '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">'+
                '<tr>'+
                    '<td>Account Type:</td>'+
                    '<td>'+d.acctType+'</td>'+
                '</tr>'+
                '<tr>'+
                    '<td>Revenue:</td>'+
                    '<td>'+d.revenue+'</td>'+
                '</tr>'+
                '<tr>'+
                    '<td>Extra info:</td>'+
                    '<td>And any further details here (images etc)...</td>'+
                '</tr>'+
            '</table>';
        }
        
        function buildAccountsTable(){  
        
        var j$ = jQuery.noConflict();
        
          var allAccounts = {!jsonDataAllAccounts};  // This return the Accounts in JSON Format
            
          $(document).ready(function() {
          
            var table = $('#example').DataTable( {
                "ajax": allAccounts ,                             //Passing list Account variable to build Rows
                "columns": [
                    {
                        "className":      'details-control',
                        "orderable":      false,
                        "data":           null,
                        "defaultContent": ''
                    },
                    { "data": "name" },
                    { "data": "industry" },
                    { "data": "owner" },
                    { "data": "rating" }
                    //{ "data": "acctType" },
                    //{ "data": "revenue" },
                    { "data": "numberOfEmployees" }
                    
                ],
                "order": [[1, 'asc']]
            } );
          
          // Add event listener for opening and closing details
            $('#example tbody').on('click', 'td.details-control', function () {
            var tr = $(this).closest('tr');
            var row = table.row( tr );
            
            if ( row.child.isShown() ) {
                // This row is already open - close it
                row.child.hide();
                tr.removeClass('shown');
            }
            else {
                // Open this row
                row.child( format(row.data()) ).show();
                tr.addClass('shown');
            }
            } );
            } );
     }  
    </script>
<apex:form >

   <apex:outputPanel id="allAccountTables">  
      <table id="allAccounts" class="display" cellspacing="0" style="width:90%; padding-bottom:10px; border-style:solid;">  
           <thead>  
                <tr>  
                     <th style="width: 25%;">Name</th>  
                     <th>Industry</th>  
                     <th>Owner</th>  
                     <th style="width: 13%;">Rating</th>  
                     <th>Type</th>  
                     <th>AnnualRevenue</th>  
                     <th>NumberOfEmployees</th>  
                </tr>  
           </thead>  
      </table>  
 </apex:outputPanel> 
 
       
    <apex:pageBlock >
    {!jsonDataAllAccounts}
    </apex:pageBlock>
    
  </apex:form>
</apex:page>

Apex Controller Class 
public with sharing class JSONGeneratorController {

    public String jsonString { get; set; }

    public List<Account> accontList {get; set;}

    //define shape of Json Response salesforce
    public JSONGeneratorController (){
        jsonString = Json.SerializePretty(getAccountList());
        system.debug(jsonString);
    }
    
    //List of Accounts & its accociated Contacts should be displayed on click on + image
  
    public static List<Account> getAccountList(){
        return ([SELECT Id, Name, OwnerId, Owner.Name, Ownership, Industry, AnnualRevenue,  Type, Rating, NumberOfEmployees, (SELECT FirstName, LastName FROM Contacts WHERE AccountId != null) FROM Account ORDER BY Name ASC LIMIT 10]);
        //return ([SELECT Id, Name,Phone,  OwnerId, Owner.Name, Ownership, Industry, AnnualRevenue,  Type, Rating, NumberOfEmployees FROM Account ORDER BY Name ASC LIMIT 10]);
    }
    
    //Wrapper class
    public class DataTableRow {  
      public String name { get; set; }  
      public String industry { get; set; }  
      public String owner { get; set; }  
      public String rating { get; set; }  
      public String ratingFlag { get; set; }  
      public Decimal revenue { get; set; }  
      public String revenueFlag { get; set; }  
      public String acctType { get; set; }  
      public Integer numberOfEmployees { get; set; }  
      public Id recordId { get; set; }  
    
      public DataTableRow(Account acct){  
           this.name = acct.Name;  
           this.industry = acct.Industry;  
           this.owner = acct.Owner.Name;  
           this.rating = acct.Rating;  
           this.revenue = acct.AnnualRevenue;  
           this.acctType = acct.Type;  
           this.numberOfEmployees = acct.NumberOfEmployees;  
           this.recordId = acct.Id;  
      }  
    }
    
    //JSON String
    public String jsonDataAllAccounts {  
      get {  
           List<DataTableRow> dataRows = new List<DataTableRow>();  
           if(jsonDataAllAccounts == null){  
                for(Account acct : [SELECT Id, Name, OwnerId, Owner.Name, Ownership, Industry, AnnualRevenue,  Type, Rating, NumberOfEmployees FROM Account ORDER BY Name ASC LIMIT 10]){  
                     dataRows.add(new DataTableRow(acct));  
                }  
           }  
           jsonDataAllAccounts = JSON.serializepretty(dataRows);  
           system.debug('get set variable'+jsonDataAllAccounts);
           return jsonDataAllAccounts;   
      }  
      private set;  
    }  
    
    
    
}

 
Hi All

Please Suggest the approaches or help in optimizing the Logic/ Query to reduce time Consuming in executing the Order Object Query ( which is taking 10 minutes), this is effecting user experience 
 
//ListMethod

public list<orders__c> getstart() {
	Map<Id,UserTerritory> UserTerritoryCurrentUserMap = new  Map<Id,UserTerritory>([Select u.UserId, u.TerritoryId, u.IsActive, u.Id  From UserTerritory u Where u.isActive=true and u.userId =: UserInfo.getUserId()]);
    system.debug('-----UserTerritoryCurrentUserMap SIZE-------'+UserTerritoryCurrentUserMap.size());
    
    set<Id> TerritoryIdSet = new set<Id>();
    for(UserTerritory ut:UserTerritoryCurrentUserMap.values())
    {
          TerritoryIdSet.add(ut.TerritoryId);
    }    
    
    List<Territory> childTerritories = [Select Id from Territory where ParentTerritoryID in :TerritoryIdSet];
   
    for(Territory ct : childTerritories) {
         TerritoryIdSet.add(ct.Id);
    }
    
    system.debug('-----TerritoryIdSet -------'+TerritoryIdSet);
    system.debug('-----TerritoryIdSet SIZE-------'+TerritoryIdSet.size());

    list<Group> map_group = [Select Id, RelatedId from Group where (Type='Territory' OR Type='TerritoryAndSubordinates') AND RelatedId IN : TerritoryIdSet];
    system.debug('-----map_group -------'+map_group);
	
	Set<String> tempList = new Set<String>();

    for(My_Custom_Object__c s : [SELECT Legacy_Field__c , Account__c FROM My_Custom_Object__c WHERE Account__c IN (Select  AccountId FROM AccountShare where ( UserOrGroupId IN : map_group OR  UserOrGroupId =:UserInfo.getUserId()) AND RowCause IN ('Territory', 'TerritoryManual', 'TerritoryRule')) ]) {
        tempList.add(s.Legacy_Field__c);
    }
    
    system.debug('-----tempList-------'+tempList);
    system.debug('-----tempList-------'+tempList.size()); 
	
	List<orders__c> orders =[SELECT id, Name, Orders__c, Bill_to__c, Payer__c, Ship_To__c, Sold_to__c FROM orders__c WHERE Bill_to__c IN: tempList OR Payer__c IN: tempList OR Ship_To__c IN: tempList OR Sold_to__c IN: tempList];                                     
	system.debug('-----orders-------'+orders);
	
	return orders;
	
}

How to Optimize below Query
 
List<orders__c> orders =[SELECT id, Name, Orders__c, Bill_to__c, Payer__c, Ship_To__c, Sold_to__c FROM orders__c WHERE Bill_to__c IN: tempList OR Payer__c IN: tempList OR Ship_To__c IN: tempList OR Sold_to__c IN: tempList]; 
system.debug('-----orders-------'+orders);

Thank you in Advance
What is this all About?? 
huhCatter??

Thank you
BLearn - Sai
User Story: Need to have a pop up when user uploads a file to a chatter public group for the user to acknowledge that they are not uploading sensitive information to the public chatter group.
Would really appreciate if you could hsare your thoughts

Chatter Alert or Popup



I would appreciate if someone would help me in achieving this

This is custom approval process

List of records in Table are child records of Quote. Clik Here Existing Look & Feel
Existing functionality - on Click of Approve Button That particular Row will be updated, In code we are passing the Id through Param

 

<apex:form >
    <apex:pageBlock title="Custom Approval" id="pg">
            <apex:pageBlockButtons location="top">
                <apex:commandButton value="Manual Add"  />
                <apex:commandButton value="Send All"/>
                <apex:commandButton value="Remove All"/>
            </apex:pageBlockButtons>   
            <apex:pageBlockSection id="pgs" columns="1">
                <apex:pageBlockTable value="{!childRecs1}" var="temp"  id="pgt">
                    <!--<apex:column value="{!temp.Name}"  breakBefore="true">-->
                    <apex:column headerValue="Name">
                        <apex:outputLink value="/{!temp.Id}" target="_top">
                            <apex:inputField value="{!temp.Name}"/>
                        </apex:outputLink>
                    </apex:column>
                    <apex:column value="{!temp.Approval__Step_Name__c}" headerValue="Rule" />
                    <apex:column value="{!temp.Approval__Assigned_To_Name__c}" headerValue="Assigned To" />
                    <apex:column value="{!temp.Approval__Status_Link__c}" headerValue="Status"/>                
                    <apex:column value="{!temp.Approval__Action__c}" headerValue="Approval Action" />
                    <apex:column value="{!temp.Approval__Approver_Comments__c}" headerValue="Approver Comments"/>
                    <apex:column >
                        <apex:commandButton value="Send Now"/>
                    </apex:column>  
                    <apex:column >
                        <apex:commandButton value="Remind"/>
                    </apex:column> 
                    <apex:column >
                        <apex:commandButton value="Approve" action="{!Approve}" reRender="pg">
                            <apex:param value="{!temp.id}" name="CurrentPageName1" assignTo="{!CurrentPageName}"/>
                        </apex:commandButton>
                    </apex:column>                    
                </apex:pageBlockTable>
            </apex:pageBlockSection>
        </apex:pageBlock>
    </apex:form>

 

 

 

public class QuoteApprove {

    public List<Approval__Approval_Request__c>childRecs1 {get;set;}
    public  Proposal__Proposal__c appQuote;
    public Approval__Approval_Request__c appr {get; set;}
    public String CurrentPageName {get; set;}
    //Constructor
    public QuoteApprove(ApexPages.StandardController controller) {
        appQuote = new Proposal__Proposal__c (id=Apexpages.currentPage().getParameters().get('id'));
          Proposal__Proposal__c cpqna = [SELECT Id,
                                                        (SELECT Id,
                                                        Approval__Approver_Comments__c,
                                                        Approval__Step_Name__c, 
                                                        Approval__Assigned_To_Name__c,Name, 
                                                        Approval__Approval_Status__c ,
                                                        Approval__Action__c, 
                                                        Approval__Status_Link__c 
                                                    From QPApprov__ApprovalRequests__r)
                                                FROM Proposal__Proposal__c WHERE ID =:accid];
        childRecs1 =  new List<Approval__Approval_Request__c>();
        childRecs1 = cpqna.QPApprov__ApprovalRequests__r;
    }
	
	public String accid = System.currentPagereference().getParameters().get('id'); 
    //this method returns the list of Approval records associated to Quote
    public PageReference Approve()
    {
        System.debug('sgfsdfjsfdj:::::::::::::'+CurrentPageName);
        Approval__Approval_Request__c appr = [SELECT id,
														Approval__Approval_Status__c,
														Approval__DateApproved__c
													FROM Approval__Approval_Request__c 
													Where id=:CurrentPageName limit 1];
        appr.Approval__DateApproved__c = datetime.Now();
        appr.Approval__Approval_Status__c = 'Approved';
        update appr ;
         //PageReference nextPage =page.QuoteApproveSatya;
          PageReference nextPage = new PageReference('/apex/Quote_detail_approval?id='+appQuote.id);
          nextpage.setRedirect(true); 
            return nextPage;
    }
}

 

 

Expecting Look & Feel

Expecting functionality - If Single user have more than 1 record to approve, he should be able to approve list of records in a single click.
Queries - How to update list of child records in a single action
How to show button once for list of records, Rather showing buttons in every single row?

 

Hope this Helps!! Custom Save Method for an simple Object. 

Create a custom Object Books with fields
LabelName  	DataType 
Name		Text(255)	
Author		Text(255)
Email		Email
Address		Textarea(5000)

Visualforce Pagge
<apex:page controller="SaveBook">
    <apex:form >
        <apex:pageBlock >
            <apex:pageBlockButtons >
                <apex:commandButton value="Save" action="{!SaveRecord}"/>
                <apex:commandButton value="Cancel" action="{!CancelRecord}"/>                
            </apex:pageBlockButtons>
            <apex:pageBlockSection columns="1">
                <apex:pageBlockSectionItem >
                    <apex:outputLabel >Book Name</apex:outputLabel>
                    <apex:inputField value="{!BK.name}"/>
                </apex:pageBlockSectionItem>
                <apex:pageBlockSectionItem >
                    <apex:outputLabel >Author</apex:outputLabel>
                    <apex:inputField value="{!BK.Author__c}"/>
                </apex:pageBlockSectionItem>
                <apex:pageBlockSectionItem >
                    <apex:outputLabel >Email</apex:outputLabel>
                    <apex:inputField value="{!BK.Email_ID__c}"/>
                </apex:pageBlockSectionItem>
                <apex:pageBlockSectionItem >
                    <apex:outputLabel >Address</apex:outputLabel>
                    <apex:inputField value="{!BK.Address__c}"/>
                </apex:pageBlockSectionItem>
            </apex:pageBlockSection>
        </apex:pageBlock>
    </apex:form>  
</apex:page>

//Custom Controller
public class SaveBook {

    public SaveBook(){
        Bk = New Book__c();
    }
    public Book__c Bk {get; set;}
    
    //Save Method
    //This custom Controller method 
    // runs similar as Standard save method (Button)
    //Created Just for learning
    public PageReference Saverecord()
    {
        Book__c Book1 = new Book__c();
        Book1.Name = Bk.Name;
        Book1.Author__c = Bk.Author__c;
        Book1.Email_id__c = Bk.Email_id__c;
        Book1.Address__c = Bk.Address__c;
        insert Book1;
        return(new PageReference('/'+Book1.id).setRedirect(True));
    }
    
    //Cancel
    //Similarly works as Standard Buttons
    Public PageReference Cancelrecord(){
        return (new PageReference('/a04/o').setRedirect(True));
    }
}

 

Can any one explore me Omniture tool and how it compatible on Salesforce.com

Quick response is much appreciated!!

Infopath form (MS Office) is sending an attacments in the below format. How can i convert it into appropriate format file?

 

<my:File>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</my:File> 


*********VF Page***************

<apex:page controller="uploadFile">
<apex:messages />
<apex:form enctype="multipart/form-data" >
<apex:pageBlock title="Contribute Content" >
<apex:commandbutton action="{!upload}" value="Publish" status="status"/>
<apex:pageBlockSection columns="1">
<apex:pageBlockSectionItem >
<apex:outputLabel > Title </apex:outputLabel>
<apex:inputTextarea value="{!title}"/>
</apex:pageBlockSectionItem>
<apex:pageBlockSectionItem >
title
<apex:inputFile value="{!file}" />
</apex:pageBlockSectionItem>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>

 

*********Apex Class************
public class uploadFile {
public blob file { get; set; }
public String title{get;set;}
public ContentVersion cv { get; set; }


public PageReference upload() {
ContentVersion cv = new ContentVersion();
cv.versionData = file;
cv.title = title;
cv.pathOnClient ='/test img.jpeg';
cv.FirstPublishLocationId = '01dfr000000000gA'; //Change id
try
{
insert cv;
system.debug('*********************Result'+cv.pathonClient);
}
catch (DMLException e)
{
ApexPages.addMessage(new ApexPages.message(ApexPages.severity.ERROR,'Error uploading Document in Library'));
return null;
}
finally
{
cv= new ContentVersion();
}

ApexPages.addMessage(new ApexPages.message(ApexPages.severity.INFO,'Document uploaded successfully to library'));
return null;
}
}

My question Here is i could only upload jpeg files , and can see preview in library.

What if want to upload different formats of files...like pdf, csv, doc, txt jpeg, png etc....

Please help me wit this.. I would really appreciate for Quick response

Thanks

 

 

Scenarion to understand: lets say 5 emails of same format sent to salesforce address,  3 got created and 2 getting Bounced.

 

The error message i am receving in my mail is 

Error Occured: System.ListException: List index out of bounds: 1
 
And if i check in Debug Log received template at saleforce end is 
The Microsoft Exchange Server Mailbox Manager has performed an automated
cleanup of your mailbox.
2 item(s) were deleted from the System Cleanup/Inbox folder.
1 item(s) were moved from the /Inbox folder to the System Cleanup folder.

For additional information contact your Business Help Desk.
 
 
Can some one Help me in Resolving this.
Thanks in Advance

Hi All

   

- The ACB Public chatter group how can we disable the capability for a user to Post new feed.

- Post feed are only created though the workflow. How can we handle this

 

the below code doesnot allows user to write post in public group

 

trigger RestrictChatterPost on FeedItem (Before Insert) 
{  
   CollaborationGroup  lstgroup = [SELECT id, name FROM CollaborationGroup WHERE CollaborationGroup.Name = 'xyz' LIMIT 1];
 
    for(FeedItem a : Trigger.New)
    {
        
            if(a.parentid == 'Sfd00000000Ceh3')
            
            a.addError('You are NOT allowed to post in this chatter Group!');
        
    }
}

 

This code is also restricting to post after the approval process(back end)..

my requirement: I just want to restrict user to write from UI. 

 

Please Suggest me. Thank you

 

In my inbound Email handler class i have a email feild, Sometime i am getting the email field like this 

test@gmail.com<mailto:Email=test@gmail.com> in salesforce end and record is not getting created.

 I could not figure out why is this happening. 

 

out of this string --> test@gmail.com<mailto:Email=test@gmail.com>  how to extract test@gmail.com and insert in my field.

 

 

String[] Name = stringTest[1].split(':');
 Email = Name[1];

 

Please help me in figuring out !!

 

 

Does SFDC have the capability to extract values from the xml format? 

 

Would like to know more details to directly integrating of Infopath form(Ms office product) via SFDC WEBService.

What is the maximum Size of attachments can be sent to salesforce via Webservice, integration. 

 

Currently receiving through email services using middle layer. maximum size for attachments limit is 10mb. 

 

Lets say ! If integration approach is feasible, What is the maximum attachment size we can insert into salesforce

 

Also would like to know more on SITE interface of SFDC for collecting non-SFDC user inputs. Limitaions , licences ....??? 

 

Responce is much appreciated..

 

 

 

 

 

Does SFDC have the capability to extract values from the xml format? 

 

Would like to know more details to directly integrating of Infopath form(Ms office product) via SFDC WEBService.

What is the maximum Size of attachments can be sent to salesforce via Webservice, integration. 

 

Currently receiving through email services using middle layer. maximum size for attachments limit is 10mb. 

 

Lets say ! If integration approach is feasible, What is the maximum attachment size we can insert into salesforce

 

Also would like to know more on SITE interface of SFDC for collecting non-SFDC user inputs. Limitaions , licences ....??? 

 

Responce is much appreciated..

 

 

 

 

I have a approval in process to post the attachments to Chatter, 

 

If a record is Approved which is created through UI with attachments, I am able to view the preview of Attachments.

 

I am not able to see the preview of attachments after approval of records  created through inbound email.

 

Is any thing i need to add in the code or?

 

public class EmailParsingActivity {
    
    public void attachToRecord(Messaging.InboundEmail.BinaryAttachment[] bAttachments, ID abcdRecId) {     
        String contents='';                       //ok
        List<Attachment> listAttach = new List<Attachment>();

        if(bAttachments != null) {
            for(Messaging.InboundEmail.BinaryAttachment bAttach : bAttachments){  //ok
                system.debug('attach file name ' + bAttach.filename);
                
                Attachment attach = new Attachment();
                
                //attach.Body = Blob.valueOf(bAttach.body.toString());
                String b64Data = EncodingUtil.base64Encode(bAttach.body);
                //Blob bab = bAttach.body;
                attach.Body = Blob.valueOf(b64Data);
                attach.Name = bAttach.filename;    // name of the attachement should be same a attached to email
                //attach.parentId = submitRecord.Id;
                attach.parentId = abcdRecId;
                listAttach.add(attach);        
            }
            system.debug('attach list size ' + listAttach.size());
            insert listAttach;
        }
    }
    
}

 

I would appreciate if someone assist me with the solution. Thanks in Advance-----

Website i created within salesforce workfine till yesterday. Since today i am getting an error while i navigate to the pages in IE browser. Can any figure it out and help me in resolving this please. 

 

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)

Timestamp: Tue, 4 Sep 2012 10:28:54 UTC

 

 

Message: 'undefined' is null or not an object

Line: 120

Char: 143

Code: 0

 

 

 

I have a set of static vf pages . 

Creating a Page with left and Right panel.   

 

Trying to achieve this kind of functionality. Left panel should be static  (collapse when clicked on category - my personal settings) , when we click on link Appropriate page should appear in right panel.

Quick reply is much appreciated. 

 

 

 

<apex:page sidebar="false">

 

<style type="text/css">

    #maindiv {

        width:100%;

        height:100%;

        padding-left:1%;

        float:left;

        }

   

    #leftPanel {

        padding-left:8%;

        font-size:18px;

        font-weight:bold;

        font-family:GE inspira;

        color:#33CCFF;

     //   text-decoration:none;

    }

</style>


<apex:form >

<div id="maindiv" >
<apex:pageBlock >
<table width="100%" border="1" >
<tr>
<td width="25%" >
<div id="leftPanel" width="18">
<br/>
<ul>
<apex:pageBlockSection title="title 1" >

<li><apex:outputLink style="text-decoration:none; color:#33CCFF;" value="/apex/Content1" >A</apex:outputLink><br/></li><br/>
<li><apex:outputLink style="text-decoration:none; color:#33CCFF;" value="/apex/Content2" >B</apex:outputLink><br/></li><br/>
<li><apex:outputLink style="text-decoration:none; color:#33CCFF;" value="/apex/Content3" >C</apex:outputLink><br/></li><br/>
<li><apex:outputLink style="text-decoration:none; color:#33CCFF;" value="/apex/Content4" >D</apex:outputLink><br/></li><br/>
</apex:pageBlockSection>


<apex:pageBlockSection title="Title 2">
<apex:outputLink style="text-decoration:none; color:#33CCFF;" value="/apex/Content5" >E</apex:outputLink><br/><br/>
<apex:outputLink style="text-decoration:none; color:#33CCFF;" value="/apex/Content6" >F</apex:outputLink><br/><br/>
 </apex:pageBlockSection>
</ul>
</div>
</td>

 <td  >

</td>
</tr>
</table>
</apex:pageBlock>
</div>


 </apex:form>


</apex:page>

 

 

 

 

 

 

 

 

 

 

 

I have a set of static vf pages . 

Creating a Page with left and Right panel.   

 

Trying to achieve this kind of functionality. Left panel should be static  (collapse when clicked on category - my personal settings in image) , when we click on link Appropriate page should appear in right panel.

Quick reply is much appreciated. 

 

 

image 

 

 

 

 

<apex:page sidebar="false">

 

<style type="text/css">

    #maindiv {

        width:100%;

        height:100%;

        padding-left:1%;

        float:left;

        }

   

    #leftPanel {

        padding-left:8%;

        font-size:18px;

        font-weight:bold;

        font-family:GE inspira;

        color:#33CCFF;

     //   text-decoration:none;

    }

</style>


<apex:form >

<div id="maindiv" >
<apex:pageBlock >
<table width="100%" border="1" >
<tr>
<td width="25%" >
<div id="leftPanel" width="18">
<br/>
<ul>
<apex:pageBlockSection title="title 1" >

<li><apex:outputLink style="text-decoration:none; color:#33CCFF;" value="/apex/Content1" >A</apex:outputLink><br/></li><br/>
<li><apex:outputLink style="text-decoration:none; color:#33CCFF;" value="/apex/Content2" >B</apex:outputLink><br/></li><br/>
<li><apex:outputLink style="text-decoration:none; color:#33CCFF;" value="/apex/Content3" >C</apex:outputLink><br/></li><br/>
<li><apex:outputLink style="text-decoration:none; color:#33CCFF;" value="/apex/Content4" >D</apex:outputLink><br/></li><br/>
</apex:pageBlockSection>


<apex:pageBlockSection title="Title 2">
<apex:outputLink style="text-decoration:none; color:#33CCFF;" value="/apex/Content5" >E</apex:outputLink><br/><br/>
<apex:outputLink style="text-decoration:none; color:#33CCFF;" value="/apex/Content6" >F</apex:outputLink><br/><br/>
 </apex:pageBlockSection>
</ul>
</div>
</td>

 <td  >

</td>
</tr>
</table>
</apex:pageBlock>
</div>


 </apex:form>


</apex:page>

 

 

 

 

 

 

 

 

 

 

image

 

<apex:detail subject="{Position__c.Id}" relatedList="true" inlineEdit="true"/>

 

I want to inline edit only 1 specific column when I go to the record detail page.

 

How can I achieve this. Quick response is much appreciable

 

Thanks in advance!

I have created an object --> & VF page with input fields and attachment field.

http://learnpublicsite-developer-edition.na9.force.com/learnpublicsite123

 

Fill the sample form:

user id: 1,234,567,890

pwsd: 123456

 

I want to add this url in chatter free user profile, because it doesn't require any license.

Can any one help me in achieving this. Thanks in advance

 

 

What is this all About?? 
huhCatter??

Thank you
BLearn - Sai
User Story: Need to have a pop up when user uploads a file to a chatter public group for the user to acknowledge that they are not uploading sensitive information to the public chatter group.
Would really appreciate if you could hsare your thoughts

Chatter Alert or Popup



Working the "Handle Actions with Controllers" trailhead module and I'm not getting past the validation.
If I put the component in a test jig, I can see the button function and set the check box as expected.
 

Here is the code I'm using to set the item as packed...

component.set("v.item.Packed__c", true );

I'm assuming the validator does not like my syntax. Can you give me a hint to get past this?

Thanks.
John

I am on the 3rd challenge of the lightning connect project on trailhead. I have followed the instructions as stated, however when i try to create am indirect lookup relationship between customerID and account, account ( nor any other object)  does not show up on the drop down list. 


Quick Start: Lightning ConnectCreate an Indirect Lookup Relationship 
 
Hi everyone,

I'm getting too many redirects error on the page when I preview lightning apps. It was working fine until last night and I'm suddenly getting this, I tried on all different browsers Chrome, Safari, and FireFox without luck. I also tried on incognito window but it didn't help. The app from trailhead tutorial is also displaying the same error when I click preview. Any ideas?

Thanks in advance!
Hi All

Please Suggest the approaches or help in optimizing the Logic/ Query to reduce time Consuming in executing the Order Object Query ( which is taking 10 minutes), this is effecting user experience 
 
//ListMethod

public list<orders__c> getstart() {
	Map<Id,UserTerritory> UserTerritoryCurrentUserMap = new  Map<Id,UserTerritory>([Select u.UserId, u.TerritoryId, u.IsActive, u.Id  From UserTerritory u Where u.isActive=true and u.userId =: UserInfo.getUserId()]);
    system.debug('-----UserTerritoryCurrentUserMap SIZE-------'+UserTerritoryCurrentUserMap.size());
    
    set<Id> TerritoryIdSet = new set<Id>();
    for(UserTerritory ut:UserTerritoryCurrentUserMap.values())
    {
          TerritoryIdSet.add(ut.TerritoryId);
    }    
    
    List<Territory> childTerritories = [Select Id from Territory where ParentTerritoryID in :TerritoryIdSet];
   
    for(Territory ct : childTerritories) {
         TerritoryIdSet.add(ct.Id);
    }
    
    system.debug('-----TerritoryIdSet -------'+TerritoryIdSet);
    system.debug('-----TerritoryIdSet SIZE-------'+TerritoryIdSet.size());

    list<Group> map_group = [Select Id, RelatedId from Group where (Type='Territory' OR Type='TerritoryAndSubordinates') AND RelatedId IN : TerritoryIdSet];
    system.debug('-----map_group -------'+map_group);
	
	Set<String> tempList = new Set<String>();

    for(My_Custom_Object__c s : [SELECT Legacy_Field__c , Account__c FROM My_Custom_Object__c WHERE Account__c IN (Select  AccountId FROM AccountShare where ( UserOrGroupId IN : map_group OR  UserOrGroupId =:UserInfo.getUserId()) AND RowCause IN ('Territory', 'TerritoryManual', 'TerritoryRule')) ]) {
        tempList.add(s.Legacy_Field__c);
    }
    
    system.debug('-----tempList-------'+tempList);
    system.debug('-----tempList-------'+tempList.size()); 
	
	List<orders__c> orders =[SELECT id, Name, Orders__c, Bill_to__c, Payer__c, Ship_To__c, Sold_to__c FROM orders__c WHERE Bill_to__c IN: tempList OR Payer__c IN: tempList OR Ship_To__c IN: tempList OR Sold_to__c IN: tempList];                                     
	system.debug('-----orders-------'+orders);
	
	return orders;
	
}

How to Optimize below Query
 
List<orders__c> orders =[SELECT id, Name, Orders__c, Bill_to__c, Payer__c, Ship_To__c, Sold_to__c FROM orders__c WHERE Bill_to__c IN: tempList OR Payer__c IN: tempList OR Ship_To__c IN: tempList OR Sold_to__c IN: tempList]; 
system.debug('-----orders-------'+orders);

Thank you in Advance
Hi All,

I was going through the site http://www.datatables.net/.There is an example which is shown in the site.
User-added image

When this particular example is seen in TAB or mobile the columns are sorted out like below - 
User-added image

Can anyone help me out how this can be achieved in visualforce page. 
 
How to Remove --None-- from Picklist values which is on VisualForce Page?

Removing --None-- from the Picklist Values.
screenshot of the error message that i am getting
hi i am getting the attached error while rendering the page.
I checked in the debug logs i can see the content in the blob string but it is not getting rendered also the pdf is getting attached with the document object to and the mime type is also shown as application/pdf still i am facing the above error.
Please help

Thanks
hi,
i am new to salesforce, i want to know the set and get method ...
what would happen when we declare the variables like this..
please kindly help me.. please.........

public Cat3__c cat {get;set;}
public String message {get;set;}

 
I an a newbie to salesforce, and was following workbook on apex classes.
This is what i did:
Debug-> Open Exceture Anonymous Window.
System.debug('Hello');

Unchecked "open log". Execute

Alas, i couldnt see any log entries, while the workbook says that log entries will appear.
Do i need to make changes somewhere? or
Am i doing it wrong way?
 
Hi folks,
How to make visualforce page responsive?
Hi friends,

Is there any way to create a master-detail relationship between Product2 and Junction Object.
diff b/w reports and dashboards
Hi folks,

On click of a custom link, i wanna open the new link. How can v achieve this? Any code help.

I'm following a well written tutorial written by @andymahood__c: http://www.tquila.com/blog/2014/11/17/setting-lightning-connect-and-your-first-external-object

When I get to the step #3 ... "Select Edit on the CustomerID field, ...", I don't see Account (or any objects to relate) listed in the drop down box. I have created the custom field on ACCOUNT named CusotmerID Text(5) and marked it as External ID as follows:

CustomerID CustomerID__c Text(5) (External ID) [Checked]

Any ideas?
Dear SF experts,
I am currently trying to implement Remote Objects in Javascript to retrieve Accounts but having difficulty finding a workaround to query for more than the maximum limit of 100 records. Salesforce states that the maximum limit to return one batch of results is 100 but there is more than 2000 records that I need to query.  

Would I have to use offsets and batch query 100 records at a time?
Here is some sample code that I was working with:
j$(document).ready(function() {
            var acctTable = j$('[id$="accounttable"]').DataTable({
                "ajax": function(data, callback, settings) {
                    var acct = new SObjectModel.Account();
                    acct.retrieve({
                        orderby: [{
                            Name: 'ASC'
                        }],
                        limit: 1000
                    }, function(err, records) {
                        if (err) alert(err.message);
                        else {
                            callback({
                                'data': records
                            });
                        };
                    });
                },

Any advice would be appreciated!
Thanks.
  How would I go about doing it?

The usage is as follows:

For example, if an account has 10 contacts, instead of editing one at a time. I want  to be  able to display a table of  with just First Name, Last Name, phone, e-mail, Title

The dataTable object - is there any option to create an editable grid?





Hi All,

I was going through the site http://www.datatables.net/.There is an example which is shown in the site.
User-added image

When this particular example is seen in TAB or mobile the columns are sorted out like below - 
User-added image

Can anyone help me out how this can be achieved in visualforce page. 
 

I'm following a well written tutorial written by @andymahood__c: http://www.tquila.com/blog/2014/11/17/setting-lightning-connect-and-your-first-external-object

When I get to the step #3 ... "Select Edit on the CustomerID field, ...", I don't see Account (or any objects to relate) listed in the drop down box. I have created the custom field on ACCOUNT named CusotmerID Text(5) and marked it as External ID as follows:

CustomerID CustomerID__c Text(5) (External ID) [Checked]

Any ideas?
While developing in Apex, I need to retrieve sandbox name in my code.  How do I do this in Apex?  Thanks in advance.

When someone takes the time/effort to repspond to your question, you should take the time/effort to either mark the question as "Solved", or post a Follow-Up with addtional information.  

 

That way people with a similar question can find the Solution without having to re-post the same question again and again. And the people who reply to your post know that the issue has been resolved and they can stop working on it.