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

Request SOQL input text Visualforce
Hello,
It is possible to enter a request SOQL in input text of a Visualforce page and after use this request in Apex class?
How do I do this?
I tried this, but that didn't work:
APEX CLASS:
....
public List<case> caseTT {get; set;}
.....
List<case> caseFermeList = caseTT ;
VISUALFORCE:
.....
Request : <apex:inputText value="{!caseTT}"/><br /><br />
Thank you!!!
It is possible to enter a request SOQL in input text of a Visualforce page and after use this request in Apex class?
How do I do this?
I tried this, but that didn't work:
APEX CLASS:
....
public List<case> caseTT {get; set;}
.....
List<case> caseFermeList = caseTT ;
VISUALFORCE:
.....
Request : <apex:inputText value="{!caseTT}"/><br /><br />
Thank you!!!
global class AAAExporterCSV2 implements System.Schedulable {
public String mailSouhaite {get; set;}
public string caseTT {get; set;}
global void execute(SchedulableContext sc) {
planifier();
}
public void planifier(){
string titre= 'Id, Subject,Demandeur,Status'+'\n';
string contenuCSV = titre;
for(Case a: (List<case>)database.query(caseTT) )
{
string contenu = a.casenumber + ',' + a.subject+ ',' +a.Contact.Name+ ',' + a.status +'\n';
contenuCSV = contenuCSV + contenu ;
}
Messaging.EmailFileAttachment csvPJ = new Messaging.EmailFileAttachment();
blob csvBlob = Blob.valueOf(contenuCSV);
string csvNom = 'cases_fermes.csv';
csvPJ.setFileName(csvNom);
csvPJ.setBody(csvBlob);
Messaging.SingleEmailMessage email =new Messaging.SingleEmailMessage();
String[] adressMail = new list<string> {mailSouhaite};
String subject = 'Rapport Cases Fermés CSV';
email.setSubject(subject);
email.setToAddresses( adressMail );
email.setPlainTextBody('Bonjour\n\nIl y a des Cases qui se sont fermés!\nCi-joint un rapport avec les informations des Cases fermés.\n\nCordialement, Vocaza');
email.setFileAttachments(new Messaging.EmailFileAttachment[]{csvPJ});
Messaging.SendEmailResult [] envoyer = Messaging.sendEmail(new Messaging.SingleEmailMessage[] {email});
}
}
My page Visualforce
<apex:page controller="AAAExporterCSV2">
<apex:form >
<apex:PageBlock >
:::::::::: PARAMETRAGE :::::::::: <br /><br />
Mail :<apex:inputText value="{!mailSouhaite}"/><br /><br />
Requête :<apex:inputText value="{!caseTT}"/><br /><br />
<apex:commandButton value="Valider" action="{!planifier}"/> <br/><br/>
<apex:commandButton value="Effacer"/> <br/><br/>
</apex:PageBlock>
</apex:form>
</apex:page>
All Answers
I don't know how to use inputField to retrieve data from a SOQL request ...
Passe the values EMAIL and REQUEST for an APEX class.
The APEX class will send an email to the email entered in Visualforce page with a CSV with the results of the REQUEST.
OK?
Thank you
But it's possible to get the value entered (REQUEST) in the input text and to use him to controller?
For email I got to do ... but for the request I dont know how I do!
EMAIL: flower@uol.com
REQUEST: Select casenumber, subject, Contact.Name, status from case where closeddate = TODAY
global class AAAExporterCSV2 implements System.Schedulable {
public String mailSouhaite {get; set;}
public List<case> caseTT {get; set;}
global void execute(SchedulableContext sc) {
planifier();
}
public void planifier(){
List<case> caseFermeList = caseTT ;
string titre= 'Id, Subject,Demandeur,Status'+'\n';
string contenuCSV = titre;
for(Case a: caseFermeList )
{
string contenu = a.casenumber + ',' + a.subject+ ',' +a.Contact.Name+ ',' + a.status +'\n';
contenuCSV = contenuCSV + contenu ;
}
Messaging.EmailFileAttachment csvPJ = new Messaging.EmailFileAttachment();
blob csvBlob = Blob.valueOf(contenuCSV);
string csvNom = 'cases_fermes.csv';
csvPJ.setFileName(csvNom);
csvPJ.setBody(csvBlob);
Messaging.SingleEmailMessage email =new Messaging.SingleEmailMessage();
String[] adressMail = new list<string> {mailSouhaite};
String subject = 'Rapport Cases Fermés CSV';
email.setSubject(subject);
email.setToAddresses( adressMail );
email.setPlainTextBody('Bonjour\n\nIl y a des Cases qui se sont fermés!\nCi-joint un rapport avec les informations des Cases fermés.\n\nCordialement, Vocaza');
email.setFileAttachments(new Messaging.EmailFileAttachment[]{csvPJ});
Messaging.SendEmailResult [] envoyer = Messaging.sendEmail(new Messaging.SingleEmailMessage[] {email});
}
}
My page Visualforce
<apex:page controller="AAAExporterCSV2">
<apex:form >
<apex:PageBlock >
:::::::::: PARAMETRAGE :::::::::: <br /><br />
Mail :<apex:inputText value="{!mailSouhaite}"/><br /><br />
Requête :<apex:inputText value="{!caseTT}"/><br /><br />
<apex:commandButton value="Valider" action="{!planifier}"/> <br/><br/>
<apex:commandButton value="Effacer"/> <br/><br/>
</apex:PageBlock>
</apex:form>
</apex:page>
global class AAAExporterCSV2 implements System.Schedulable {
public String mailSouhaite {get; set;}
public string caseTT {get; set;}
global void execute(SchedulableContext sc) {
planifier();
}
public void planifier(){
string titre= 'Id, Subject,Demandeur,Status'+'\n';
string contenuCSV = titre;
for(Case a: (List<case>)database.query(caseTT) )
{
string contenu = a.casenumber + ',' + a.subject+ ',' +a.Contact.Name+ ',' + a.status +'\n';
contenuCSV = contenuCSV + contenu ;
}
Messaging.EmailFileAttachment csvPJ = new Messaging.EmailFileAttachment();
blob csvBlob = Blob.valueOf(contenuCSV);
string csvNom = 'cases_fermes.csv';
csvPJ.setFileName(csvNom);
csvPJ.setBody(csvBlob);
Messaging.SingleEmailMessage email =new Messaging.SingleEmailMessage();
String[] adressMail = new list<string> {mailSouhaite};
String subject = 'Rapport Cases Fermés CSV';
email.setSubject(subject);
email.setToAddresses( adressMail );
email.setPlainTextBody('Bonjour\n\nIl y a des Cases qui se sont fermés!\nCi-joint un rapport avec les informations des Cases fermés.\n\nCordialement, Vocaza');
email.setFileAttachments(new Messaging.EmailFileAttachment[]{csvPJ});
Messaging.SendEmailResult [] envoyer = Messaging.sendEmail(new Messaging.SingleEmailMessage[] {email});
}
}
My page Visualforce
<apex:page controller="AAAExporterCSV2">
<apex:form >
<apex:PageBlock >
:::::::::: PARAMETRAGE :::::::::: <br /><br />
Mail :<apex:inputText value="{!mailSouhaite}"/><br /><br />
Requête :<apex:inputText value="{!caseTT}"/><br /><br />
<apex:commandButton value="Valider" action="{!planifier}"/> <br/><br/>
<apex:commandButton value="Effacer"/> <br/><br/>
</apex:PageBlock>
</apex:form>
</apex:page>
THANK YOU TOO!
The email took to reach!