Help and Support
 

powered byLive Search

"CustomerKey esiste già e il flag UpdateIfExists è impostato per non consentire gli aggiornamenti"

Identificativo articolo:929277
Ultima modifica:mercoledì 15 agosto 2007
Revisione:1.3
Su questa pagina

Sintomi

Si prova a integrare più account in 3,0 CRM Dinamico Microsoft come clienti in GP Dinamico Microsoft utilizzando il Connettore CRM Dinamico Microsoft per GP Dinamico Microsoft. Se contiene il nome di account del primo account 14 caratteri alfanumerici seguiti da un carattere di spazio, il primo conto è integrato correttamente. Tuttavia non può essere integrati dagli account successivi che dispongono di nomi di account che contengono 14 caratteri come previsto. Si visualizza inoltre il seguente messaggio di errore:
CustomerKey esiste già e il flag UpdateIfExists è impostato per non consentire gli aggiornamenti.
Se i nomi di account che contengono 14 caratteri alfanumerici seguiti da un carattere di spazio sono integrati a GP Dinamico Microsoft e se si aggiorna il primo, il record di clienti di tipo in GP Dinamico Microsoft, un account duplicato, si crea in CRM Dinamico Microsoft.

Analizzare il seguente scenario:
?Si crea un account in CRM Dinamico Microsoft che si denomina Colorado Università. Notare che questo nome di account non può esistere in CRM Dinamico Microsoft. Il nome deve inoltre contenere uno spazio vuoto come il carattere 15th in CRM Dinamico Microsoft. Ad esempio, creare un account in CRM Dinamico Microsoft che si denomina Nebraska Università è inoltre possibile.
?Questo nuovo record si integra a GP Dinamico Microsoft. Il record ha un valore ID cliente di "Colorado Stato" e un nome di cliente di Colorado Università. Si aggiorna il record di clienti in GP Dinamico Microsoft. Ad esempio, si cambia l'indirizzo.
?Si vede questo record che integra a CRM Dinamico Microsoft come un aggiornamento al record esistenti per Colorado Università. Un account duplicato tuttavia si crea in CRM Dinamico Microsoft. Il nome di account per il record duplicato è Colorado Università. Il nuovo account è collegato ora al cliente in GP Dinamico Microsoft.

Torna all'inizio

Cause

Questo problema si può verificare poiché il Connettore CRM Dinamico Microsoft utilizza il valore nel campo account name in 3,0 CRM Dinamico Microsoft per creare il valore nel campo di numero di cliente (CUSTNMBR) in GP Dinamico Microsoft.

Per l'impostazione predefinita, il valore nel campo account name in 3,0 CRM Dinamico Microsoft può contenere 160 massimo caratteri. In GP Dinamico Microsoft, il valore nel campo CUSTNMBR può contenere solo 15 caratteri. Quando il valore nel campo CUSTNMBR si crea durante il processo di integrazione, il carattere di spazio che segue un nome di account che contiene 14 caratteri comporta la creazione di un valore duplicato CUSTNMBR.

Torna all'inizio

Workaround

Risolvere questo problema, aggiornare il Connettore CRM Dinamico Microsoft si associa nel computer che esegue Microsoft BizTalk Server. Attenere a questa seguente procedura a eseguire l'operazione.

Torna all'inizio

Passaggio 1: Impostare il progetti di Visual Studio BizTalk per il Connettore CRM Dinamico Microsoft

