• tsri
  • NEWBIE
  • 5 Points
  • Member since 2013

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 5
    Replies
Hi,
I have trigger, which inserts a new record in a custom Obj  caled "Audits" and in the "Audits related list" on Product detail page whenever some fields are changed on Products as shown below:

trigger Producthistory on Product2  (After update)
{
    If(CheckRecursive.runOnce())
    {
        Map<Id,User> userMap = new Map<Id,User>([Select Id,Name from User]);
        List<Audits__c> AuditInsert = new List<Audits__c>();
        for(Product2 prod : trigger.new)
        {
        if(prod.Base_List_Price__c!= null && prod.Base_List_Price__c != trigger.oldMap.get(prod.id).Base_List_Price__c)
        {

       
        Audits__c audit1 = new Audits__c(Name = Prod.Name,Field_changed__C = 'Base List Unit Price', New_value__C = ''+prod.Base_List_Price__c, Old_value__C= ''+trigger.oldmap.get(prod.id).Base_List_Price__c,
                                                          who_made__C = userMap.get(prod.LastModifiedById).Name, what_time__c=''+prod.LastModifiedDate,Product__c=prod.Id);
       
        AuditInsert.add(audit1);

        }
        if(prod.Maintenance_Rate__c!= null && prod.Maintenance_Rate__c != trigger.oldMap.get(prod.id).Maintenance_Rate__c)
        {
       
        Audits__c audit1 = new Audits__c(Name = Prod.Name,Field_changed__C = 'Maintenance Rate', New_value__C = ''+prod.Maintenance_Rate__c, Old_value__C= ''+trigger.oldmap.get(prod.id).Maintenance_Rate__c,who_made__C = userMap.get(prod.LastModifiedById).Name, what_time__c=''+prod.LastModifiedDate,Product__c=prod.Id );
         
        AuditInsert.add(audit1);

        }

        if(prod.Sold_Annually__c!= null && prod.Sold_Annually__c!= trigger.oldMap.get(prod.id).Sold_Annually__c)
        {
        Audits__c audit1 = new Audits__c(Name = Prod.Name,Field_changed__C = 'Sold Annualy', New_value__C = ''+prod.Sold_Annually__c, Old_value__C= ''+trigger.oldmap.get(prod.id).Sold_Annually__c,
                                                             who_made__C = userMap.get(prod.LastModifiedById).Name, what_time__c=''+prod.LastModifiedDate,Product__c=prod.Id );
        AuditInsert.add(audit1);
        }
}      insert AuditInsert;
    }
}


And below is my test class:
@istest
private class producthistorytest{

static testmethod void productinsert()
{

Product2  prod = new Product2 ();
Volume_Discount__c vol  = new Volume_Discount__c();

prod.Name = 'test';
prod.Base_List_Price__c = 400.00;
prod.Maintenance_Rate__c = 60;
prod.Sold_Annually__c=True;
prod.Sold_Perpetually__c=True;
prod.IsActive=True;
prod.APAC_Product_Only__c= False;
prod.New_Academic_Model__c=True;
prod.Do_not_Renew__c=true;
prod.Product_Types__c='Applications';
prod.New_Product_Type__c='Applications';
prod.Maintenance_Levels__c = 'Gold';
prod.Minimum_Qty__c = 1;
prod.CAM_Volume_Discount__c = vol.id;
insert prod;

System.debug('Product Detail==>'+prod);
/*ProductAudits__c prodaudit = new productaudits__C(name = 'test1');
insert Prodaudit;*/

prod.Base_List_Price__c = 600.00;
prod.Maintenance_Rate__c = 80;
prod.Sold_Annually__c=True;
prod.Sold_Perpetually__c=False;
prod.IsActive=False;
prod.APAC_Product_Only__c= True;
prod.New_Academic_Model__c=False;
prod.Do_not_Renew__c=false;

update prod;

System.debug('Updated Prod'+prod);
}

}
  • September 25, 2014
  • Like
  • 0

I want an URL field. upon clicking on the link... a file from the content library should open up in a new popup window in pdf format(any other format would work).................

 

can we achieve this using standard functionality.............

 

 

kindly pls pls reply me...........

 

ur

  • May 20, 2013
  • Like
  • 0
Hi,
I have trigger, which inserts a new record in a custom Obj  caled "Audits" and in the "Audits related list" on Product detail page whenever some fields are changed on Products as shown below:

