Loading
Расширение Salesforce с помощью кликов, а не кода
Отслеживание определенных параметров конфиденциальности данных для интересов и контактов, уже находящихся в Salesforce

Отслеживание определенных параметров конфиденциальности данных для интересов и контактов, уже находящихся в Salesforce

Создайте записи конфиденциальности данных на основе объекта «Отдельное лицо» для интересов и контактов, уже находящихся в Salesforce, посредством сценариев.

Требуемые версии

Доступно в версиях: Salesforce Classic и Lightning Experience
Доступно в версиях: все выпуски, включительно с пользователями партнерских и клиентских сообществ.

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

Создание записей о конфиденциальности данных для контактов

Создайте записи о конфиденциальности данных и свяжите их с контактами, уже находящимися в Salesforce при запуске данного сценария.

global class CreateIndividualFromContact implements Database.Batchable<sObject> {
    global Database.Querylocator start(Database.BatchableContext BC) {
       //Query to fetch contacts that don't have Individual created. You may modify the query to add custom fields  
       //Please add  "IsPersonAccount = false" condition to below query to exclude person accounts
       return Database.getQueryLocator('Select FirstName, LastName, Salutation from Contact where IndividualId = NULL');
    }
    
    global void execute(Database.BatchableContext BC, List<Contact> contactList) { 
        Map<Id, Individual> individualRecordsToCreate = new Map<Id, Individual>();
        for(Contact con : contactList) {
            individualRecordsToCreate.put(con.Id, new Individual(FirstName = con.FirstName, LastName = con.LastName, Salutation=con.Salutation));
        }
        insert individualRecordsToCreate.values();
        for(Contact con : contactList) {
            con.IndividualId = individualRecordsToCreate.get(con.Id).Id;
        }
        update contactList;
    }
    
    global void finish(Database.BatchableContext BC) {}
   
}

Создание записей о конфиденциальности данных для интересов

Создайте записи о конфиденциальности данных и свяжите их с интересами, уже находящимися в Salesforce при запуске данного сценария.

global class CreateIndividualFromLead implements Database.Batchable<sObject> {

    global Database.Querylocator start(Database.BatchableContext BC) {
       //Query to fetch non-converted Leads that don't have Individual created. You may modify the query to add custom fields  
       return Database.getQueryLocator('Select FirstName, LastName, Salutation from Lead where IsConverted = false and IndividualId = NULL');
    }
    
    global void execute(Database.BatchableContext BC, List<Lead> leadList) { 
        Map<Id, Individual> individualRecordsToCreate = new Map<Id, Individual>();
        for(Lead l : leadList) {
            individualRecordsToCreate.put(l.Id, new Individual(FirstName = l.FirstName, LastName = l.LastName, Salutation=l.Salutation));
        }
        insert individualRecordsToCreate.values();
        for(Lead l : leadList) {
            l.IndividualId = individualRecordsToCreate.get(l.Id).Id;
        }
        update leadList;
    }
    
    global void finish(Database.BatchableContext BC) {}   
}
 
Загрузка
Salesforce Help | Article