• kdmr
  • NEWBIE
  • 55 Points
  • Member since 2009

  • Chatter
    Feed
  • 2
    Best Answers
  • 1
    Likes Received
  • 0
    Likes Given
  • 28
    Questions
  • 23
    Replies

Opportunity to customize a customer portal for a company focused on helping non-profit organizations increase productivity.  The portal would need to be well designed visually to integrate with the company's website.  It would be a simple design, focused on limited tabs and a knowledge base.  Short turn around time.  Added benefit if you have knowledge of building custom mobile apps.   The app would require API with other databases within non-profit industry (i.e., etapestry).  I look forward to hearnig form you!

Hi,

 

I would like to create Web-to-Case in my Salesforce.com instance, from the web page hosted under my company's website. Is it possible to add an attachment too?

 

Any help would be greatly appreciated.

 

Thanks.

Hi,

 

I am developing a customer portal for my company. I am able to do limited changes to the look and feel of the customer portal. But the videos posted by salesforce has adavanced look and feel of the customer portal. Could someone help me on how to make cusomer portal similar to my comapny wesite. 

 

Here is the salesforce demo from youtube. 

http://www.youtube.com/watch?v=4QAc9nOVxrQ

 

Is there way I can use Salesforce Sites to display customer portal data with limited coding.

 

 

Thanks,

Rag

 



Hi,

 

 I would like to send a mail to  a contact when case is created.The Email contains list of cases related to account.

So i created workflow with condition(case status = new) and type is Email Alert.

 

It is working  fine when I send it from a Send Email button on a Contact detail. When trying from work flow,its sends the mail but doesn't populate any  values.

 

Code as below

<messaging:emailTemplate recipientType="Contact"  relatedToType="Account"
    subject="Case report for Account: {!relatedTo.name}">
<messaging:htmlEmailBody >
  
        <html>
            <body>
               <p>Dear {!recipient.name},</p>
               <p>Below is a list of cases related to the account: {!relatedTo.name}.</p>
         <table border="0" >
                 <tr >
                     <th>Action</th><th>Case Number</th><th>Subject</th><th>Creator Email</th><th>Status</th>
                  </tr>

                  <apex:repeat var="cx" value="{!relatedTo.Cases}">
       <tr>
           <td><a href="https://na1.salesforce.com/{!cx.id}">View</a> | 
           <a href="https://na1.salesforce.com/{!cx.id}/e">Edit</a></td>
           <td>{!cx.CaseNumber}</td>
           <td>{!cx.Subject}</td>
           <td>{!cx.Contact.email}</td>
           <td>{!cx.Status}</td>
       </tr>
    </apex:repeat>    
        </table>
    <p/>
    <center>
        <apex:outputLink value="http://www.salesforce.com">
        For more detailed information login to Salesforce.com
    </apex:outputLink>
</center>
</body>
</html>
</messaging:htmlEmailBody>
</messaging:emailTemplate>

 

Thanks for any help

 

 

 

 

 

Hi, I have been trying to do a calculation on the date type field when I keep encountering this error
double d = integer.valueof(mfrwdays);
integer i = d.intValue();
enddate = objassetconfig.MfrWarrantyStart__c.adddays(i);

where mfrdays is the value for a inputtext in the vf page. I have also tried to accept integer value directly from the string and still result with the same error. Require some help on this.

 

Thanks

KD 

 

We have several Visualforce pages being used in our org. These were working okay until evening of 20th. But now few of them are showing the following error

 

Tag library supports namespace: http://salesforce.com/standard/components/apex, but no tag was defined for name: form

 

I checked through the forums for a solution and found that salesforce is working on fixing this. Would like to know if this is fixed or to whom should we report this to.

 

Thanks

KD

Hi,

I have created a custom list button and want to add this to the list view as well as related lists. I was able to add this custom button to the related list, but not to the standard list page. I am going to the object settings and am adding it to the list view layout, but the button is not showing. How do I get this displayed in the List view?

Thanks

KD 

Hi,

I am using inputtext tag to get some values in a custom visualforce page. I would like to know if we can restrict users to enter only numeric value in the input text. How do we do it? Is there any way to check if the value entered is a numeric value or not.

Thanks

KD

Hi,

I am using a visualforce page to override 'New' for an object called Obj1. This object is also part of a related list in another custom object Obj2. I would like to get the Id of the Obj2 record from where New is clicked in the controller class for the visualforce page. I am not sure how to get this done. Please help.

Thanks

KD 

Hi, I am trying to sum up the values of a number field in an object for a particular function, when attempting to do that I encounter an error message in the for loop. The section of code is as below

