Errore durante l'importazione di AttributeMap in Microsoft Dynamics 365

Questo articolo fornisce una soluzione a un errore che si verifica quando si importa AttributeMap in Microsoft Dynamics 365.

Si applica a: Microsoft Dynamics 365 Customer Engagement Online
Numero KB originale: 4494576

Sintomi

Quando si tenta di importare una soluzione in Dynamics 365, viene visualizzato l'errore seguente:

"Importazione della soluzione: [nome soluzione] non riuscita.
Codice di errore 8004f016"

La griglia all'interno della finestra di dialogo di errore include una riga di Tipo = Mapping. Il testo dettagliato visualizzato per questa riga è il messaggio seguente:

"Una soluzione gestita non può sovrascrivere un componente AttributeMap nel sistema di destinazione con un'istanza di base non gestita. Lo scenario più probabile per questo errore è che una soluzione non gestita ha installato un nuovo componente AttributeMap non gestito nel sistema di destinazione e ora una soluzione gestita dello stesso server di pubblicazione sta provando a installare lo stesso componente AttributeMap gestito. Ciò causerà un layering non valido delle soluzioni nel sistema di destinazione e non è consentito."

Scaricare il file di log XML e aprirlo in Excel. Nella scheda Componenti individuare la cella: 0x8004F016.

Nella colonna successiva verrà visualizzato un messaggio di errore che include l'ID del componente:

"Una soluzione gestita non può sovrascrivere il componente AttributeMap con Id= [ID componente] che ha un'istanza di base non gestita. Lo scenario più probabile per questo errore è che una soluzione non gestita ha installato un nuovo componente AttributeMap non gestito nel sistema di destinazione e ora una soluzione gestita dello stesso server di pubblicazione sta provando a installare lo stesso componente AttributeMap gestito. Ciò causerà un layering non valido delle soluzioni nel sistema di destinazione e non è consentito."

Causa

Come indicato nei dettagli dell'errore, lo scenario più probabile per questo errore è che è stata eseguita una personalizzazione non gestita nella soluzione predefinita nell'organizzazione di destinazione. Che causerà un layering non valido delle soluzioni nel sistema di destinazione e non è consentito.

Esempio: l'istanza di Dynamics 365 ha già un componente, ad esempio un attributemap personalizzato creato modificando la soluzione predefinita. Se in seguito si tenta di importare una soluzione con lo stesso AttributeMap (componente) di una soluzione gestita, si riceverà questo errore.

Risoluzione

Per AttributeMap, il componente gestito può essere trovato con due query API Web e quindi eliminato nella destinazione:

  1. Aprire un browser per l'organizzazione e quindi duplicare la scheda.

  2. [GUID from Error] Sostituire con il GUID del messaggio di errore del file di log e quindi accodare all'organizzazione:

    api/data/v9.1/attributemaps([GUID from Error])?$select=_entitymapid_value,sourceattributename, targetattributename

    Esempio:
    https://MyOrganization.crm11.dynamics.com/api/data/v9.1/attributemaps(0a7bb84f-3d3c-e911-a977-0022480187f0)?$select=_entitymapid_value,sourceattributename,targetattributename

    L'output è disponibile:

    {
    "@odata.context": "https://MyOrganization.crm11.dynamics.com/api/data/v9.1/$metadata#attributemaps(_entitymapid_value,sourceattributename,targetattributename)/$entity",
    "@odata.etag": "W/"5299006"",
    "_entitymapid_value": "1172d7cc-3c3c-e911-a977-0022480187f0",
    "sourceattributename": "css_mapfieldparent",
    "targetattributename": "css_mapfieldchild",
    "attributemapid": "0a7bb84f-3d3c-e911-a977-0022480187f0",
    "_organizationid_value": "112f329f-0a5f-4e2c-a2f0-c54e4824faa9"
    }
    
  3. [_entitymapid_value] Sostituire con il valore della prima query e quindi accodare l'organizzazione:

    api/data/v9.1/entitymaps([_entitymapid_value])?select=sourceentityname,targetentityname

    Esempio:
    https://MyOrganization.crm11.dynamics.com/api/data/v9.1/api/data/v9.1/entitymaps(1172d7cc-3c3c-e911-a977-0022480187f0)?select=sourceentityname,targetentityname

    L'output è disponibile:

    {
    "@odata.context": "https://emeacrm3.crm11.dynamics.com/api/data/v9.1/$metadata#entitymaps(sourceentityname,targetentityname)/$entity",
    "@odata.etag": "W/"5296276"",
    "sourceentityname": "css_testamparent",
    "targetentityname": "css_testamchild",
    "entitymapid": "1172d7cc-3c3c-e911-a977-0022480187f0",
    "_organizationid_value": "112f329f-0a5f-4e2c-a2f0-c54e4824faa9"
    }
    
  4. Usare le informazioni recuperate dalle due query per identificare AttributeMap:

    sourceentityname: css_testamparent,
    sourceattributename: css_mapfieldparent,
    targetentityname: css_testamchild,
    targetattributename: css_mapfieldchild,

  5. Un attributemap non può esistere senza un 1:N relationshipoggetto . Cercare l'esempio seguente nell'organizzazione di destinazione:

    1:N relazione da [sourceentityname] ->[targetentityname] in base ai campi [sourceattributename] ->[targetattributename]

  6. Individuare questo componente nell'organizzazione di destinazione passando a Impostazioni, Personalizzazioni, Personalizzare il sistema.

  7. Selezionare Entità e quindi Apri [sourceentityname].

  8. Selezionare 1:N Relazioni.

  9. Ordinare in base all'entità correlata e aprire la relazione con [targetentityname].

  10. Selezionare Mapping a sinistra.

  11. Rimuovere il mapping con:

    Nome origine: [sourceattributename]
    Nome destinazione: [targetattributename]

  12. Provare a importare di nuovo la soluzione.