2017-01-29 11 views
0

Этот код работает отлично в течение многих лет.Превышен максимальный размер изображения (135 КБ)

public PageReference chkinst() { 
     i=0; 
     integer j=0; 

     Set<String> aSearchSet = new Set<String>(); 
     List<Lead> lList = ui; 
     for (Lead l : lList) { 
      aSearchSet.add(l.company);    
     } 

     Account[] accountToCreate = new Account[]{}; 
     Map<String,Account> companyToAccountMap = new Map<String,Account>(); 
     for (Account a: [select id, Name from Account where name IN :aSearchSet]) 
     companyToAccountMap.put(a.name,a); 


     for (Lead l : lList) { 
      if (!companyToAccountMap.containsKey(l.company)){ 
       Account act = new Account(Name = l.Company , Country__c = l.Country__c); 
       accountToCreate.add(act); 
       j = j +1; 
      }  
     } 

     insert accountToCreate; 

     if(j == 0) { 
      ApexPages.addMessage(new ApexPages.message(ApexPages.severity.INFO,'All leads have correct institution names')); 
     } else{ 
       ApexPages.addMessage(new ApexPages.message(ApexPages.severity.INFO,j + ' Institutions created')); 
     } 

      return null; 
} 

Сегодня он дал мне следующую ошибку:

предела Максимального вида состояния размера (135Kb) превышен. Фактический размер изображения для этой страницы был 135.078KB

Кто-нибудь знает почему?

Спасибо,

ответ

1

Это трудно сказать, из этого фрагмента кода. Но если я должен был догадаться. Похоже, ваша компанияToAccountMap является переменной уровня класса, и, вероятно, она возвращает больше записей, чем раньше. Если вам не нужна эта карта в другом месте контроллера, я бы переместил ее на уровень метода или сделаю переходным.