trigger Producthistory on Product2  (After update)
{
    If(CheckRecursive.runOnce())
    {
        Map<Id,User> userMap = new Map<Id,User>([Select Id,Name from User]);
        List<Audits__c> AuditInsert = new List<Audits__c>();
        for(Product2 prod : trigger.new)
        {
        if(prod.Base_List_Price__c!= null && prod.Base_List_Price__c != trigger.oldMap.get(prod.id).Base_List_Price__c)
        {

       
        Audits__c audit1 = new Audits__c(Name = Prod.Name,Field_changed__C = 'Base List Unit Price', New_value__C = ''+prod.Base_List_Price__c, Old_value__C= ''+trigger.oldmap.get(prod.id).Base_List_Price__c,
                                                          who_made__C = userMap.get(prod.LastModifiedById).Name, what_time__c=''+prod.LastModifiedDate,Product__c=prod.Id);
       
        AuditInsert.add(audit1);

        }
        if(prod.Maintenance_Rate__c!= null && prod.Maintenance_Rate__c != trigger.oldMap.get(prod.id).Maintenance_Rate__c)
        {
       
        Audits__c audit1 = new Audits__c(Name = Prod.Name,Field_changed__C = 'Maintenance Rate', New_value__C = ''+prod.Maintenance_Rate__c, Old_value__C= ''+trigger.oldmap.get(prod.id).Maintenance_Rate__c,who_made__C = userMap.get(prod.LastModifiedById).Name, what_time__c=''+prod.LastModifiedDate,Product__c=prod.Id );
         
        AuditInsert.add(audit1);

        }

        if(prod.Sold_Annually__c!= null && prod.Sold_Annually__c!= trigger.oldMap.get(prod.id).Sold_Annually__c)
        {
        Audits__c audit1 = new Audits__c(Name = Prod.Name,Field_changed__C = 'Sold Annualy', New_value__C = ''+prod.Sold_Annually__c, Old_value__C= ''+trigger.oldmap.get(prod.id).Sold_Annually__c,
                                                             who_made__C = userMap.get(prod.LastModifiedById).Name, what_time__c=''+prod.LastModifiedDate,Product__c=prod.Id );
        AuditInsert.add(audit1);
        }
}      insert AuditInsert;
    }
}


And below is my test class:
@istest
private class producthistorytest{

static testmethod void productinsert()
{

Product2  prod = new Product2 ();
Volume_Discount__c vol  = new Volume_Discount__c();

prod.Name = 'test';
prod.Base_List_Price__c = 400.00;
prod.Maintenance_Rate__c = 60;
prod.Sold_Annually__c=True;
prod.Sold_Perpetually__c=True;
prod.IsActive=True;
prod.APAC_Product_Only__c= False;
prod.New_Academic_Model__c=True;
prod.Do_not_Renew__c=true;
prod.Product_Types__c='Applications';
prod.New_Product_Type__c='Applications';
prod.Maintenance_Levels__c = 'Gold';
prod.Minimum_Qty__c = 1;
prod.CAM_Volume_Discount__c = vol.id;
insert prod;

System.debug('Product Detail==>'+prod);
/*ProductAudits__c prodaudit = new productaudits__C(name = 'test1');
insert Prodaudit;*/

prod.Base_List_Price__c = 600.00;
prod.Maintenance_Rate__c = 80;
prod.Sold_Annually__c=True;
prod.Sold_Perpetually__c=False;
prod.IsActive=False;
prod.APAC_Product_Only__c= True;
prod.New_Academic_Model__c=False;
prod.Do_not_Renew__c=false;

update prod;

System.debug('Updated Prod'+prod);
}

}
  • September 25, 2014
  • Like
  • 0

this error: 

Error

Error: Compile Error: Variable userInfo is used before it is declared. at line 62 column 42

 

on the following line

 

string platformUsername =
[select Platform_Username__c from User where id = :UserInfo.getUserId()].Platform_Username__c;

 

Do I have to declare UserInfo?  If so, how?

 

Thanks,

Mike

 

 

I created the code below to display an image - I use this as a visualforce element on a page layout.  

 

<apex:page standardController="Carrier__c" >
<img src="{!$Resource.SafecoMap}" width="772" height="496"/>,
</apex:page>

 

What I need to do is add logic to display the correct image depending on the name of the record so something like:

 

<apex:page standardController="Carrier__c" >

IF Carrier__c.Name="Safeco", <img src="{!$Resource.SafecoMap}" width="772" height="496"/>,

IF Carrier__c.Name=...

</apex:page>

 

This way I can display the appropriate image for each carrier record.  Does anyone know the correct syntax to accomplish this?