Object1__c[] obj1 = [select Id, Name, Qty__c from Object1__c where lookup1id__c = :param1 and lookup2id = :param2]; for(Integer i = 0; i <= obj1.size(); i++) {

totalqty = totalqty + obj1[i].Qty__c;

}

here param1 and param2 are values that are passed from the UI to the controller. This error appears inside the forloop for the condition. I am not sure why and how to handle this.

Thanks

KD

Hi,

I am using a visualforce page and would like to add some error messages into it for example if some field is empty etc...... I do not want to set a validation rule, but would like to work on the save function in the controller to display the error message. Would be of great help if someone could point me out the direction to do that.

I have one more question relating to displaying an output in visualforce. I have a lookup field, it has quantity field too, i would like to populate the quantity from the master object, if i change the lookup the value for quantity should also change respectively, I tried formulas but they effect after save, I would like to have immediate change.

Thanks

KD 

Hi All, I have a question, I am trying to create a query to be passed to the datatable based on a value from VisualForce UI, though the query compiles it takes the value as null. for eg. the query line is similar to

object2list = [select id, name, field1__c, field2__c from Object2 where object1__c =: paramval];

1. Object1__c is a related to Object2.

2.paramval is the value passed to the controller from the UI using the apex:param tag.

3. query produces table taking the paramval to be null

4. If I substitue it with the Id the query returns proper data table.

5. If I use the paramval else where and it takes the value properly and am able to save it too.

I am trying to do this so that I can have dependent lookup, the value of paramval will be the id for the value choosen for Object1__c.

Thanks

KD 

Hi

 

I am fairly new to Force.com development and have hit an issue trying to build some relationships on a custom object.

 

I have an 'Assessment' custom object with a custom lookup field to a 'Claim' custom object.  I want to build a further custom lookup field on Assessment: 'Claim Contact' that looks up from another custom object, but this object is the detail in a master-detail relationship with the Claim object. 

 

I want to know how to constrain the 'Claim Contact' lookup so that it only shows values that are related to the Claim that has already been looked up on to the Assessment.

 

i.e. if the Assessment is linked to Claim A, which has child Contacts Jack and Jill, then these should be the only contacts I am able to pick using the 'Claim Contact' lookup on the Assessment.  If the assessment is not linked to any Claim then I need the lookup to return no results.

 

Is there a configuration solution to this or if not does anyone know what the best approach is to do this?

 

Many thanks in advance!

There were a few times I thought I may have been literally losing my mind trying to isolate this issue but I was finally able to nail down the steps to reproduce (and solution). Sometimes the param value is not being assign to the variable in the controller.

Here is the code to reproduce. I tried to make it as short as possible but sorry it is still a little long, see steps below code:
Code:
Page:

<apex:page controller="paramBug" > <apex:form > <apex:pageBlock > <apex:outputPanel id="table"> {!showTable} <apex:pageBlockTable value="{!opps}" var="o" rendered="{!showTable}"> <apex:column headerValue="Status"> <apex:outputPanel id="oppStatus"> <apex:outputText value="Y" rendered="{!IF(o.status = 'modified', true, false)}"/> </apex:outputPanel> </apex:column> <apex:column value="{!o.opp.Name}"/> <apex:column > <apex:facet name="header"> <apex:commandLink value="Stage" rerender="table,debug" action="{!sortTable}" status="sorting"> <apex:param value="StageName" assignTo="{!sortColumn}" /> </apex:commandLink> </apex:facet> <apex:inputField value="{!o.opp.StageName}"> <apex:actionSupport event="onchange" action="{!change}" rerender="oppStatus,buttons"> <apex:param name="oid" value="{!o.opp.id}" assignTo="{!changedOpp}" /> </apex:actionSupport> </apex:inputField> </apex:column> </apex:pageBlockTable> </apex:outputPanel> </apex:pageBlock> </apex:form> </apex:page>

Controller:

