• Michael Minnekeer
  • NEWBIE
  • 20 Points
  • Member since 2014

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 1
    Likes Given
  • 7
    Questions
  • 7
    Replies
I am trying to display the owner chatter picture in a lightning component and I am unsure if this is a second query that should be done in the controller or a helper as I have seen some threads using a function to query it and some using apex however none are asking about this for a lightning component, this was pretty simple on a custom lookup field just the standard owner field has it's limitations and the field is not available in a formula field.

Apex controller: 
public class Case_List_DPI_Controller {
  @AuraEnabled
  public static List<Case> getCases() {
    return [SELECT Id, Subject, CaseNumber, OwnerId, Owner.FirstName, Owner.LastName, Owner.Name, Owner.Email, Case_Life_Days_Business_Days__c, Case_Life_Hours__c, Case_Department__c,
            RecordTypeId, RecordType.Name, SourceId, Reason, Origin, ClosedDate, CreatedDate, Description, isClosed
    FROM Case 
            where Case_Department__c = 'Property' AND isClosed = false ORDER BY createdDate DESC
           ];  
  }
}
Component: 
<aura:component controller="Case_List_DPI_Controller" implements="flexipage:availableForAllPageTypes" access="global">
  <aura:attribute name="cases" type="List" />
  <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
  <!--
    Use a data table from the Lightning Design System:
    https://www.lightningdesignsystem.com/components/data-tables/
  -->
  <table class="slds-table slds-table--bordered slds-table--striped slds-table--cell-buffer slds-table--fixed-layout">
    <thead>
        <tr class="slds-text-title_caps">
            <th>
                <div title="Open Cases with Property Department">Open Cases with Property Department</div>
            </th>
      </tr>
      <tr class="slds-text-heading--label">
        <th scope="col"><div class="slds-truncate" title="B. Days">B. Days Open</div></th>
        <th scope="col"><div class="slds-truncate" title="Owner">Owner</div></th>
        <th scope="col"><div class="slds-truncate" title="Type">Type</div></th>
        <th scope="col"><div class="slds-truncate" title="Subject">Subject</div></th>
      </tr>
    </thead>
    <tbody>
      <!-- Use the Apex model and controller to fetch server side data -->
      <aura:iteration items="{!v.cases}" var="case" indexVar="index">
        <tr>
          <td><div class="slds-truncate" title="{!case.Case_Life_Days_Business_Days__c}">{!case.Case_Life_Days_Business_Days__c}</div></td>
          <td>
              <div class="slds-truncate">
                  <span class="data-social-photo-guid-4eded8ac-41d6-4524-ab50-b14d0349f58d photoContainer forceSocialPhoto_v2 forceOutputLookup">
                      <span class="uiImage">
                          <img class="smallSocialPhoto circular" src="{!c.Owner.smallPhotoURL}" />
                      </span>
                  </span>
                  <a onclick="{!c.navigateToUser}" style="width:100%;" data-index="{!index}">{!case.Owner.Name}</a>
              </div>
          </td>
          <td><div class="slds-truncate" title="{!case.RecordType.Name}">{!case.RecordType.Name}</div></td>
          <td><div class="slds-truncate"><a onclick="{!c.navigateToRecord}" style="width:100%;" data-index="{!index}">{!case.Subject}</a></div></td>
        </tr>
      </aura:iteration>
    </tbody>
  </table>
</aura:component>

 
Hi All

I want to be able to create a click not code method of creating an Opportunity Contact Role for all opportunities when they create which is required in order to sync them to Pardot. We use person accounts however so they do not auto create and I have hit a couple of limitations while trying to solve this task.

