Запуск рабочего процесса при создании отношения 1: N? - PullRequest
0 голосов
/ 11 октября 2011

Я пытаюсь запустить рабочий процесс по созданию отношения 1: n.

У меня есть объект Contact и объект PortalRole. Когда я связываю PortalRole с контактом, я хотел бы запустить рабочий процесс, который рассылает приветственные электронные письма пользователям.

PortalRoles назначаются контактам с кнопки ленты, которая запускает веб-ресурс HTML и использует JSON / JQuery и службы REST для создания связей.

Как я могу назвать рабочий процесс? Мне нужно получить адрес электронной почты Контактов и отправить им 1 из 2 электронных писем в зависимости от того, сколько у них ассоциаций (новый пользователь портала или пользователь портала получает дополнительные роли)

Ответы [ 2 ]

0 голосов
/ 12 октября 2011

Этот пост в блоге дает очень хорошее объяснение о взаимоотношениях.

(так много) Варианты «многие ко многим»: что использовать?

Итак ... какой из этих трех подходов является лучшим?Как всегда, это зависит от того, что вам нужно сделать, но вот несколько практических правил, которые вы можете использовать в качестве руководства:

Родной N: N

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

Примеры:

Пользовательский объект Отрасль с N: Nк учетной записи Добавьте пользовательские отношения N: N между объектами «Конкурент» и «Территория», чтобы отслеживать, какие конкуренты активны и на каких территориях. Пользовательский объект Цвет с N: N для контакта (вы не отслеживаете любимые цвета ваших контактов ???)

Руководство N: N

Немного больше работы по настройке, но, как правило, стоит усилий.Используется, когда помимо того, что две записи связаны, вам также нужна информация о соединении, например, его статус, когда оно было создано и т. Д.

Примеры:

Ассоциации и события участникови регистрации (1: N от контакта до регистрации, 1: N от события до регистрации) Подписчики и подписки (1: N от контакта до настраиваемого объекта «Подписка», 1: N от настраиваемого объекта «Продукт подписки» до подписки)

Соединения и роли подключения

Как я уже упоминал выше, на самом деле это конкретная реализация ручного подхода.И если вы немного углубитесь в это, вы обнаружите, что сущность Соединения является добросовестно настраиваемой сущностью.Вы даже можете настроить его, добавив настраиваемые поля в форму подключения и так далее.Но ... будьте осторожны с перебором: существует только одна сущность Соединения, и настройки, сделанные для одной Роли Соединения, как правило, не будут применимы к другой.

Одним из их особых преимуществ является то, что одна роль подключения может соединять записи разных типов (например, контакты могут ссылаться на другие контакты, учетные записи и возможности)

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

Рефералы (контакт с контактом, контакт с учетной записью, контакт с потенциальной компанией) Бывший сотрудник (контакт с учетной записью, ведущий к счету) Совет директоров (контакт с персоналом «Правление», ведущая доска)

http://community.dynamics.com/product/crm/crmtechnical/b/richardknudson/archive/2011/05/08/many-to-many-relationships-in-dynamics-crm-2011.aspx

0 голосов
/ 12 октября 2011

Вы должны построить свой рабочий процесс для сущности PortalRole и вызвать его из Create. Вы по-прежнему сможете получать доступ к полям контактов в рабочем процессе.

Хитрость в вашем последнем требовании - отправьте «Email A» для первой ассоциации ролей, а затем «Email B» для каждой дополнительной ассоциации.

Вы можете добавить поле «Да / Нет» в «Контакт» под названием «Первая роль назначена». Ваш рабочий процесс будет выглядеть примерно так:

  • Если контакт: FirstRoleAssigned = Да
    • Отправить "E-mail B"
  • Else
    • Отправить «Email A»
    • Установить контакт: FirstRoleAssigned = Да
...