1.Creare una nuova soluzione vuota in Microsoft Visual Studio. Attenere a questa seguente procedura a eseguire l'operazione:
a. Avviare Microsoft Visual Studio .NET 2003.
b. Dal menu File, scegliere Nuovo e quindi scegliere Soluzione vuota.
c. Nella casella Nome, digitare IntegrationSolution Come il nome della soluzione e quindi scegliere OK.
2.Copiare la cartella SchemaMaps dal percorso di installazione Connettore CRM Dinamico Microsoft alla cartella principale per la soluzione vuota. Attenere a questa seguente procedura a eseguire l'operazione:
a. I file di installazione individuare per il Connettore CRM Dinamico Microsoft.
b. Fare clic con il pulsante destro della cartella SchemaMaps e quindi scegliere Copia.
c. Trovare la soluzione IntegrationSolution. Per l'impostazione predefinita, la soluzione si trova nella seguente cartella:
\My Documents\Visual Progetti Studio username C:\Documents e Settings\
d. Aprire la cartella IntegrationSolution.
e. Fare clic con il pulsante destro di un'area vuota nella cartella e quindi scegliere Incolla.
3.Aggiungere i tre progetti BizTalk nella cartella SchemaMaps alla soluzione vuota. Attenere a questa seguente procedura a eseguire l'operazione:
a. Dal menu Visualizza, scegliere Esplora soluzioni.
b. Fare clic con il pulsante destro della soluzione in Esplora soluzioni, fare clic su Aggiungi e quindi scegliere Progetto esistente.
c. Aprire la cartella SchemaMaps e quindi aprire la cartella CRMSchemas.
d. Fare doppio clic sul file CRMSchemas.btproj.
e. Fare clic con il pulsante destro della soluzione in Esplora soluzioni, fare clic su Aggiungi e quindi scegliere Progetto esistente.
f. Aprire la cartella GPSchemas.
g. Fare doppio clic sul file GPSchemas.btproj.
h. Fare clic con il pulsante destro della soluzione in Esplora soluzioni, fare clic su Aggiungi e quindi scegliere Progetto esistente.
i. Aprire la cartella Mapscrmgp.
j. Fare doppio clic sul file Mapscrmgp.btproj.
4.Creare un file di chiave di nome sicuro per firmare l'output di ogni progetto. Attenere a questa seguente procedura a eseguire l'operazione:
a. Fare clic sul pulsante Start, scegliere Tutti i programmi, scegliere Microsoft Visual Studio .NET 2003, scegliere Visual Studio .NET Tools e quindi scegliere Visual Studio .NET 2003 Command Prompt.
b. Al prompt dei comandi digitare il comando seguente e premere INVIO
sn -k the path in which you want the strong name key file to be written\file_name.snk
5.Impostare ogni progetto per utilizzare il file di chiave di nome sicuro per firmare l'output di ogni progetto. Attenere a questa seguente procedura in Microsoft Visual Studio per ogni progetto della soluzione IntegrationSolution a eseguire l'operazione:
a. Fare clic con il pulsante destro del progetto e quindi scegliere Proprietà.
b. In Proprietà comuni, fare clic su Assembly.
c. Nell'area Nome sicuro, scegliere False nella casella Assembly Delay Sign.
d. Nella casella Assembly key file, digitare il percorso del file .snk creato a passaggio 4.
e. Scegliere OK.
6.Aggiungere i riferimenti ai file di integrazione dll. Attenere a questa seguente procedura a eseguire l'operazione:
a. Il progetto MapsCRMGP espandere, espandere Riferimenti, fare clic con il pulsante destro dei seguenti riferimenti e quindi fare clic su Rimuovi:
?Microsoft.MbsIntegration.CRMSchemas
?Microsoft.MbsIntegration.GPSchemas
?Microsoft.MbsIntegration.FunctoidsCRMGP
b. Fare clic con il pulsante destro di Riferimenti e quindi scegliere Aggiungi riferimento.
c. Fare clic su Sfoglia e quindi cercare il file Microsoft.MbsIntegration.FunctoidsCRMGP.dll.

Per l'impostazione predefinita, il file Microsoft.MbsIntegration.FunctoidsCRMGP.dll si trova nella stessa cartella dei file di installazione Connettore CRM Dinamico Microsoft.
d. Fare clic sul file Microsoft.MbsIntegration.FunctoidsCRMGP.dll e quindi scegliere Apri.
e. Fare clic con il pulsante destro di Riferimenti e quindi scegliere Aggiungi riferimento.
f. Nella scheda Progetti, selezionare il progetto CRMSchemas e il progetto GPSchemas, fare clic su Seleziona e quindi scegliere OK.
7.Modificare il nome di assembly per l'output di progetto MapsCRMGP. Attenere a questa seguente procedura a eseguire l'operazione:
a. Fare clic con il pulsante destro del progetto MapsCRMGP e quindi scegliere Proprietà.
b. In Proprietà comuni, fare clic su Generale.
c. Nella casella Nome assembly, fare clic su Microsoft.MbsIntegration.MapsCRMGPCustom e quindi scegliere OK.

Torna all'inizio

Passaggio 2: Aggiornare la mappa BizTalk Crm_account_to_gp_customer.btm

In questo passaggio, si utilizza un functoid di script per rimuovere gli spazi dal valore associato al nodo CUSTNMBR. Il valore associato al nodo CUSTNMBR è nella mappa BizTalk Crm_account_to_gp_customer.btm del progetto MapsCRMGP nella soluzione.

