1. Install Package

https://login.salesforce.com/packaging/installPackage.apexp?p0=04t4P000002EMv0

 

https://login.salesforce.com/packaging/installPackage.apexp?p0=04t4P000002EMv0

 

login.salesforce.com

2. batch 수정(BatchLeadConvert.cls)

public with sharing class BatchLeadConvert implements Database.Batchable<SObject>, Database.RaisesPlatformEvents {

 

3. trigger 생성(Developer Console)

trigger BatchApexErrorTrigger on BatchApexErrorEvent (after insert) {
    
   list bcrList = new List();
    
    for(BatchApexErrorEvent bcr: trigger.new){
        
        BatchLeadConvertErrors__c  evrterror= new BatchLeadConvertErrors__c ();
        
        evrterror.AsyncApexJobId__c = bcr.AsyncApexJobId;
        evrterror.Records__c        = bcr.JobScope;
        evrterror.StackTrace__c     = bcr.StackTrace;
        bcrList.add(evrterror);
    }
    insert bcrList;
}

'Certification' 카테고리의 다른 글

Platform Developer I Certification Maintenance(Winter '19)  (0) 2019.01.02
by 호구왔능가 2019. 10. 14. 09:52

UtilityClass.cls


public inherited sharing class UtilityClass {

     public static List<sObject> queryObjects(String theObject, List<String> theFields, String theFilter, String sortField, String sortOrder) {

          String theQuery = 'SELECT ' + string.join(theFields, ',');

          theQuery += ' FROM ' + theObject;

          if(!String.isEmpty(theFilter)) {

               theQuery += ' WHERE ' + theFilter;

          }

          if(!String.isEmpty(sortField)) {

               theQuery += ' ORDER BY ' + sortField;

               if(!String.isEmpty(sortOrder)) {

                    theQuery += ' ' + sortOrder;

               }

          }

          return database.query(theQuery);

     }

}


TowerMapController.cls


public with sharing class TowerMapController {

     @AuraEnabled

     public static List<Tower__c> getAllTowers() {

          String theObject = 'Tower__c';

          List<String> theFields = new List<String>{'Id', 'Name', 'State__r.Name', 'Tower_Location__Latitude__s', 'Tower_Location__Longitude__s'};

          String theFilter = '';

          String sortField = 'Name';

          String sortOrder = 'ASC';

          List<Tower__c> allTowers = UtilityClass.queryObjects(theObject, theFields, theFilter, sortField, sortOrder);

          return allTowers;

     }

}


Towermap.cmp


<aura:component access="global" controller="TowerMapControllerClass" implements="force:appHostable,flexipage:availableForAllPageTypes">

     <aura:attribute name="mapMarkers" type="Object" access="PRIVATE" />

     <aura:attribute name="markersTitle" type="String" access="PRIVATE" />

     <aura:handler name="init" value="{!this}" action="{!c.handleInit}"/>

     <aura:if isTrue="{!!empty(v.mapMarkers)}" >

         <lightning:map mapMarkers="{! v.mapMarkers }" markersTitle="{!v.markersTitle}" zoomLevel="5" />

     </aura:if>

</aura:component>


TowermapController.js


({

     handleInit: function (component, event, helper) {

          helper.initHelper(component, event, helper);

     }

})


TowermapHelper.js


({

     initHelper : function(component, event, helper) {

          helper.utilSetMarkers(component, event, helper);

     },

     utilSetMarkers : function(component, event, helper) {

          let action = component.get("c.getAllTowers");

          action.setCallback(this, function(response) {

               const data = response.getReturnValue();

               const dataSize = data.length;

               let markers = [];

               for(let i=0; i < dataSize; i += 1) {

                    const Tower = data[i];

                    markers.push({

                        'location': {

                             'Latitude' : Tower.Tower_Location__Latitude__s,

                             'Longitude' : Tower.Tower_Location__Longitude__s

                        },

                        'icon': 'utility:Tower',

                        'title' : Tower.Name,

                        'description' : Tower.Name + ' Tower Location at ' + Tower.State__r.Name

                   });

               }

               component.set('v.markersTitle', 'Out and About Communications Tower Locations');

               component.set('v.mapMarkers', markers);

          });

          $A.enqueueAction(action);

     }

})


Lightning App Builder




'Certification' 카테고리의 다른 글

Platform Developer I Certification Maintenance(Summer '19)  (0) 2019.10.14
by 호구왔능가 2019. 1. 2. 15:42

https://releasenotes.docs.salesforce.com/en-us/winter17/release-notes/rn_forcecom_debugging_guest_user.htm


https://salesforce.stackexchange.com/questions/143549/debug-logs-not-working-for-site-guest-users-force-com-sites-after-the-winter-1




1. Debug Log를 출력하고자 하는 Site 또는 Community 를 브라우저에서 열고 콘솔에 아래 문장을 실행 한다.

document.cookie="debug_logs=.force.com;domain=.force.com"



2. Setup --> Logs --> Debug Logs --> New

 Traced Entity Name 에 Site Name 또는 Community Name 으로 검색하면 해당 하는 Guest User를 선택 할 수 있다.





by 호구왔능가 2017. 8. 8. 13:36
| 1 |