• Shamsi 110
  • NEWBIE
  • 148 Points
  • Member since 2017
  • Certified SF Technical Consultant


  • Chatter
    Feed
  • 5
    Best Answers
  • 0
    Likes Received
  • 1
    Likes Given
  • 5
    Questions
  • 49
    Replies
Hi,

I'm new to creating apex triggers and so was looking to see if anyone could assist with the below problem:

I have an object called Warehouse Picking (Warehouse_Picking__c) which has a lookup to an object called Location (SVMXC__Site__c) via a field called "Engineer Location" (SVMX_Engineer_Location__c). I need to be able to update the field "Count of In Progress Warehouse Picks" (Count_of_In_Progress_Warehouse_Picks__c) on the related location record whenever a Warehouse Picking record with a "Status" (Status__c) is deleted. The field being updated is a number field and the trigger needs to reduce its value by 1.

I have included the trigger i have created so far below and whilst it does not contain the condition of the warehouse pick record's status i have tested it as is but get the following error:

System.NullPointerException: Attempt to de-reference a null object: Trigger.UpdateVanLocationwhenWarehousePickdeleted: line 18, column 1

Please can you therfore assisit with:

1) rectifying the trigger so that the above error no longer occurs
2) modifying the trigger to include the condition that the Location record is only updated when an "In Progress" warehouse picking record is deleted
 
trigger UpdateVanLocationwhenWarehousePickdeleted on Warehouse_Picking__c (after delete) {

   List<Id> idSiteList = new List<Id>();
   List<SVMXC__Site__c> siteListToUpdate = new List<SVMXC__Site__c>();
  
    {    
        for (Warehouse_Picking__c wp : trigger.old) {
                     
            idSiteList.add(wp.SVMX_Engineer_Location__c);
 }   
}

if(idSiteList.isEmpty()) return;

for(Id id : idSiteList) {

    SVMXC__Site__c site = new SVMXC__Site__c(Id = id); 
    site.Count_of_In_Progress_Warehouse_Picks__c= site.Count_of_In_Progress_Warehouse_Picks__c - 1;
    
    siteListToUpdate.add(site);
    
}

if(siteListToUpdate.size() > 0)
Database.update(siteListToUpdate);
}

Thank you in advance for any assistance you can render.
I have an existing trigger which is running on the Opportunity object. I need to add a validation rule which 
1. Updates the Approval_Status__c field on the Opportunity to a null value if a related Product is modified or a new Product is added to the Opportunity.
2. Prevent a user from moving the stage backwards. 
  • October 22, 2017
  • Like
  • 0
Hi
I need to display on vf  by SOQL to fetch Tasks that are assinged on a Particular Account
trigger Ass_cts on Contact (after insert, after undelete) {

set<id> acid = new set<id>();

if (trigger.isinsert||trigger.isundelete){

for (contact opp : trigger.new){

acid.add(opp.accountid);
}
   list<account> acc = [select id, Number_of_contacts__c from account where id in : acid];
   list<contact> con = [select id from contact where accountid in :acid];
   
   for(account a : acc){
   
   a.Number_of_contacts__c = con.size();
      }
     Update acc;
    }
    }
Hello,
I want some changes in my code suppose there is already invoice record for opportunity then it should not create invoice when we update opportunity
trigger CreateNewQuote on Opportunity(after insert , after update) {

        
        for (Opportunity o1 : Trigger.new){
        if(o1.StageName  == 'Closed Won' ){
     
        Invoice__c newInvoice = new Invoice__c();
        System.debug('New Inovice Is Created');
         newInvoice.Account__c = o1.AccountId;
         newInvoice.Opportunity__c = o1.Id;
         newInvoice.Quote__c =  o1.SyncedQuoteId;
       //newInvoice.Pricebook2Id = o1.Pricebook2Id;

        insert newInvoice;
        System.debug('Invoices Created with data:='+newInvoice); 

    }
    }      
}
}
  • September 13, 2017
  • Like
  • 0
Hello All,

I want to integrate Salesforce to Salesforce, So that i could move data back and fourth.

Scenario
I want to able move data from instance A to B. Then same data after modification could be push back to instance A from B . 
And then again this cycle could repeat.

