Сопоставления атрибутов (в отношениях N:1) не включены в экспорт?

MS CRM 2015 позволяет указать сопоставление атрибутов отношений между сущностями. Например. для отношения «contact_customer_accounts», показанного ниже, он определяет, какие атрибуты из Пользователя должны быть скопированы в Контакт при добавлении нового Контакта через представление «связанные контакты» Пользователя.

Однако, когда я изменяю такое сопоставление (и публикую все настройки), оно не экспортируется как часть моего решения (или решения по умолчанию, если уж на то пошло). Когда я сравниваю файлы customizations.xml до и после такого изменения в сопоставлении, они (для соответствующих частей) абсолютно одинаковы - эта информация просто не кажется частью экспорта?

Я также нашел схему файла решений по настройке, и она не кажется чтобы упомянуть что-нибудь о сопоставлениях атрибутов.

Я думаю, что эта информация должна быть частью экспорта решения - кто-нибудь знает, почему это не так?

введите описание изображения здесь

Обновление: я импортировал свое решение (с учетной записью и контактом) в свою организацию и опубликовал его. Затем удалили половину сопоставлений из отношения «contact_customer_accounts» и снова опубликовали. Наконец импортировал то же решение и снова опубликовал: удаленные сопоставления не вернулись.

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


person Leon Bouquiet    schedule 11.09.2015    source источник
comment
Обе сущности находятся в решении?   -  person James Wood    schedule 12.09.2015
comment
@JamesWood: Да, в решении есть и учетная запись, и контакт.   -  person Leon Bouquiet    schedule 12.09.2015
comment
Если вы импортируете решение в другую среду, включено ли изменение?   -  person James Wood    schedule 12.09.2015
comment
@JamesWood: Хороший вопрос, см. мой обновленный пост.   -  person Leon Bouquiet    schedule 12.09.2015
comment
поэтому удаление существующих сопоставлений в исходной среде, а затем отправка решения в целевую среду не привело к удалению сопоставлений из целевой среды? Это то, что вы говорите? посмотрите в узлах EntityMaps и EntityRelationships файла customizations.xml информацию о сопоставлениях.   -  person Joseph Duty    schedule 25.09.2015
comment
@JosephDuty: Нет, есть только одна среда, в которой я вручную удаляю половину сопоставлений, а затем пытаюсь вернуть их, импортируя настройки, чего не происходит. Ваше другое замечание указало мне на решение, см. ниже.   -  person Leon Bouquiet    schedule 26.09.2015


Ответы (2)


Я также видел, где у вас должны быть как отношения, так и оба поля, определяющие сопоставление в решении, чтобы сопоставления можно было экспортировать... Итак, если у меня есть сущность A, которая имеет сопоставление с B, для полей A. 1 к B.1 и A.2 к B.2, я должен убедиться, что отношения и поля A.1, A.2, B.1 и B.2 также были добавлены в решение, или иначе они не экспортируются.

Обновлять

После некоторого дальнейшего тестирования, чтобы атрибуты поиска были включены в экспорт сопоставления, поле целевого атрибута ДОЛЖНО БЫТЬ включено в решение!

person Daryl    schedule 21.12.2016
comment
Я опаздываю на вечеринку, но слава Дэрилу. Точно! Парень, который разместил вопрос, а затем вроде ответил на него ниже, возможно, нашел способ сделать это, но это неправильный способ. Правильным ответом является включение целевых полей поиска в решение. - person Tony; 11.10.2018

Как указал Джозеф Дьюти, сопоставления атрибутов хранятся в файле customizations.xml в разделе ImportExportXml/EntityMaps (см. Схема файлов решений по настройке и как их использовать). Однако при экспорте решения они не содержат никаких «системных» отношений, а только отношения, в которых хотя бы один объект является пользовательским. Вероятно, поэтому мои изменения отображения не попали в экспорт решения.

Хорошей новостью является то, что вы можете вручную добавить такое сопоставление в файл customizations.xml, и при импорте вы увидите, что сопоставление появляется во всех отношениях между этими объектами:

<EntityMaps>
  <EntityMap>
    <EntitySource>account</EntitySource>
    <EntityTarget>contact</EntityTarget>
    <AttributeMaps>
      <AttributeMap>
        <AttributeSource>telephone1</AttributeSource>
        <AttributeTarget>telephone2</AttributeTarget>
      </AttributeMap>
      <AttributeMap>
        <AttributeSource>telephone1</AttributeSource>
        <AttributeTarget>telephone3</AttributeTarget>
      </AttributeMap>
    </AttributeMaps>
  </EntityMap>    

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

person Leon Bouquiet    schedule 26.09.2015
comment
Рад быть полезным - person Joseph Duty; 27.09.2015
comment
Что делать, если вам нужно экспортировать одно и то же решение много раз? Будете ли вы продолжать вручную добавлять сопоставление? Это неправильный способ сделать это. См. ответ Дэрила выше. Это решает проблему навсегда. - person Tony; 11.10.2018