Я использую расширенное сопоставление импорта данных NPSP для загрузки пользовательского объекта в качестве дочернего элемента группы объектов Account1.

Я загружаю электронную таблицу следующим образом:

Account Name | Custom Object Name
Acct1        | CusObj1
Acct1        | CusObj1

Проблема в том, что я получаю две записи CusObj1 вместо 1. Я вижу, что могу определить сопоставление для учетных записей, контактов и пожертвований. Кто-нибудь знает, как определить логику сопоставления для пользовательских объектов?

Я вижу, что класс BDI_ObjectMappingLogic имеет комментарий

Виртуальный класс, содержащий стандартную логику сопоставления полей между исходным и целевым объектами. Может быть переопределен клиентами, которым нужна пользовательская логика сопоставления.

За исключением того, что он общедоступный виртуальный, поэтому я не могу переопределить его с помощью вершины.

Я реализовал BDI_IMatchDonations, но он не вызывается, когда я загружаю приведенные выше данные... при условии, что он вызывается только в том случае, если у меня есть возможности и платежи.

Какие-либо предложения?

1
Mike Porter 31 Мар 2020 в 18:31

1 ответ

Лучший ответ

Я говорил с руководителем команды, которая создала эту функцию. В настоящее время нет способа сделать то, что вы хотите сделать с помощью функции Advanced Mapping. Как вы заметили, класс BDI_ObjectMappingLogic нельзя переопределить, потому что это public.

Комментарий в классе отражает цель разработки, которая в настоящее время недоступна конечным пользователям и исторически не вызывала большого интереса или вариантов использования. Если вы заинтересованы в использовании этой функции, опубликуйте сообщение в центре Power of Us, где руководство по продуктам NPSP сможет ее увидеть. (Вы можете опубликовать Идею и обсудить потребность в одной из некоммерческих групп).

Отзывы пользователей помогают обосновать необходимость раскрытия новых функций global Apex, что является важным решением в контексте управляемого пакета, такого как NPSP.

0
David Reed 31 Мар 2020 в 19:16
Спасибо, Дэвид, приятно знать, что в настоящее время это невозможно. На данный момент я собираюсь пропустить установку NPSP как неуправляемого, так как это вызовет у меня больше головной боли и свяжет некоторые очереди из импорта данных NPSP к нужным мне объектам. Я обязательно свяжусь с командой разработчиков NPSP и упомяну о том, что мне нужна эта функция.
 – 
Mike Porter
31 Мар 2020 в 20:13
Менеджер по продукту — Элисон Мейер. Вы можете найти ее на Хабе, если хотите поговорить! Определенно рекомендую не устанавливать NPSP без управления, так что я думаю, что вы на правильном пути.
 – 
David Reed
31 Мар 2020 в 20:18