First is you cannot create a contact role within the process builder but you can with a flow and reference it in the process builder (credit: https://judisohn.com/2015/04/06/using-salesforce-process-builder-flow-with-opportunity-contact-roles/).

Second however that stops this working for me is that no Account.PersonContact fields can be referenced within the Process builder from an object that is not Account to pass the ID as a variable for the flow. https://help.salesforce.com/HTViewSolution?id=000232840&language=en_US

So I thought the solution would be to create a custom contact lookup field and put the PersonContactID and populate it on account create so that I could reference it in future from process builder if necessary. I am still running into the issues on the opportunity process that it is passing a null value from the custom lookup field I have created? Relvant error report line: varContactID = {!myVariable_current.Account.PersonContactID__c} (null)

Is there really no way of doing this with out code? If not it's a another dissapointing instance where Person Accounts fall short within Salesforce.
As the title suggests I just want it so that on insert/save/delete a number field on a custom object auto calculates all records with the same parent Id  from 1 to n where n is the size of the list of records with same parentId. The best example I can give is assignment rules in Salesforce as this behaviour is the exact thing I need.

I am unsure how to refer to the previous record value in a list to keep incrementing the integer. This field needs to be updatable so autonumbering is out of the question. Also I was hoping this to be a solution that contains no error messages so that if a user is inserting 2 records with the same value it auto calculates that (the user is inserting these records via add row visualforce solution so on save it updates a list).

I am unsure if this method is on the right track because if I need to change the value of the record in trigger.new I cannot update it again in the same transaction with before or after trigger.
 
public static void checkpriority(Client_Personal_Goal__c[] cgoals){
        	list<Client_Personal_Goal__c> existingcgoal = new list<Client_Personal_Goal__c>();
            Set<Id> preclaraId = new set<Id>();
            for(Client_Personal_Goal__c cgoal : cgoals){ 
                preclaraId.add(cgoal.Related_Pre_Clarification__c);
            }    
        	

        
            existingcgoal = [select Id, Priority__c 
                             from Client_Personal_Goal__c 
                             where Related_Pre_Clarification__c in: preclaraId 
                             ORDER BY Priority__c ASC];
        	for(Client_Personal_Goal__c cgoal : existingcgoal){
                     //increment all values again?
            }
        
            try{
            if(existingcgoal != null && existingcgoal.size() > 0 ){
            	update existingcgoal;
            }
            }catch(exception e){}

    }



 
Hi,

I cannot seem to find an answer that fix my issue. I need a visualforce page that will have multiple command buttons to link to a new record edit page for a single custom object. When using URLFOR I can either use:
  • <apex:commandButton  URLFOR($Action.Bonus_Approval_Request__c.New, null, [p3="0126F0000012I7X", CF00N6F00000En3fy={!Opportunity.Name}, CF00N6F00000En3fy_lkid={!Opportunity.Id}, save=1]) />
    • this solution doesn't work because it comes up with the record type selection page and setting default record type is not an option as I will need to deploy this solution across different objects that will have a record type pre selected for the relative object
  • <apex:commandButton value="New Bonus Request Approval Conversations" action={!URLFOR('/a0J/e?&RecordType=0126F0000012I7X&CF00N6F00000En3fy={!Opportunity.Name}&CF00N6F00000En3fy_lkid={!Opportunity.Id}')} />
    • this solution doesn't work because I cannot prefill my opportunity lookup anymore with this hack
Is there something I am missing or another option I can use for Commandbutton? Thanks
Hi everyone

I am having an issue with my code that I should not get. I definitely have more than 10,000 opportunities/accounts in production but my code should only be updating the opportunities related to the account of the event I am inserting. I am getting this error when trying to insert the event on an account with less than 20 related opportunities. Any help is appreciated thanks.

Apex Trigger: 
trigger EventTrigger on Event (before insert, before update) {
    if(Trigger.isInsert){
        list<Event> CSTIMPList = new list<Event>();
        for(Event evnt : trigger.new){
            if(evnt.Implementation_App_Type__c != null && evnt.System_Admin_Over_Ride__c != 'Mark Complete App Date'){
                if(evnt.Implementation_App_Type__c == 'CST'){
                    CSTIMPList.add(evnt);
                }
            }
        }
        if(CSTIMPList.size() > 0 && CSTIMPList != null){
            Event_HDL.updateimpdateCST(CSTIMPList);
        }
    }
}

Apex Class:
public class Event_HDL {
	public static void updateimpdateCST(Event[] evnts){
			List<Opportunity> OppList = new list<Opportunity>();
			List<Account> relatedacclist = new list<Account>();
			//map the Opportunity record
			Map<Id, List<Event>> oppIds = new Map<Id, List<Event>>{}; 
			for(Event evnt : evnts){
				oppIds.put(evnt.WhatId, new list<Event>());
				oppIds.get(evnt.WhatId).add(evnt);
			}
			//map the account
			Map<Id, List<Opportunity>>  soaIds= new Map<Id, List<Opportunity>>{};
			Map<Id, List<Opportunity>>  accIds= new Map<Id, List<Opportunity>>{};
			for(Opportunity opp : [Select Id, AccountId, Implementation_Appointment_Date__c,
								   Account.Regarding_Review_FP__c, Account.Regarding_Review_Super__c, Account.Regarding_Review_ROA__c from Opportunity where Id in: oppIds.keySet()]){
				soaIds.put(opp.Account.Regarding_Review_FP__c, new list<Opportunity>());
				soaIds.put(opp.Account.Regarding_Review_Super__c, new list<Opportunity>());
				soaIds.put(opp.Account.Regarding_Review_ROA__c, new list<Opportunity>());
				soaIds.get(opp.Account.Regarding_Review_FP__c).add(opp);
				soaIds.get(opp.Account.Regarding_Review_Super__c).add(opp);
				soaIds.get(opp.Account.Regarding_Review_ROA__c).add(opp);
				accIds.put(opp.AccountId, new list<Opportunity>());
				accIds.get(opp.AccountId).add(opp);
			}
			//update the related account with the new imp app date
			for(Account acc : [Select Id from Account where Id in: accIds.keySet()]){
				for(Event evnt : evnts){
					acc.CST_Implementation_Appointment_Date__c = evnt.StartDateTime;
				}
				relatedacclist.add(acc);
			}
			if(relatedacclist.size() > 0 && relatedacclist != null ){
				update relatedacclist;
			}
			//update all cst soas and recommendations(only from the latest review) off the back of them with the new imp app date
			for(Opportunity opp : [Select Id from Opportunity where Related_SOA__c in: soaIds.keySet() OR Id in: soaIds.keySet()]){
				for(Event evnt : evnts){
					opp.Implementation_Appointment_Date__c = evnt.StartDateTime; 
					opp.Trust_Deed_Date__c = evnt.StartDateTime;
					opp.Trust_Deed_Appointment_Date__c = evnt.StartDateTime;
				}
				OppList.add(opp);
			}
			
			
			//update the opportunities
			if(OppList.size() > 0 && OppList != null){
				update OppList;
			}
			
			
	}
}

 
Hi,

I am trying to create a simple button for an Opportunity that brings the user to a new record page for a custom Object called Policies(Policies__c). The reason I need a custom button is because there is an account lookup field that I want auto populated when clicking new policy off the opportunity. 

However when inserting the Opportunity Name and and Opportunity ID in the custom field for the opportunity lookup it returns as expected with the correct name but the ID returns as 0. I could just remove the ID part and it would work but it causes confusion for a user if there are multiple opps with the same name for example.

Here is what it looks like if I was to hit the default button(doesnt contain Account lookup)
/a04/e?
CF00NN0000001MqbU=testy+testy+-+Risk+Sales+-+2015-11-03
&CF00NN0000001MqbU_lkid=006N0000007UtHL
&retURL=%2F006N0000007UtHL

My Custom one looks like this
/a04/e?
&CF00NN0000001MqbU={!Opportunity.Name}
&CF00NN0000001MqbU_lkid={!Opportunity.Id}
&CF00NN0000001MqO6={!Opportunity.Account}
&CF00NN0000001MqO6_lkid={!Opportunity.AccountId}
&retURL={!Opportunity.Id}

It returns the Account ID but not the opp ID
https://cs6.salesforce.com/a04/e?
&CF00NN0000001MqbU=testy+testy+-+Risk+Sales+-+2015-11-04&
CF00NN0000001MqbU_lkid=0
&CF00NN0000001MqO6=testy+testy
&CF00NN0000001MqO6_lkid=001N000000XgEcH
&retURL=0


 
I am running into this issue, I have fixed it before by adding a boolean but even with it on this example I still get the same error. It's throwing the error on line 52. 
 
public class Account_HDL {

private static boolean updatecstimp = false;
private static boolean dontupdatecstimp = false;
private static boolean newreview = false;
    
    
public static void UpdateCSTImp(Account[] acc){
list<CST_Implementation__c> cstimplist = new List<CST_Implementation__c>();
Set<String> cstimpIds = new Set<String>();
list<Account> updateacclist = new List<Account>();
Set<String> updateaccIds = new Set<String>();


    
    for(Account accs : acc){
        //updateaccIds.add(accs.Id);
        updateacclist  = [select Id, CST_Fully_Implemented_On__c, CST_Implementation_Stage__c, Days_from_RC_to_Imp__c, Last_Review_Date__c, 
                 Number_of_CST_Implemented_Services__c, Number_of_CST_Imp_Services_Complete__c, Number_of_CST_Imp_Services_Not_Complete__c, 
                 Latest_CST_Implementation__c, Regarding_Annual_Review__c, Review_FP_Result__c, Review_ROA_Result__c, Review_Super_Result__c 
                 from Account where Id =: trigger.new];
        
            Account oldAcc = (Account)Trigger.oldMap.get(accs.Id);
        
        for(Account updateacc : updateacclist){
           if(oldAcc.Regarding_Annual_Review__c != accs.Regarding_Annual_Review__c && accs.Regarding_Annual_Review__c != null
              && dontupdatecstimp == false && newreview == false){
               dontupdatecstimp = true;
               updateacc.CST_Fully_Implemented_On__c  = null;
               updateacc.CST_Implementation_Stage__c  = ''; 
               updateacc.Last_Review_Date__c  = null; 
               updateacc.Number_of_CST_Implemented_Services__c  = null; 
               updateacc.Number_of_CST_Imp_Services_Complete__c  = null; 
               updateacc.Number_of_CST_Imp_Services_Not_Complete__c  = null; 
               updateacc.Review_FP_Result__c  = ''; 
               updateacc.Review_ROA_Result__c  = ''; 
               updateacc.Review_Super_Result__c  = ''; 
               //create new cst imp for annual review   
                            List<CST_Implementation__c> addcstimplist = new list<CST_Implementation__c>();
                           for(CST_Implementation__c newcstimp : addcstimplist){
                            
                            addcstimplist.add(new CST_Implementation__c(
                            Name = 'Annual Review',
                            Related_Account__c = updateacc.Id
                            ));
                           }
                           insert addcstimplist;
                        
            }
           }
             if(updateacclist.size()>0 && dontupdatecstimp == true && newreview == false){
                update updateacclist;
                newreview = true;
               } 
        cstimpIds.add(accs.Latest_CST_Implementation__c);
        cstimplist = [select Id  from CST_Implementation__c where ID in : cstimpIds];
        for(CST_Implementation__c relatedcstimp : cstimplist){
            if(dontupdatecstimp == false){
            if( oldAcc.CST_Fully_Implemented_On__c != accs.CST_Fully_Implemented_On__c){
                relatedcstimp.CST_Fully_Implemented_On__c = accs.CST_Fully_Implemented_On__c;
                updatecstimp = true;
            }
            if( oldAcc.CST_Implementation_Stage__c != accs.CST_Implementation_Stage__c){
                relatedcstimp.CST_Implementation_Stage__c = accs.CST_Implementation_Stage__c;
                updatecstimp = true;
            }
            if( oldAcc.Last_Review_Date__c != accs.Last_Review_Date__c){
                relatedcstimp.Last_Review_Date__c = accs.Last_Review_Date__c;
                updatecstimp = true;
            }
            if( oldAcc.Number_of_CST_Implemented_Services__c != accs.Number_of_CST_Implemented_Services__c){
                relatedcstimp.Number_of_CST_Implemented_Services__c = accs.Number_of_CST_Implemented_Services__c;
                updatecstimp = true;
            }
            if( oldAcc.Number_of_CST_Imp_Services_Complete__c != accs.Number_of_CST_Imp_Services_Complete__c){
                relatedcstimp.Number_of_CST_Imp_Services_Complete__c = accs.Number_of_CST_Imp_Services_Complete__c;
                updatecstimp = true;
            }
            if( oldAcc.Number_of_CST_Imp_Services_Not_Complete__c != accs.Number_of_CST_Imp_Services_Not_Complete__c){
                relatedcstimp.Number_of_CST_Imp_Services_Not_Complete__c = accs.Number_of_CST_Imp_Services_Not_Complete__c;
                updatecstimp = true;
            }
            if( oldAcc.Review_FP_Result__c != accs.Review_FP_Result__c){
                relatedcstimp.Review_FP_Result__c = accs.Review_FP_Result__c;
                updatecstimp = true;
            }
            if( oldAcc.Review_ROA_Result__c != accs.Review_ROA_Result__c){
                relatedcstimp.Review_ROA_Result__c = accs.Review_ROA_Result__c;
                updatecstimp = true;
            }
            if( oldAcc.Review_Super_Result__c != accs.Review_Super_Result__c){
                relatedcstimp.Review_Super_Result__c = accs.Review_Super_Result__c;
                updatecstimp = true;
            }
            }
        } 
        if(cstimplist.size()>0 && updatecstimp == true && dontupdatecstimp == false){
        update cstimplist;
        }
    }
       
}
}

 
I am trying to display the owner chatter picture in a lightning component and I am unsure if this is a second query that should be done in the controller or a helper as I have seen some threads using a function to query it and some using apex however none are asking about this for a lightning component, this was pretty simple on a custom lookup field just the standard owner field has it's limitations and the field is not available in a formula field.

Apex controller: 
public class Case_List_DPI_Controller {
  @AuraEnabled
  public static List<Case> getCases() {
    return [SELECT Id, Subject, CaseNumber, OwnerId, Owner.FirstName, Owner.LastName, Owner.Name, Owner.Email, Case_Life_Days_Business_Days__c, Case_Life_Hours__c, Case_Department__c,
            RecordTypeId, RecordType.Name, SourceId, Reason, Origin, ClosedDate, CreatedDate, Description, isClosed
    FROM Case 
            where Case_Department__c = 'Property' AND isClosed = false ORDER BY createdDate DESC
           ];  
  }
}
Component: 
<aura:component controller="Case_List_DPI_Controller" implements="flexipage:availableForAllPageTypes" access="global">
  <aura:attribute name="cases" type="List" />
  <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
  <!--
    Use a data table from the Lightning Design System:
    https://www.lightningdesignsystem.com/components/data-tables/
  -->
  <table class="slds-table slds-table--bordered slds-table--striped slds-table--cell-buffer slds-table--fixed-layout">
    <thead>
        <tr class="slds-text-title_caps">
            <th>
                <div title="Open Cases with Property Department">Open Cases with Property Department</div>
            </th>
      </tr>
      <tr class="slds-text-heading--label">
        <th scope="col"><div class="slds-truncate" title="B. Days">B. Days Open</div></th>
        <th scope="col"><div class="slds-truncate" title="Owner">Owner</div></th>
        <th scope="col"><div class="slds-truncate" title="Type">Type</div></th>
        <th scope="col"><div class="slds-truncate" title="Subject">Subject</div></th>
      </tr>
    </thead>
    <tbody>
      <!-- Use the Apex model and controller to fetch server side data -->
      <aura:iteration items="{!v.cases}" var="case" indexVar="index">
        <tr>
          <td><div class="slds-truncate" title="{!case.Case_Life_Days_Business_Days__c}">{!case.Case_Life_Days_Business_Days__c}</div></td>
          <td>
              <div class="slds-truncate">
                  <span class="data-social-photo-guid-4eded8ac-41d6-4524-ab50-b14d0349f58d photoContainer forceSocialPhoto_v2 forceOutputLookup">
                      <span class="uiImage">
                          <img class="smallSocialPhoto circular" src="{!c.Owner.smallPhotoURL}" />
                      </span>
                  </span>
                  <a onclick="{!c.navigateToUser}" style="width:100%;" data-index="{!index}">{!case.Owner.Name}</a>
              </div>
          </td>
          <td><div class="slds-truncate" title="{!case.RecordType.Name}">{!case.RecordType.Name}</div></td>
          <td><div class="slds-truncate"><a onclick="{!c.navigateToRecord}" style="width:100%;" data-index="{!index}">{!case.Subject}</a></div></td>
        </tr>
      </aura:iteration>
    </tbody>
  </table>
</aura:component>

 
Our developer console in our Enterprise org has been acting up when you scroll it with the mousewheel the last few weeks, and support refuses to help with the issue becuase we don't pay them enough money I guess. 
When we try to scroll on the dev console using the mousewheel, it will keep fighting you, trying to scroll back the opposite of the direction you were trying to scroll in. This causes the window's scroll position to jerk around and makes it very hard to keep your place in large code files.
Has anyone else faced this issue? It is in Chrome
Hi All

I want to be able to create a click not code method of creating an Opportunity Contact Role for all opportunities when they create which is required in order to sync them to Pardot. We use person accounts however so they do not auto create and I have hit a couple of limitations while trying to solve this task.

First is you cannot create a contact role within the process builder but you can with a flow and reference it in the process builder (credit: https://judisohn.com/2015/04/06/using-salesforce-process-builder-flow-with-opportunity-contact-roles/).

Second however that stops this working for me is that no Account.PersonContact fields can be referenced within the Process builder from an object that is not Account to pass the ID as a variable for the flow. https://help.salesforce.com/HTViewSolution?id=000232840&language=en_US

So I thought the solution would be to create a custom contact lookup field and put the PersonContactID and populate it on account create so that I could reference it in future from process builder if necessary. I am still running into the issues on the opportunity process that it is passing a null value from the custom lookup field I have created? Relvant error report line: varContactID = {!myVariable_current.Account.PersonContactID__c} (null)

Is there really no way of doing this with out code? If not it's a another dissapointing instance where Person Accounts fall short within Salesforce.
Hi,

I am trying to create a simple button for an Opportunity that brings the user to a new record page for a custom Object called Policies(Policies__c). The reason I need a custom button is because there is an account lookup field that I want auto populated when clicking new policy off the opportunity. 

However when inserting the Opportunity Name and and Opportunity ID in the custom field for the opportunity lookup it returns as expected with the correct name but the ID returns as 0. I could just remove the ID part and it would work but it causes confusion for a user if there are multiple opps with the same name for example.

Here is what it looks like if I was to hit the default button(doesnt contain Account lookup)
/a04/e?
CF00NN0000001MqbU=testy+testy+-+Risk+Sales+-+2015-11-03
&CF00NN0000001MqbU_lkid=006N0000007UtHL
&retURL=%2F006N0000007UtHL

My Custom one looks like this
/a04/e?
&CF00NN0000001MqbU={!Opportunity.Name}
&CF00NN0000001MqbU_lkid={!Opportunity.Id}
&CF00NN0000001MqO6={!Opportunity.Account}
&CF00NN0000001MqO6_lkid={!Opportunity.AccountId}
&retURL={!Opportunity.Id}

It returns the Account ID but not the opp ID
https://cs6.salesforce.com/a04/e?
&CF00NN0000001MqbU=testy+testy+-+Risk+Sales+-+2015-11-04&
CF00NN0000001MqbU_lkid=0
&CF00NN0000001MqO6=testy+testy
&CF00NN0000001MqO6_lkid=001N000000XgEcH
&retURL=0


 
I am running into this issue, I have fixed it before by adding a boolean but even with it on this example I still get the same error. It's throwing the error on line 52. 
 
public class Account_HDL {

private static boolean updatecstimp = false;
private static boolean dontupdatecstimp = false;
private static boolean newreview = false;
    
    
public static void UpdateCSTImp(Account[] acc){
list<CST_Implementation__c> cstimplist = new List<CST_Implementation__c>();
Set<String> cstimpIds = new Set<String>();
list<Account> updateacclist = new List<Account>();
Set<String> updateaccIds = new Set<String>();


    
    for(Account accs : acc){
        //updateaccIds.add(accs.Id);
        updateacclist  = [select Id, CST_Fully_Implemented_On__c, CST_Implementation_Stage__c, Days_from_RC_to_Imp__c, Last_Review_Date__c, 
                 Number_of_CST_Implemented_Services__c, Number_of_CST_Imp_Services_Complete__c, Number_of_CST_Imp_Services_Not_Complete__c, 
                 Latest_CST_Implementation__c, Regarding_Annual_Review__c, Review_FP_Result__c, Review_ROA_Result__c, Review_Super_Result__c 
                 from Account where Id =: trigger.new];
        
            Account oldAcc = (Account)Trigger.oldMap.get(accs.Id);
        
        for(Account updateacc : updateacclist){
           if(oldAcc.Regarding_Annual_Review__c != accs.Regarding_Annual_Review__c && accs.Regarding_Annual_Review__c != null
              && dontupdatecstimp == false && newreview == false){
               dontupdatecstimp = true;
               updateacc.CST_Fully_Implemented_On__c  = null;
               updateacc.CST_Implementation_Stage__c  = ''; 
               updateacc.Last_Review_Date__c  = null; 
               updateacc.Number_of_CST_Implemented_Services__c  = null; 
               updateacc.Number_of_CST_Imp_Services_Complete__c  = null; 
               updateacc.Number_of_CST_Imp_Services_Not_Complete__c  = null; 
               updateacc.Review_FP_Result__c  = ''; 
               updateacc.Review_ROA_Result__c  = ''; 
               updateacc.Review_Super_Result__c  = ''; 
               //create new cst imp for annual review   
                            List<CST_Implementation__c> addcstimplist = new list<CST_Implementation__c>();
                           for(CST_Implementation__c newcstimp : addcstimplist){
                            
                            addcstimplist.add(new CST_Implementation__c(
                            Name = 'Annual Review',
                            Related_Account__c = updateacc.Id
                            ));
                           }
                           insert addcstimplist;
                        
            }
           }
             if(updateacclist.size()>0 && dontupdatecstimp == true && newreview == false){
                update updateacclist;
                newreview = true;
               } 
        cstimpIds.add(accs.Latest_CST_Implementation__c);
        cstimplist = [select Id  from CST_Implementation__c where ID in : cstimpIds];
        for(CST_Implementation__c relatedcstimp : cstimplist){
            if(dontupdatecstimp == false){
            if( oldAcc.CST_Fully_Implemented_On__c != accs.CST_Fully_Implemented_On__c){
                relatedcstimp.CST_Fully_Implemented_On__c = accs.CST_Fully_Implemented_On__c;
                updatecstimp = true;
            }
            if( oldAcc.CST_Implementation_Stage__c != accs.CST_Implementation_Stage__c){
                relatedcstimp.CST_Implementation_Stage__c = accs.CST_Implementation_Stage__c;
                updatecstimp = true;
            }
            if( oldAcc.Last_Review_Date__c != accs.Last_Review_Date__c){
                relatedcstimp.Last_Review_Date__c = accs.Last_Review_Date__c;
                updatecstimp = true;
            }
            if( oldAcc.Number_of_CST_Implemented_Services__c != accs.Number_of_CST_Implemented_Services__c){
                relatedcstimp.Number_of_CST_Implemented_Services__c = accs.Number_of_CST_Implemented_Services__c;
                updatecstimp = true;
            }
            if( oldAcc.Number_of_CST_Imp_Services_Complete__c != accs.Number_of_CST_Imp_Services_Complete__c){
                relatedcstimp.Number_of_CST_Imp_Services_Complete__c = accs.Number_of_CST_Imp_Services_Complete__c;
                updatecstimp = true;
            }
            if( oldAcc.Number_of_CST_Imp_Services_Not_Complete__c != accs.Number_of_CST_Imp_Services_Not_Complete__c){
                relatedcstimp.Number_of_CST_Imp_Services_Not_Complete__c = accs.Number_of_CST_Imp_Services_Not_Complete__c;
                updatecstimp = true;
            }
            if( oldAcc.Review_FP_Result__c != accs.Review_FP_Result__c){
                relatedcstimp.Review_FP_Result__c = accs.Review_FP_Result__c;
                updatecstimp = true;
            }
            if( oldAcc.Review_ROA_Result__c != accs.Review_ROA_Result__c){
                relatedcstimp.Review_ROA_Result__c = accs.Review_ROA_Result__c;
                updatecstimp = true;
            }
            if( oldAcc.Review_Super_Result__c != accs.Review_Super_Result__c){
                relatedcstimp.Review_Super_Result__c = accs.Review_Super_Result__c;
                updatecstimp = true;
            }
            }
        } 
        if(cstimplist.size()>0 && updatecstimp == true && dontupdatecstimp == false){
        update cstimplist;
        }
    }
       
}
}

 
Our developer console in our Enterprise org has been acting up when you scroll it with the mousewheel the last few weeks, and support refuses to help with the issue becuase we don't pay them enough money I guess. 
When we try to scroll on the dev console using the mousewheel, it will keep fighting you, trying to scroll back the opposite of the direction you were trying to scroll in. This causes the window's scroll position to jerk around and makes it very hard to keep your place in large code files.
Has anyone else faced this issue? It is in Chrome