The reason is both Organization wants to report on latest data and may work on same set of data in different organization.

Thanks,
Hasan Shamsi
Hello All,

I have two Salesforce instances and I want to basically integrate these instances.
Description : I want to move Leads from Instance A to Instance B. And then once that leas is converted into Account, contact and opportunity, I would then push those records back into instance A.

Kindly suggest the best way.

Thanks,
Hasan Shamsi
 
Hello All,

I want to create an appexhange manage package for my customers and i want to get some suggestions from you guys.

I was wondering can i call outs in some of my triggers of this package to some external system.

What are the security concerns that i would need to look after.

Thanks
Hello All,

I want to create an application which will basically integrate our legacy system and will provide some details of our system to our customers.
Once we are done with development we will then submit this app to app exchange and then only customers that use our legacy system and has salesforce implemented they can get this application to basically get some data obtained or might be exchanged..

Kindly suggests me the most reliable and best approach to achieve this.

* Our legacy system has an API that generates responses in Jason.
* I will prefer Rest.


Kindly tell me the working flow, I have some idea but want to hear from the industry experts first.
Your suggestions, experience, and comments will be highly appreciated.

Thanks,
Hasan Shamsi
Hello Friends.

I have Four objects in salesforce Project , Project Phase , Project Task, WBS.

Project Is master Project Phase Is child.
Project Phase is Master and Project task is child
Project Task is Master and WBS is child.
Diagram

In the system, there is a sample project, along with phases and associated tasks and WBS.
I want to create a sample record by copying these objects data.

I have a situation now i have three tasks records and i want to create tasks, phases, WBS of these tasks and associate this to new Project.

How do i achieve this?

In simple words i have task records and i have to insert first a new hardcoded project than associate these task and the phases of these tasks and WBS of these task to new hardcoded project.






Thanks
 
Hi All, we need a developer to do a task for us but i would like to get an estimate of how long is that going to take.

We want to automate the product bundling in Salesforce. When a user adds a product to an Opportunity, child products are automatically added as well.
Child Product and Parent product (bundle product) are linked via junction object.
I created the junction object to create a many to many relationship between Product and Parent Product so that one child product can have many parent products (can belong to many bundles) and one parent product can have many child products. 

We are looking for a developer who would either create a flow or Apex to automate the process of adding the products to the bundle. Can you please advise the level of effort?
MAny thanks
Ewa
Hi,

I'm new to creating apex triggers and so was looking to see if anyone could assist with the below problem:

I have an object called Warehouse Picking (Warehouse_Picking__c) which has a lookup to an object called Location (SVMXC__Site__c) via a field called "Engineer Location" (SVMX_Engineer_Location__c). I need to be able to update the field "Count of In Progress Warehouse Picks" (Count_of_In_Progress_Warehouse_Picks__c) on the related location record whenever a Warehouse Picking record with a "Status" (Status__c) is deleted. The field being updated is a number field and the trigger needs to reduce its value by 1.

I have included the trigger i have created so far below and whilst it does not contain the condition of the warehouse pick record's status i have tested it as is but get the following error:

System.NullPointerException: Attempt to de-reference a null object: Trigger.UpdateVanLocationwhenWarehousePickdeleted: line 18, column 1

Please can you therfore assisit with:

1) rectifying the trigger so that the above error no longer occurs
2) modifying the trigger to include the condition that the Location record is only updated when an "In Progress" warehouse picking record is deleted
 
trigger UpdateVanLocationwhenWarehousePickdeleted on Warehouse_Picking__c (after delete) {

   List<Id> idSiteList = new List<Id>();
   List<SVMXC__Site__c> siteListToUpdate = new List<SVMXC__Site__c>();
  
    {    
        for (Warehouse_Picking__c wp : trigger.old) {
                     
            idSiteList.add(wp.SVMX_Engineer_Location__c);
 }   
}

if(idSiteList.isEmpty()) return;

for(Id id : idSiteList) {

    SVMXC__Site__c site = new SVMXC__Site__c(Id = id); 
    site.Count_of_In_Progress_Warehouse_Picks__c= site.Count_of_In_Progress_Warehouse_Picks__c - 1;
    
    siteListToUpdate.add(site);
    
}

if(siteListToUpdate.size() > 0)
Database.update(siteListToUpdate);
}

