-
ChatterFeed
-
1Best Answers
-
0Likes Received
-
0Likes Given
-
17Questions
-
24Replies
access denied to VF page from portal user
Hello,
I have a VF page which is available to sustem admin but not available in to user in "partner portal",i have given access to profiles to this page, is there something i am missing.. ?
I have a VF page which is available to sustem admin but not available in to user in "partner portal",i have given access to profiles to this page, is there something i am missing.. ?
- Ab
- December 27, 2016
- Like
- 0
Create a Lookup Relationship to OpportunitySplit
Hello,
How can I make a custom fields lookup relationship to OpportunitySplit ?
Because when I create the field, I can only make a lookup to Opportunity.
Regards
Jeremy
How can I make a custom fields lookup relationship to OpportunitySplit ?
Because when I create the field, I can only make a lookup to Opportunity.
Regards
Jeremy
- Jeremy Deseez
- September 14, 2017
- Like
- 0
Get all SelectOptions values from each row on a table.
Hello,
I have a table with multiple rows, and a selectoptions for each row.
When I have only one row, I can get the value (fol.Type__c = typeOfOpp;) in my controller, but if there is many rows, the value is "none".
Apex Code :
Kind regards
I have a table with multiple rows, and a selectoptions for each row.
When I have only one row, I can get the value (fol.Type__c = typeOfOpp;) in my controller, but if there is many rows, the value is "none".
Apex Code :
public String typeOfOpp{get;set;} public List<SelectOption> loadFastType(){ fastType = new List<SelectOption>(); fastType.add(new SelectOption('none', '-- Select Type --')); fastType.add(new SelectOption('Optimist', 'Optimist')); fastType.add(new SelectOption('Forecast Exit', 'Forecast Exit')); fastType.add(new SelectOption('Pessimist', 'Pessimist')); return fastType; } public void saveValue(){ List<FAST_OPP__c> fastOppListToSave = new List<FAST_OPP__c>(); for(FAST_OPP__c fol : fastOppList){ fol.Opp_ID__r = null; fol.Type__c = typeOfOpp; fastOppListToSave.add(fol); } try { //upsert fastOppList; upsert fastOppListToSave; } catch (exception ex) { System.debug(ex); } }
Kind regards
- Jeremy Deseez
- August 14, 2017
- Like
- 0
Nothing happen save method
Hello guys,
I've got some problem with my save method, nothing happen, even the System.debug is not launch on the Debug Log;
Thanks for your help
Here my VFP and Controller code :
Thanks
I've got some problem with my save method, nothing happen, even the System.debug is not launch on the Debug Log;
Thanks for your help
Here my VFP and Controller code :
public with sharing class ManageFAST { public List<SelectOption> quarterList {get;set;} public List<SelectOption> fastType{get;set;} public Map<Id, FAST__c> mapFast{get;set;} public FAST__c fast{get;set;} public List<FAST_OPP__c> fastOppList{get;set;} //public List<AggregateResult> fastOppListSum{get;set;} public String typeOfOpp{get;set;} public Decimal sumOfAmount{get;set;} //public List<FAST__c> fastList{get;set;} private List<ManageOpp> manageOppList{get;set;} private manageUser oppUser; private ManageOpp oppOpp; public Date quarter{get;set;} public String selectedQuarter {get;set;} public Date selectedQuarterReturn{get;set;} public Date testdate{get;set;} public ManageFAST() { fast = new FAST__c(); //fastList = new List<FAST__c>(); fastOppList = new List<FAST_OPP__c>(); oppUser = new ManageUser(); oppOpp = new ManageOpp(); oppUser.load(UserInfo.getUserId()); quarter = Date.today(); quarterList = loadQuarterList(); loadFastType(); loadFAST(); loadFASTOPP(); initFASTOppList(); } public List<SelectOption> loadFastType(){ fastType = new List<SelectOption>(); fastType.add(new SelectOption('none', '-- Select Type --')); fastType.add(new SelectOption('Optimist', 'Optimist')); fastType.add(new SelectOption('Forecast Exit', 'Forecast Exit')); fastType.add(new SelectOption('Pessimist', 'Pessimist')); return fastType; } public List<SelectOption> loadQuarterList() { List<SelectOption> optionsquarter = new List<SelectOption>(); List<Period> resultsquarter = [SELECT EndDate, FullyQualifiedLabel, StartDate, Type FROM Period WHERE Type = 'Quarter' AND StartDate >= LAST_YEAR]; for(Period rq : resultsquarter){ optionsquarter.add(new SelectOption(String.valueOf(rq.get('StartDate')),String.valueOf(rq.get('FullyQualifiedLabel')))); } return optionsquarter; } public void loadFAST(){ if(selectedQuarterReturn == null){ selectedQuarterReturn = Date.today(); } else { selectedQuarterReturn = Date.valueOf(selectedQuarter); } List<FAST__c> fastList = new List<FAST__c>(); fastList = [SELECT Id, Sales_ID__c, Forecast_Manager_ID__c, Quarter_Date__c, Commit_Manager__c, Transactionnal_Amount_Forecast_Exit__c, Transactionnal_Amount_Optimistic__c, Transactionnal_Amount_Pessimistic__c,Opp_Amount_Optimist__c, Opp_Amount_Forecast_Exit__c, Opp_Amount_Pessimist__c FROM FAST__c WHERE Sales_ID__c =: oppUser.getId() //AND Quarter_Date__c >=:selectedQuarterReturn //LIMIT 1 ]; if(fastList.isEmpty()){ fast = new FAST__c(); fast.Sales_ID__c = oppUser.getId(); fast.Forecast_Manager_ID__c = oppUser.getManagerId(); fast.Transactionnal_Amount_Pessimistic__c = 0; fast.Transactionnal_Amount_Optimistic__c = 0; fast.Transactionnal_Amount_Forecast_Exit__c = 0; //fast.Quarter_Date__c =:selectedQuarterReturn fast.Opp_Amount_Pessimist__c = 0; fast.Opp_Amount_Optimist__c = 0; fast.Opp_Amount_Forecast_Exit__c = 0; fast.Commit_Manager__c = 0; } else { fast = fastList.get(0); } } public void loadFASTOPP(){ Date selectedQuarterReturn = Date.valueOf(quarterList.get(0).getValue()); Date selectedQuarterReturnNext = Date.valueOf(quarterList.get(1).getValue()); if(selectedQuarter == null){ selectedQuarterReturn = Date.today(); } else { selectedQuarterReturn = Date.valueOf(quarterList.get(0).getValue()); } //System.debug(selectedQuarterReturn); //System.debug(selectedQuarterReturnNext); fastOppList = [SELECT Id, Opp_ID__c, IsClosed__c, Type__c, Opp_Amount__c, FAST_ID__c FROM FAST_OPP__c WHERE IsClosed__c != true AND Opp_ID__r.CloseDate >=: selectedQuarterReturn ]; } public void initFASTOppList(){ oppUser.loadOpportunityList(quarter); for(ManageOpp mo : oppUser.getOpportunityList()) { Map<Id, FAST_OPP__c> testMap = new Map<Id, FAST_OPP__c>(); for(FAST_OPP__c fo : fastOppList){ testMap.put(fo.Opp_ID__c, fo); //System.debug('1er test MO' + fastOppList); } if(!testMap.containsKey(mo.getOppId())){ FAST_OPP__c fastOpp = new FAST_OPP__c(); fastOpp.Opp_ID__c = mo.getOppId(); fastOpp.FAST_ID__c = fast.Id; fastOpp.IsClosed__c = mo.getIsClosed(); fastOpp.Opp_ID__r = new Opportunity(); fastOpp.Opp_ID__r.Amount = mo.getAmount(); fastOpp.Type__c = 'none'; fastOppList.add(fastOpp); } } } public FAST__c getFAST(){ return this.fast; } public PageReference goSave() { System.debug('fastOppList before for = ' + fastOppList); List<FAST_OPP__c> fastOppListToSave = new List<FAST_OPP__c>(); for(FAST_OPP__c fol : fastOppList){ System.debug('fastOppList a the begining of the for' + fastOppList); fol.Opp_ID__r = null; //if(fol.Type__c == null){ //fol.Type__c = typetype; fol.Type__c = this.typeOfOpp; //} //fol.Type__c = typetype; System.debug('fastOppListToSave before the add' + fastOppListToSave); fastOppListToSave.add(fol); System.debug('fastOppListToSave during for' + fastOppListToSave); //if(fol.Type__c != 'none'){ // fastOppListToSave.add(fol); // System.debug('fastOppListToSave during SAVE' + fastOppListToSave); //} } System.debug('fastOppListToSave after for' + fastOppListToSave); try { System.debug('fastOppListToSave during save' + fastOppListToSave); upsert fastOppListToSave; } catch (exception ex) { System.debug(ex); } return null; }
<apex:page showHeader="true" sidebar="true" controller="ManageFAST" > <apex:includeScript value="{!URLFOR($Resource.jquery, '/jquery-ui-1.10.3.custom/js/jquery-1.9.1.js')}" /> <apex:includeScript value="{!URLFOR($Resource.jquery, '/jquery-ui-1.10.3.custom/js/jquery-ui-1.10.3.custom.min.js')}" /> <apex:form id="formId"> <script type="text/javascript"> $j = jQuery.noConflict(); $j(document).ready(function() { var total = 0; $j('.optimist').each(function(){ var t = $j(this).parent().parent().find('.optimist').val(); total += parseFloat(t); }); $j('.grandTotal').val(total); $j('.type_opp').change(function(){ var opp_amount = $j(this).parent().parent().find('.amount_to_copy').text(); if($j(this).parent().parent().find('.type_opp').val() == 'Pessimist'){ $j(this).parent().parent().find('.pessimist').val(opp_amount); $j(this).parent().parent().find('.forecast_exit').val(opp_amount); $j(this).parent().parent().find('.optimist').val(opp_amount); } else if ($j(this).parent().parent().find('.type_opp').val() == 'Forecast Exit'){ $j(this).parent().parent().find('.pessimist').val(''); $j(this).parent().parent().find('.forecast_exit').val(opp_amount); $j(this).parent().parent().find('.optimist').val(opp_amount); } else if ($j(this).parent().parent().find('.type_opp').val() == 'Optimist'){ $j(this).parent().parent().find('.pessimist').val(''); $j(this).parent().parent().find('.forecast_exit').val(''); $j(this).parent().parent().find('.optimist').val(opp_amount); } }); }); </script> <br/><br/> <apex:selectList value="{!selectedQuarter}" size="1"> <apex:selectOptions value="{!QuarterList}" /> <apex:actionSupport event="onchange" action="{!loadFASTOPP}" reRender="formId"/> </apex:selectList> <br/><br/> <apex:outputText value="{!selectedQuarterReturn}"></apex:outputText> <apex:pageBlock> <apex:pageBlockTable value="{!fastOppList}" id="table" var="f" > <apex:column headerValue="Opportunity Name" value="{!f.Opp_ID__c}"/> <!-- <apex:column headerValue="Opportunity Account" value="{!f.Opp_ID__r.Account.Name}"/> --> <apex:column headerValue="Amount" styleClass="amount_to_copy" value="{!f.Opp_Amount__c}"/> <apex:column headerValue="Type"> <apex:selectList styleClass="type_opp" value="{!typeOfOpp}" size="1"> <apex:selectOptions value="{!fastType}" /> </apex:selectList> </apex:column> <apex:column headerValue="TYpe" value="{!f.Type__c}"> </apex:column> <apex:column headerValue="Total Pessimistic"> <apex:inputText styleClass="pessimist" value="{!f.Opp_Amount__c}"/> </apex:column> <apex:column headerValue="Total Forecast Exit"> <apex:inputText styleClass="forecast_exit" value="{!f.Opp_Amount__c}"/> </apex:column> <apex:column headerValue="Total Optimistic"> <apex:inputText styleClass="optimist" value="{!f.Opp_Amount__c}"/> </apex:column> <apex:column headerValue="Is closed ?"> <apex:outputText value="{!f.IsClosed__c}"/> </apex:column> </apex:pageBlockTable> </apex:pageBlock> <apex:pageBlock> <apex:outputText>Commit Manager </apex:outputText> <apex:inputText value="{!sumOfAmount}" styleClass="grandTotal"/> </apex:pageBlock> <apex:commandButton value="Save Value" action="{!saveValue}"/> <apex:commandButton value="SaveMoi" action="{!saveMoi}"/> <apex:commandButton value="GoSave" action="{!goSave}"/> <apex:commandButton value="TEST" action="{!testTest}"/> <br/> </apex:form> </apex:page>
Thanks
- Jeremy Deseez
- July 13, 2017
- Like
- 0
Upsert two Objects
Hello Dev Community,
I'm making an new app, named FAST.
I have two Objects : FAST and FAST_OPP. In FAST_OPP, there are informations about Opportunity, and in FAST there are other data link with FAST_OPP.
When I update FAST_OPP, I want to push also data in FAST. But I need to create ID in FAST during the upsert and I don't know how to do this.
Here's my controller code and visualforce :
I want to copy the value stored in the visualforce table into FAST and FAST_OPP.
Best Regards,
Jeremy
I'm making an new app, named FAST.
I have two Objects : FAST and FAST_OPP. In FAST_OPP, there are informations about Opportunity, and in FAST there are other data link with FAST_OPP.
When I update FAST_OPP, I want to push also data in FAST. But I need to create ID in FAST during the upsert and I don't know how to do this.
Here's my controller code and visualforce :
public with sharing class ManageFAST { public List<SelectOption> quarterList {get;set;} public List<SelectOption> fastType{get;set;} public FAST__c fast{get;set;} public List<FAST_OPP__c> fastOppList{get;set;} private List<ManageOpp> manageOppList{get;set;} private manageUser oppUser; private ManageOpp oppOpp; public Date quarter; public String selectedQuarter {get;set;} public Date selectedQuarterReturn{get;set;} public Date testdate{get;set;} public ManageFAST() { fast = new FAST__c(); fastOppList = new List<FAST_OPP__c>(); oppUser = new ManageUser(); oppOpp = new ManageOpp(); oppUser.load(UserInfo.getUserId()); quarter = Date.today(); quarterList = loadQuarterList(); loadFastType(); loadFAST(); loadFASTOPP(); initFASTOppList(); } public void loadFAST(){ List<FAST__c> fastList = new List<FAST__c>(); fastList = [SELECT Id, Sales_ID__c, Forecast_Manager_ID__c, Quarter_Date__c, Commit_Manager__c, Transactionnal_Amount_Forecast_Exit__c, Transactionnal_Amount_Optimistic__c, Transactionnal_Amount_Pessimistic__c,Opp_Amount_Optimist__c, Opp_Amount_Forecast_Exit__c, Opp_Amount_Pessimist__c FROM FAST__c WHERE Sales_ID__c =: oppUser.getId() //AND Quarter_Date__c >=:selectedQuarterReturn LIMIT 1 ]; if(fastList.isEmpty()){ fast = new FAST__c(); fast.Sales_ID__c = oppUser.getId(); fast.Transactionnal_Amount_Pessimistic__c = 0; fast.Transactionnal_Amount_Optimistic__c = 0; fast.Transactionnal_Amount_Forecast_Exit__c = 0; fast.Opp_Amount_Pessimist__c = 0; fast.Opp_Amount_Optimist__c = 0; fast.Opp_Amount_Forecast_Exit__c = 0; fast.Commit_Manager__c = 0; } else { fast = fastList.get(0); } } public void loadFASTOPP(){ //selectedQuarterReturn = Date.valueOf(selectedQuarter); fastOppList = [SELECT Id, Opp_ID__c, IsClosed__c, Type__c, Opp_Amount__c, Opp_ID__r.Amount , Opp_ID__r.Account.Name, FAST_ID__r.Transactionnal_Amount_Forecast_Exit__c,FAST_ID__r.Transactionnal_Amount_Pessimistic__c, FAST_ID__r.Transactionnal_Amount_Optimistic__c , FAST_ID__r.Opp_Amount_Pessimist__c, FAST_ID__r.Opp_Amount_Forecast_Exit__c , FAST_ID__r.Opp_Amount_Optimist__c, FAST_ID__r.Id FROM FAST_OPP__c WHERE IsClosed__c != true //WHERE FAST_ID__c =: fast.Id //AND FAST_ID__r.Sales_ID__c =: oppUser.getId() //AND FAST_ID__r.Quarter_Date__c >=: selectedQuarterReturn ]; } public void initFASTOppList(){ oppUser.loadOpportunityList(quarter); for(ManageOpp mo : oppUser.getOpportunityList()) { Map<Id, FAST_OPP__c> testMap = new Map<Id, FAST_OPP__c>(); for(FAST_OPP__c fo : fastOppList){ //System.debug('fastOppList before init' + fastOppList); testMap.put(fo.Opp_ID__c, fo); System.debug('testMap' + testMap); //System.debug('fastOppList after init' + fastOppList); } if(!testMap.containsKey(mo.getOppId())){ FAST_OPP__c fastOpp = new FAST_OPP__c(); fastOpp.Opp_ID__c = mo.getOppId(); //fastOpp.FAST_ID__c = fast.Id; fastOpp.IsClosed__c = mo.getIsClosed(); fastOpp.Type__c = 'none'; //fastOpp.FAST_ID__r.Sales_ID__c = oppUser.getId(); fastOppList.add(fastOpp); System.debug('FAST OPP LIST IN INIT AFTER ADD' + fastOppList); } //System.debug('FIRST USER DEBUG BEFORE ADD TO FAST_OPP__c' + fastOppList); } //System.debug('TEST FASTOPPLIST' + fastOppList.size()); } public List<SelectOption> loadFastType(){ fastType = new List<SelectOption>(); fastType.add(new SelectOption('none', '-- Select Type --')); fastType.add(new SelectOption('Optimist', 'Optimist')); fastType.add(new SelectOption('Forecast Exit', 'Forecast Exit')); fastType.add(new SelectOption('Pessimist', 'Pessimist')); return fastType; } public void assignTypeCopyValue(){ } public List<SelectOption> loadQuarterList() { List<SelectOption> optionsquarter = new List<SelectOption>(); List<Period> resultsquarter = [SELECT EndDate, FullyQualifiedLabel, StartDate, Type FROM Period WHERE Type = 'Quarter' AND StartDate >= LAST_YEAR]; for(Period rq : resultsquarter){ optionsquarter.add(new SelectOption(String.valueOf(rq.get('StartDate')),String.valueOf(rq.get('FullyQualifiedLabel')))); selectedQuarterReturn = Date.valueOf(rq.get('StartDate')); } //System.debug('selectedQuarterReturn' + selectedQuarterReturn); return optionsquarter; } public FAST__c getFAST(){ return this.fast; } public PageReference goSave() { List<FAST_OPP__c> fastOppListToSave = new List<FAST_OPP__c>(); for(FAST_OPP__c fol : fastOppList){ System.debug('fastOppList during SAVE' + fastOppList); //fol.FAST_ID__c = fast.Id; // il est null la //fol.FAST_ID__r.Sales_ID__c = oppUser.getId(); //System.debug('TEST fastOppListToSave' + fol.FAST_ID__c); if(fol.Type__c != 'none'){ fastOppListToSave.add(fol); System.debug('fastOppListToSave during SAVE' + fastOppListToSave); //System.debug('SALES ID' + fol.FAST_ID__r.Sales_ID__c); //System.debug('TEST fastOppListToSave' + fastOppListToSave.size()); } } try { upsert fastOppListToSave; } catch (exception ex) { System.debug(ex); } return null; } }
<apex:page showHeader="true" sidebar="true" controller="ManageFAST" > <apex:includeScript value="{!URLFOR($Resource.jquery, '/jquery-ui-1.10.3.custom/js/jquery-1.9.1.js')}" /> <apex:includeScript value="{!URLFOR($Resource.jquery, '/jquery-ui-1.10.3.custom/js/jquery-ui-1.10.3.custom.min.js')}" /> <apex:slds /> <div class="slds-scope"> <apex:form id="formId"> <script type="text/javascript"> $j = jQuery.noConflict(); function saveComplete() { window.location.reload(true); } function testalert(){ alert('test alert button change typelist in top'); console.log('test'); }; $j(document).ready(function() { console.log('Test lancement JQUERY'); $j('.type_opp').change(function(){ var opp_amount = $j(this).parent().parent().find('.amount_to_copy').text(); if($j(this).parent().parent().find('.type_opp').val() == 'Pessimist'){ $j(this).parent().parent().find('.pessimist').val(opp_amount); $j(this).parent().parent().find('.forecast_exit').val(opp_amount); $j(this).parent().parent().find('.optimist').val(opp_amount); console.log('change amount to pessimist'); } else if ($j(this).parent().parent().find('.type_opp').val() == 'Forecast Exit'){ $j(this).parent().parent().find('.pessimist').val(''); $j(this).parent().parent().find('.forecast_exit').val(opp_amount); $j(this).parent().parent().find('.optimist').val(opp_amount); console.log('change amount to optimist'); } else if ($j(this).parent().parent().find('.type_opp').val() == 'Optimist'){ $j(this).parent().parent().find('.pessimist').val(''); $j(this).parent().parent().find('.forecast_exit').val(''); $j(this).parent().parent().find('.optimist').val(opp_amount); console.log('change amount to pessimist'); } }); }); </script> <br/><br/> <apex:selectList value="{!selectedQuarter}" size="1"> <apex:selectOptions value="{!QuarterList}" /> <apex:actionSupport event="onchange" action="{!loadFASTOPP}" reRender="formId"/> </apex:selectList> <br/><br/> <apex:pageBlock> <apex:pageBlockTable styleClass="slds-table slds-table--bordered slds-table--cell-buffer" value="{!fastOppList}" id="table" var="f" > <apex:column headerValue="Opportunity Name" value="{!f.Opp_ID__c}"/> <apex:column headerValue="Opportunity Account" value="{!f.Opp_ID__r.Account.Name}"/> <apex:column headerValue="Amount" styleClass="amount_to_copy" value="{!f.Opp_Amount__c}"/> <apex:column headerValue="Type"> <apex:selectList styleClass="type_opp" value="{!f.Type__c}" size="1"> <apex:selectOptions value="{!fastType}" /> </apex:selectList> </apex:column> <apex:column headerValue="Total Pessimistic"> <apex:inputText styleClass="pessimist" value="{!f.FAST_ID__r.Opp_Amount_Pessimist__c}"/> </apex:column> <apex:column headerValue="Total Forecast Exit"> <apex:inputText styleClass="forecast_exit" value="{!f.FAST_ID__r.Opp_Amount_Forecast_Exit__c}"/> </apex:column> <apex:column headerValue="Total Optimistic"> <apex:inputText styleClass="optimist" value="{!f.FAST_ID__r.Opp_Amount_Optimist__c}"/> </apex:column> <apex:column headerValue="Is closed ?"> <apex:inputText styleClass="slds-input" value="{!f.IsClosed__c}"/> </apex:column> <apex:column headerValue="Id du FAST" value="{!f.FAST_ID__r.Id}"/> <apex:column headerValue="Id du FAST OPP" value="{!f.Id}"/> </apex:pageBlockTable> </apex:pageBlock> <apex:commandButton styleClass="slds-button--selected" value="Save" action="{!goSave}" oncomplete="saveComplete()" reRender="formId"></apex:commandButton> <br/> <apex:commandButton styleClass="slds-button--selected" value="TEST loadFAST" action="{!loadFAST}" oncomplete="saveComplete()" reRender="formId"></apex:commandButton> <apex:pageBlock> <apex:pageBlockTable styleClass="slds-table slds-table--bordered slds-table--cell-buffer" value="{!fast}" var="fr" > <apex:column headerValue="Opportunity Name" value="{!fr.Sales_ID__c}"/> </apex:pageBlockTable> </apex:pageBlock> </apex:form> </div> </apex:page>
I want to copy the value stored in the visualforce table into FAST and FAST_OPP.
Best Regards,
Jeremy
- Jeremy Deseez
- July 04, 2017
- Like
- 0
Put values of Opportunity List into a custom Object List
Hello everyone,
I've got a Classe named 'ManageUser". In this class, a method extract all opportunities for users.
I've got an other Class named 'ManageFAST". In this class, I need to copy the values of the Opportunity List.
And I don't know how to do it.
Here is my code.
ManageUser :
ManageFAST :
Thanks
I've got a Classe named 'ManageUser". In this class, a method extract all opportunities for users.
I've got an other Class named 'ManageFAST". In this class, I need to copy the values of the Opportunity List.
And I don't know how to do it.
Here is my code.
ManageUser :
public Boolean loadOpportunityList(Date quarter){ String query = ManageOpp.OPP_QUERY; query += ' WHERE Owner.Id =: id'; if(quarter != null){ query += ' AND CloseDate >=: quarter'; } List<Opportunity> oppList = Database.query(query); if(oppList.isEmpty()){ return false; } myOppList = new List<ManageOpp>(); for(Opportunity opp : oppList){ myOppList.add(new ManageOpp(opp)); } return true; } public Boolean loadOpportunityList(){ return loadOpportunityList(null); } public List<ManageOpp> getOpportunityList(){ return this.myOppList; }
ManageFAST :
public List<FAST__c> fast{get;set;} private List<FAST_OPP__c> fastOppList; private List<ManageOpp> manageOppList{get;set;} private manageUser oppUser; public Date quarter; public ManageFAST() { fast = new List<FAST__c>(); oppUser = new ManageUser(); } public void loadFAST(){ List<FAST__c> fast = new List<FAST__c>(); fast = [SELECT Id, Sales_ID__c, Forecast_Manager_ID__c, Quarter_Date__c, Commit_Manager__c, Transactionnal_Amount_Forecast_Exit__c, Transactionnal_Amount_Optimistic__c, Transactionnal_Amount_Pessimistic__c FROM FAST__c]; } public void initFASTOppList(){ oppUser.load(UserInfo.getUserId()); //quarter = Date.newInstance(1960, 2, 17); oppUser.loadOpportunityList(quarter); for(FAST_OPP__c fo : oppUser.getOpportunityList()) { } }
Thanks
- Jeremy Deseez
- April 07, 2017
- Like
- 0
Get all the track field history
Hi everyone,
I want to have in a report, or something like that, all the fields of all the Objects where the field is "Track History" checked at true.
Thakns for response.
Regards
I want to have in a report, or something like that, all the fields of all the Objects where the field is "Track History" checked at true.
Thakns for response.
Regards
- Jeremy Deseez
- February 28, 2017
- Like
- 0
Upsert list with values of another list
Hi SFDC Dev,
I'm stuck in my dev, I have 4 columns of User Forecasting Quota. With two different picklist, I want to choose the Quarter and copy the values (Quota Amount) into the chosen Quarter picklist, for each users. See in my screenshot, I want to choose the Quarter that I want to copy on selected second Quarter.
Thanks all.
I'm stuck in my dev, I have 4 columns of User Forecasting Quota. With two different picklist, I want to choose the Quarter and copy the values (Quota Amount) into the chosen Quarter picklist, for each users. See in my screenshot, I want to choose the Quarter that I want to copy on selected second Quarter.
public void updateQuotas() { Map<Id, ForecastingQuota> mapOnlyForecastQuotaQ1 = new Map<Id, ForecastingQuota>(); Map<Id, ForecastingQuota> mapOnlyForecastQuotaQ2 = new Map<Id, ForecastingQuota>(); Map<Id, ForecastingQuota> mapOnlyForecastQuotaQ3 = new Map<Id, ForecastingQuota>(); Map<Id, ForecastingQuota> mapOnlyForecastQuotaQ4 = new Map<Id, ForecastingQuota>(); Map<Id, ForecastingQuota> mapQuotaQ1 = new Map<Id, ForecastingQuota>(); Map<Id, ForecastingQuota> mapQuotaQ2 = new Map<Id, ForecastingQuota>(); Map<Id, ForecastingQuota> mapQuotaQ3 = new Map<Id, ForecastingQuota>(); Map<Id, ForecastingQuota> mapQuotaQ4 = new Map<Id, ForecastingQuota>(); Set<Id> userIdSet = new Set<Id>(); Date selectedQuarterQ1 = Date.valueOf(quarterList.get(0).getValue()); Date selectedQuarterQ2 = Date.valueOf(quarterList.get(1).getValue()); Date selectedQuarterQ3 = Date.valueOf(quarterList.get(2).getValue()); Date selectedQuarterQ4 = Date.valueOf(quarterList.get(3).getValue()); Date selectedQuarterQ5 = Date.valueOf(quarterList.get(4).getValue()); if (selectedQuarter != null && selectedQuarter != '') { Integer selectedQuarterPosition = getSelectedQuarterPosition(); selectedQuarterQ1 = Date.valueOf(quarterList.get(selectedQuarterPosition).getValue()); selectedQuarterQ2 = Date.valueOf(quarterList.get(selectedQuarterPosition + 1).getValue()); selectedQuarterQ3 = Date.valueOf(quarterList.get(selectedQuarterPosition + 2).getValue()); selectedQuarterQ4 = Date.valueOf(quarterList.get(selectedQuarterPosition + 3).getValue()); selectedQuarterQ5 = Date.valueOf(quarterList.get(selectedQuarterPosition + 4).getValue()); } if (selectedUserRole == '' || selectedUserRole == null) selectedUserRole = 'Sales%'; if (selectedUserRegion == '' || selectedUserRegion == null) selectedUserRegion = '%%'; List<User> userList = [SELECT Id FROM User WHERE isActive =: selectedActiveUser AND ForecastEnabled = true AND UserRole.Name LIKE :selectedUserRole AND RTS_Region__c LIKE :selectedUserRegion ORDER BY Id ASC]; for (User usr : userList) userIdSet.add(usr.id); List<ForecastingType> forecastTypeList = [SELECT Id, DeveloperName, IsActive, isAmount, isQuantity, Language, MasterLabel FROM ForecastingType WHERE DeveloperName = 'OpportunitySplitRevenue' LIMIT 1]; List<ForecastingQuota> queryQuotaListQ1 = [SELECT Id, QuotaAmount, QuotaOwnerId, QuotaOwner.UserRole.Name, StartDate FROM ForecastingQuota WHERE ForecastingTypeId = :forecastTypeList.get(0).Id AND StartDate >=:selectedQuarterQ1 AND StartDate <:selectedQuarterQ2 AND QuotaOwnerId IN : userIdSet ORDER BY QuotaOwnerId ASC]; List<ForecastingQuota> queryQuotaListQ2 = [SELECT Id, QuotaAmount, QuotaOwnerId, QuotaOwner.UserRole.Name, StartDate FROM ForecastingQuota WHERE ForecastingTypeId = :forecastTypeList.get(0).Id AND StartDate >=:selectedQuarterQ2 AND StartDate <:selectedQuarterQ3 AND QuotaOwnerId IN : userIdSet ORDER BY QuotaOwnerId ASC]; List<ForecastingQuota> queryQuotaListQ3 = [SELECT Id, QuotaAmount, QuotaOwnerId, QuotaOwner.UserRole.Name, StartDate FROM ForecastingQuota WHERE ForecastingTypeId = :forecastTypeList.get(0).Id AND StartDate >=:selectedQuarterQ3 AND StartDate <:selectedQuarterQ4 AND QuotaOwnerId IN : userIdSet ORDER BY QuotaOwnerId ASC]; List<ForecastingQuota> queryQuotaListQ4 = [SELECT Id, QuotaAmount, QuotaOwnerId, QuotaOwner.UserRole.Name, StartDate FROM ForecastingQuota WHERE ForecastingTypeId = :forecastTypeList.get(0).Id AND StartDate >=:selectedQuarterQ4 AND StartDate <:selectedQuarterQ5 AND QuotaOwnerId IN : userIdSet ORDER BY QuotaOwnerId ASC]; for (ForecastingQuota fq1 : queryQuotaListQ1) mapOnlyForecastQuotaQ1.put(fq1.QuotaOwnerId, fq1); for (ForecastingQuota fq2 : queryQuotaListQ2) mapOnlyForecastQuotaQ2.put(fq2.QuotaOwnerId, fq2); for (ForecastingQuota fq3 : queryQuotaListQ3) mapOnlyForecastQuotaQ3.put(fq3.QuotaOwnerId, fq3); for (ForecastingQuota fq4 : queryQuotaListQ4) mapOnlyForecastQuotaQ4.put(fq4.QuotaOwnerId, fq4); for (User u : userList) { mapQuotaQ1.put(u.id, mapOnlyForecastQuotaQ1.containsKey(u.id) ? mapOnlyForecastQuotaQ1.get(u.id) : new ForecastingQuota(QuotaOwnerId = u.id, QuotaAmount = null, StartDate = selectedQuarterQ1, ForecastingTypeId = forecastTypeList.get(0).Id)); mapQuotaQ2.put(u.id, mapOnlyForecastQuotaQ2.containsKey(u.id) ? mapOnlyForecastQuotaQ2.get(u.id) : new ForecastingQuota(QuotaOwnerId = u.id, QuotaAmount = null, StartDate = selectedQuarterQ2, ForecastingTypeId = forecastTypeList.get(0).Id)); mapQuotaQ3.put(u.id, mapOnlyForecastQuotaQ3.containsKey(u.id) ? mapOnlyForecastQuotaQ3.get(u.id) : new ForecastingQuota(QuotaOwnerId = u.id, QuotaAmount = null, StartDate = selectedQuarterQ3, ForecastingTypeId = forecastTypeList.get(0).Id)); mapQuotaQ4.put(u.id, mapOnlyForecastQuotaQ4.containsKey(u.id) ? mapOnlyForecastQuotaQ4.get(u.id) : new ForecastingQuota(QuotaOwnerId = u.id, QuotaAmount = null, StartDate = selectedQuarterQ4, ForecastingTypeId = forecastTypeList.get(0).Id)); } quotaListQ1 = mapQuotaQ1.values(); quotaListQ2 = mapQuotaQ2.values(); quotaListQ3 = mapQuotaQ3.values(); quotaListQ4 = mapQuotaQ4.values(); } public PageReference copyQuarterToQuarter(){ Date selectedQuarterToCopy = Date.valueOf(quarterList2.get(0).getValue()); Date selectedQuarterCopied = Date.valueOf(quarterList3.get(0).getValue()); System.debug(quotaListQ1); System.debug(quotaListQ2); for(ForecastingQuota qq2 : quotaListQ2){ quotaListQ2[1].QuotaAmount = quotaListQ1[1].QuotaAmount; } update quotaListQ2; System.debug(quotaListQ2); return null; }
Thanks all.
- Jeremy Deseez
- January 10, 2017
- Like
- 0
Picklist Date doesn't work
Hello SFDC Dev,
I have a pageblock table that's show Quotas of Sales.
I have a picklist (this picklist works) of user role, and the rerender work for the table.
But when I put a picklist of Date, nothing happens for the table and the value of the picklist is not send to the controller.
Some code :
I have a pageblock table that's show Quotas of Sales.
I have a picklist (this picklist works) of user role, and the rerender work for the table.
But when I put a picklist of Date, nothing happens for the table and the value of the picklist is not send to the controller.
Some code :
<apex:outputlabel value="User Role"/> <apex:selectList value="{!idofuserrole}" size="1"> <apex:actionSupport event="onchange" action="{!searchQuotas}" reRender="allquotas"/> <apex:selectOptions value="{!userrole}" /> </apex:selectList> <apex:outputlabel value="Quarter"/> <apex:selectList value="{!namequarter}" size="1"> <apex:actionSupport event="onchange" action="{!searchQuotas}" reRender="allquotas"/> <apex:selectOptions value="{!QuarterList}" /> </apex:selectList> <apex:pageBlockTable value="{!allthequotas}" id="table" var="key" title="{!namequarter}"> <apex:facet name="header"> <input type="checkbox" id="checkAllBox" onchange="toggleCheckAll(this)"/> Select Quarter </apex:facet> <apex:column> <input type="checkbox" data-inputid="val1"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key.QuotaAmount}" required="false" id="val1"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key.StartDate}" required="false"/> </apex:column> </apex:pageBlockTable> public Date namequarter{get{ if(namequarter == null){ namequarter = Date.today(); }return namequarter; } set; } public List<SelectOption> getQuarterList(){ List<SelectOption> optionsquarter = new List<SelectOption>(); List<SObject> resultsquarter = [SELECT FullyQualifiedLabel,EndDate,StartDate,Type FROM Period WHERE Type = 'Quarter' AND StartDate >= TODAY]; for(SObject rq : resultsquarter){ optionsquarter.add(new SelectOption(String.valueOf(rq.get('StartDate')),String.valueOf(rq.get('StartDate')))); } return optionsquarter; }Thanks for your responses.
- Jeremy Deseez
- January 02, 2017
- Like
- 0
Update are on all row and not the selected one
Hi SFDC,
I have a problem when I update some rows on my table, the update are made on all rows and not on the selected one.
I have a problem when I update some rows on my table, the update are made on all rows and not on the selected one.
<apex:pageBlockSection columns="4" id="allquotas"> <apex:pageBlockTable value="{!allthequotas}" id="table" var="key"> <apex:facet name="header"> <input type="checkbox" id="checkAllBox" onchange="toggleCheckAll(this)"/> Select All </apex:facet> <apex:column> <!-- <apex:inputCheckbox styleClass="selectInput"/> --> <input type="checkbox" data-inputid="val1"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key.QuotaAmount}" required="false" id="val1"/> </apex:column> </apex:pageBlockTable> <apex:pageBlockTable value="{!allthequotas2}" var="key2"> <apex:facet name="header"> <input type="checkbox" id="checkAllBox2" onchange="toggleCheckAll2(this)"/> Select All </apex:facet> <apex:column> <apex:inputCheckbox styleClass="selectInput2"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key2.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key2.QuotaAmount}" required="false" id="test"/> </apex:column> </apex:pageBlockTable> <apex:pageBlockTable value="{!allthequotas3}" var="key3"> <apex:facet name="header"> <input type="checkbox" id="checkAllBox3" onchange="toggleCheckAll3(this)"/> Select All </apex:facet> <apex:column> <apex:inputCheckbox styleClass="selectInput3"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key3.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key3.QuotaAmount}" required="false" id="test"/> </apex:column> </apex:pageBlockTable> <apex:pageBlockTable value="{!allthequotas4}" var="key4"> <apex:facet name="header"> <input type="checkbox" id="checkAllBox4" onchange="toggleCheckAll4(this)"/> Select All </apex:facet> <apex:column> <input type="checkbox" styleClass="selectInput4"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key4.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key4.QuotaAmount}" required="false" id="test"/> </apex:column> </apex:pageBlockTable> </apex:pageBlockSection> </apex:pageBlock> function copyQuotaAmount() { $("input[type=checkbox]:checked").each(function(){ // $(this) refers to the current checked box in loop var inputid = $(this).data('inputid'); console.log(inputid); var valuetocopy = $("input[id$='ValueToCopy']").val(); console.log(valuetocopy); $("input[type='text'][id$='" + inputid + "']").val(valuetocopy); // $("input[type='text'][id$=inputid]").val(valuetocopy); }); }
- Jeremy Deseez
- December 29, 2016
- Like
- 0
Change value of checked row field jquery
Hi SFDC Dev,
Here's my problem. I want to copy the value of the inputfield named "CopyToValue" to the selected fields on the table.
Thanks everybody.
Here's my problem. I want to copy the value of the inputfield named "CopyToValue" to the selected fields on the table.
<apex:inputText id="ValueToCopy" value="{!ForecastingQuota.QuotaAmount}" required="false"/> <apex:commandButton value="Assign to Selected Users" reRender="allquotas" onclick="copyQuotaAmount();"/> <br/> <br/> <apex:pageBlockSection columns="4" id="allquotas"> <apex:pageBlockTable value="{!allthequotas}" id="table" var="key"> <apex:facet name="header"> <input type="checkbox" id="checkAllBox" onchange="toggleCheckAll(this)"/> Select All </apex:facet> <apex:column> <apex:inputCheckbox styleClass="selectInput"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key.QuotaAmount}" required="false" id="test"/> </apex:column> <apex:column headerValue="Date"> <apex:inputField value="{!key.StartDate}" required="false"/> </apex:column> </apex:pageBlockTable> <apex:pageBlockTable value="{!allthequotas2}" var="key2"> <apex:facet name="header"> <input type="checkbox" id="checkAllBox2" onchange="toggleCheckAll2(this)"/> Select All </apex:facet> <apex:column> <apex:inputCheckbox styleClass="selectInput2"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key2.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key2.QuotaAmount}" required="false" id="test"/> </apex:column> <apex:column headerValue="Date"> <apex:inputField value="{!key2.StartDate}" required="false"/> </apex:column> </apex:pageBlockTable> <apex:pageBlockTable value="{!allthequotas3}" var="key3"> <apex:facet name="header"> <input type="checkbox" id="checkAllBox3" onchange="toggleCheckAll3(this)"/> Select All </apex:facet> <apex:column> <apex:inputCheckbox styleClass="selectInput3"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key3.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key3.QuotaAmount}" required="false" id="test"/> </apex:column> <apex:column headerValue="Date"> <apex:inputField value="{!key3.StartDate}" required="false"/> </apex:column> </apex:pageBlockTable> <apex:pageBlockTable value="{!allthequotas4}" var="key4"> <apex:facet name="header"> <input type="checkbox" id="checkAllBox4" onchange="toggleCheckAll4(this)"/> Select All </apex:facet> <apex:column> <apex:inputCheckbox styleClass="selectInput4"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key4.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key4.QuotaAmount}" required="false" id="test"/> </apex:column> <apex:column headerValue="Date"> <apex:inputField value="{!key4.StartDate}" required="false"/> </apex:column> </apex:pageBlockTable> </apex:pageBlockSection> <script type="text/javascript"> function copyQuotaAmount() { $("input[id$='test']").val($("input[id$='ValueToCopy']").val()); return false; } </script>I just don't know how to do in JQuery. See the screenshot, I want to put the value "123" (in yellow) to the selected fields of the table.
Thanks everybody.
- Jeremy Deseez
- December 27, 2016
- Like
- 0
Save method for a PageBlockTable
Hi SF Dev,
I have a PageBlockTable that return the users with their related quotas in a <apex:inputField.
All I want is to save it when I change the amount of the quota, but when I click on save, nothing happen, the page is refreshing with the old data on the table.
Here is my apex code :
And here is my visualforce :
Many thanks.
I have a PageBlockTable that return the users with their related quotas in a <apex:inputField.
All I want is to save it when I change the amount of the quota, but when I click on save, nothing happen, the page is refreshing with the old data on the table.
Here is my apex code :
public with sharing class AssignQuotaTest { public List<ForecastingQuota> resultsquotas{get;set;} public List<ForecastingQuota> resultsquotas2{get;set;} public List<ForecastingQuota> allthequotas{get;set;} public List<USer> resultsusers{get;set;} public Map<Id, ForecastingQuota> allUserFqsByOwnerId {get;set;} public Map<Id, ForecastingQuota> fqsByOwnerId {get;set;} public String QuotaAmount{get;set;} public Id QuotaOwnerId{get;set;} public String QuotaQuantity{get;set;} public Id PeriodId{get;set;} public String ProductFamily{get;set;} public Boolean IsQuantity{get;set;} public String CurrencyIsoCode{get;set;} public Id ForecastingTypeId{get;set;} public Boolean IsAmount{get;set;} public Date dateperiod{get;set;} public Date dateperiodlist {get;set;} public Date dateperiodlist1 {get;set;} public Date datetest {get;set;} public String testquarter {get;set;} public Date countryOptions {get;set;} public Date theperiodlist {get;set;} public Date theperiodlist2 {get;set;} public String next{get;set;} public String previous{get;set;} public Date namequarter{get;set;} public Date namequarter2{get;set;} public String assignquotaamount {get;set;} public Id idofuserrole{get;set;} public Id idofuserrole1{get;set;} public Id idofuserrole2{get;set;} public Boolean usertype {get;set;} public Boolean usertype2 {get;set;} public Boolean usertypetest {get;set;} public string testtest2{get;set;} public string testtest{get;set;} public Boolean changeuser{get;set;} public AssignQuotaTest(ApexPages.StandardController controller) { searchQuotas(); } public void searchQuotas(){ System.debug(changeuser); if(namequarter == null) { namequarter = Date.today(); } if(next == 'next'){ namequarter = namequarter.addDays(90); } if(previous == 'previous'){ namequarter = namequarter.addDays(-90); } namequarter2 = namequarter.addDays(90); if(theperiodlist == null){ theperiodlist = Date.today(); } theperiodlist2 = theperiodlist.addDays(90); List<ForecastingQuota> resultsquotas = new List<ForecastingQuota>(); resultsquotas = [SELECT Id,QuotaAmount,QuotaOwnerId, StartDate FROM ForecastingQuota WHERE StartDate >=:namequarter AND StartDate <=:namequarter2 ORDER BY QuotaOwnerId ASC]; List<User> resultsusers = new List<User>(); if(idofuserrole != null){ resultsusers = [SELECT Id FROM User WHERE IsActive =:changeuser AND ForecastEnabled = TRUE AND UserRoleId =:idofuserrole]; } else { resultsusers = [SELECT Id FROM User WHERE IsActive =:changeuser AND ForecastEnabled = TRUE]; } Map<Id, ForecastingQuota> fqsByOwnerId = new Map<Id, ForecastingQuota>(); for (ForecastingQuota fq : resultsquotas) { fqsByOwnerId.put(fq.QuotaOwnerId, fq); } // new map of quotas keyed by all user ids Map<Id, ForecastingQuota> allUserFqsByOwnerId = new Map<Id, ForecastingQuota>(); for (User u : resultsusers) { allUserFqsByOwnerId.put(u.id, fqsByOwnerId.containsKey(u.id) ? fqsByOwnerId.get(u.id) : new ForecastingQuota(QuotaOwnerId = u.id, QuotaAmount = null)); } allthequotas = new List<ForecastingQuota>(); allthequotas = allUserFqsByOwnerId.values(); allthequotas.sort(); } public List<SelectOption> getQuarterDate() { List<SelectOption> countryOptions = new List<SelectOption>(); countryOptions.add(new SelectOption('','-None-')); countryOptions.add(new SelectOption('12/01/2016','Q4 2016')); countryOptions.add(new SelectOption('01/01/2017','Q1 2017')); countryOptions.add(new SelectOption('04/01/2017','Q2 2017')); countryOptions.add(new SelectOption('07/01/2017','Q3 2017')); return countryOptions; } public List<SelectOption> getPeriodList(){ List<SelectOption> optionspl = new List<SelectOption>(); List<SObject> resultspl = [SELECT FullyQualifiedLabel,EndDate,IsForecastPeriod,StartDate FROM Period WHERE EndDate > TODAY AND Type != 'Year' AND IsForecastPeriod = true ORDER BY EndDate ASC]; for(SObject pl : resultspl){ optionspl.add(new SelectOption(String.valueOf(pl.get('StartDate')),String.valueOf(pl.get('FullyQualifiedLabel')))); } return optionspl; } public List<SelectOption> getQuarterList(){ List<SelectOption> optionsquarter = new List<SelectOption>(); List<SObject> resultsquarter = [SELECT FullyQualifiedLabel,EndDate,StartDate,Type FROM Period WHERE Type = 'Quarter' AND StartDate >= TODAY]; for(SObject rq : resultsquarter){ optionsquarter.add(new SelectOption(String.valueOf(rq.get('StartDate')),String.valueOf(rq.get('FullyQualifiedLabel')))); } return optionsquarter; } public List<SelectOption> getUserActive(){ List<SelectOption> optionsua = new List<SelectOption>(); List<SObject> resultsua = [SELECT IsActive FROM User GROUP BY IsActive ORDER BY IsActive DESC]; for(SObject ua : resultsua){ optionsua.add(new SelectOption(String.valueOf(ua.get('IsActive')),String.valueOf(ua.get('IsActive')))); } return optionsua; } public List<SelectOption> getUserRole(){ List<SelectOption> optionsur = new List<SelectOption>(); List<SObject> resultsur = [SELECT Id, Name FROM UserRole WHERE Name LIKE '%Sales/%']; for(SObject ur : resultsur){ optionsur.add(new SelectOption(String.valueOf(ur.get('Id')),String.valueOf(ur.get('Name')))); }optionsur.add(new SelectOption('','ALL')); return optionsur; } public List<User> getUsers(){ List<User> resultsusers = new List<User>(); resultsusers = [SELECT Id, Name FROM User WHERE IsActive = TRUE AND ForecastEnabled = TRUE LIMIT 999]; return resultsusers; } public void save(){ upsert resultsquotas; } }
And here is my visualforce :
<apex:page standardController="ForecastingQuota" extensions="AssignQuotaTest" sidebar="false" docType="html-5.0"> <apex:form id="formid"> <apex:pageBlock title="Kyriba Quotas" id="allthequotas"> <apex:pageBlockSection columns="2"> <apex:outputlabel value="Date"/> <apex:input type="date" required="false" id="namequarter" value="{!namequarter}"/> <apex:outputlabel value="User Role"/> <apex:selectList value="{!idofuserrole}" size="1"> <apex:selectOptions value="{!userrole}" /> </apex:selectList> <!-- <apex:outputlabel value="Active Users"/> <apex:selectList value="{!usertype}" size="1"> <apex:selectOptions value="{!useractive}" /> </apex:selectList><br/><br/> --> <apex:commandButton value="Inactive Users" reRender="allquotas" action="{!searchQuotas}"> <apex:param id="inactive" name="inactive" value="false" assignTo="{!changeuser}" /> </apex:commandButton> <apex:commandButton value="Active Users" reRender="allquotas" action="{!searchQuotas}"> <apex:param id="active" name="active" value="true" assignTo="{!changeuser}" /> </apex:commandButton> <ul></ul> <input type="checkbox" id="select_all"/>First Column<br/> <input type="checkbox" id="select_all2"/>Second Column<br/> <input type="checkbox" id="select_all3"/>Third Column<br/> <input type="checkbox" id="select_all4"/>Fourth Column<br/> <apex:commandButton id="saveBtn" value="Save" action="{!save}" /> <apex:commandButton value="Filter" reRender="allquotas" action="{!searchQuotas}"> </apex:commandButton> </apex:pageBlockSection> <br/><br/> <apex:pageBlockSection columns="4" id="allquotas"> <apex:pageBlockTable value="{!allthequotas}" id="table" var="key"> <apex:column> <apex:inputCheckbox id="checkbox" styleClass="checkbox1"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key.QuotaAmount}" required="false"/> </apex:column> </apex:pageBlockTable> <apex:pageBlockTable value="{!allthequotas}" var="key2"> <apex:facet name="header"> <input type="checkbox" id="checkbox" styleClass="checkbox1"/> </apex:facet> <apex:column> <apex:inputCheckbox id="checkbox" styleClass="checkbox2"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key2.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key2.QuotaAmount}" id="firstquota2" required="false"/> </apex:column> <apex:column headerValue="Quota"> <apex:outputField value="{!key.StartDate}"/> </apex:column> </apex:pageBlockTable> <apex:pageBlockTable value="{!allthequotas}" var="key3"> <apex:facet name="header"> <input type="checkbox" id="checkbox" styleClass="checkbox1"/> </apex:facet> <apex:column> <apex:inputCheckbox id="checkbox" styleClass="checkbox3"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key3.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key3.QuotaAmount}" required="false"/> </apex:column> </apex:pageBlockTable> <apex:pageBlockTable value="{!allthequotas}" var="key4"> <apex:facet name="header"> <input type="checkbox" id="checkbox" styleClass="checkbox1"/> </apex:facet> <apex:column> <apex:inputCheckbox id="checkbox" styleClass="checkbox4"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key4.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key4.QuotaAmount}" required="false"/> </apex:column> </apex:pageBlockTable> </apex:pageBlockSection> </apex:pageBlock> </apex:form> <script type="text/javascript"> $(document).ready(function(){ var select_all = document.getElementById("select_all"); //select all checkbox console.log(select_all); var select_all2 = document.getElementById("select_all2"); var select_all3 = document.getElementById("select_all3"); var select_all4 = document.getElementById("select_all4"); var checkboxes = document.getElementsByClassName("checkbox1"); //checkbox items console.log(checkboxes); var checkboxes2 = document.getElementsByClassName("checkbox2"); var checkboxes3 = document.getElementsByClassName("checkbox3"); var checkboxes4 = document.getElementsByClassName("checkbox4"); //select all checkboxes select_all.addEventListener("change", function(e){ for (i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = select_all.checked; } }); select_all2.addEventListener("change", function(e){ for (i = 0; i < checkboxes2.length; i++) { checkboxes2[i].checked = select_all2.checked; } }); select_all3.addEventListener("change", function(e){ for (i = 0; i < checkboxes3.length; i++) { checkboxes3[i].checked = select_all3.checked; } }); select_all4.addEventListener("change", function(e){ for (i = 0; i < checkboxes4.length; i++) { checkboxes4[i].checked = select_all4.checked; } }); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].addEventListener('change', function(e){ //".checkbox" change //uncheck "select all", if one of the listed checkbox item is unchecked if(this.checked == false){ select_all.checked = false; } //check "select all" if all checkbox items are checked if(document.querySelectorAll('.checkbox:checked').length == checkboxes.length){ select_all.checked = true; } }); } for (var i = 0; i < checkboxes2.length; i++) { checkboxes2[i].addEventListener('change', function(e){ //".checkbox" change //uncheck "select all", if one of the listed checkbox item is unchecked if(this.checked == false){ select_all2.checked = false; } //check "select all" if all checkbox items are checked if(document.querySelectorAll('.checkbox2:checked').length == checkboxes2.length){ select_all2.checked = true; } }); } for (var i = 0; i < checkboxes3.length; i++) { checkboxes3[i].addEventListener('change', function(e){ //".checkbox" change //uncheck "select all", if one of the listed checkbox item is unchecked if(this.checked == false){ select_all3.checked = false; } //check "select all" if all checkbox items are checked if(document.querySelectorAll('.checkbox3:checked').length == checkboxes3.length){ select_all3.checked = true; } }); } for (var i = 0; i < checkboxes4.length; i++) { checkboxes4[i].addEventListener('change', function(e){ //".checkbox" change //uncheck "select all", if one of the listed checkbox item is unchecked if(this.checked == false){ select_all4.checked = false; } //check "select all" if all checkbox items are checked if(document.querySelectorAll('.checkbox4:checked').length == checkboxes4.length){ select_all4.checked = true; } }); } }); </script> </apex:page>Can you guide me for the custom save method ?
Many thanks.
- Jeremy Deseez
- December 13, 2016
- Like
- 0
Same method for 4 different PageBlockTable
Hello SFDC,
I have a method who return the Users with their associated Quotas.
It show the result in a PageBlockTable.
But I want to put 3 PageBlockTables near the first one, which show the next quarters.
It's like :
Q1 Q2 Q3 Q4
Tom Jones Tom Jones Tom Jones Tom Jones
John Doe John Doe John Doe John Doe
With my code, i got the first quarter, but I don't know how to make the next 3 quarters.
Controller :
Visualforce Page :
Kind Regards
I have a method who return the Users with their associated Quotas.
It show the result in a PageBlockTable.
But I want to put 3 PageBlockTables near the first one, which show the next quarters.
It's like :
Q1 Q2 Q3 Q4
Tom Jones Tom Jones Tom Jones Tom Jones
John Doe John Doe John Doe John Doe
With my code, i got the first quarter, but I don't know how to make the next 3 quarters.
Controller :
public void searchQuotas(){ List<ForecastingQuota> resultsquotas = new List<ForecastingQuota>(); resultsquotas = [SELECT Id,QuotaAmount,QuotaOwnerId, StartDate FROM ForecastingQuota WHERE StartDate >=:namequarter AND StartDate <=:namequarter2 ORDER BY QuotaOwnerId ASC]; List<User> resultsusers = new List<User>(); if(idofuserrole != null){ resultsusers = [SELECT Id FROM User WHERE IsActive =:usertype AND ForecastEnabled = TRUE AND UserRoleId =:idofuserrole]; } else { resultsusers = [SELECT Id FROM User WHERE IsActive =:usertype AND ForecastEnabled = TRUE]; } Map<Id, ForecastingQuota> fqsByOwnerId = new Map<Id, ForecastingQuota>(); for (ForecastingQuota fq : resultsquotas) { fqsByOwnerId.put(fq.QuotaOwnerId, fq); } // new map of quotas keyed by all user ids Map<Id, ForecastingQuota> allUserFqsByOwnerId = new Map<Id, ForecastingQuota>(); for (User u : resultsusers) { allUserFqsByOwnerId.put(u.id, fqsByOwnerId.containsKey(u.id) ? fqsByOwnerId.get(u.id) : new ForecastingQuota(QuotaOwnerId = u.id, QuotaAmount = null)); } allthequotas = new List<ForecastingQuota>(); allthequotas = allUserFqsByOwnerId.values(); allthequotas.sort(); }
Visualforce Page :
<apex:pageBlockSection columns="4" id="allquotas"> <apex:pageBlockTable value="{!allthequotas}" var="key"> <apex:column headerValue="Check"> <apex:inputCheckbox id="checkbox" styleClass="checkbox1"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key.QuotaAmount}" id="test" styleClass="childCheck" required="false"/> </apex:column> <apex:column headerValue="Quota"> <apex:outputField value="{!key.StartDate}"/> </apex:column> </apex:pageBlockTable> <apex:pageBlockTable value="{!allthequotas}" var="key2"> <apex:column headerValue="Check"> <apex:inputCheckbox id="checkbox" styleClass="checkbox2"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key2.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key2.QuotaAmount}" id="test2" required="false"/> </apex:column> <apex:column headerValue="Quota"> <apex:outputField value="{!key.StartDate}"/> </apex:column> </apex:pageBlockTable> <apex:pageBlockTable value="{!allthequotas}" var="key3"> <apex:column headerValue="Check"> <apex:inputCheckbox id="checkbox" styleClass="checkbox3"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key3.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key3.QuotaAmount}" required="false"/> </apex:column> </apex:pageBlockTable> <apex:pageBlockTable value="{!allthequotas}" var="key4"> <apex:column headerValue="Check"> <apex:inputCheckbox id="checkbox" styleClass="checkbox4"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key4.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key4.QuotaAmount}" required="false"/> </apex:column> </apex:pageBlockTable> </apex:pageBlockSection> </apex:pageBlock>
Kind Regards
- Jeremy Deseez
- December 08, 2016
- Like
- 0
Copy value of checked inputField and Paste to an other inputField
I want to copy a value of an inputField wich is checked and paste it to an other inputField. I can do it with Javascript like this :
It's work with a simple inputText but doesn't work with inputField on a PageBlockTable. If you have any ideas how to do it..
Regards
Jeremy
function copy(test,test2) { document.getElementById(test2).value = document.getElementById(test).value; } <apex:inputText id="test" required="false"/> <apex:inputText id="test2" required="false"/>
It's work with a simple inputText but doesn't work with inputField on a PageBlockTable. If you have any ideas how to do it..
Regards
Jeremy
- Jeremy Deseez
- December 06, 2016
- Like
- 0
Value of Picklist send to Controller to change a SOQL
Hi SFDC, I'm new in the Apex world :)
I have some trouble with picklist value, i will explain.
I have a picklist that show me the StartDate from the Period Objects.
I have also a List of ForecastingQuota by User.
The problem is that when I select a value in the picklist, the controller doesn't get it, so my query wich show the user can't change.
Controller :
And the VFP code :
Thank's for the help :)
I have some trouble with picklist value, i will explain.
I have a picklist that show me the StartDate from the Period Objects.
I have also a List of ForecastingQuota by User.
The problem is that when I select a value in the picklist, the controller doesn't get it, so my query wich show the user can't change.
Controller :
public List<SelectOption> optionspl {get;set;} public List<User> resultsusers{get;set;} public Date dateinput{get;set;} public Date dateinput2 {get;set;} public List<SelectOption> getPeriodList(){ List<SelectOption> optionspl = new List<SelectOption>(); List<SObject> resultspl = [SELECT FullyQualifiedLabel, StartDate FROM Period WHERE StartDate > TODAY AND Type = 'Quarter']; for(SObject pl : resultspl){ optionspl.add(new SelectOption(String.valueOf(pl.get('StartDate')),String.valueOf(pl.get('StartDate')))); } return optionspl; } public List<ForecastingQuota> getAllQuotas(){ dateinput = Date.today(); date mydate2 = mydate.addDays(90); List<ForecastingQuota> resultsquotas = new List<ForecastingQuota>(); resultsquotas = [SELECT Id,QuotaAmount,QuotaOwnerId, StartDate FROM ForecastingQuota WHERE StartDate >:dateinput AND StartDate <:mydate2 ORDER BY QuotaOwnerId, StartDate ASC]; List<User> resultsusers = new List<User>(); resultsusers = [SELECT Id FROM User WHERE IsActive = TRUE AND ForecastEnabled = TRUE LIMIT 999]; Map<Id, ForecastingQuota> fqsByOwnerId = new Map<Id, ForecastingQuota>(); for (ForecastingQuota fq : resultsquotas) { fqsByOwnerId.put(fq.QuotaOwnerId, fq); } // new map of quotas keyed by all user ids Map<Id, ForecastingQuota> allUserFqsByOwnerId = new Map<Id, ForecastingQuota>(); for (User u : resultsusers) { allUserFqsByOwnerId.put(u.id, fqsByOwnerId.containsKey(u.id) ? fqsByOwnerId.get(u.id) : new ForecastingQuota(QuotaOwnerId = u.id, QuotaAmount = null)); } List<ForecastingQuota> allthequotas = new List<ForecastingQuota>(); allthequotas = allUserFqsByOwnerId.values(); allthequotas.sort(); return allthequotas; }
And the VFP code :
<apex:pageBlockSection columns="4"> <apex:selectList value="{!dateinput2}" id="dateinput2" size="1"> <apex:selectOptions value="{!periodlist}" /> <apex:actionSupport event="onchange" rerender="allquotas"/> </apex:selectList> <apex:pageBlockTable value="{!allquotas}" var="key"> <apex:column> <input type="checkbox" name="pouet"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key.QuotaAmount}"/> </apex:column> <apex:column headerValue="Date"> <apex:outputField value="{!key.StartDate}"/> </apex:column> </apex:pageBlockTable> </apex:pageBlockSection> </apex:pageBlock>
Thank's for the help :)
- Jeremy Deseez
- November 08, 2016
- Like
- 0
List of User Id in a List with the Forecasting Quota
Hi,
I have a List of User Id :
I don't know how to make it.
Thanks for your reponses :)
I have a List of User Id :
List<User> resultsusers = new List<User>(); resultsusers = [SELECT Id FROM User WHERE IsActive = TRUE AND ForecastEnabled = TRUE];And a List of ForecastingQuota :
List<ForecastingQuota> resultsquotas = new List<ForecastingQuota>(); resultsquotas = [SELECT Id,QuotaAmount,QuotaOwnerId FROM ForecastingQuota ORDER BY StartDate ASC];And I want to put the Id of the User with the Id of the ForecastingQuota and also his QuotaAmount in a new List.
I don't know how to make it.
Thanks for your reponses :)
- Jeremy Deseez
- October 18, 2016
- Like
- 0
Can't update a line in PageBlockTable
Hi, I make a pageBlockTable of ForecastingQuota, but when I save it, nothing happen, my QuotaAmount want to be saved.
VFP Code :
Apex :
VFP Code :
<apex:pageMessages /> <apex:pageBlock title="All ForecastingQuotas" id="forecast_list" mode="inlineEdit" > <apex:PageBlockButtons > <apex:commandButton action="{!save1}" value="save"/> </apex:PageBlockButtons> <apex:pageBlockTable value="{!loadquotas}" var="qs" id="aforecastlist"> <apex:column headerValue="Id"> <apex:outputField value="{!qs.Id}"/> </apex:column> <apex:column headerValue="QuotaAmount"> <apex:outputField value="{!qs.QuotaAmount }"/> </apex:column> <apex:column headerValue="QuotaOwnerId"> <apex:outputField value="{!qs.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="StartDate"> <apex:outputField value="{!qs.StartDate}"/> </apex:column> <apex:column headerValue="ForecastingTypeId"> <apex:outputField value="{!qs.ForecastingTypeId}"/> </apex:column> <apex:column headerValue="IsAmount"> <apex:outputField value="{!qs.IsAmount}"/> </apex:column> <apex:column headerValue="ProductFamily"> <apex:outputField value="{!qs.ProductFamily}"/> </apex:column> <apex:column headerValue="QuotaQuantity"> <apex:outputField value="{!qs.QuotaQuantity}"/> </apex:column> <apex:column headerValue="PeriodId"> <apex:outputField value="{!qs.PeriodId}"/> </apex:column> <!-- <apex:inlineEditSupport event="ondblClick"/> --> </apex:pageBlockTable> </apex:pageBlock>
Apex :
public List<ForecastingQuota> getLoadQuotas() { List<ForecastingQuota> resultsquotas = new List<ForecastingQuota>(); resultsquotas = [SELECT Id,CurrencyIsoCode, ForecastingTypeId, IsAmount, IsQuantity, PeriodId,ProductFamily,QuotaAmount,StartDate,QuotaQuantity,QuotaOwnerId FROM ForecastingQuota ORDER BY QuotaAmount DESC]; return resultsquotas; } public void save1() { List<ForecastingQuota> resultsquotas = new List<ForecastingQuota>(); resultsquotas = [SELECT Id,CurrencyIsoCode, ForecastingTypeId, IsAmount, IsQuantity, PeriodId,ProductFamily,QuotaAmount,StartDate,QuotaQuantity,QuotaOwnerId FROM ForecastingQuota]; update resultsquotas; System.debug(resultsquotas); }Thanks for your help
- Jeremy Deseez
- October 12, 2016
- Like
- 0
How can i show/edit a <List> of all Quotas on a Visual Force Page ?
Hi,
I'm trying to make a visualforce page to show/edit all Quotas with the name of the user associated with the Quotas.
Thak's a lot
I'm trying to make a visualforce page to show/edit all Quotas with the name of the user associated with the Quotas.
Thak's a lot
- Jeremy Deseez
- September 14, 2016
- Like
- 0
Get all SelectOptions values from each row on a table.
Hello,
I have a table with multiple rows, and a selectoptions for each row.
When I have only one row, I can get the value (fol.Type__c = typeOfOpp;) in my controller, but if there is many rows, the value is "none".
Apex Code :
Kind regards
I have a table with multiple rows, and a selectoptions for each row.
When I have only one row, I can get the value (fol.Type__c = typeOfOpp;) in my controller, but if there is many rows, the value is "none".
Apex Code :
public String typeOfOpp{get;set;} public List<SelectOption> loadFastType(){ fastType = new List<SelectOption>(); fastType.add(new SelectOption('none', '-- Select Type --')); fastType.add(new SelectOption('Optimist', 'Optimist')); fastType.add(new SelectOption('Forecast Exit', 'Forecast Exit')); fastType.add(new SelectOption('Pessimist', 'Pessimist')); return fastType; } public void saveValue(){ List<FAST_OPP__c> fastOppListToSave = new List<FAST_OPP__c>(); for(FAST_OPP__c fol : fastOppList){ fol.Opp_ID__r = null; fol.Type__c = typeOfOpp; fastOppListToSave.add(fol); } try { //upsert fastOppList; upsert fastOppListToSave; } catch (exception ex) { System.debug(ex); } }
Kind regards
- Jeremy Deseez
- August 14, 2017
- Like
- 0
Nothing happen save method
Hello guys,
I've got some problem with my save method, nothing happen, even the System.debug is not launch on the Debug Log;
Thanks for your help
Here my VFP and Controller code :
Thanks
I've got some problem with my save method, nothing happen, even the System.debug is not launch on the Debug Log;
Thanks for your help
Here my VFP and Controller code :
public with sharing class ManageFAST { public List<SelectOption> quarterList {get;set;} public List<SelectOption> fastType{get;set;} public Map<Id, FAST__c> mapFast{get;set;} public FAST__c fast{get;set;} public List<FAST_OPP__c> fastOppList{get;set;} //public List<AggregateResult> fastOppListSum{get;set;} public String typeOfOpp{get;set;} public Decimal sumOfAmount{get;set;} //public List<FAST__c> fastList{get;set;} private List<ManageOpp> manageOppList{get;set;} private manageUser oppUser; private ManageOpp oppOpp; public Date quarter{get;set;} public String selectedQuarter {get;set;} public Date selectedQuarterReturn{get;set;} public Date testdate{get;set;} public ManageFAST() { fast = new FAST__c(); //fastList = new List<FAST__c>(); fastOppList = new List<FAST_OPP__c>(); oppUser = new ManageUser(); oppOpp = new ManageOpp(); oppUser.load(UserInfo.getUserId()); quarter = Date.today(); quarterList = loadQuarterList(); loadFastType(); loadFAST(); loadFASTOPP(); initFASTOppList(); } public List<SelectOption> loadFastType(){ fastType = new List<SelectOption>(); fastType.add(new SelectOption('none', '-- Select Type --')); fastType.add(new SelectOption('Optimist', 'Optimist')); fastType.add(new SelectOption('Forecast Exit', 'Forecast Exit')); fastType.add(new SelectOption('Pessimist', 'Pessimist')); return fastType; } public List<SelectOption> loadQuarterList() { List<SelectOption> optionsquarter = new List<SelectOption>(); List<Period> resultsquarter = [SELECT EndDate, FullyQualifiedLabel, StartDate, Type FROM Period WHERE Type = 'Quarter' AND StartDate >= LAST_YEAR]; for(Period rq : resultsquarter){ optionsquarter.add(new SelectOption(String.valueOf(rq.get('StartDate')),String.valueOf(rq.get('FullyQualifiedLabel')))); } return optionsquarter; } public void loadFAST(){ if(selectedQuarterReturn == null){ selectedQuarterReturn = Date.today(); } else { selectedQuarterReturn = Date.valueOf(selectedQuarter); } List<FAST__c> fastList = new List<FAST__c>(); fastList = [SELECT Id, Sales_ID__c, Forecast_Manager_ID__c, Quarter_Date__c, Commit_Manager__c, Transactionnal_Amount_Forecast_Exit__c, Transactionnal_Amount_Optimistic__c, Transactionnal_Amount_Pessimistic__c,Opp_Amount_Optimist__c, Opp_Amount_Forecast_Exit__c, Opp_Amount_Pessimist__c FROM FAST__c WHERE Sales_ID__c =: oppUser.getId() //AND Quarter_Date__c >=:selectedQuarterReturn //LIMIT 1 ]; if(fastList.isEmpty()){ fast = new FAST__c(); fast.Sales_ID__c = oppUser.getId(); fast.Forecast_Manager_ID__c = oppUser.getManagerId(); fast.Transactionnal_Amount_Pessimistic__c = 0; fast.Transactionnal_Amount_Optimistic__c = 0; fast.Transactionnal_Amount_Forecast_Exit__c = 0; //fast.Quarter_Date__c =:selectedQuarterReturn fast.Opp_Amount_Pessimist__c = 0; fast.Opp_Amount_Optimist__c = 0; fast.Opp_Amount_Forecast_Exit__c = 0; fast.Commit_Manager__c = 0; } else { fast = fastList.get(0); } } public void loadFASTOPP(){ Date selectedQuarterReturn = Date.valueOf(quarterList.get(0).getValue()); Date selectedQuarterReturnNext = Date.valueOf(quarterList.get(1).getValue()); if(selectedQuarter == null){ selectedQuarterReturn = Date.today(); } else { selectedQuarterReturn = Date.valueOf(quarterList.get(0).getValue()); } //System.debug(selectedQuarterReturn); //System.debug(selectedQuarterReturnNext); fastOppList = [SELECT Id, Opp_ID__c, IsClosed__c, Type__c, Opp_Amount__c, FAST_ID__c FROM FAST_OPP__c WHERE IsClosed__c != true AND Opp_ID__r.CloseDate >=: selectedQuarterReturn ]; } public void initFASTOppList(){ oppUser.loadOpportunityList(quarter); for(ManageOpp mo : oppUser.getOpportunityList()) { Map<Id, FAST_OPP__c> testMap = new Map<Id, FAST_OPP__c>(); for(FAST_OPP__c fo : fastOppList){ testMap.put(fo.Opp_ID__c, fo); //System.debug('1er test MO' + fastOppList); } if(!testMap.containsKey(mo.getOppId())){ FAST_OPP__c fastOpp = new FAST_OPP__c(); fastOpp.Opp_ID__c = mo.getOppId(); fastOpp.FAST_ID__c = fast.Id; fastOpp.IsClosed__c = mo.getIsClosed(); fastOpp.Opp_ID__r = new Opportunity(); fastOpp.Opp_ID__r.Amount = mo.getAmount(); fastOpp.Type__c = 'none'; fastOppList.add(fastOpp); } } } public FAST__c getFAST(){ return this.fast; } public PageReference goSave() { System.debug('fastOppList before for = ' + fastOppList); List<FAST_OPP__c> fastOppListToSave = new List<FAST_OPP__c>(); for(FAST_OPP__c fol : fastOppList){ System.debug('fastOppList a the begining of the for' + fastOppList); fol.Opp_ID__r = null; //if(fol.Type__c == null){ //fol.Type__c = typetype; fol.Type__c = this.typeOfOpp; //} //fol.Type__c = typetype; System.debug('fastOppListToSave before the add' + fastOppListToSave); fastOppListToSave.add(fol); System.debug('fastOppListToSave during for' + fastOppListToSave); //if(fol.Type__c != 'none'){ // fastOppListToSave.add(fol); // System.debug('fastOppListToSave during SAVE' + fastOppListToSave); //} } System.debug('fastOppListToSave after for' + fastOppListToSave); try { System.debug('fastOppListToSave during save' + fastOppListToSave); upsert fastOppListToSave; } catch (exception ex) { System.debug(ex); } return null; }
<apex:page showHeader="true" sidebar="true" controller="ManageFAST" > <apex:includeScript value="{!URLFOR($Resource.jquery, '/jquery-ui-1.10.3.custom/js/jquery-1.9.1.js')}" /> <apex:includeScript value="{!URLFOR($Resource.jquery, '/jquery-ui-1.10.3.custom/js/jquery-ui-1.10.3.custom.min.js')}" /> <apex:form id="formId"> <script type="text/javascript"> $j = jQuery.noConflict(); $j(document).ready(function() { var total = 0; $j('.optimist').each(function(){ var t = $j(this).parent().parent().find('.optimist').val(); total += parseFloat(t); }); $j('.grandTotal').val(total); $j('.type_opp').change(function(){ var opp_amount = $j(this).parent().parent().find('.amount_to_copy').text(); if($j(this).parent().parent().find('.type_opp').val() == 'Pessimist'){ $j(this).parent().parent().find('.pessimist').val(opp_amount); $j(this).parent().parent().find('.forecast_exit').val(opp_amount); $j(this).parent().parent().find('.optimist').val(opp_amount); } else if ($j(this).parent().parent().find('.type_opp').val() == 'Forecast Exit'){ $j(this).parent().parent().find('.pessimist').val(''); $j(this).parent().parent().find('.forecast_exit').val(opp_amount); $j(this).parent().parent().find('.optimist').val(opp_amount); } else if ($j(this).parent().parent().find('.type_opp').val() == 'Optimist'){ $j(this).parent().parent().find('.pessimist').val(''); $j(this).parent().parent().find('.forecast_exit').val(''); $j(this).parent().parent().find('.optimist').val(opp_amount); } }); }); </script> <br/><br/> <apex:selectList value="{!selectedQuarter}" size="1"> <apex:selectOptions value="{!QuarterList}" /> <apex:actionSupport event="onchange" action="{!loadFASTOPP}" reRender="formId"/> </apex:selectList> <br/><br/> <apex:outputText value="{!selectedQuarterReturn}"></apex:outputText> <apex:pageBlock> <apex:pageBlockTable value="{!fastOppList}" id="table" var="f" > <apex:column headerValue="Opportunity Name" value="{!f.Opp_ID__c}"/> <!-- <apex:column headerValue="Opportunity Account" value="{!f.Opp_ID__r.Account.Name}"/> --> <apex:column headerValue="Amount" styleClass="amount_to_copy" value="{!f.Opp_Amount__c}"/> <apex:column headerValue="Type"> <apex:selectList styleClass="type_opp" value="{!typeOfOpp}" size="1"> <apex:selectOptions value="{!fastType}" /> </apex:selectList> </apex:column> <apex:column headerValue="TYpe" value="{!f.Type__c}"> </apex:column> <apex:column headerValue="Total Pessimistic"> <apex:inputText styleClass="pessimist" value="{!f.Opp_Amount__c}"/> </apex:column> <apex:column headerValue="Total Forecast Exit"> <apex:inputText styleClass="forecast_exit" value="{!f.Opp_Amount__c}"/> </apex:column> <apex:column headerValue="Total Optimistic"> <apex:inputText styleClass="optimist" value="{!f.Opp_Amount__c}"/> </apex:column> <apex:column headerValue="Is closed ?"> <apex:outputText value="{!f.IsClosed__c}"/> </apex:column> </apex:pageBlockTable> </apex:pageBlock> <apex:pageBlock> <apex:outputText>Commit Manager </apex:outputText> <apex:inputText value="{!sumOfAmount}" styleClass="grandTotal"/> </apex:pageBlock> <apex:commandButton value="Save Value" action="{!saveValue}"/> <apex:commandButton value="SaveMoi" action="{!saveMoi}"/> <apex:commandButton value="GoSave" action="{!goSave}"/> <apex:commandButton value="TEST" action="{!testTest}"/> <br/> </apex:form> </apex:page>
Thanks
- Jeremy Deseez
- July 13, 2017
- Like
- 0
Upsert two Objects
Hello Dev Community,
I'm making an new app, named FAST.
I have two Objects : FAST and FAST_OPP. In FAST_OPP, there are informations about Opportunity, and in FAST there are other data link with FAST_OPP.
When I update FAST_OPP, I want to push also data in FAST. But I need to create ID in FAST during the upsert and I don't know how to do this.
Here's my controller code and visualforce :
I want to copy the value stored in the visualforce table into FAST and FAST_OPP.
Best Regards,
Jeremy
I'm making an new app, named FAST.
I have two Objects : FAST and FAST_OPP. In FAST_OPP, there are informations about Opportunity, and in FAST there are other data link with FAST_OPP.
When I update FAST_OPP, I want to push also data in FAST. But I need to create ID in FAST during the upsert and I don't know how to do this.
Here's my controller code and visualforce :
public with sharing class ManageFAST { public List<SelectOption> quarterList {get;set;} public List<SelectOption> fastType{get;set;} public FAST__c fast{get;set;} public List<FAST_OPP__c> fastOppList{get;set;} private List<ManageOpp> manageOppList{get;set;} private manageUser oppUser; private ManageOpp oppOpp; public Date quarter; public String selectedQuarter {get;set;} public Date selectedQuarterReturn{get;set;} public Date testdate{get;set;} public ManageFAST() { fast = new FAST__c(); fastOppList = new List<FAST_OPP__c>(); oppUser = new ManageUser(); oppOpp = new ManageOpp(); oppUser.load(UserInfo.getUserId()); quarter = Date.today(); quarterList = loadQuarterList(); loadFastType(); loadFAST(); loadFASTOPP(); initFASTOppList(); } public void loadFAST(){ List<FAST__c> fastList = new List<FAST__c>(); fastList = [SELECT Id, Sales_ID__c, Forecast_Manager_ID__c, Quarter_Date__c, Commit_Manager__c, Transactionnal_Amount_Forecast_Exit__c, Transactionnal_Amount_Optimistic__c, Transactionnal_Amount_Pessimistic__c,Opp_Amount_Optimist__c, Opp_Amount_Forecast_Exit__c, Opp_Amount_Pessimist__c FROM FAST__c WHERE Sales_ID__c =: oppUser.getId() //AND Quarter_Date__c >=:selectedQuarterReturn LIMIT 1 ]; if(fastList.isEmpty()){ fast = new FAST__c(); fast.Sales_ID__c = oppUser.getId(); fast.Transactionnal_Amount_Pessimistic__c = 0; fast.Transactionnal_Amount_Optimistic__c = 0; fast.Transactionnal_Amount_Forecast_Exit__c = 0; fast.Opp_Amount_Pessimist__c = 0; fast.Opp_Amount_Optimist__c = 0; fast.Opp_Amount_Forecast_Exit__c = 0; fast.Commit_Manager__c = 0; } else { fast = fastList.get(0); } } public void loadFASTOPP(){ //selectedQuarterReturn = Date.valueOf(selectedQuarter); fastOppList = [SELECT Id, Opp_ID__c, IsClosed__c, Type__c, Opp_Amount__c, Opp_ID__r.Amount , Opp_ID__r.Account.Name, FAST_ID__r.Transactionnal_Amount_Forecast_Exit__c,FAST_ID__r.Transactionnal_Amount_Pessimistic__c, FAST_ID__r.Transactionnal_Amount_Optimistic__c , FAST_ID__r.Opp_Amount_Pessimist__c, FAST_ID__r.Opp_Amount_Forecast_Exit__c , FAST_ID__r.Opp_Amount_Optimist__c, FAST_ID__r.Id FROM FAST_OPP__c WHERE IsClosed__c != true //WHERE FAST_ID__c =: fast.Id //AND FAST_ID__r.Sales_ID__c =: oppUser.getId() //AND FAST_ID__r.Quarter_Date__c >=: selectedQuarterReturn ]; } public void initFASTOppList(){ oppUser.loadOpportunityList(quarter); for(ManageOpp mo : oppUser.getOpportunityList()) { Map<Id, FAST_OPP__c> testMap = new Map<Id, FAST_OPP__c>(); for(FAST_OPP__c fo : fastOppList){ //System.debug('fastOppList before init' + fastOppList); testMap.put(fo.Opp_ID__c, fo); System.debug('testMap' + testMap); //System.debug('fastOppList after init' + fastOppList); } if(!testMap.containsKey(mo.getOppId())){ FAST_OPP__c fastOpp = new FAST_OPP__c(); fastOpp.Opp_ID__c = mo.getOppId(); //fastOpp.FAST_ID__c = fast.Id; fastOpp.IsClosed__c = mo.getIsClosed(); fastOpp.Type__c = 'none'; //fastOpp.FAST_ID__r.Sales_ID__c = oppUser.getId(); fastOppList.add(fastOpp); System.debug('FAST OPP LIST IN INIT AFTER ADD' + fastOppList); } //System.debug('FIRST USER DEBUG BEFORE ADD TO FAST_OPP__c' + fastOppList); } //System.debug('TEST FASTOPPLIST' + fastOppList.size()); } public List<SelectOption> loadFastType(){ fastType = new List<SelectOption>(); fastType.add(new SelectOption('none', '-- Select Type --')); fastType.add(new SelectOption('Optimist', 'Optimist')); fastType.add(new SelectOption('Forecast Exit', 'Forecast Exit')); fastType.add(new SelectOption('Pessimist', 'Pessimist')); return fastType; } public void assignTypeCopyValue(){ } public List<SelectOption> loadQuarterList() { List<SelectOption> optionsquarter = new List<SelectOption>(); List<Period> resultsquarter = [SELECT EndDate, FullyQualifiedLabel, StartDate, Type FROM Period WHERE Type = 'Quarter' AND StartDate >= LAST_YEAR]; for(Period rq : resultsquarter){ optionsquarter.add(new SelectOption(String.valueOf(rq.get('StartDate')),String.valueOf(rq.get('FullyQualifiedLabel')))); selectedQuarterReturn = Date.valueOf(rq.get('StartDate')); } //System.debug('selectedQuarterReturn' + selectedQuarterReturn); return optionsquarter; } public FAST__c getFAST(){ return this.fast; } public PageReference goSave() { List<FAST_OPP__c> fastOppListToSave = new List<FAST_OPP__c>(); for(FAST_OPP__c fol : fastOppList){ System.debug('fastOppList during SAVE' + fastOppList); //fol.FAST_ID__c = fast.Id; // il est null la //fol.FAST_ID__r.Sales_ID__c = oppUser.getId(); //System.debug('TEST fastOppListToSave' + fol.FAST_ID__c); if(fol.Type__c != 'none'){ fastOppListToSave.add(fol); System.debug('fastOppListToSave during SAVE' + fastOppListToSave); //System.debug('SALES ID' + fol.FAST_ID__r.Sales_ID__c); //System.debug('TEST fastOppListToSave' + fastOppListToSave.size()); } } try { upsert fastOppListToSave; } catch (exception ex) { System.debug(ex); } return null; } }
<apex:page showHeader="true" sidebar="true" controller="ManageFAST" > <apex:includeScript value="{!URLFOR($Resource.jquery, '/jquery-ui-1.10.3.custom/js/jquery-1.9.1.js')}" /> <apex:includeScript value="{!URLFOR($Resource.jquery, '/jquery-ui-1.10.3.custom/js/jquery-ui-1.10.3.custom.min.js')}" /> <apex:slds /> <div class="slds-scope"> <apex:form id="formId"> <script type="text/javascript"> $j = jQuery.noConflict(); function saveComplete() { window.location.reload(true); } function testalert(){ alert('test alert button change typelist in top'); console.log('test'); }; $j(document).ready(function() { console.log('Test lancement JQUERY'); $j('.type_opp').change(function(){ var opp_amount = $j(this).parent().parent().find('.amount_to_copy').text(); if($j(this).parent().parent().find('.type_opp').val() == 'Pessimist'){ $j(this).parent().parent().find('.pessimist').val(opp_amount); $j(this).parent().parent().find('.forecast_exit').val(opp_amount); $j(this).parent().parent().find('.optimist').val(opp_amount); console.log('change amount to pessimist'); } else if ($j(this).parent().parent().find('.type_opp').val() == 'Forecast Exit'){ $j(this).parent().parent().find('.pessimist').val(''); $j(this).parent().parent().find('.forecast_exit').val(opp_amount); $j(this).parent().parent().find('.optimist').val(opp_amount); console.log('change amount to optimist'); } else if ($j(this).parent().parent().find('.type_opp').val() == 'Optimist'){ $j(this).parent().parent().find('.pessimist').val(''); $j(this).parent().parent().find('.forecast_exit').val(''); $j(this).parent().parent().find('.optimist').val(opp_amount); console.log('change amount to pessimist'); } }); }); </script> <br/><br/> <apex:selectList value="{!selectedQuarter}" size="1"> <apex:selectOptions value="{!QuarterList}" /> <apex:actionSupport event="onchange" action="{!loadFASTOPP}" reRender="formId"/> </apex:selectList> <br/><br/> <apex:pageBlock> <apex:pageBlockTable styleClass="slds-table slds-table--bordered slds-table--cell-buffer" value="{!fastOppList}" id="table" var="f" > <apex:column headerValue="Opportunity Name" value="{!f.Opp_ID__c}"/> <apex:column headerValue="Opportunity Account" value="{!f.Opp_ID__r.Account.Name}"/> <apex:column headerValue="Amount" styleClass="amount_to_copy" value="{!f.Opp_Amount__c}"/> <apex:column headerValue="Type"> <apex:selectList styleClass="type_opp" value="{!f.Type__c}" size="1"> <apex:selectOptions value="{!fastType}" /> </apex:selectList> </apex:column> <apex:column headerValue="Total Pessimistic"> <apex:inputText styleClass="pessimist" value="{!f.FAST_ID__r.Opp_Amount_Pessimist__c}"/> </apex:column> <apex:column headerValue="Total Forecast Exit"> <apex:inputText styleClass="forecast_exit" value="{!f.FAST_ID__r.Opp_Amount_Forecast_Exit__c}"/> </apex:column> <apex:column headerValue="Total Optimistic"> <apex:inputText styleClass="optimist" value="{!f.FAST_ID__r.Opp_Amount_Optimist__c}"/> </apex:column> <apex:column headerValue="Is closed ?"> <apex:inputText styleClass="slds-input" value="{!f.IsClosed__c}"/> </apex:column> <apex:column headerValue="Id du FAST" value="{!f.FAST_ID__r.Id}"/> <apex:column headerValue="Id du FAST OPP" value="{!f.Id}"/> </apex:pageBlockTable> </apex:pageBlock> <apex:commandButton styleClass="slds-button--selected" value="Save" action="{!goSave}" oncomplete="saveComplete()" reRender="formId"></apex:commandButton> <br/> <apex:commandButton styleClass="slds-button--selected" value="TEST loadFAST" action="{!loadFAST}" oncomplete="saveComplete()" reRender="formId"></apex:commandButton> <apex:pageBlock> <apex:pageBlockTable styleClass="slds-table slds-table--bordered slds-table--cell-buffer" value="{!fast}" var="fr" > <apex:column headerValue="Opportunity Name" value="{!fr.Sales_ID__c}"/> </apex:pageBlockTable> </apex:pageBlock> </apex:form> </div> </apex:page>
I want to copy the value stored in the visualforce table into FAST and FAST_OPP.
Best Regards,
Jeremy
- Jeremy Deseez
- July 04, 2017
- Like
- 0
Put values of Opportunity List into a custom Object List
Hello everyone,
I've got a Classe named 'ManageUser". In this class, a method extract all opportunities for users.
I've got an other Class named 'ManageFAST". In this class, I need to copy the values of the Opportunity List.
And I don't know how to do it.
Here is my code.
ManageUser :
ManageFAST :
Thanks
I've got a Classe named 'ManageUser". In this class, a method extract all opportunities for users.
I've got an other Class named 'ManageFAST". In this class, I need to copy the values of the Opportunity List.
And I don't know how to do it.
Here is my code.
ManageUser :
public Boolean loadOpportunityList(Date quarter){ String query = ManageOpp.OPP_QUERY; query += ' WHERE Owner.Id =: id'; if(quarter != null){ query += ' AND CloseDate >=: quarter'; } List<Opportunity> oppList = Database.query(query); if(oppList.isEmpty()){ return false; } myOppList = new List<ManageOpp>(); for(Opportunity opp : oppList){ myOppList.add(new ManageOpp(opp)); } return true; } public Boolean loadOpportunityList(){ return loadOpportunityList(null); } public List<ManageOpp> getOpportunityList(){ return this.myOppList; }
ManageFAST :
public List<FAST__c> fast{get;set;} private List<FAST_OPP__c> fastOppList; private List<ManageOpp> manageOppList{get;set;} private manageUser oppUser; public Date quarter; public ManageFAST() { fast = new List<FAST__c>(); oppUser = new ManageUser(); } public void loadFAST(){ List<FAST__c> fast = new List<FAST__c>(); fast = [SELECT Id, Sales_ID__c, Forecast_Manager_ID__c, Quarter_Date__c, Commit_Manager__c, Transactionnal_Amount_Forecast_Exit__c, Transactionnal_Amount_Optimistic__c, Transactionnal_Amount_Pessimistic__c FROM FAST__c]; } public void initFASTOppList(){ oppUser.load(UserInfo.getUserId()); //quarter = Date.newInstance(1960, 2, 17); oppUser.loadOpportunityList(quarter); for(FAST_OPP__c fo : oppUser.getOpportunityList()) { } }
Thanks
- Jeremy Deseez
- April 07, 2017
- Like
- 0
Help with a Visualforce Page
Hi everyone
I'm witting one of my first Visualforces.This one:
And this controller:
I don't know how to continue. What I know is, I have to define the get method to pass data from the controller to the Visualforce but no idea about where and how to put it.
Thanks in advance for your time!
Cheers!
Alberto
I'm witting one of my first Visualforces.This one:
<apex:page Controller="ScenariosController"> <apex:pageMessages ></apex:pageMessages> <apex:pageBlock > <apex:pageBlockTable value="{!}" var="item" > <apex:column value="{!item.Scenario__c}" style="background-color:{!If(item.CHK_Scenario_Principal__c ==True,'#beecf4', '')}"/> <apex:column value="{!item.PCK_Tower_Height__c}" style="background-color:{!If(item.CHK_Scenario_Principal__c ==True,'#beecf4', '')}" /> <apex:column value="{!item.NUM_Quantity__c}" style="background-color:{!If(item.CHK_Scenario_Principal__c ==True,'#beecf4', '')}" /> <apex:column value="{!item.CHK_Scenario_Principal__c}" style="background-color:{!If(item.CHK_Scenario_Principal__c ==True,'#beecf4', '')}"/> <!-- background-color:{!If(opp.StageName =='Negotiation/Review','#7CFC00',If(opp.StageName =='Closed Won','#DEB887','#DC143C'))}; --> </apex:pageBlockTable> </apex:pageBlock> </apex:page>
And this controller:
public class ScenariosController{ List<Quote_line__c> quoteLineList; //Populate a list with all the quote Lines != NULL ordered by NUM_Scenario__c DESC public List<Quote_line__c> getQuoteLineItems(){ Id budgetId= ApexPages.currentPage().getParameters().get('Id'); if (budgetId!= NULL){ List<Quote_line__c> quoteLineList = new List<Quote_line__c>(); quoteLineList = [SELECT id,name,lkp_product__r.family__c, lkp_product__r.Nominal_Power_MW__c, CHK_Included__c, NUM_Cost__c,LKP_Configurator__c,Sum_mandatory_fields_for_budReq_unfill__C,Date_from__c,Date_to__c, TXT_Tower_First_Value__c, NUM_Quantity__c,LKP_Product__c,MD_quote__c, NUM_Scenario__c, CHK_Scenario_Principal__c FROM quote_line__c WHERE NUM_Scenario__c != NULL ORDER BY NUM_Scenario__c DESC]; } return quoteLineList; } }
I don't know how to continue. What I know is, I have to define the get method to pass data from the controller to the Visualforce but no idea about where and how to put it.
Thanks in advance for your time!
Cheers!
Alberto
- AlbertoSM
- January 10, 2017
- Like
- 0
Picklist Date doesn't work
Hello SFDC Dev,
I have a pageblock table that's show Quotas of Sales.
I have a picklist (this picklist works) of user role, and the rerender work for the table.
But when I put a picklist of Date, nothing happens for the table and the value of the picklist is not send to the controller.
Some code :
I have a pageblock table that's show Quotas of Sales.
I have a picklist (this picklist works) of user role, and the rerender work for the table.
But when I put a picklist of Date, nothing happens for the table and the value of the picklist is not send to the controller.
Some code :
<apex:outputlabel value="User Role"/> <apex:selectList value="{!idofuserrole}" size="1"> <apex:actionSupport event="onchange" action="{!searchQuotas}" reRender="allquotas"/> <apex:selectOptions value="{!userrole}" /> </apex:selectList> <apex:outputlabel value="Quarter"/> <apex:selectList value="{!namequarter}" size="1"> <apex:actionSupport event="onchange" action="{!searchQuotas}" reRender="allquotas"/> <apex:selectOptions value="{!QuarterList}" /> </apex:selectList> <apex:pageBlockTable value="{!allthequotas}" id="table" var="key" title="{!namequarter}"> <apex:facet name="header"> <input type="checkbox" id="checkAllBox" onchange="toggleCheckAll(this)"/> Select Quarter </apex:facet> <apex:column> <input type="checkbox" data-inputid="val1"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key.QuotaAmount}" required="false" id="val1"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key.StartDate}" required="false"/> </apex:column> </apex:pageBlockTable> public Date namequarter{get{ if(namequarter == null){ namequarter = Date.today(); }return namequarter; } set; } public List<SelectOption> getQuarterList(){ List<SelectOption> optionsquarter = new List<SelectOption>(); List<SObject> resultsquarter = [SELECT FullyQualifiedLabel,EndDate,StartDate,Type FROM Period WHERE Type = 'Quarter' AND StartDate >= TODAY]; for(SObject rq : resultsquarter){ optionsquarter.add(new SelectOption(String.valueOf(rq.get('StartDate')),String.valueOf(rq.get('StartDate')))); } return optionsquarter; }Thanks for your responses.
- Jeremy Deseez
- January 02, 2017
- Like
- 0
access denied to VF page from portal user
Hello,
I have a VF page which is available to sustem admin but not available in to user in "partner portal",i have given access to profiles to this page, is there something i am missing.. ?
I have a VF page which is available to sustem admin but not available in to user in "partner portal",i have given access to profiles to this page, is there something i am missing.. ?
- Ab
- December 27, 2016
- Like
- 0
Save method for a PageBlockTable
Hi SF Dev,
I have a PageBlockTable that return the users with their related quotas in a <apex:inputField.
All I want is to save it when I change the amount of the quota, but when I click on save, nothing happen, the page is refreshing with the old data on the table.
Here is my apex code :
And here is my visualforce :
Many thanks.
I have a PageBlockTable that return the users with their related quotas in a <apex:inputField.
All I want is to save it when I change the amount of the quota, but when I click on save, nothing happen, the page is refreshing with the old data on the table.
Here is my apex code :
public with sharing class AssignQuotaTest { public List<ForecastingQuota> resultsquotas{get;set;} public List<ForecastingQuota> resultsquotas2{get;set;} public List<ForecastingQuota> allthequotas{get;set;} public List<USer> resultsusers{get;set;} public Map<Id, ForecastingQuota> allUserFqsByOwnerId {get;set;} public Map<Id, ForecastingQuota> fqsByOwnerId {get;set;} public String QuotaAmount{get;set;} public Id QuotaOwnerId{get;set;} public String QuotaQuantity{get;set;} public Id PeriodId{get;set;} public String ProductFamily{get;set;} public Boolean IsQuantity{get;set;} public String CurrencyIsoCode{get;set;} public Id ForecastingTypeId{get;set;} public Boolean IsAmount{get;set;} public Date dateperiod{get;set;} public Date dateperiodlist {get;set;} public Date dateperiodlist1 {get;set;} public Date datetest {get;set;} public String testquarter {get;set;} public Date countryOptions {get;set;} public Date theperiodlist {get;set;} public Date theperiodlist2 {get;set;} public String next{get;set;} public String previous{get;set;} public Date namequarter{get;set;} public Date namequarter2{get;set;} public String assignquotaamount {get;set;} public Id idofuserrole{get;set;} public Id idofuserrole1{get;set;} public Id idofuserrole2{get;set;} public Boolean usertype {get;set;} public Boolean usertype2 {get;set;} public Boolean usertypetest {get;set;} public string testtest2{get;set;} public string testtest{get;set;} public Boolean changeuser{get;set;} public AssignQuotaTest(ApexPages.StandardController controller) { searchQuotas(); } public void searchQuotas(){ System.debug(changeuser); if(namequarter == null) { namequarter = Date.today(); } if(next == 'next'){ namequarter = namequarter.addDays(90); } if(previous == 'previous'){ namequarter = namequarter.addDays(-90); } namequarter2 = namequarter.addDays(90); if(theperiodlist == null){ theperiodlist = Date.today(); } theperiodlist2 = theperiodlist.addDays(90); List<ForecastingQuota> resultsquotas = new List<ForecastingQuota>(); resultsquotas = [SELECT Id,QuotaAmount,QuotaOwnerId, StartDate FROM ForecastingQuota WHERE StartDate >=:namequarter AND StartDate <=:namequarter2 ORDER BY QuotaOwnerId ASC]; List<User> resultsusers = new List<User>(); if(idofuserrole != null){ resultsusers = [SELECT Id FROM User WHERE IsActive =:changeuser AND ForecastEnabled = TRUE AND UserRoleId =:idofuserrole]; } else { resultsusers = [SELECT Id FROM User WHERE IsActive =:changeuser AND ForecastEnabled = TRUE]; } Map<Id, ForecastingQuota> fqsByOwnerId = new Map<Id, ForecastingQuota>(); for (ForecastingQuota fq : resultsquotas) { fqsByOwnerId.put(fq.QuotaOwnerId, fq); } // new map of quotas keyed by all user ids Map<Id, ForecastingQuota> allUserFqsByOwnerId = new Map<Id, ForecastingQuota>(); for (User u : resultsusers) { allUserFqsByOwnerId.put(u.id, fqsByOwnerId.containsKey(u.id) ? fqsByOwnerId.get(u.id) : new ForecastingQuota(QuotaOwnerId = u.id, QuotaAmount = null)); } allthequotas = new List<ForecastingQuota>(); allthequotas = allUserFqsByOwnerId.values(); allthequotas.sort(); } public List<SelectOption> getQuarterDate() { List<SelectOption> countryOptions = new List<SelectOption>(); countryOptions.add(new SelectOption('','-None-')); countryOptions.add(new SelectOption('12/01/2016','Q4 2016')); countryOptions.add(new SelectOption('01/01/2017','Q1 2017')); countryOptions.add(new SelectOption('04/01/2017','Q2 2017')); countryOptions.add(new SelectOption('07/01/2017','Q3 2017')); return countryOptions; } public List<SelectOption> getPeriodList(){ List<SelectOption> optionspl = new List<SelectOption>(); List<SObject> resultspl = [SELECT FullyQualifiedLabel,EndDate,IsForecastPeriod,StartDate FROM Period WHERE EndDate > TODAY AND Type != 'Year' AND IsForecastPeriod = true ORDER BY EndDate ASC]; for(SObject pl : resultspl){ optionspl.add(new SelectOption(String.valueOf(pl.get('StartDate')),String.valueOf(pl.get('FullyQualifiedLabel')))); } return optionspl; } public List<SelectOption> getQuarterList(){ List<SelectOption> optionsquarter = new List<SelectOption>(); List<SObject> resultsquarter = [SELECT FullyQualifiedLabel,EndDate,StartDate,Type FROM Period WHERE Type = 'Quarter' AND StartDate >= TODAY]; for(SObject rq : resultsquarter){ optionsquarter.add(new SelectOption(String.valueOf(rq.get('StartDate')),String.valueOf(rq.get('FullyQualifiedLabel')))); } return optionsquarter; } public List<SelectOption> getUserActive(){ List<SelectOption> optionsua = new List<SelectOption>(); List<SObject> resultsua = [SELECT IsActive FROM User GROUP BY IsActive ORDER BY IsActive DESC]; for(SObject ua : resultsua){ optionsua.add(new SelectOption(String.valueOf(ua.get('IsActive')),String.valueOf(ua.get('IsActive')))); } return optionsua; } public List<SelectOption> getUserRole(){ List<SelectOption> optionsur = new List<SelectOption>(); List<SObject> resultsur = [SELECT Id, Name FROM UserRole WHERE Name LIKE '%Sales/%']; for(SObject ur : resultsur){ optionsur.add(new SelectOption(String.valueOf(ur.get('Id')),String.valueOf(ur.get('Name')))); }optionsur.add(new SelectOption('','ALL')); return optionsur; } public List<User> getUsers(){ List<User> resultsusers = new List<User>(); resultsusers = [SELECT Id, Name FROM User WHERE IsActive = TRUE AND ForecastEnabled = TRUE LIMIT 999]; return resultsusers; } public void save(){ upsert resultsquotas; } }
And here is my visualforce :
<apex:page standardController="ForecastingQuota" extensions="AssignQuotaTest" sidebar="false" docType="html-5.0"> <apex:form id="formid"> <apex:pageBlock title="Kyriba Quotas" id="allthequotas"> <apex:pageBlockSection columns="2"> <apex:outputlabel value="Date"/> <apex:input type="date" required="false" id="namequarter" value="{!namequarter}"/> <apex:outputlabel value="User Role"/> <apex:selectList value="{!idofuserrole}" size="1"> <apex:selectOptions value="{!userrole}" /> </apex:selectList> <!-- <apex:outputlabel value="Active Users"/> <apex:selectList value="{!usertype}" size="1"> <apex:selectOptions value="{!useractive}" /> </apex:selectList><br/><br/> --> <apex:commandButton value="Inactive Users" reRender="allquotas" action="{!searchQuotas}"> <apex:param id="inactive" name="inactive" value="false" assignTo="{!changeuser}" /> </apex:commandButton> <apex:commandButton value="Active Users" reRender="allquotas" action="{!searchQuotas}"> <apex:param id="active" name="active" value="true" assignTo="{!changeuser}" /> </apex:commandButton> <ul></ul> <input type="checkbox" id="select_all"/>First Column<br/> <input type="checkbox" id="select_all2"/>Second Column<br/> <input type="checkbox" id="select_all3"/>Third Column<br/> <input type="checkbox" id="select_all4"/>Fourth Column<br/> <apex:commandButton id="saveBtn" value="Save" action="{!save}" /> <apex:commandButton value="Filter" reRender="allquotas" action="{!searchQuotas}"> </apex:commandButton> </apex:pageBlockSection> <br/><br/> <apex:pageBlockSection columns="4" id="allquotas"> <apex:pageBlockTable value="{!allthequotas}" id="table" var="key"> <apex:column> <apex:inputCheckbox id="checkbox" styleClass="checkbox1"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key.QuotaAmount}" required="false"/> </apex:column> </apex:pageBlockTable> <apex:pageBlockTable value="{!allthequotas}" var="key2"> <apex:facet name="header"> <input type="checkbox" id="checkbox" styleClass="checkbox1"/> </apex:facet> <apex:column> <apex:inputCheckbox id="checkbox" styleClass="checkbox2"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key2.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key2.QuotaAmount}" id="firstquota2" required="false"/> </apex:column> <apex:column headerValue="Quota"> <apex:outputField value="{!key.StartDate}"/> </apex:column> </apex:pageBlockTable> <apex:pageBlockTable value="{!allthequotas}" var="key3"> <apex:facet name="header"> <input type="checkbox" id="checkbox" styleClass="checkbox1"/> </apex:facet> <apex:column> <apex:inputCheckbox id="checkbox" styleClass="checkbox3"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key3.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key3.QuotaAmount}" required="false"/> </apex:column> </apex:pageBlockTable> <apex:pageBlockTable value="{!allthequotas}" var="key4"> <apex:facet name="header"> <input type="checkbox" id="checkbox" styleClass="checkbox1"/> </apex:facet> <apex:column> <apex:inputCheckbox id="checkbox" styleClass="checkbox4"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key4.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key4.QuotaAmount}" required="false"/> </apex:column> </apex:pageBlockTable> </apex:pageBlockSection> </apex:pageBlock> </apex:form> <script type="text/javascript"> $(document).ready(function(){ var select_all = document.getElementById("select_all"); //select all checkbox console.log(select_all); var select_all2 = document.getElementById("select_all2"); var select_all3 = document.getElementById("select_all3"); var select_all4 = document.getElementById("select_all4"); var checkboxes = document.getElementsByClassName("checkbox1"); //checkbox items console.log(checkboxes); var checkboxes2 = document.getElementsByClassName("checkbox2"); var checkboxes3 = document.getElementsByClassName("checkbox3"); var checkboxes4 = document.getElementsByClassName("checkbox4"); //select all checkboxes select_all.addEventListener("change", function(e){ for (i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = select_all.checked; } }); select_all2.addEventListener("change", function(e){ for (i = 0; i < checkboxes2.length; i++) { checkboxes2[i].checked = select_all2.checked; } }); select_all3.addEventListener("change", function(e){ for (i = 0; i < checkboxes3.length; i++) { checkboxes3[i].checked = select_all3.checked; } }); select_all4.addEventListener("change", function(e){ for (i = 0; i < checkboxes4.length; i++) { checkboxes4[i].checked = select_all4.checked; } }); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].addEventListener('change', function(e){ //".checkbox" change //uncheck "select all", if one of the listed checkbox item is unchecked if(this.checked == false){ select_all.checked = false; } //check "select all" if all checkbox items are checked if(document.querySelectorAll('.checkbox:checked').length == checkboxes.length){ select_all.checked = true; } }); } for (var i = 0; i < checkboxes2.length; i++) { checkboxes2[i].addEventListener('change', function(e){ //".checkbox" change //uncheck "select all", if one of the listed checkbox item is unchecked if(this.checked == false){ select_all2.checked = false; } //check "select all" if all checkbox items are checked if(document.querySelectorAll('.checkbox2:checked').length == checkboxes2.length){ select_all2.checked = true; } }); } for (var i = 0; i < checkboxes3.length; i++) { checkboxes3[i].addEventListener('change', function(e){ //".checkbox" change //uncheck "select all", if one of the listed checkbox item is unchecked if(this.checked == false){ select_all3.checked = false; } //check "select all" if all checkbox items are checked if(document.querySelectorAll('.checkbox3:checked').length == checkboxes3.length){ select_all3.checked = true; } }); } for (var i = 0; i < checkboxes4.length; i++) { checkboxes4[i].addEventListener('change', function(e){ //".checkbox" change //uncheck "select all", if one of the listed checkbox item is unchecked if(this.checked == false){ select_all4.checked = false; } //check "select all" if all checkbox items are checked if(document.querySelectorAll('.checkbox4:checked').length == checkboxes4.length){ select_all4.checked = true; } }); } }); </script> </apex:page>Can you guide me for the custom save method ?
Many thanks.
- Jeremy Deseez
- December 13, 2016
- Like
- 0
Value of Picklist send to Controller to change a SOQL
Hi SFDC, I'm new in the Apex world :)
I have some trouble with picklist value, i will explain.
I have a picklist that show me the StartDate from the Period Objects.
I have also a List of ForecastingQuota by User.
The problem is that when I select a value in the picklist, the controller doesn't get it, so my query wich show the user can't change.
Controller :
And the VFP code :
Thank's for the help :)
I have some trouble with picklist value, i will explain.
I have a picklist that show me the StartDate from the Period Objects.
I have also a List of ForecastingQuota by User.
The problem is that when I select a value in the picklist, the controller doesn't get it, so my query wich show the user can't change.
Controller :
public List<SelectOption> optionspl {get;set;} public List<User> resultsusers{get;set;} public Date dateinput{get;set;} public Date dateinput2 {get;set;} public List<SelectOption> getPeriodList(){ List<SelectOption> optionspl = new List<SelectOption>(); List<SObject> resultspl = [SELECT FullyQualifiedLabel, StartDate FROM Period WHERE StartDate > TODAY AND Type = 'Quarter']; for(SObject pl : resultspl){ optionspl.add(new SelectOption(String.valueOf(pl.get('StartDate')),String.valueOf(pl.get('StartDate')))); } return optionspl; } public List<ForecastingQuota> getAllQuotas(){ dateinput = Date.today(); date mydate2 = mydate.addDays(90); List<ForecastingQuota> resultsquotas = new List<ForecastingQuota>(); resultsquotas = [SELECT Id,QuotaAmount,QuotaOwnerId, StartDate FROM ForecastingQuota WHERE StartDate >:dateinput AND StartDate <:mydate2 ORDER BY QuotaOwnerId, StartDate ASC]; List<User> resultsusers = new List<User>(); resultsusers = [SELECT Id FROM User WHERE IsActive = TRUE AND ForecastEnabled = TRUE LIMIT 999]; Map<Id, ForecastingQuota> fqsByOwnerId = new Map<Id, ForecastingQuota>(); for (ForecastingQuota fq : resultsquotas) { fqsByOwnerId.put(fq.QuotaOwnerId, fq); } // new map of quotas keyed by all user ids Map<Id, ForecastingQuota> allUserFqsByOwnerId = new Map<Id, ForecastingQuota>(); for (User u : resultsusers) { allUserFqsByOwnerId.put(u.id, fqsByOwnerId.containsKey(u.id) ? fqsByOwnerId.get(u.id) : new ForecastingQuota(QuotaOwnerId = u.id, QuotaAmount = null)); } List<ForecastingQuota> allthequotas = new List<ForecastingQuota>(); allthequotas = allUserFqsByOwnerId.values(); allthequotas.sort(); return allthequotas; }
And the VFP code :
<apex:pageBlockSection columns="4"> <apex:selectList value="{!dateinput2}" id="dateinput2" size="1"> <apex:selectOptions value="{!periodlist}" /> <apex:actionSupport event="onchange" rerender="allquotas"/> </apex:selectList> <apex:pageBlockTable value="{!allquotas}" var="key"> <apex:column> <input type="checkbox" name="pouet"/> </apex:column> <apex:column headerValue="Name"> <apex:outputField value="{!key.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="Quota"> <apex:inputField value="{!key.QuotaAmount}"/> </apex:column> <apex:column headerValue="Date"> <apex:outputField value="{!key.StartDate}"/> </apex:column> </apex:pageBlockTable> </apex:pageBlockSection> </apex:pageBlock>
Thank's for the help :)
- Jeremy Deseez
- November 08, 2016
- Like
- 0
List of User Id in a List with the Forecasting Quota
Hi,
I have a List of User Id :
I don't know how to make it.
Thanks for your reponses :)
I have a List of User Id :
List<User> resultsusers = new List<User>(); resultsusers = [SELECT Id FROM User WHERE IsActive = TRUE AND ForecastEnabled = TRUE];And a List of ForecastingQuota :
List<ForecastingQuota> resultsquotas = new List<ForecastingQuota>(); resultsquotas = [SELECT Id,QuotaAmount,QuotaOwnerId FROM ForecastingQuota ORDER BY StartDate ASC];And I want to put the Id of the User with the Id of the ForecastingQuota and also his QuotaAmount in a new List.
I don't know how to make it.
Thanks for your reponses :)
- Jeremy Deseez
- October 18, 2016
- Like
- 0
Can't update a line in PageBlockTable
Hi, I make a pageBlockTable of ForecastingQuota, but when I save it, nothing happen, my QuotaAmount want to be saved.
VFP Code :
Apex :
VFP Code :
<apex:pageMessages /> <apex:pageBlock title="All ForecastingQuotas" id="forecast_list" mode="inlineEdit" > <apex:PageBlockButtons > <apex:commandButton action="{!save1}" value="save"/> </apex:PageBlockButtons> <apex:pageBlockTable value="{!loadquotas}" var="qs" id="aforecastlist"> <apex:column headerValue="Id"> <apex:outputField value="{!qs.Id}"/> </apex:column> <apex:column headerValue="QuotaAmount"> <apex:outputField value="{!qs.QuotaAmount }"/> </apex:column> <apex:column headerValue="QuotaOwnerId"> <apex:outputField value="{!qs.QuotaOwnerId}"/> </apex:column> <apex:column headerValue="StartDate"> <apex:outputField value="{!qs.StartDate}"/> </apex:column> <apex:column headerValue="ForecastingTypeId"> <apex:outputField value="{!qs.ForecastingTypeId}"/> </apex:column> <apex:column headerValue="IsAmount"> <apex:outputField value="{!qs.IsAmount}"/> </apex:column> <apex:column headerValue="ProductFamily"> <apex:outputField value="{!qs.ProductFamily}"/> </apex:column> <apex:column headerValue="QuotaQuantity"> <apex:outputField value="{!qs.QuotaQuantity}"/> </apex:column> <apex:column headerValue="PeriodId"> <apex:outputField value="{!qs.PeriodId}"/> </apex:column> <!-- <apex:inlineEditSupport event="ondblClick"/> --> </apex:pageBlockTable> </apex:pageBlock>
Apex :
public List<ForecastingQuota> getLoadQuotas() { List<ForecastingQuota> resultsquotas = new List<ForecastingQuota>(); resultsquotas = [SELECT Id,CurrencyIsoCode, ForecastingTypeId, IsAmount, IsQuantity, PeriodId,ProductFamily,QuotaAmount,StartDate,QuotaQuantity,QuotaOwnerId FROM ForecastingQuota ORDER BY QuotaAmount DESC]; return resultsquotas; } public void save1() { List<ForecastingQuota> resultsquotas = new List<ForecastingQuota>(); resultsquotas = [SELECT Id,CurrencyIsoCode, ForecastingTypeId, IsAmount, IsQuantity, PeriodId,ProductFamily,QuotaAmount,StartDate,QuotaQuantity,QuotaOwnerId FROM ForecastingQuota]; update resultsquotas; System.debug(resultsquotas); }Thanks for your help
- Jeremy Deseez
- October 12, 2016
- Like
- 0