Attenere a questa seguente procedura a eseguire l'operazione:
1.Il progetto MapsCRMGP espandere.
2.La cartella AccountCustomer espandere.
3.Fare doppio clic sul file Crm account to gp customer.btm.
4.Advanced Functoids nella casella degli strumenti Microsoft Visual Studio, trascinare un functoid di script sull'area Mapping.
5.Sul lato destro del file di mapping, il nodo CUSTNMBR individuare.
6.Trovare e quindi selezionare il collegamento che connette il nodo CUSTNMBR alla funzione di script nella mappa.

Nota: Quando si seleziona il nodo di collegamento, il nodo di collegamento si modificherà blu.
7.Fare clic sull'estremità del collegamento che connette il nodo CUSTNMBR e quindi trascinare quello fine sul nuovo functoid di script aggiunto nell'area Mapping.
8.Fare clic sul functoid di script connesso utilizzando il collegamento e quindi trascinare il functoid di script al nodo CUSTNMBR.

Si dovrebbe disporre ora di un functoid di script a cui si collega un altro functoid di script. Il functoid di script dovrebbe inoltre essere collegato al nodo CUSTNMBR.
9.Fare clic con il pulsante destro del functoid di script che si è aggiunto nell'area Mapping e quindi scegliere Proprietà.
10.Fare clic sul pulsante di ellissi ( ...) per la proprietà Script. Si apre la finestra di dialogo Opzioni Configure Functoid Script.
11.Nella casella Tipo di script, fare clic su C# inline.
12.Nella casella Inline script buffer, selezionare e quindi eliminare il testo.
13.Copiare il codice riportato di seguito nell'area di testo di buffer Inline di script e quindi scegliere OK.
public string ReplaceSpaces(string custnmbr)
{
   custnmbr = custnmbr.Replace(" ","");
   return custnmbr;
}
14.Dal menu Genera, scegliere Build MapsCRMGP.

Torna all'inizio

Passaggio 3: Pubblicare la mappa personalizzata BizTalk Crm_account_to_gp_customer.btm

In questo passaggio, si aggiorna la mappa BizTalk Crm_account_to_gp_customer.btm utilizzando l'Impostazione e l'Strumento Amministrazione sul server che esegue il Connettore CRM Dinamico Microsoft. Attenere a questa seguente procedura a eseguire l'operazione:
1. Fare clic sul pulsante Start, scegliere Tutti i programmi, scegliere Microsoft CRM Connector for Microsoft Dynamics GP e quindi scegliere Setting and Administration Tool.
2.Fare clic su Amministrazione e quindi scegliere Integration Server.
3.Fare clic sulla scheda Customize Maps.
4.Fare clic su Aggiungi mapping.
5.Trovare e quindi aprire il file Microsoft.MbsIntegration.MapsCRMGPCustom.dll.
6.Nella casella di dialogo Add New Map Web Page, fare clic su Select Map e quindi fare clic su Microsoft.MbsIntegration.MapsCRMGP.crm account to gp customer. Quindi seguire questi passaggi:
a. Nella casella Map description type, digitare una descrizione per la mappa.
b. Nella casella Evento, fare clic su Crea.
c. Nella casella Source application, fare clic su Microsoft CRM.
d. Nella casella Source entity, fare clic su Account.
e. Nella casella Destination application, fare clic su Microsoft Great Plains.
f. Nella casella Destination entity, fare clic su Customer.
g. Fare clic su Deploy Maps.
7.Scegliere OK.
8.Fare clic sul pulsante Start, scegliere Tutti i programmi, scegliere Strumenti di amministrazione e quindi scegliere Servizi.
9.Riavviare i seguenti servizi:
?BizTalkServerApplication
?MBSIntSendHost

Torna all'inizio


Le informazioni in questo articolo si applicano a
?Microsoft Dynamics CRM 3.0
?Microsoft Dynamics CRM Connector for Microsoft Dynamics GP alle seguenti piattaforme
  Microsoft Dynamics CRM 3.0

Torna all'inizio

Chiavi: 
kbmbscrm40no kbtshoot kbexpertiseinter kberrmsg kbmbsmigrate kbprb KB929277 KbMtit kbmt

Torna all'inizio

Traduzione automatica articoliIl presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica. Nel caso in cui si riscontrino degli errori e si desideri inviare dei suggerimenti, è possibile completare il questionario riportato alla fine del presente articolo.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 929277 (http://support.microsoft.com/kb/929277/en-us/)

Torna all'inizio

LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Traduzione articoli

 

Related Support Centers

Other Support Options

  • Need More Help?
    Contact a Support professional by Email, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.