Thank you in advance for any assistance you can render.
Hello All,

I want to integrate Salesforce to Salesforce, So that i could move data back and fourth.

Scenario
I want to able move data from instance A to B. Then same data after modification could be push back to instance A from B . 
And then again this cycle could repeat.

The reason is both Organization wants to report on latest data and may work on same set of data in different organization.

Thanks,
Hasan Shamsi
Hi Experts,

Can someone help in excluding holidays from a custom Date__c field in a custom object?
I need a help to write a trigger
can  any one help me how can i auto send a email to the Case Owner  whenever the case status is updated to closed through the trigger insted of process builder.

Thanks in advance.  
I have many record types for opportunities. I need to run a soql query to get all the record types. 
My opportunity triggers are coded seperately and I don't want to change the whole setup now. 
I am getting the govern limit error and I think its becuase the soql query for the record types is coded seperately in each trigger. 
Is there any way to run the query one time and somehow make it public for all the triggers?
Hi, Still my Trigger is getting 72 % code coverage.

Please let me know where am doing wrong?

My Trigger :

trigger v2_QuoteLineItemTaxUpdate on QuoteLineItem (Before Insert, after insert) {

    list<QuoteLineItem> lstUpdateQLI = new list<QuoteLineItem>();
    set<id> setQuoteId = new set<id>();
    set<id> setQLIId = new set<id>();
    set<string> setdiscount = new set<string>();
    set<String> setHSNCode = new set<String>();    
    map<string, list<Tax_Master__c>>mapTaxMasToTaxKey = new map<string, list<Tax_Master__c>>();    
        
    for(QuoteLineItem iQLI : Trigger.New){    
    
        setQLIId.add(iQLI.id);
        setQuoteId.add(iQLI.QuoteId);
        system.debug('****setQLIId'+setQLIId); 
            
    }
    
    if(setQuoteId.size() > 0){
    
        for(Quote iQuot : [SELECT id,(SELECT id, Product2.HSN_Code__c FROM QuoteLineItems WHERE ID IN: setQLIId) 
            FROM Quote WHERE Id IN :setQuoteId]){
        
            for(QuoteLineItem iQLI : iQuot.QuoteLineItems){
                  
                    if(iQLI.Product2.HSN_Code__c != ''){
                    
                        setHSNCode.add(iQLI.Product2.HSN_Code__c);
                    }    
            }   
            system.debug('****setHSNCode'+setHSNCode);                    
        }
        
        if(setHSNCode.size() > 0){
        
            if(setHSNCode.size() > 0){ 
            
                for(Tax_Master__c iTM : [SELECT id, Product_Family__c,Product_Sub_Family__c,HSN_Code__c, IGST__c, CGST__c, SGST__c, Active__c,Start_Date__c,End_date__c  FROM Tax_Master__c 
                    WHERE HSN_Code__c IN :setHSNCode]){
                
                    String ikey = iTM.HSN_Code__c;
                    if(!String.isblank(iTM.Product_Family__c))
                    {
                        ikey = ikey + iTM.Product_Family__c;                         
                    } 
                    if(!String.isblank(iTM.Product_Sub_Family__c))
                    {
                        ikey = ikey + iTM.Product_Sub_Family__c;                         
                    } 
                    list<Tax_Master__c> lstTax = new list<Tax_Master__c>();
                    lstTax.add(iTM);
                    if(mapTaxMasToTaxKey.containskey(ikey))
                    {
                        lstTax.addall(mapTaxMasToTaxKey.get(ikey));
                    }
                    mapTaxMasToTaxKey.put(ikey, lstTax);   
                 }    
                 
                         system.debug('****mapTaxMasToTaxKey'+mapTaxMasToTaxKey);       

            }  
                   
            
            for(Quote iQuot : [SELECT id, Tax_Classification__c, Discount_Amount__c, Anki_total_Amt__c,
                (SELECT Product2.family,Q_Discount__c, Product2.HSN_Code__c, Product2.Sub_Family__c,Tax_Master__c, 
                    IGST__c, CGST__c, SGST__c FROM QuoteLineItems WHERE ID IN: setQLIId) FROM Quote WHERE Id IN :setQuoteId]){
            
                for(QuoteLineItem iQLI : iQuot.QuoteLineItems){  
                         
                   
                       system.debug('****iQuot.Discount_Amount__c'+iQuot.Discount_Amount__c); 
                       
                       system.debug('****iQuot.Anki_total_Amt__c'+iQuot.Anki_total_Amt__c); 
                          
                         
                        if(iQuot.Discount_Amount__c <= 0){
                                iQLI.Q_Discount__c = 0;    
                          
                            } else {
                                if(iQuot.Discount_Amount__c != null && iQuot.Discount_Amount__c != 0 && iQuot.Anki_total_Amt__c !=null && iQuot.Anki_total_Amt__c !=0){
                                iQLI.Q_Discount__c =(iQuot.Discount_Amount__c/iQuot.Anki_total_Amt__c) * 100;
                                
                                }
                            }                               
                        system.debug('****Q_Discount__c'+iQLI.Q_Discount__c);
                        Tax_Master__c itax = new Tax_Master__c();
                        if(mapTaxMasToTaxKey.containsKey(iQLI.Product2.HSN_Code__c+iQLI.Product2.Family+iQLI.Product2.Sub_Family__c)){
                            for(Tax_Master__c irow : mapTaxMasToTaxKey.get(iQLI.Product2.HSN_Code__c+iQLI.Product2.Family+iQLI.Product2.Sub_Family__c))
                            {
                                if(irow.Start_Date__c <= System.today() && irow.End_Date__c  >= System.today())
                                {
                                
                                    itax = irow;
                                    break;
                                }
                            }
                        }
                        else if(mapTaxMasToTaxKey.containsKey(iQLI.Product2.HSN_Code__c+iQLI.Product2.Family) ){
                            
                            for(Tax_Master__c irow : mapTaxMasToTaxKey.get(iQLI.Product2.HSN_Code__c+iQLI.Product2.Family))
                            {
                                if(irow.Start_Date__c <= System.today() && irow.End_Date__c  >= System.today())
                                {
                                
                                    itax = irow;
                                    break;
                                }
                            }
                        }else if(mapTaxMasToTaxKey.containsKey(iQLI.Product2.HSN_Code__c))
                        {
                            for(Tax_Master__c irow : mapTaxMasToTaxKey.get(iQLI.Product2.HSN_Code__c))
                            {
                                if(irow.Start_Date__c <= System.today() && irow.End_Date__c  >= System.today())
                                {
                                
                                    itax = irow;
                                    break;
                                }
                            }
                        }
                        
                    if(!String.isblank(itax.id)){
                    
                        iQLI.Tax_Master__c = itax.id;
                        
                        
                        
                        if(iQuot.Tax_Classification__c == 'IGST'){
                        
                            iQLI.IGST__c = itax.IGST__c;
                            iQLI.SGST__c = 0; 
                            iQLI.CGST__c = 0;
                            
                        } 
                        
                         
                        if(iQuot.Tax_Classification__c == NUll){
                        
                            iQLI.IGST__c = 0;
                            iQLI.SGST__c = 0; 
                            iQLI.CGST__c = 0;
                            
                        } 
                        
                        if(iQuot.Tax_Classification__c == 'SGST'){
                        
                            iQLI.SGST__c = itax.SGST__c;
                            iQLI.CGST__c = itax.CGST__c;    
                            iQLI.IGST__c = 0;  
                                                 
                        }                       
                        
                        lstUpdateQLI.add(iQLI);                            
                    }                                         
                }    
            }  
            
            if(lstUpdateQLI.size() > 0){
            
                update lstUpdateQLI;
            }          
        }
    }
}


