none
Liste der Leads RRS feed

  • Frage

  • Hi.
    Ich bin Anfänger im Bereich der CRM Programmierung.
    Ich bräuchte Hilfestellung was das auslesen von z.B. lead's angeht.
    (Aber auch Kunden auslesen, Firmen auslesen usw.)

    Bislang habe ich es geschafft, einen bestimmten Datensatz zu lesen mit der entsprechenden ID.
    Doch ich brauche eine komplette Liste aller Datensätze von z.B. Leads oder Kunden etc.
    um diese Liste vergleichen zu können.

    Mein Code bislang (ausschnitt)
    public static void Retrive(Guid Id)
    
            {
    
                CrmService service = GetCrmService("xxx", "xxx");
    
    
    
                ColumnSet cols = new ColumnSet();
    
    
    
                cols.Attributes =
    
                    new string[] { "fullname", "telephone1" };
    
    
    
                try
    
                {
    
                    lead oLead = (lead)service.Retrieve(EntityName.lead.ToString(), Id, cols);
    
                    Console.WriteLine("Lead fullname: {0}", oLead.fullname);
    
                    Console.WriteLine("Lead fullname: {0}", oLead.telephone1);
    
                    Console.ReadLine();
    
                    
    
                }
    
                catch (System.Web.Services.Protocols.SoapException ex)
    
                {
    
                    Console.WriteLine(ex.Detail.InnerText);
    
                }
    
            }
    
    
    
            public static CrmService GetCrmService(string orgName, string server)
    
            {
    
                CrmAuthenticationToken token = new CrmAuthenticationToken();
    
                token.AuthenticationType = 0;
    
                token.OrganizationName = orgName;
    
    
    
                CrmService service = new CrmService();
    
                service.UseDefaultCredentials = true;
    
    
    
                service.CrmAuthenticationTokenValue = token;
    
                service.Url = string.Format("http://{0}/mscrmservices/2007/crmservice.asmx", server);
    
    
    
                return service;
    
    
    
            }
    
        }
    
    
    Vielen Dank
    Montag, 7. Dezember 2009 15:38

Antworten

Alle Antworten

  • Hi,

    dafür gibt es die Message RetrieveMultiple. Siehe http://msdn.microsoft.com/en-us/library/bb959491.aspx. Der Link enthält auch ein Verwendungsbeispiel.
    • Als Antwort vorgeschlagen ckeller Donnerstag, 10. Dezember 2009 11:14
    • Als Antwort markiert JuergenBeckModerator Donnerstag, 7. Januar 2010 00:18
    Montag, 7. Dezember 2009 20:36
  • Vielen Dank. Das hat mir sehr geholfen. Klappt wunderbar.

    Eine Frage hätte ich jedoch noch.

    Mein Programm benötigt sobald im CRM irgendetwas geändert oder neu erstellt wird, die ID des jeweiligen Fensters.
    Ändert oder erstellt jemand im CRM z.B. einen neuen Lead und drückt auf "Speichern", so muss das CRM irgendwie mein Programm ansprechen
    und die ID des gerade geänderten oder erstellten Leads übergeben.

    Das Programm nutzen wir zur Synchronisation mit einem Sage Produkt.
    Die Daten sollen so im Sage sowie im CRM Produkt immer gleich sein.

    Ich kann glaube ich per Javascript im CRM bei "OnSave", etwas bewirken, oder?
    Wenn ja, wäre es angebracht das Synchronisastionsprogramm an welchem ich ja gerade arbeite (C#) mit in das CRM asp.net projekt zu integrieren anstatt eine eigenstände Anwendung zu compilieren.

    Vielen Dank für die Unterstützung im Vorraus schonmal :-)

    Lg aus Hannover
    Donnerstag, 10. Dezember 2009 10:09
  • Hi,

    solche Anforderungen werden für gewöhnlich über Plugins gelöst. Mit diesen hast du die Möglichkeit dich in die Abarbeitung von Ereignissen wie das Erstellen oder Aktualisieren von Datensätzen zu integrieren. Siehe [1] für eine Übersicht über das Thema.

    Form-Scripting (OnSave, ...) ist für deine Anforderungen das falsche Werkzeug.
    Wie du bereits erwähnt hast, wäre der bessere Weg, dass du die Logik deines Programms in Plugins auslagerst. Eine andere Möglichkeit wäre, ein Standardprodukt wie z.B. Scribe [2] einzusetzen.

    [1] http://msdn.microsoft.com/en-us/library/cc151086.aspx
    [2] http://www.scribesoft.com/Dynamics-Integration.asp
    Donnerstag, 10. Dezember 2009 11:19