-
ChatterFeed
-
0Best Answers
-
0Likes Received
-
0Likes Given
-
6Questions
-
4Replies
SOQL multilevel access to grandchild from a parent
Here I'm trying to display grandchild, child of a parent record. ORDER is the parent, order line is the child and shipment lines is the grandchild. I'm trying to display all of them in a nested table. So far I'm successful in displaying order lines for a single ORDER, but I'm messing up with the related shipment lines.
The controller
Any help would be great. Thanks
The controller
public class GE_PW_OrderTrackingList{ public GE_PW_OrderTrackingList(ApexPages.StandardController controller) { } public list<wrapgroupwise> singlegroup; // Map <String, Invoices__c> uniqueInvoices = new Map <String, Invoices__c>(); public List<wrapgroupwise> getStartHere(){ singlegroup= new List<wrapgroupwise>(); List<order_lines__c> temol= [SELECT Id, name,calculated_estimated_delivery_date__c,order_number__c,status__c,planned_ship_date__c,material_name__c,material_no__c, quantity_ordered__c, material_group__c,(SELECT Id,Name,Order_Number__c,Actual_Delivery_Date__c, estimated_delivery_date__c,Shipment_Number__r.name, Shipment_Number__r.carrrier_name__c, Shipment_Number__r.carrier_website__c,Shipment_Number__r.tracking_number__c,quantity_shipped__c, material_group__c,order_lines__c From shipment_lines__r ) From order_lines__c where number_of_order_lines__c=:ApexPages.currentPage().getParameters().get('id')]; List<orders__c> tempacc=[SELECT Orders__c,CreatedBy.FirstName,CreatedDate, number_of_line_items__c, CurrencyIsoCode,account__r.name,contract__r.ContractNumber,customer_order_number__c,invoices__c,my_view__c,order_acknowlegment__c,order_date__c,order_value__c, order_no__c, requested_delivery_date__c,shipments__c,Id,Name, (SELECT Id, name,calculated_estimated_delivery_date__c,order_number__c,status__c,planned_ship_date__c,material_name__c,material_no__c, quantity_ordered__c, material_group__c From Order_Lines__r), (SELECT invoices__r.invoice_no__c, CurrencyIsoCode,account__c,due_date__c,invoice_date__c,material_group__c,material_name__c,material_number__c,orders__c, order_lines__c, product_family__c,product_type__c,Id,Name,quantity__c, invoices__r.Name, invoices__r.status__c, invoices__r.invoice_value__c , invoices__r.due_date__c, invoices__r.number_of_days_past_due__c, invoices__r.invoice_date__c From Invoice_Lines__r) FROM orders__c where id=:ApexPages.currentPage().getParameters().get('id')]; system.debug('-----tempacc-------'+tempacc); for(Integer i=0; i<tempacc.size() ; i++){ List <order_lines__c> tempOrderLines = tempacc[i].order_lines__r; List <shipment_lines__c> tempShipmentLines = [SELECT Id,Name,Order_Number__c,Actual_Delivery_Date__c, estimated_delivery_date__c,Shipment_Number__r.name, Shipment_Number__r.carrrier_name__c, Shipment_Number__r.carrier_website__c,Shipment_Number__r.tracking_number__c,quantity_shipped__c, material_group__c,order_lines__c From shipment_lines__c Where order_lines__c IN: tempacc[i].tempOrderLines]; List <invoice_lines__c> tempInvoiceLines = tempacc[i].Invoice_Lines__r; // uniqueInvoices.put(tempacc[i].id, tempInvoiceLines); System.debug('temp order '+tempacc.size()); System.debug('temp order lines'+tempOrderLines.size()); System.debug('temp shipment lines'+tempShipmentLines.size()); System.debug('temp invoice lines'+tempInvoiceLines.size()); if(tempOrderLines.size()==0 ){/*&& tempShipmentLines.size()==0 && tempInvoiceLines.size()==0*/ singlegroup.add(new wrapgroupwise(tempacc[i],null,null,null)); } else{ if(tempShipmentLines.size()==0) { if(tempOrderLines[i].status__c=='Open') { tempOrderLines[i].calculated_estimated_delivery_date__c=tempOrderLines[i].planned_ship_date__c; } singlegroup.add(new wrapgroupwise(tempacc[i],tempOrderLines,null,null)); }//if condition for tempShipmentLines size check else { //Estimated Delivery Date done if(tempOrderLines[i].status__c=='Open') { tempOrderLines[i].calculated_estimated_delivery_date__c=tempOrderLines[i].planned_ship_date__c; } if(tempOrderLines[i].status__c=='Invoiced') { tempOrderLines[i].calculated_estimated_delivery_date__c=tempShipmentLines[i].estimated_delivery_date__c; } if(tempOrderLines[i].status__c=='Shipped but not billed') { tempOrderLines[i].calculated_estimated_delivery_date__c=tempShipmentLines[i].estimated_delivery_date__c; } if(tempShipmentLines.size()==0) { singlegroup.add( new wrapgroupwise(tempacc[i],tempOrderLines,tempShipmentLines, null)); } else{ singlegroup.add( new wrapgroupwise(tempacc[i],tempOrderLines,tempShipmentLines, tempInvoiceLines)); } }//size check of temp shipping order } } return singlegroup; } public class wrapgroupwise { public List<order_lines__c> con {get;set;} public orders__c acc {get;set;} public List<shipment_lines__c> opp {get;set;} public List<invoice_lines__c> inv {get;set;} public wrapgroupwise( orders__c a , list<order_lines__c> c,list<shipment_lines__c> o, List<invoice_lines__c> i) { acc = a; con = c; opp = o; inv = i; } } }The visualforce:
<apex:page standardcontroller="orders__c" extensions="OrderTrackingList" sidebar="true" title="Order Tracking" showHeader="true"> <!--Order details--> <apex:sectionheader title="Order" subtitle="Detail"/> <!-- <apex:form style="align-center:center;"> --> <apex:pageBlock > <apex:repeat value="{!StartHere}" var="gp"> <apex:pageblocksection title="Order Details" showheader="true" collapsible="true" columns="2"> <apex:outputText value="{!gp.acc.Orders__c}" /> <apex:outputText value="{!gp.acc.number_of_line_items__c}" label="Total Materials"/> <apex:outputText value="{!gp.acc.customer_order_number__c}" label="Customer PO Number"/> <apex:outputText value="{!gp.acc.account__r.name}"/> <apex:outputText value="{!gp.acc.CreatedDate}"/> </apex:pageblocksection> <!--Order Line details--> <apex:pageblocksection title="Order Lines" showheader="true" collapsible="true" columns="1"> <!-- rendered="{!NOT(ISNULL(gp.con))}" --> <apex:pageBlockTable value="{!gp.con}" var="p" border="9"> <apex:column colspan="7" > <apex:facet name="header">#</apex:facet> <!--<apex:outputLink value="/{!p.id}"><apex:outputText value="{!p.Name}"/></apex:outputLink>--> <apex:outputLink value="/{!p.id}"><apex:outputText value="{!p.Name}"/></apex:outputLink> </apex:column> <apex:column > <apex:facet name="header">Material Name</apex:facet> <apex:outputText value="{!p.material_name__c}"/> </apex:column> <apex:column > <apex:facet name="header">Material No.</apex:facet> <apex:outputText value="{!p.material_no__c}"/> </apex:column> <apex:column > <apex:facet name="header">Quantity</apex:facet> <apex:outputText value="{!p.quantity_ordered__c}"/> </apex:column> <apex:column > <apex:facet name="header">Status</apex:facet> <apex:outputText value="{!p.status__c}"/> </apex:column> <apex:column title="Customer Requested Delivery Date"> <apex:facet name="header">RDD</apex:facet> <apex:outputText value="{!IF(OR(p.material_group__c = 'K', p.material_group__c = 'KL', p.material_group__c = 'KC', p.material_group__c = 'E', p.material_group__c = 'E1', p.material_group__c = 'E2', p.material_group__c = 'E3', p.material_group__c = 'W4', p.material_group__c = 'EKC', p.material_group__c = 'EC', p.material_group__c = 'EMC') ,'Week Of {0, date, MM/d/yyyy}','{0, date, MM/d/yyyy}')}" rendered="{!gp.acc.requested_delivery_date__c!=null}"> <apex:param value="{!gp.acc.requested_delivery_date__c}" /> </apex:outputText> </apex:column> <apex:column title="Estimated Delivery Date at time of Order"> <apex:facet name="header">EDD</apex:facet> <apex:outputText value="{!IF(OR(p.material_group__c = 'K', p.material_group__c = 'KL', p.material_group__c = 'KC', p.material_group__c = 'E', p.material_group__c = 'E1', p.material_group__c = 'E2', p.material_group__c = 'E3', p.material_group__c = 'W4', p.material_group__c = 'EKC', p.material_group__c = 'EC', p.material_group__c = 'EMC') ,'Week Of {0, date, MM/d/yyyy}','{0, date, MM/d/yyyy}')}" rendered="{!p.planned_ship_date__c!=null}"> <apex:param value="{!p.planned_ship_date__c}" /> </apex:outputText> </apex:column> <apex:column breakBefore="true" colspan="12"> <!--Shipment Line details--> <apex:pageblocksection title="Shipment Informations" collapsible="true" columns="1" rendered="{!NOT(ISNULL(gp.opp))}" > <apex:pageBlockTable value="{!gp.opp}" var="q" > <apex:column> <apex:facet name="header">Shipment Lines</apex:facet> <apex:outputLink value="/{!q.id}"><apex:outputText value="{!q.Name}"/></apex:outputLink> </apex:column> <apex:column> <apex:facet name="header">Quantity Shipped</apex:facet> <apex:outputText value="{!q.quantity_shipped__c}"/> </apex:column> <apex:column > <apex:facet name="header">Carrier Name</apex:facet> <apex:outputText value="{!q.Shipment_Number__r.carrrier_name__c}"/> </apex:column> <apex:column > <apex:facet name="header">Carrier Website</apex:facet> <apex:outputLink value="{!q.Shipment_Number__r.carrier_website__c}" ><apex:outputText value="{!q.Shipment_Number__r.carrier_website__c}"/></apex:outputLink> </apex:column> <apex:column > <apex:facet name="header">Tracking Number</apex:facet> <apex:outputText value="{!q.Shipment_Number__r.tracking_number__c}"/> </apex:column> <apex:column title="Estimated Delivery Date at the time of Shipment"> <apex:facet name="header">Est Deliv Date</apex:facet> <apex:outputText value="{!IF(OR(p.material_group__c = 'K', p.material_group__c = 'KL', p.material_group__c = 'KC', p.material_group__c = 'E', p.material_group__c = 'E1', p.material_group__c = 'E2', p.material_group__c = 'E3', p.material_group__c = 'W4', p.material_group__c = 'EKC', p.material_group__c = 'EC', p.material_group__c = 'EMC') ,'Week Of {0, date, MM/d/yyyy}','{0, date, MM/d/yyyy}')}" rendered="{!q.estimated_delivery_date__c!=null}"> <apex:param value="{!q.estimated_delivery_date__c}" /> </apex:outputText> </apex:column> <apex:column > <apex:facet name="header" >Actual Delivery Date</apex:facet> <apex:outputText value="{!IF(OR(p.material_group__c = 'K', p.material_group__c = 'KL', p.material_group__c = 'KC', p.material_group__c = 'E', p.material_group__c = 'E1', p.material_group__c = 'E2', p.material_group__c = 'E3', p.material_group__c = 'W4', p.material_group__c = 'EKC', p.material_group__c = 'EC', p.material_group__c = 'EMC') ,'Week Of {0, date, MM/d/yyyy}','{0, date, MM/d/yyyy}')}" rendered="{!q.Actual_Delivery_Date__c!=null}"> <apex:param value="{!q.Actual_Delivery_Date__c}"/> </apex:outputText> </apex:column> </apex:pageBlockTable> </apex:pageblocksection> </apex:column> </apex:pageBlockTable> </apex:pageblocksection> <!--Invoice Line details --> <apex:pageblocksection title="Invoice Details" showheader="true" collapsible="true" columns="1" > <apex:pageBlockTable value="{!gp.inv}" var="i"> <apex:column colspan="7"> <apex:facet name="header">Invoice No.</apex:facet> <apex:outputLink value="/apex/InvoiceList?id={!i.invoices__r.id}"><apex:outputText value="{!i.invoices__r.invoice_no__c}"/></apex:outputLink> </apex:column> <apex:column > <apex:facet name="header">Status</apex:facet> <apex:outputText value="{!i.invoices__r.status__c}"/> </apex:column> <apex:column > <apex:facet name="header">Invoice Value</apex:facet> <apex:outputText value="{!i.invoices__r.invoice_value__c}"/> </apex:column> <apex:column > <apex:facet name="header">Due Date</apex:facet> <apex:outputText value="{0, date, MM/d/yyyy}"> <apex:param value="{!i.invoices__r.due_date__c}"/> </apex:outputText> </apex:column> <apex:column > <apex:facet name="header">Invoice Date</apex:facet> <apex:outputText value="{0, date, MM/d/yyyy}"> <apex:param value="{!i.invoices__r.invoice_date__c}"/> </apex:outputText> </apex:column> </apex:pageBlockTable> </apex:pageblocksection> </apex:repeat> </apex:pageBlock> <!-- </apex:form> --> </apex:page>
Any help would be great. Thanks
- mnz123
- December 03, 2014
- Like
- 0
How would I get to clone only active users?
public without sharing class vf_OpptyClone extends vc_ControllerBase { public Opportunity oppor{get;set;} {oppor=new Opportunity();} public List<String> filters{get;set;} public static boolean isOpptyClone = false; public Boolean flag{get;set;} public String pgeMsg{get;set;} public Boolean display{get;set;} public Boolean selected{get;set;} public Boolean interim{get;set;} private static Savepoint sp; private static Savepoint spoppty; public list<ChildRecordSelection> childRecords{get;set;} private Set<String> selectedRecords; public Map<String,String> records; private static list<OpportunityTeamMember> opporTeam= new list<OpportunityTeamMember>(); Map<String,String> oppTeam = new Map<String,String>();//added mnz private set<string> users = new set<string>(); private Boolean rolledBack; public vf_OpptyClone(ApexPages.StandardController controller) { oppor = (Opportunity)controller.getRecord(); oppor.RecordTypeId=System.Label.myversion13SLS16; oppor.OpportunitySource__c=System.Label.myversion13SLS04; system.debug('opportunity'+oppor); filters = new List<String>(); display=true; interim=false; if(oppor.OpptyType__c!=null) { filters.add(oppor.OpptyType__c); } } //Establish component controller communication // public VCC05_DisplaySearchFields searchController // { // set; // get // { // if(getcomponentControllerMap()!=null) // { // VCC05_DisplaySearchFields displaySearchFields; // displaySearchFields = (VCC05_DisplaySearchFields)getcomponentControllerMap().get('searchComponent'); // system.debug('--------displaySearchFields-------'+displaySearchFields ); // if(displaySearchFields!= null) // return displaySearchFields; // } // return new VCC05_DisplaySearchFields(); // } // } //checks if the logged in user has access to clone the record public pageReference cloneOpportunity() { flag = true; // Boolean to flag if the current user can create an opportunity System.debug('>>>>>cloneOpportunity got called'); // Retrieve the Describe sObject Result for Opportunity Schema.DescribeSObjectResult opportunitySobject = Opportunity.SObjectType.getDescribe(); // If the current user cannot create opportunities if(!opportunitySobject.isCreateable()) { flag = false; ApexPages.addMessage(new ApexPages.message(ApexPages.severity.Error,label.CL00563)); //End Of Update } else{ ApexPages.addMessage(new ApexPages.message(ApexPages.severity.info,'Only Active users, if any, will be cloned .')); } //Map<String, Schema.SObjectField> M = Schema.SObjectType.Opportunity.fields.getMap(); // Map<String, Schema.SObjectField> M = Schema.SObjectType.Opportunity.fields.getMap(); if(flag) { sp = Database.setSavepoint(); //created a savepoint for roll back if(oppor.CloseDate<system.today()) oppor.CloseDate = system.today(); Database.saveResult sv = Database.update(oppor,false); //updating the existing opportunity Database.rollback(sp); //rolling back in case of any exception if(!sv.issuccess()) { ApexPages.addMessage(new ApexPages.message(ApexPages.severity.Error,sv.getErrors()[0].getMessage())); flag= false; } } System.debug('cloneOpportunity Method Ends'); return null; } //queries the share Object for Opprtunity Team members public list<OpportunityTeamMember> oppShare() { system.debug('oppShare Method Begins'); String opportunityTeamQuery = CS005_Queries__c.getValues('CS005_12').StaticQuery__c+' '+ 'where (OpportunityAccessLevel =\''+ label.CL00203 +'\' or UserId =\''+oppor.ownerID+'\')and opportunityID=\''+oppor.id+'\''+ 'and User.IsActive=true'; //Querying OpportunityTeam fields. System.debug('mylogs_team query string>>>'+opportunityTeamQuery); list<OpportunityTeamMember> oppteam = Database.Query(opportunityTeamQuery); System.debug('mylogs_team list>>>'+oppteam); if(oppteam!=null && !oppteam.isEmpty()) return oppteam; else return new list<OpportunityTeamMember>(); } //checks if the user has selected an appropriate stage and type. Public pagereference proceedChildSelection() { system.debug('proceedChildSelection Method Begins'); // if((searchController.level1.equalsIgnoreCase(Label.CL00355))||(searchController.level2.equalsIgnoreCase(Label.CL00355))) // { // ApexPages.addMessage(new ApexPages.message(ApexPages.severity.Error,Label.CL00650)); // } // else // { display=false; getchildRecords(); // } System.debug('proceedChildSelection Method Ends'); return null; } //selection of child records to clone public pageReference proceedClone() { system.debug('proceedClone Method Begins'); interim=true; ApexPages.addMessage(new ApexPages.message(ApexPages.severity.info,Label.CL00648)); selectedRecords = new Set<String>(); if(!childRecords.isEmpty() && childRecords!=null) { for(ChildRecordSelection childSelected:childRecords) { if(childSelected.selected==true) { selectedRecords.add(childSelected.records); } } } System.debug('mylogs_child selected'+selectedRecords); System.debug('proceedClone Method Ends'); return null; } //cloning the opportunity record with selected child records. public pageReference continueClone() { spoppty = Database.setSavepoint(); rolledBack=false; system.debug('continueClone Method Begins'); String query1 = Utils_Methods.generateSelectAllQuery(oppor); String query2 = ' '+'where id =\''+oppor.id+'\''; String query = query1 + query2; system.debug('mylogs_continue has query>>>'+query); List<opportunity> currentRecords = Database.Query(query); system.debug('mylogs_continue has currentRecords>>>'+currentRecords); Opportunity clonedOpportunity = new Opportunity(); list<Id> insertRecordId = new List<Id>(); if(currentRecords!=null && !currentRecords.isEmpty()) { //JFA: test modif ".clone" clonedOpportunity = currentRecords[0].clone(); //clonedOpportunity = currentRecords[0]; // End modif clonedOpportunity.OpptyType__c=oppor.OpptyType__c; clonedOpportunity.StageName=oppor.StageName; clonedOpportunity.OpportunitySource__c=oppor.OpportunitySource__c; clonedOpportunity.TECH_TriggerVR__c = false; clonedOpportunity.OpportunityScope__c= NULL; clonedOpportunity.ActualQualification__c=NULL; clonedOpportunity.ActualQuoteInvestDecision__c=NULL; clonedOpportunity.ActualQuoteSubmitDecision__c=NULL; clonedOpportunity.PlannedQualification__c=NULL; clonedOpportunity.PlannedQuoteInvestDecision__c=NULL; clonedOpportunity.PlannedQuoteSubmitDecision__c=NULL; clonedOpportunity.QuoteIssuanceDateToCustomer__c=NULL; clonedOpportunity.QuoteSubmissionDate__c=NULL; clonedOpportunity.Status__c = NULL; clonedOpportunity.Reason__c = NULL; //clonedOpportunity.BusinessMix__c=NULL; clonedOpportunity.CloseDate = system.today(); clonedOpportunity.TECH_CreatedFromLead__c = False; system.debug('#### NewOpp Old OwnnerID '+clonedOpportunity.OwnerId); clonedOpportunity.OwnerId = UserInfo.getUserId(); system.debug('#### NewOpp New OwnnerID '+clonedOpportunity.OwnerId); clonedOpportunity.OpportunityDetector__c = UserInfo.getUserId(); clonedOpportunity.TECH_CrossProcessConversionAmount__c= null; clonedOpportunity.Amount=0; clonedOpportunity.ProjectCategoryP0__c = NULL; clonedOpportunity.ProjectCategoryS0__c = NULL; clonedOpportunity.ProjectCategoryS1__c = NULL; //modif JFA proba clonedOpportunity.probability = null; //end of modif if(((currentRecords[0].name).length()+label.CL00651.length())<120) clonedOpportunity.name=currentRecords[0].name+label.CL00651; else { clonedOpportunity.name=currentRecords[0].name.substring(0,((currentRecords[0].name).length()-(((currentRecords[0].name).length()+label.CL00651.length())-120)))+label.CL00651; } if(oppor.OpptyType__c!=clonedOpportunity.OpptyType__c) clonedOpportunity.OpportunityScope__c=null; //Blank out the Opportunity Scope if the user selected Opportunity type(during cloning) is not same as the Master Opportunity Type //End of Modification clonedOpportunity.TECH_SendEmailOnLeadConv__c=false; } if(clonedOpportunity!=null) { System.debug('#### Inserting new Opp'); isOpptyClone = true; Database.saveResult sv = Database.insert(clonedOpportunity,false); //inserting the cloned opportunity System.debug('#### New Opp inserted: '+clonedOpportunity.id); if(!sv.issuccess()) { System.debug('#### Error'); rolledBack=true; pgeMsg = sv.getErrors()[0].getMessage(); System.debug('### Error:'+ pgeMsg); pgeMsg += 'Case 1'; } } if(!rolledBack) { System.debug('#### Continue - next is SalesContributor'); System.debug('#### Selected records: '+selectedRecords); // SalesContributor was not checked by the user, so adding the current user to Sales Contributor with 100% contribution System.debug('#### Selected records: '+selectedRecords); if(!rolledBack && selectedRecords!=null && !selectedRecords.isEmpty() && selectedRecords.contains(sObjectType.OPP_SalesContributor__c.label)) { System.debug('#### SalesContributor was checked by the user, so adding the Sales Contributors list as on the original opportunity'); String querySales1 = Utils_Methods.generateSelectAllQuery(new OPP_SalesContributor__c()); String querySales2 = ' '+'where Opportunity__c =\''+oppor.id+'\''; String querySales = querySales1 + querySales2; System.debug('#### SalesContributor query: '+querySales); List<OPP_SalesContributor__c> currentContributors = Database.Query(querySales); list<OPP_SalesContributor__c> salescontributors = new list<OPP_SalesContributor__c>(); for(OPP_SalesContributor__c contributors : currentContributors) { OPP_SalesContributor__c contribut = new OPP_SalesContributor__c(); contribut = contributors.clone(false); contribut.Opportunity__c = clonedOpportunity.id; contribut.TECH_IsCloned__c=true; salescontributors.add(contribut); } if(salescontributors!=null && !salescontributors.isEmpty()) { //inserting records in OpportunityShare try { Utils_Methods.insertRecords(salescontributors); selectedRecords.remove(sObjectType.OPP_SalesContributor__c.label); } catch(Exception e) { rolledBack= true; pgeMsg=e.getMessage(); } } } System.debug('#### Selected records: '+selectedRecords); if(!rolledBack && selectedRecords!=null && !selectedRecords.isEmpty()) { //getting the child relationships List<Schema.ChildRelationship> allchildRecords = oppor.getSobjectType().getDescribe().getChildRelationships(); List<Schema.ChildRelationship> childRecordsToClone = new List<Schema.ChildRelationship>(); list<OpportunityShare> clonedOpportunityShare = new list<OpportunityShare>(); Map<string,Schema.ChildRelationship> relations = new Map<string,Schema.ChildRelationship>(); if(!allchildRecords.isEmpty() && allchildRecords!=null) { for(Schema.ChildRelationship child : allchildRecords) { relations.put(String.ValueOf(child.getChildSObject()),child); } System.debug('#### relations: '+relations); Boolean oppLineSel = false; Boolean vcpSel = false; for(string selected:selectedRecords) { if(!((selected == sObjectType.OPP_ProductLine__c.label) || (selected == sObjectType.OPP_ValueChainPlayers__c.label))) { childRecordsToClone.add(relations.get(records.get(selected))); } if(selected == sObjectType.OPP_ProductLine__c.label) oppLineSel = true; if(selected == sObjectType.OPP_ValueChainPlayers__c.label) vcpSel = true; } if(vcpSel == true) { system.debug('Cloning of Value chain player begins'); OPP_ValueChainPlayers__c vcp=new OPP_ValueChainPlayers__c(); List<OPP_ValueChainPlayers__c> newParentVCPlist = new List<OPP_ValueChainPlayers__c>(); String vcpQuery1 = Utils_Methods.generateSelectAllQuery(vcp); String vcpquery2 = ' '+'where OpportunityName__c =\''+oppor.id+'\' AND ParentValueChainPlayer__c = '+NULL+' AND Tobedeleted__c = '+FALSE; String vcpquery = vcpQuery1 + vcpquery2; System.debug('VCPLinequery>>>>'+vcpquery); List<OPP_ValueChainPlayers__c> existingVCPs = Database.Query(vcpquery); for(OPP_ValueChainPlayers__c oldVCP: existingVCPs) { vcp = oldVCP.clone(false, true); vcp.OpportunityName__c = clonedOpportunity.Id; newParentVCPlist.add(vcp); } try{ Database.insert(newParentVCPlist,true); } Catch(Exception e){ rolledBack= true; pgeMsg=e.getMessage(); } } System.debug('#### childRecordsToClone: '+childRecordsToClone); if(oppLineSel ==true) { system.debug('Cloning of Product Line Begins'); Map<Id, Id> oldNewProdLines = new Map<Id, Id>(); List<OPP_ProductLine__c> oldParentLines = new List<OPP_ProductLine__c>(); List<OPP_ProductLine__c> newParentLines = new List<OPP_ProductLine__c>(); Map<Id, Id> childParentLne = new Map<Id, Id>(); OPP_ProductLine__c pl=new OPP_ProductLine__c(); String productLineQuery1 = Utils_Methods.generateSelectAllQuery(pl); String productLinequery2 = ' '+'where Opportunity__c =\''+oppor.id+'\''+' AND LineStatus__c!=\'To be deleted\' AND LineType__c=\'Parent Line\''; String productLinequery = productLineQuery1 + productLinequery2; System.debug('productLinequery>>>>'+productLinequery); List<OPP_ProductLine__c> oldProdLines = Database.Query(productLinequery); /* List<OPP_ProductLine__c> oldProdLines = [select Id, IsDeleted, Name, CurrencyIsoCode, RecordTypeId, CreatedDate, CreatedById, LastModifiedDate, LastModifiedById, SystemModstamp, MayEdit, IsLocked, Opportunity__c, Amount__c, DeliveryDate__c, Designation__c, Product__c, Quantity__c, TECH_AmountInNumber__c, Type__c, UnitForQuantity__c, BusbarArrangement__c, BusbarCurrent__c, ControlMonitoring__c, HighestVoltageLevel__c, PLContact__c, ShortRatedCurrent__c, SupplyingPlant__c, TotalMVA__c, UnitaryPowerEachTransformerMVA__c, VoltageLevel__c, CheckedbyGMR__c, CommercialReference__c, Family__c, ProductBU__c, ProductDescription__c, ProductFamily__c, ProductLine__c, TECH_CommercialReference__c, Specified__c, IsASynergy__c, SolutionCenter__c, Commission__c, ConcatenatedID__c, ConfigurationID__c, CrossSellingLineAmount__c, CrossSellingLineWeighted__c, ITBRevenueLineIdOld__c, ITBRevenueLineNoOld__c, IncludedinForecast__c, IncludeinQuote__c, IsACrossSellingOpptyLine__c, IsALevel2__c, IsAdvancedServices__c, IsaLevel3memberopptyLine__c, LegacyLineId__c, LineAmount__c, LineClosedate__c, LineStatus__c, LineType__c, LowestLevelInPyramid__c, Lowestlevelvalue__c, OpportunityLeader__c, OpportunitySEReferenceNumber__c, OverlayRevenueITB__c, ParentLine__c, Probability__c, PurchaseOrderNumber__c, RevenueOverride__c, SalesOrderNumber__c, SmartInfraType__c, TECH_IntouchQuoteLineRowId__c, TECH_IntouchQuoteRowId__c, TECH_IsACrossSellingOpptyLine__c, TECH_LegacyLastUpdateDate__c, TECH_OpportunityClosedDate__c, WeightedAmount__c from OPP_ProductLine__c where Opportunity__c =:oppor.Id ]; for(OPP_ProductLine__c prodLine: oldProdLines) { //Inserts all the Parent Lines if(prodLine.ParentLine__c == null) { OPP_ProductLine__c pl = prodLine.clone(false, true); pl.Opportunity__c = clonedOpportunity.Id; insert pl; oldNewProdLines.put(prodLine.Id, pl.Id); } //Collects the Child & Parent Lines if(prodLine.ParentLine__c!=null) { childParentLne.put(prodLine.Id, prodLine.ParentLine__c); } } for(OPP_ProductLine__c prodLine: oldProdLines) { //Inserts the Child Line if(prodLine.ParentLine__c != null) { OPP_ProductLine__c pl = prodLine.clone(false, true); pl.ParentLine__c = oldNewProdLines.get(childParentLne.get(prodLine.Id)); pl.Opportunity__c = clonedOpportunity.Id; insert pl; oldNewProdLines.put(prodLine.Id, pl.Id); } }*/ for(OPP_ProductLine__c prodLine: oldProdLines) { pl = prodLine.clone(false, true); pl.Opportunity__c = clonedOpportunity.Id; pl.Designation__c = NULL; pl.LineStatus__c = System.Label.myversion13PRM20;//Pending Status pl.SolutionCenter__c = NULL; pl.DeliveryDate__c = NULL; pl.LineClosedate__c = clonedOpportunity.CloseDate; pl.PLContact__c = NULL; pl.IsASynergy__c = FALSE; pl.NumberofPoints__c = NULL; pl.PurchaseOrderNumber__c = NULL; pl.SalesOrderNumber__c = NULL; pl.RevenueOverride__c = NULL; pl.Commission__c = NULL; pl.Probability__c = NULL; //pl.IncludeinQuote__c = FALSE; pl.IncludedinForecast__c = System.Label.CL00274; //Value "No" is set for cloned Line item pl.ITBRevenueLineNoOld__c = NULL; pl.TECH_IntouchQuoteLineRowId__c = NULL; pl.SmartInfraType__c = NULL; pl.OverlayRevenueITB__c = 0; pl.LegacyLineId__c = NULL; pl.TECH_IntouchQuoteRowId__c = NULL; pl.ITBRevenueLineIdOld__c = NULL; pl.TECH_LegacyLastUpdateDate__c = NULL; pl.TECH_2014ReferentialUpdated__c = FALSE; newParentLines.add(pl); } try{ insert newParentLines; } Catch(Exception e){ Database.rollback(spoppty);//Rollback to the Savepoint rolledBack= true; pgeMsg=e.getMessage(); } } if(!childRecordsToClone.isEmpty() && childRecordsToClone!=null) { //inserting child records Map<Sobject, SObject> childmap = new Map<Sobject, SObject>(); list<sObject> childobj = new list<sObject>(); childmap = Utils_Methods.cloneChildRecords(oppor.id,clonedOpportunity.id,childRecordsToClone); System.debug('#### childmap: '+childmap); if(childmap.size()>0) { for(sObject obj : childmap.values()) { if(obj!=null) { childobj.add(obj); } } } System.debug('#### childobj: '+childobj); if(childobj!=null && !childobj.isEmpty()) { if(insertRecordId!=null) insertRecordId.clear(); try { System.debug('#### Going to insert child objects: '+childobj); insertRecordId = Utils_Methods.insertRecords(childobj); System.debug('#### Child objects inserted: '+childobj); } catch(Exception e) { rolledBack= true; pgeMsg=e.getMessage(); System.debug('#### Error - Child object insertion failed: '+e.getMessage()); System.debug('#### Error - Child object insertion failed: '+e); } if(!rolledBack && selectedRecords.contains(Label.CL00661)) { System.debug('#### Processing opp share'); for(OpportunityTeamMember share: oppShare()) { if (share.userId != clonedOpportunity.ownerId) { OpportunityShare oppShare = new OpportunityShare(); oppShare.opportunityId = clonedOpportunity.id; oppShare.userOrGroupId = share.userId; oppShare.OpportunityAccessLevel = label.CL00203; clonedOpportunityShare.add(oppShare); system.debug(clonedOpportunityShare+'ssss'); } else { System.debug('#### Do not add the new opp owner . He has been added previously'); } } if(clonedOpportunityShare!=null && !clonedOpportunityShare.isEmpty()) { //inserting records in OpportunityShare try { System.debug('#### Going to insert opp share (clonedOpportunityShare): '+clonedOpportunityShare); Utils_Methods.insertRecords(clonedOpportunityShare); System.debug('#### Opp share inserted'); } catch(Exception e) { rolledBack= true; pgeMsg=e.getMessage(); System.debug('#### Error - Child object insertion failed: '+e.getMessage()); System.debug('#### Error - Child object insertion failed: '+e); } } } } } } } } System.debug('continueClone Method Ends'); if(rolledBack) { ApexPages.addMessage(new ApexPages.message(ApexPages.severity.Error,pgeMsg)); flag = false; return null; } else { //clonedOpportunity.TECH_TriggerVR__c = true; Opportunity newClonedOpportunity=new Opportunity(Id=clonedOpportunity.Id,TECH_TriggerVR__c=true); Database.saveResult sv = Database.update(newClonedOpportunity,false); //updating the cloned opportunity if(!sv.issuccess()) { ApexPages.addMessage(new ApexPages.message(ApexPages.severity.Error,sv.getErrors()[0].getMessage())); flag= false; return null; } } return new pagereference('/'+clonedOpportunity.id+'/e?'+Label.CL00330+'=%2F'+clonedOpportunity.id); } public list<ChildRecordSelection> getchildRecords() { system.debug('getchildRecords Method Begins'); records =new Map<String,String>(); records.put(Label.CL00661,'OpportunityTeamMember'); records.put(sObjectType.OPP_SalesContributor__c.label,'OPP_SalesContributor__c'); records.put(sObjectType.OPP_ProductLine__c.label,'OPP_ProductLine__c'); records.put(sObjectType.OPP_ValueChainPlayers__c.label,'OPP_ValueChainPlayers__c'); records.put(sObjectType.OPP_OpportunityCompetitor__c.label,'OPP_OpportunityCompetitor__c'); childRecords = new list<ChildRecordSelection>(); for(String rec:records.Keyset()) { childRecords.add(new ChildRecordSelection(rec)); } System.debug('getchildRecords Method Ends'); return childRecords; } Public class ChildRecordSelection { public string records{get;set;} public Boolean selected{get; set;} public ChildRecordSelection(String rec) { system.debug('ChildRecordSelection Class Begins'); records = rec; if(records.equalsIgnoreCase(Label.CL00661)||records.equalsIgnoreCase(sObjectType.OPP_ValueChainPlayers__c.label)||records.equalsIgnoreCase(sObjectType.OPP_ProductLine__c.label)) selected = true; else selected = false; System.debug('ChildRecordSelection Class Ends'); } } }
ERROR: Error:
Insert failed. First exception on row 2; first error: INACTIVE_OWNER_OR_USER, owner or user is inactive.: []
- mnz123
- June 09, 2014
- Like
- 0
ActionFunction to create an account?
I'm trying to create an account using actionFunction and display the result in the same page. I have tried successfully the "sayHello" example in http://www.salesforce.com/us/developer/docs/pages/Content/pages_compref_actionFunction.htm . But it's not helping me to build this application. Can anyone guide me through this? Any reference would be helpful. Thanks
- mnz123
- May 06, 2014
- Like
- 0
unable to generate enterprise.jar
Following is what I tried...
Please guide thanks.
java -DcompileTarget=1.5 -classpath "C:\Program Files\Java\jdk1.7.0_55\lib\tools.jar;c:\salesforce\force-wsc-29.0.0.jar" com.sforce.ws.tools.wsdlc c:\salesforce\wsdl\enterprise.wsdl c:\salesforce\jar\enterprise.jar
Please guide thanks.
- mnz123
- May 06, 2014
- Like
- 0
Difference between workflow and approval process ?
I mean,I know what is a workflow and an approval process. But how do I compare them? Please guide. Thanks!
- mnz123
- May 06, 2014
- Like
- 0
How do i post code in this forum?
Is there any particular syntax I should follow like in stackoverflow? How do i post code in this forum?
- mnz123
- April 15, 2014
- Like
- 0
SOQL multilevel access to grandchild from a parent
Here I'm trying to display grandchild, child of a parent record. ORDER is the parent, order line is the child and shipment lines is the grandchild. I'm trying to display all of them in a nested table. So far I'm successful in displaying order lines for a single ORDER, but I'm messing up with the related shipment lines.
The controller
Any help would be great. Thanks
The controller
public class GE_PW_OrderTrackingList{ public GE_PW_OrderTrackingList(ApexPages.StandardController controller) { } public list<wrapgroupwise> singlegroup; // Map <String, Invoices__c> uniqueInvoices = new Map <String, Invoices__c>(); public List<wrapgroupwise> getStartHere(){ singlegroup= new List<wrapgroupwise>(); List<order_lines__c> temol= [SELECT Id, name,calculated_estimated_delivery_date__c,order_number__c,status__c,planned_ship_date__c,material_name__c,material_no__c, quantity_ordered__c, material_group__c,(SELECT Id,Name,Order_Number__c,Actual_Delivery_Date__c, estimated_delivery_date__c,Shipment_Number__r.name, Shipment_Number__r.carrrier_name__c, Shipment_Number__r.carrier_website__c,Shipment_Number__r.tracking_number__c,quantity_shipped__c, material_group__c,order_lines__c From shipment_lines__r ) From order_lines__c where number_of_order_lines__c=:ApexPages.currentPage().getParameters().get('id')]; List<orders__c> tempacc=[SELECT Orders__c,CreatedBy.FirstName,CreatedDate, number_of_line_items__c, CurrencyIsoCode,account__r.name,contract__r.ContractNumber,customer_order_number__c,invoices__c,my_view__c,order_acknowlegment__c,order_date__c,order_value__c, order_no__c, requested_delivery_date__c,shipments__c,Id,Name, (SELECT Id, name,calculated_estimated_delivery_date__c,order_number__c,status__c,planned_ship_date__c,material_name__c,material_no__c, quantity_ordered__c, material_group__c From Order_Lines__r), (SELECT invoices__r.invoice_no__c, CurrencyIsoCode,account__c,due_date__c,invoice_date__c,material_group__c,material_name__c,material_number__c,orders__c, order_lines__c, product_family__c,product_type__c,Id,Name,quantity__c, invoices__r.Name, invoices__r.status__c, invoices__r.invoice_value__c , invoices__r.due_date__c, invoices__r.number_of_days_past_due__c, invoices__r.invoice_date__c From Invoice_Lines__r) FROM orders__c where id=:ApexPages.currentPage().getParameters().get('id')]; system.debug('-----tempacc-------'+tempacc); for(Integer i=0; i<tempacc.size() ; i++){ List <order_lines__c> tempOrderLines = tempacc[i].order_lines__r; List <shipment_lines__c> tempShipmentLines = [SELECT Id,Name,Order_Number__c,Actual_Delivery_Date__c, estimated_delivery_date__c,Shipment_Number__r.name, Shipment_Number__r.carrrier_name__c, Shipment_Number__r.carrier_website__c,Shipment_Number__r.tracking_number__c,quantity_shipped__c, material_group__c,order_lines__c From shipment_lines__c Where order_lines__c IN: tempacc[i].tempOrderLines]; List <invoice_lines__c> tempInvoiceLines = tempacc[i].Invoice_Lines__r; // uniqueInvoices.put(tempacc[i].id, tempInvoiceLines); System.debug('temp order '+tempacc.size()); System.debug('temp order lines'+tempOrderLines.size()); System.debug('temp shipment lines'+tempShipmentLines.size()); System.debug('temp invoice lines'+tempInvoiceLines.size()); if(tempOrderLines.size()==0 ){/*&& tempShipmentLines.size()==0 && tempInvoiceLines.size()==0*/ singlegroup.add(new wrapgroupwise(tempacc[i],null,null,null)); } else{ if(tempShipmentLines.size()==0) { if(tempOrderLines[i].status__c=='Open') { tempOrderLines[i].calculated_estimated_delivery_date__c=tempOrderLines[i].planned_ship_date__c; } singlegroup.add(new wrapgroupwise(tempacc[i],tempOrderLines,null,null)); }//if condition for tempShipmentLines size check else { //Estimated Delivery Date done if(tempOrderLines[i].status__c=='Open') { tempOrderLines[i].calculated_estimated_delivery_date__c=tempOrderLines[i].planned_ship_date__c; } if(tempOrderLines[i].status__c=='Invoiced') { tempOrderLines[i].calculated_estimated_delivery_date__c=tempShipmentLines[i].estimated_delivery_date__c; } if(tempOrderLines[i].status__c=='Shipped but not billed') { tempOrderLines[i].calculated_estimated_delivery_date__c=tempShipmentLines[i].estimated_delivery_date__c; } if(tempShipmentLines.size()==0) { singlegroup.add( new wrapgroupwise(tempacc[i],tempOrderLines,tempShipmentLines, null)); } else{ singlegroup.add( new wrapgroupwise(tempacc[i],tempOrderLines,tempShipmentLines, tempInvoiceLines)); } }//size check of temp shipping order } } return singlegroup; } public class wrapgroupwise { public List<order_lines__c> con {get;set;} public orders__c acc {get;set;} public List<shipment_lines__c> opp {get;set;} public List<invoice_lines__c> inv {get;set;} public wrapgroupwise( orders__c a , list<order_lines__c> c,list<shipment_lines__c> o, List<invoice_lines__c> i) { acc = a; con = c; opp = o; inv = i; } } }The visualforce:
<apex:page standardcontroller="orders__c" extensions="OrderTrackingList" sidebar="true" title="Order Tracking" showHeader="true"> <!--Order details--> <apex:sectionheader title="Order" subtitle="Detail"/> <!-- <apex:form style="align-center:center;"> --> <apex:pageBlock > <apex:repeat value="{!StartHere}" var="gp"> <apex:pageblocksection title="Order Details" showheader="true" collapsible="true" columns="2"> <apex:outputText value="{!gp.acc.Orders__c}" /> <apex:outputText value="{!gp.acc.number_of_line_items__c}" label="Total Materials"/> <apex:outputText value="{!gp.acc.customer_order_number__c}" label="Customer PO Number"/> <apex:outputText value="{!gp.acc.account__r.name}"/> <apex:outputText value="{!gp.acc.CreatedDate}"/> </apex:pageblocksection> <!--Order Line details--> <apex:pageblocksection title="Order Lines" showheader="true" collapsible="true" columns="1"> <!-- rendered="{!NOT(ISNULL(gp.con))}" --> <apex:pageBlockTable value="{!gp.con}" var="p" border="9"> <apex:column colspan="7" > <apex:facet name="header">#</apex:facet> <!--<apex:outputLink value="/{!p.id}"><apex:outputText value="{!p.Name}"/></apex:outputLink>--> <apex:outputLink value="/{!p.id}"><apex:outputText value="{!p.Name}"/></apex:outputLink> </apex:column> <apex:column > <apex:facet name="header">Material Name</apex:facet> <apex:outputText value="{!p.material_name__c}"/> </apex:column> <apex:column > <apex:facet name="header">Material No.</apex:facet> <apex:outputText value="{!p.material_no__c}"/> </apex:column> <apex:column > <apex:facet name="header">Quantity</apex:facet> <apex:outputText value="{!p.quantity_ordered__c}"/> </apex:column> <apex:column > <apex:facet name="header">Status</apex:facet> <apex:outputText value="{!p.status__c}"/> </apex:column> <apex:column title="Customer Requested Delivery Date"> <apex:facet name="header">RDD</apex:facet> <apex:outputText value="{!IF(OR(p.material_group__c = 'K', p.material_group__c = 'KL', p.material_group__c = 'KC', p.material_group__c = 'E', p.material_group__c = 'E1', p.material_group__c = 'E2', p.material_group__c = 'E3', p.material_group__c = 'W4', p.material_group__c = 'EKC', p.material_group__c = 'EC', p.material_group__c = 'EMC') ,'Week Of {0, date, MM/d/yyyy}','{0, date, MM/d/yyyy}')}" rendered="{!gp.acc.requested_delivery_date__c!=null}"> <apex:param value="{!gp.acc.requested_delivery_date__c}" /> </apex:outputText> </apex:column> <apex:column title="Estimated Delivery Date at time of Order"> <apex:facet name="header">EDD</apex:facet> <apex:outputText value="{!IF(OR(p.material_group__c = 'K', p.material_group__c = 'KL', p.material_group__c = 'KC', p.material_group__c = 'E', p.material_group__c = 'E1', p.material_group__c = 'E2', p.material_group__c = 'E3', p.material_group__c = 'W4', p.material_group__c = 'EKC', p.material_group__c = 'EC', p.material_group__c = 'EMC') ,'Week Of {0, date, MM/d/yyyy}','{0, date, MM/d/yyyy}')}" rendered="{!p.planned_ship_date__c!=null}"> <apex:param value="{!p.planned_ship_date__c}" /> </apex:outputText> </apex:column> <apex:column breakBefore="true" colspan="12"> <!--Shipment Line details--> <apex:pageblocksection title="Shipment Informations" collapsible="true" columns="1" rendered="{!NOT(ISNULL(gp.opp))}" > <apex:pageBlockTable value="{!gp.opp}" var="q" > <apex:column> <apex:facet name="header">Shipment Lines</apex:facet> <apex:outputLink value="/{!q.id}"><apex:outputText value="{!q.Name}"/></apex:outputLink> </apex:column> <apex:column> <apex:facet name="header">Quantity Shipped</apex:facet> <apex:outputText value="{!q.quantity_shipped__c}"/> </apex:column> <apex:column > <apex:facet name="header">Carrier Name</apex:facet> <apex:outputText value="{!q.Shipment_Number__r.carrrier_name__c}"/> </apex:column> <apex:column > <apex:facet name="header">Carrier Website</apex:facet> <apex:outputLink value="{!q.Shipment_Number__r.carrier_website__c}" ><apex:outputText value="{!q.Shipment_Number__r.carrier_website__c}"/></apex:outputLink> </apex:column> <apex:column > <apex:facet name="header">Tracking Number</apex:facet> <apex:outputText value="{!q.Shipment_Number__r.tracking_number__c}"/> </apex:column> <apex:column title="Estimated Delivery Date at the time of Shipment"> <apex:facet name="header">Est Deliv Date</apex:facet> <apex:outputText value="{!IF(OR(p.material_group__c = 'K', p.material_group__c = 'KL', p.material_group__c = 'KC', p.material_group__c = 'E', p.material_group__c = 'E1', p.material_group__c = 'E2', p.material_group__c = 'E3', p.material_group__c = 'W4', p.material_group__c = 'EKC', p.material_group__c = 'EC', p.material_group__c = 'EMC') ,'Week Of {0, date, MM/d/yyyy}','{0, date, MM/d/yyyy}')}" rendered="{!q.estimated_delivery_date__c!=null}"> <apex:param value="{!q.estimated_delivery_date__c}" /> </apex:outputText> </apex:column> <apex:column > <apex:facet name="header" >Actual Delivery Date</apex:facet> <apex:outputText value="{!IF(OR(p.material_group__c = 'K', p.material_group__c = 'KL', p.material_group__c = 'KC', p.material_group__c = 'E', p.material_group__c = 'E1', p.material_group__c = 'E2', p.material_group__c = 'E3', p.material_group__c = 'W4', p.material_group__c = 'EKC', p.material_group__c = 'EC', p.material_group__c = 'EMC') ,'Week Of {0, date, MM/d/yyyy}','{0, date, MM/d/yyyy}')}" rendered="{!q.Actual_Delivery_Date__c!=null}"> <apex:param value="{!q.Actual_Delivery_Date__c}"/> </apex:outputText> </apex:column> </apex:pageBlockTable> </apex:pageblocksection> </apex:column> </apex:pageBlockTable> </apex:pageblocksection> <!--Invoice Line details --> <apex:pageblocksection title="Invoice Details" showheader="true" collapsible="true" columns="1" > <apex:pageBlockTable value="{!gp.inv}" var="i"> <apex:column colspan="7"> <apex:facet name="header">Invoice No.</apex:facet> <apex:outputLink value="/apex/InvoiceList?id={!i.invoices__r.id}"><apex:outputText value="{!i.invoices__r.invoice_no__c}"/></apex:outputLink> </apex:column> <apex:column > <apex:facet name="header">Status</apex:facet> <apex:outputText value="{!i.invoices__r.status__c}"/> </apex:column> <apex:column > <apex:facet name="header">Invoice Value</apex:facet> <apex:outputText value="{!i.invoices__r.invoice_value__c}"/> </apex:column> <apex:column > <apex:facet name="header">Due Date</apex:facet> <apex:outputText value="{0, date, MM/d/yyyy}"> <apex:param value="{!i.invoices__r.due_date__c}"/> </apex:outputText> </apex:column> <apex:column > <apex:facet name="header">Invoice Date</apex:facet> <apex:outputText value="{0, date, MM/d/yyyy}"> <apex:param value="{!i.invoices__r.invoice_date__c}"/> </apex:outputText> </apex:column> </apex:pageBlockTable> </apex:pageblocksection> </apex:repeat> </apex:pageBlock> <!-- </apex:form> --> </apex:page>
Any help would be great. Thanks
- mnz123
- December 03, 2014
- Like
- 0
ActionFunction to create an account?
I'm trying to create an account using actionFunction and display the result in the same page. I have tried successfully the "sayHello" example in http://www.salesforce.com/us/developer/docs/pages/Content/pages_compref_actionFunction.htm . But it's not helping me to build this application. Can anyone guide me through this? Any reference would be helpful. Thanks
- mnz123
- May 06, 2014
- Like
- 0
Visualforce: how to call external web service?
I have following issue:
when I create a new Account I first would like to fetch the Account data from an external web service
and populate the Account with the result of my web service call. My idea is to add a button (GetAccountData) that would trigger the
web service (with a Controller ?), get the response and display the data on the Account Tab.
is there a way in Visualforce to add such a functionality ?
when I create a new Account I first would like to fetch the Account data from an external web service
and populate the Account with the result of my web service call. My idea is to add a button (GetAccountData) that would trigger the
web service (with a Controller ?), get the response and display the data on the Account Tab.
is there a way in Visualforce to add such a functionality ?
- p1erre
- June 04, 2008
- Like
- 0