My Tess Class:

@isTest(seealldata=true)
Public class v2_QuoteLineItemTaxUpdate_Test{
    static testMethod void Testv2_QLITaxUpdate(){
        
        GetInitialData Getdata = new GetInitialData();
        list<Account> acc = Getdata.getAccount();
        list<Product2> lstprod = Getdata.getProd();
        list<Opportunity> Opp = Getdata.getOpp();
        list<Pricebook2> lstPB = Getdata.getpricebook();
        list<Pricebookentry> lststdPbe = Getdata.getstdpbe();
        list<Pricebookentry> lstPbentry = new list<Pricebookentry>();
        insert lstprod; 
        
        Integer indexvalue = 0;
        if(lstprod.size()>0)
        {
            for(pricebookentry irow :lststdPbe)
            {
                irow.product2id = lstprod[indexvalue].id;
                
                indexvalue++;
            }
        }
        
        
        insert lststdPbe;
        
        insert lstPB; 
        
        
        if(lstprod.size()>0)
        {
            for(pricebook2 irow :lstPB)
            {
                for(Product2 ipro : lstprod ){
                    Pricebookentry pbe = new Pricebookentry();
                    pbe.product2id = ipro.id;
                    pbe.pricebook2id = irow.id;
                    pbe.unitprice = 3000;
                    pbe.isActive = true;
                    lstPbentry.add(pbe);
                }
            }
        }

        insert lstPbentry;
        insert acc[0];
        
        Opp[0].accountId = acc[0].id;
        insert Opp[0]; 
        
        Opp[0].Pricebook2Id = lstPB[0].id;
        update Opp[0];
        
        OpportunityLineItem OL = new OpportunityLineItem(opportunityid=Opp[0].id, Quantity=1, unitprice=8000,  
            pricebookentryid=lstPbentry[0].id);
        insert OL; 
        
        Tax_Master__c   txm= new Tax_Master__c(CGST__c=14.00,HSN_Code__c=lstprod[0].HSN_Code__c,IGST__c=28.00,SGST__c=14.00, Start_Date__c =  Date.newInstance(2017, 07, 06), End_Date__c = System.today()+2);
        insert txm;  
            
        Quote Q = new Quote();
        Q.Name = 'QuoteOrbit';
        Q.OpportunityId = Opp[0].id; 
        Q.Quote_Count__c = 00000000;
        Q.Quote_Number__c ='000000';
        Q.Approved__c = false;
        Q.Quotation_Date__c = date.newinstance(2013,3,5);
        Q.Pricebook2Id = lstPB[0].id;
        Q.Tax_Classification__c='IGST';
        Q.Discount_Amount__c = 100;
        
        insert Q;  
        
          Q.Tax_Classification__c='IGST';
          Q.Discount_Amount__c = 100; 
          update Q ; 
        
        
        
      
       
        
        Quotelineitem QL = new Quotelineitem(quoteId=Q.id,SGST__c=6, CGST__c=6,IGST__c =0,Quantity =1, Unitprice=8000,pricebookentryid=lstPbentry[0].id);
        insert QL;  
        
           Opp[0].SyncedQuoteId = Q.id;
           update Opp[0];
           
            Q.Approved__c = true;   
          Update Q;
          
          Q.Approved__c = true;           
           update Opp[0];
        
        
          QuoteLineitem qli = [Select Id From QuoteLineItem where quoteId=:Q.id limit 1]; 
          Q.Tax_Classification__c='IGST';
          qli.SGST__c =6;
          QLI.CGST__c=6;
          QLI.IGST__c =0;          
          update qli;     
          
           
        
                
         
         
           
               
       
         Quote Q1 = new Quote();
        Q1 .Name = 'QuoteOrbit';
        Q1 .OpportunityId = Opp[0].id; 
        Q1 .Quote_Count__c = 00000000;
        Q1 .Quote_Number__c ='000000';
        Q1 .Approved__c = false;
        Q1 .Quotation_Date__c = date.newinstance(2013,3,5);
        Q1 .Pricebook2Id = lstPB[0].id;
        Q1 .Tax_Classification__c='IGST';
        Q1 .Discount_Amount__c = 100;
        
        insert Q1 ;    
        
        
        Q1 .Tax_Classification__c='SGST';  
        UPdate Q1;
                 
       
        
   
        
    }
    }
