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

Есть ли способ, которым я могу массово включить их в качестве пользователя-партнера, используя загрузчик данных или установив для этого флага значение true, прежде чем вставлять триггер и загружать их? Делать это вручную было бы слишком.

1
JavaAster 11 Окт 2018 в 22:36
Можете ли вы уточнить, загружаете ли вы учетную запись партнера или пользователя-партнера? Я пытаюсь загрузить не менее 500 аккаунтов партнеров -- Можно ли как-то массово включить их в качестве пользователя-партнера
 – 
Jayant Das
11 Окт 2018 в 23:03
Да, я имею в виду пользователей-партнеров, но перед созданием пользователей-партнеров должны существовать учетные записи партнеров, верно? и активировал каждую учетную запись в качестве партнера. Дайте мне знать, если я что-то пропустил здесь. Спасибо.
 – 
JavaAster
11 Окт 2018 в 23:11
Создание пользователя-партнера — это двухэтапный процесс: 1. Создайте контакт в учетной записи партнера, 2. Включите контакт в качестве пользователя-партнера. Я предполагаю, что вы в основном хотите создать и включить учетные записи в качестве партнеров во время загрузки. Поскольку после того, как вы уже включили учетные записи партнеров, вам все равно нужно будет создать контакт и пользователей для пользователей-партнеров.
 – 
Jayant Das
11 Окт 2018 в 23:13
Да, это правильно! Как только я создам учетную запись партнера, создайте контакты под ними и включите контакты в качестве пользователей-партнеров.
 – 
JavaAster
11 Окт 2018 в 23:15
Конечно. Дал развернутый ответ. Надеюсь, это поможет.
 – 
Jayant Das
11 Окт 2018 в 23:17

1 ответ

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

Я пытаюсь загрузить не менее 500 учетных записей партнеров с помощью загрузчика данных и хочу включить их все в качестве учетных записей партнеров.

Как вы поняли, поле недоступно для записи во время операций insert. Однако вы можете обновить поле isPartner в учетной записи. Здесь вам нужно написать логику after insert в вашем триггере, чтобы иметь возможность обновлять ваши учетные записи, загруженные как учетные записи партнеров.

Вот подход, как вы можете это сделать.

trigger AccountTrigger on Account (after insert) {
    List<Account> updateList = new List<Account>();
    for(Account acct : Trigger.New){
        acct.isPartner = TRUE;
        updateList.add(acct);
    }
    update updateList;
}
1
Jayant Das 11 Окт 2018 в 23:21
Большое спасибо! Позвольте мне попробовать это, и я надеюсь, что это сработает, чтобы я мог отметить ваш ответ как лучший.
 – 
JavaAster
11 Окт 2018 в 23:21
Я запустил upsert по внешним идентификаторам и установил для IsPartner значение True в загрузчике данных! Оно работало завораживающе.
 – 
JavaAster
12 Окт 2018 в 00:32