public class paramBug {

List<oppWrapper> opps = new List<oppWrapper>();
List<SelectOption> stages;
public ID changedOpp {get; set;}
public string sortColumn {get; set;}
Map<String,String> sortOrder = new Map<String,String>();

//Constructor
public paramBug(){
for(Opportunity opp : [select Id, Name, StageName from Opportunity limit 10]){
opps.add(new oppWrapper(opp));
}
}

public List<oppWrapper> getOpps(){
return opps;
}

public void change(){
for(oppWrapper o : getOpps()){
if(o.opp.Id == changedOpp){
o.status = 'modified';
}
}
}

public Boolean getShowTable(){
Boolean show = true;
if(opps.size() == 0 ){
show = false;
}
return show;
}

public void sortTable(){
transient List<oppWrapper> sortedOpps = new List<oppWrapper>();
transient Map<String, List<oppWrapper>> stringMap = new Map<String, List<oppWrapper>>();

system.debug('--------------This is the debug line to watch--------------------');
system.debug('sColumn: ' + sortColumn);

if(sortColumn == 'StageName'){
for(oppWrapper o : getOpps()){
Object oField = o.opp.get(sortColumn);
String fieldValue = (String)oField;

if(stringMap.get(fieldValue) == null) {
stringMap.put(fieldValue, new List<oppWrapper>());
}
stringMap.get(fieldValue).add(o);
}

transient List<String> keys = new List<String>(stringMap.keySet());
keys.sort();

for(String key:keys){
sortedOpps.addAll(stringMap.get(key));
}

//reverse order
if(sortOrder.get(sortColumn) == 'asc'){
sortedOpps.clear();
for(Integer i = (keys.size()-1);i >= 0; i--) {
sortedOpps.addAll(stringMap.get(keys.get(i)));
}
}

if(sortOrder.get(sortColumn) == 'asc'){
sortOrder.put(sortColumn,'desc');
}else{
sortOrder.put(sortColumn,'asc');
}

}
system.debug('sortedOpps: ' + sortedOpps);
system.debug('Opps: ' + Opps);
opps = sortedOpps;
}

public class oppWrapper{

public Opportunity opp {get; set;}
public String status {get; set;}

//Contructor
public oppWrapper(Opportunity opp){
this.opp = opp;
}
}
}

First let's show it working correctly:
1) Open up this page and open the System Log.
2) Click the Stage Name header. This passes a param to the variable "sortColumn" in the controller and calls the action method sortTable().
3) Monitoring the debug log you can see that this is correctly being passed over: line 41, column 9: sColumn: StageName

Now let's show it not working:
1) Reload the page.
2) Change the Stage of the first opp in the table. This runs the change() method in the controller and rerenders the contents of the Status column. A 'Y' should appear in the row of the edited opp.
3) Click the Stage header to sort. The table will disappear because the sort logic did not execute. If you look at the system log you can see that the param was not passed to the controller and sortColumn is null: line 41, column 9: sColumn: null

Now the fix. I don't know why or how this fixes it but it does. Simply adding the name attribute to the param component does the trick. It doesn't even matter what the name is, just as long as it is there:

Code:
Change this:
<apex:param value="StageName" assignTo="{!sortColumn}" />

to this:
<apex:param name="asdfasd" value="StageName" assignTo="{!sortColumn}" />

and it works.

So there you go. I'm pretty sure this is a bug but if it's not I'll modify the title.

-Jason




Message Edited by TehNrd on 01-16-2009 12:04 PM
In the process of building out a Visualforce page I have run into an error I am not sure how to handle. I have an inputText field that maps to an Integer variable in the controller. It works great if the user enters in a Integer. Yet if they enter letters or decimal the logic fails in the controller and the debug log shows the following ...

j_id0:j_id1:j_id2: An error occurred when processing your submitted information.

...and the page appears to do nothing, no displayed errors or anything:

It would be great if the VF page automatically displayed an error message similar to what is does for inputFields. Something like "Invalid Integer" or what ever data type it  is supposed to be. I've attached code below that compares the behaviors.

What should I do to handle this? Its looking like I will have to use a string variable and then convert that to an integer but then I will need to catch any errors if the conversion fails which intern requires more unit tests. More work than I'd like to do if possible.

Ideas, thoughts?

Code:
//When you enter an invalid probability it lets you know. If you enter an invalid integer it gives no warning.

<apex:page controller="input">
        <apex:outputPanel id="panel">
                <apex:form>
                        <apex:inputText value="{!numberEntry}" /><br/>
                        <apex:inputField value="{!opp.Probability}" /><br/>
                        <apex:commandButton action="{!submit}" value="Submit" rerender="panel"/>
                </apex:form>
        </apex:outputPanel>
</apex:page>

public class input {

        Integer numberEntry;

        public Integer getNumberEntry() {
                return numberEntry;
        }

        public void setNumberEntry(Integer numberEntry){
                this.numberEntry = numberEntry;
        }

        Opportunity opp = new Opportunity();
        
        public Opportunity getopp() {
                return opp;
        }

        public PageReference submit() {
                
                system.debug(numberEntry);
                system.debug(opp.probability);
                return null;
        }
}

 


Message Edited by TehNrd on 05-01-2008 10:42 AM