Ich habe ein Szenario in CRM, wo ich bestehende Konten mit ihrer Mehrwertsteuer und Registrierungsnummer aktualisieren muss. Es gibt weit über 30 Tausend Konten im System. Ich versuche, mit der CRM SDK-API zu aktualisieren, aber ich kämpfe, um herauszufinden, wie das eigentliche Update durchgeführt wird. Die Umsatzsteueridentifikationsnummer und -registrierung wurden mir in einer Tabelle mit der entsprechenden Nummer zur Verfügung gestellt. Bitte beachten Sie, dass die Konten bereits in CRM enthalten sind. Daher muss nur das korrekte Konto mit der Umsatzsteuer- und Registrierungsnummer aktualisiert werden Bitte beachten Sie meinen Code unten:CRM Dynamics 2013 SDK Aktuelle Konten mit 2 Werten aktualisieren
public static void UpdateAllCRMAccountsWithVATAndRegistrationNumber(IOrganizationService service)
{
QueryExpression qe = new QueryExpression();
qe.EntityName = "account";
qe.ColumnSet = new ColumnSet("account", "new_vatno", "new_registrationnumber");
qe.Criteria.AddCondition("accountnumber", ConditionOperator.In,"TA10024846", "TA10028471", "TA20014015", "TA4011652", "TA4011557");
EntityCollection response = service.RetrieveMultiple(qe);
foreach (var acc in response.Entities)
{
acc.Attributes["new_vatno"] = //this is where I am struggling to figure out how I am gong to match the records up,
acc.Attributes["new_registrationnumber"] = //this is where I am struggling to figure out how I am gong to match the records up,
service.Update(acc);
}
}
Wie werde ich sicherstellen, dass ich die richtigen Datensätze aktualisieren. Ich habe die Mehrwertsteuer- und Registrierungsnummern für die Konten in einer Tabelle, siehe Beispielbild unten. Kann ich bitte hier beraten werden? Vielen Dank.
Dank @Nicknow, ich habe es geschaffen, es richtig zu machen einen etwas anderen Ansatz. Siehe meine Antwort unten. – Papi
@papi - deine Antwort ist falsch, es ist schlechter Code, der nicht kompiliert wird und nicht tun würde, was du sagst. Jeder, der deine Antwort als richtig erachtet, ist irregeleitet. Selbst wenn es kompiliert wurde, ist es nicht empfehlenswert, das ursprüngliche Entitätsobjekt im Aktualisierungsaufruf an den CRM-Server zu senden. Sie müssen lediglich die ID und die fehlerhaften Felder senden. Außerdem wäre Ihr Code furchtbar ineffizient. – Nicknow
Danke für die konstruktive Kritik. Ich werde den vorgeschlagenen Ansatz versuchen. – Papi