Hi there,

i want to test following methode: 
public List <oppProduct> getOli (){
        if(productList ==null){
            productList = new List <oppProduct>();
            for(OpportunityLineitem oli : 
                [select Id, Quantity, Produkt__c, UnitPrice , product_family__c, Product2.Name, ON_Produktbeschreibung_detailliert__c From OpportunityLineitem 
                        WHERE Opportunity.Id = :opportunityId
                        AND product_family__c = 'Extra Boost']){
                productList.add(new oppProduct(oli));   
        
            }   
        }
        return productList; 
    }

    
In my test class i created these test records :

 @isTest static void testGetOli () {
        
        List<CreateMultiExtraBoost.oppProduct> productListTest = new List <CreateMultiExtraBoost.oppProduct>(); 
 
        Id pricebookId = Test.getStandardPricebookId();
        
        Product2 pro = new Product2();
        pro.name = 'test';
        pro.Produktbeschreibung_detailliert__c = 'test';
        pro.Family = 'Extra Boost'; 
        pro.IsActive = true;
        insert pro;
        
        Product2 pro1 = new Product2();
        pro1.name = 'test';
        pro1.Produktbeschreibung_detailliert__c = 'test';
        pro1.Family = 'Sonstiges'; 
        pro1.IsActive = true;
        insert pro1;
        
        PricebookEntry pEntry = new PricebookEntry (); 
        pEntry.Product2Id = pro.id;
        pEntry.UseStandardPrice = false;
        pEntry.UnitPrice = 600; 
        pEntry.Pricebook2Id = pricebookId;
        pEntry.IsActive = true;
        insert pEntry;
        
        PricebookEntry pEntry1 = new PricebookEntry (); 
        pEntry1.Product2Id = pro1.id;
        pEntry1.UseStandardPrice = false;
        pEntry1.UnitPrice = 300; 
        pEntry1.Pricebook2Id = pricebookId;
        pEntry1.IsActive = true;
        insert pEntry1;
        
        Opportunity opp = new Opportunity ();
        opp.name = 'test';
        opp.StageName = '40 - Demo Termin vereinbart';
        opp.Override_Region__c = 'München';
        opp.CloseDate = System.today();
        insert opp;
        
           OpportunityLineItem oli = new OpportunityLineItem ();
        oli.TotalPrice = 500;
        oli.Quantity = 4;
        oli.OpportunityId = opp.Id;
        oli.Product2Id = pro.id;
        oli.PricebookEntryId = pEntry.id;
        insert oli;
        
        OpportunityLineItem oli1 = new OpportunityLineItem ();
        oli1.TotalPrice = 500;
        oli1.Quantity = 4;
        oli1.OpportunityId = opp.Id;
        oli1.Product2Id = pro1.id;
        oli1.PricebookEntryId = pEntry1.id;
        insert oli1;
        
        Test.StartTest();
        CreateMultiExtraBoost cme = new CreateMultiExtraBoost();
        cme.getOli();
        Test.StopTest();

i am unable to cover the product_family__c field. It is a formula field, which is related to the product object. Thanks for your help guys ! 
 
Hi, I want to fire a trigger when the amount is greater  than 100, but it's not working 
trigger caseclosetrigger on Case(before insert) 
{
   //Loop Through All the records which are inside Trigger.new
   for(Case cs : Trigger.new)
   {
      //logic to check value
      if(cs.Appeasement_Type__c=='GoodWill Points')
      {
         if(cs.Appeasement_Amount__c <=100)
           {
        cs.addError('amount cant be less than 100');
           }
      }
   }
}
I have been trying to figure out how to set up a workflow rule for a specific field so we can track when it was last changed. 

(i.e.) 
1. We have a field called "Rating" and would like to track when it was last changed. 
2. Our goal is to be able to look at the field and track when we marked there as being no opportunity. The goal would be to routinely circle back with the accounts where the "Rating" field was not changed for years. This way we can see if an opportunity for our services arose. 
3. I don't want to users to have to enter anything in this field, just a simple lookup to when it was last changed. 

I have been trying to play around with some workflow rules and was trying to use the ISCHANGED function. Some other posts go through how to set up the workflow rules, but when I try to replicate I keep running into some sort of error. Any insights would be greatly appreciated. 

Thanks, 
trigger taskRestriction on task (Before insert,after update) {
  
    list<Contact> clist =new list<Contact>();
    
    String userid=UserInfo.getUserId();
  
  
    
        for (Task t : Trigger.new) {
       
        if (t.WhoId !=Null &&  userid!='0059000000126EoAAI' && userid!='0056F000007XrZEQA0' && userid!='00590000004Sc9zAAC'  ) {
                
          clist= [select ID, ownerId ,Account_name__C, Account.Lock_record__C from Contact where 
          ID=:t.WhoId and Account.Lock_record__C!=True and  OwnerId !=:UserInfo.getUserId()]; 
                
            }
            
            IF(Clist.size()>0)
            {
            T.adderror('This contact is assigned to other user, Kindly Contact Sir/Madam to Change the Ownership');
            }
            }
            
            
                    
}

I have this query:

SELECT Account.Id, Account.Name, Account.Industry, Account.Sales_Abteilung__c, Id, Owner.Name, CloseDate, StageName, Type, TotalOpportunityQuantity, Amount, Einzelpreis__c, Owner.UserRole.Name, Angebotsnr__c FROM Opportunity

And for the column 'Owner.UserRole.Name' the query returns [object Object]

I found this Stack Exchange question:

https://salesforce.stackexchange.com/questions/41833/owner-userrole-name-is-not-accessible

where one of the comments suggest this could be a bug in the developer's console? I am pretty sure I am calling the object reference correctly - according to other questions on Salesforce forums I've seen. 

Hi All,
I am trying to deploy a changeset but I am getting the below error from a test class although it is working on the sandbox and it was not giving this error before for previous deployments
 
ClinicTriggerUnDelete_Test  System.DmlException: Undelete failed. First exception on row 0 with id a040Y00000NDcrIQAT; first error: UNKNOWN_EXCEPTION, common.exception.SfdcSqlException: ORA-00904: "C"."CONVERSION_RATE": invalid identifier select /*SummaryFieldUtil summary query*/ /*+ ordered use_nl(v cf) */ nvl(sum(1),0) rsf1,nvl(sum(TO_NUMBER(cf.val41)),0) rsf2,nvl(sum(TO_NUMBER(cf.val44)/ c.conversion_rate),0) rsf3, v.foreign_key_id "parent_id" from (select * from table(cast(? AS ID_ARRAY))) t, core.custom_foreign_key_value v, core.custom_entity_data cf where v.organization_id = ? and v.foreign_key_id = t.column_value and v.key_prefix = ? and v.index_num = ? and v.deleted = '0' and cf.organization_id = v.organization_id and v.entity_id = cf.custom_entity_data_id a
Stack Trace: Class.ClinicTrigger_Test.ClinicTriggerUnDelete_Test: line 142, column 1
and here is the test method that is causing the error
@isTest 
    static void ClinicTriggerUnDelete_Test() {
        List<Clinic__c> clinicList = new List<Clinic__c>([SELECT Id, Name FROM Clinic__c]);
        List<User_Clinic__c> userClinicList = new List<User_Clinic__c>([SELECT Id, Name FROM User_Clinic__c]);
        List<User_Examination_Room__c> userRoomList = new List<User_Examination_Room__c>([SELECT Id, Name FROM User_Examination_Room__c]);
        
        delete userRoomList;
        delete userClinicList;
        delete clinicList;
        
        Test.startTest();
        
        undelete clinicList;
        
        Test.stopTest();
    }


 
Hi Devs,

I have two objects which are not related to each other, Let them be Object A and Object B.
When I insert an Object A successfully , I need to update a feild called 'Result' on Object B saying successful.

The code is bulkified and I am using a list to insert Object A, How can I update the records in B saying successful based on the Database.upsertResult(or any otherway) since both the objects are not related???

Thanks in Advance :)
  • March 19, 2018
  • Like
  • 0
Hi,
I'm developing a managed package which will make Rest API call out to the external system.
We will make this app live on app exchang after security review process.

Is it possible to use this app in Professional edition org which is without API enable ?

 
We are looking for a fresh, eager, and passionate Salesforce developer to support a growing family of companies in the Philadelphia area. We are flexible when it comes to your location. Local or remote will work. This is a project based job, and we are looking for someone with the following skills:
  • An understanding of all major functional areas of Salesforce.com
  • Including reports and dashboards.
  • Data imports (using data loader or other tools).
  • General problem-solving skills in Salesforce.com
  • Project exposure including configuration, integration, implementation and customization
  • Salesforce Developer Certification would be advantageous