function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Richard Pitfield 10Richard Pitfield 10 

I have a trigger that works to create a contact and opportunity when the form is saved and works fine in the GUI when I hit save, however on a bulk upload it doesn't trigger help welcomed

Here is the trigger can anyone help please? 

trigger InboundFormTrigger on Inbound_Form__c (before insert, before update) {
    Trigger_Activation_Settings__c objCustomSetting = Trigger_Activation_Settings__c.getOrgDefaults();
    //test
    if(objCustomSetting != NULL && objCustomSetting.Is_Inbound_Form_Trigger_Active__c) {
        if(Trigger.New != NULL && Trigger.New.size() > 1) {
            System.debug('Not Supporting bulkification for this sprint.');
        } else {
            if (Trigger.IsBefore && (Trigger.isInsert || Trigger.isUpdate) && Trigger.New[0].Record_Validated__c && !Trigger.New[0].Is_Record_Processed__c) {
                
                Trigger.New[0].Is_Record_Processed__c = true;
                
                if(!String.isBlank(Trigger.New[0].Web_Form_Name__c)){
                    String strFormName = Trigger.New[0].Web_Form_Name__c.toLowerCase();
                    
                    if(strFormName == 'general enquiry form')
                        InboundFormTriggerHandler.generalEnquiryForm(Trigger.New);
                        
                    else if(strFormName == 'request for materials (donor)')
                        InboundFormTriggerHandler.requestForMaterialsDonor(Trigger.New);
                        
                    else if(strFormName == 'request for materials (press)')
                        InboundFormTriggerHandler.requestForMaterialsPress(Trigger.New);
                        
                    else if(strFormName == 'request for materials (solicitor)')
                        InboundFormTriggerHandler.requestForMaterialsSolicitor(Trigger.New);
                        
                    else if(strFormName == 'donor interest form')
                        InboundFormTriggerHandler.donorInterestForm(Trigger.New);
                        
                    else if(strFormName == 'solicitor registration')
                        InboundFormTriggerHandler.solicitorRegistration(Trigger.New);
                    
                    else if(strFormName == 'solicitor lookup')
                        InboundFormTriggerHandler.solicitorLookup(Trigger.New);
                    
                    else if(strFormName == 'solicitor enquiry')
                        InboundFormTriggerHandler.solicitorEnquiry(Trigger.New);  
                        
                    else if(strFormName == 'online donation form')
                        InboundFormTriggerHandler.onlineDonationForm(Trigger.New);                                     
                }
            }   
        }
    }
}
Alain CabonAlain Cabon
Hi,

The developer has respected the requirements for a precise "sprint" (agile).

 A bulk upload need a bulkified trigger and this trigger doesn't allow the bulkification

  if(Trigger.New != NULL && Trigger.New.size() > 1) {
            System.debug('Not Supporting bulkification for this sprint.');
  } else {

This trigger only treats the first item: Trigger.New[0] = the numeration starts at zero so it is the first element and only this one.

 if InboundFormTriggerHandler.generalEnquiryForm(Trigger.New); and all theses static methods made SOQL access, you have to rewrite entirely the trigger.

Alain