2017-03-02 2 views
0

Problem Ich versuche, meine Konten zu erhalten, um die zusammengesetzte Adresse mit der neuen Adresse zu aktualisieren. Alle Felder in der Kundenadresse zeigen die neuen Werte an, aber die zusammengesetzte Adresse zeigt die alte Adresse an.Wie aktualisiere ich Adresszusammensetzung in MS CRM?

Gewünschtes Ergebnis: Composite-Feld-Updates auf die neue Adresse auf die Adressfelder ändern

Tatsächliches Ergebnis: Composite-Feld zeigt die alte Adresse

Dinge, die ich versucht habe:

  1. Aktualisierung der Adresse
  2. Die Adresse löschen und eine neue (BAD IDEA)
  3. Einstellung alle Felder auf die Standardwerte zu schaffen, wenn das Konto
  4. Einstellen des zusammengesetzten Feldes direkt
  5. Einstellen der Versionsnummer auf den Standard 0x00003F3F
  6. erstellt wurde
  7. alle Adressfelder einstellen

aktuellen Code auf null:

Entity theAccount = proxy.Retrieve("account", Guid.Parse("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"), new Microsoft.Xrm.Sdk.Query.ColumnSet(true)); 
Guid address1_id = theAccount.Attributes.ContainsKey("address1_addressid") ? (Guid)theAccount.Attributes["address1_addressid"] : Guid.Empty; 

Entity theAddress = new Entity() 
{ 
    LogicalName = "customeraddress", 
    Id = address1_id 
}; 
theAddress.Attributes["line1"] = null; 
theAddress.Attributes["line2"] = null; 
theAddress.Attributes["line3"] = null; 
theAddress.Attributes["city"] = null; 
theAddress.Attributes["stateorprovince"] = null; 
theAddress.Attributes["country"] = null; 
theAddress.Attributes["county"] = null; 
theAddress.Attributes["postofficebox"] = null; 
theAddress.Attributes["postalcode"] = null; 
theAddress.Attributes["composite"] = null; 

proxy.Update(theAddress); 

theAddress.Attributes["line1"] = "1 New Street"; 
theAddress.Attributes["line2"] = null; 
theAddress.Attributes["line3"] = null; 
theAddress.Attributes["city"] = "New City"; 
theAddress.Attributes["stateorprovince"] = "New State"; 
theAddress.Attributes["country"] = "New Country"; 
theAddress.Attributes["county"] = null; 
theAddress.Attributes["postofficebox"] = null; 
theAddress.Attributes["postalcode"] = "1234"; 

proxy.Update(theAddress); 

Frage Wie erfolgreich ich das Feld auf die Aktualisierung der Adressfelder

+0

Wenn Sie den Datensatz nach dem zweiten Update abrufen, bleibt das zusammengesetzte Feld null? –

Antwort

2

Sie in Microsoft Dynamics CRM-Adresse Verbund ändern die Adressfelder des Konto Datensatz aktualisieren sollte, nicht das Customer.

heißt

Entity theAccount = new Entity("account", "XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXX"); 

theAccount["address1_line1"] = null; 
theAccount["address1_line2"] = null; 
theAccount["address1_line3"] = null; 
theAccount["address1_city"] = null; 
theAccount["address1_stateorprovince"] = null; 
theAccount["address1_country"] = null; 
theAccount["address1_county"] = null; 
theAccount["address1_postofficebox"] = null; 
theAccount["address1_postalcode"] = null; 
theAccount["address1_composite"] = null; 

proxy.Update(theAccount); 

theAccount["address1_line1"] = "1 New Street"; 
theAccount["address1_line2"] = null; 
theAccount["address1_line3"] = null; 
theAccount["address1_city"] = "New City"; 
theAccount["address1_stateorprovince"] = "New State"; 
theAccount["address1_country"] = "New Country"; 
theAccount["address1_county"] = null; 
theAccount["address1_postofficebox"] = null; 
theAccount["address1_postalcode"] = "1234"; 

proxy.Update(theAccount); 

Wenn dies Sie tun eine Echtzeit-Betrieb von einer Art findet statt, während das Formular geöffnet ist, können Sie auch müssen möglicherweise Xrm.Page.data.refresh(false) aufrufen für die neuen Daten zu zeigen.

+0

Vielen Dank. Ich blieb stecken und musste die Kundenadresse löschen, anstatt auf dem Konto. Ich war eine Woche lang dabei: S –

Verwandte Themen