Secrets de personnalisation de Microsoft CRM - deuxième édition Votre webzine gratuit

ARTICLES EN LIBRE DE DROIT :: Informatique :: Secrets de personnalisation de Microsoft CRM - deuxième édition


Secrets de personnalisation de Microsoft CRM - deuxième édition


  • Faxer sur internet : comment faxer sur internet    par Stéphane RAMBAUD
  • Halte aux spams !    par Jean-Marie Noguier
  • Débutant du web, qu'est-ce qu'un navigateur internet ?    par Josée Brousseau
  • Formation informatique gratuite    par cathy clement
  • Qu'est ce que le marketing de l'affiliation ?    par Michaël Fontaine






  • Cet article est pour les réalisateurs avançés de Microsoft CRM SDK C#. Il décrit la technique du SQL direct programmant, quand SDK n'a pas la fonctionnalité pour faire le travail.

    Introduction. Les ressembler à Microsoft CRM devient de plus en plus populaire, en partie en raison des muscles de Microsoft derrière lui. Maintenant il est visé au spectre entier de la clientèle horizontale et verticale du marché. Il est étroitement intégré avec d'autres produits de solutions d'affaires de Microsoft tels que de grandes plaines de Microsoft, Solomon, Navision (les deux derniers en marche).

    Ici nous décrivons la technique de créer activité-email fermé en utilisant MME. CRM SDK et dirigeons la programmation de SQL.

    Formation image n'importe quoi de pareil. Vous devez manipuler l'email entrant avant qu'il soit commis à la base de données de MME. échange. Vous devez analyser si l'email entrant n'aurait pas GUID dans son sujet (GUID permettra au connecteur d'échange de MME. CRM de déplacer l'email à Microsoft CRM et de l'attacher au contact, au compte ou au fil) - alors vous a besoin toujours de MME. CRM de consultation au cas où si un des comptes, entre en contact ou les fils a l'email address qui des matchs avec l'email address d'expéditeur - alors vous devez créer activité-email fermé dans MME. CRM, attachée à l'objet et placée dans la file d'attente générale.

    Comment créer le traiteur de MME. échange est en dehors de de la portée, voient svp cet article :


    http://www.albaspectrum.com/Customizations_Whitepapers/Dexterity_SQL_VBA_Crystal/ExchangeHandlerExample.htm

    Maintenant le code ci-dessous est MME. classique CRM SDK et il créera l'email d'activité :

    Guid public CreateEmailActivity (identification de l'utilisateur de Guid, objectType interne, objectId de Guid, mailFrom de corde, crmUser de CRMUser, sujet de corde, corps de corde) {

    essai {

    notation. Corriger (« se préparer à l'activité de courrier créant ») ;

    Objet de procuration de // BizUser

    bizUser de Microsoft.Crm.Platform.Proxy.BizUser = nouveau Microsoft.Crm.Platform.Proxy.BizUser () ;

    Qualifications d'ICredentials = nouveau NetworkCredential (sysUserId, sysPassword, sysDomain) ;

    bizUser.Url = crmDir + « BizUser.srf » ;

    bizUser.Credentials = qualifications ;

    userAuth de Microsoft.Crm.Platform.Proxy.CUserAuth = bizUser.WhoAmI () ;

    Objet de procuration de // CRMEmail

    Microsoft.Crm.Platform.Proxy.CRMEmail email = nouveau Microsoft.Crm.Platform.Proxy.CRMEmail () ;

    email. Qualifications = qualifications ;

    email. URL = crmDir + « CRMEmail.srf » ;

    // a établi la corde de XML pour l'activité

    strActivityXml = "" de corde ;

    "" du strActivityXml += ;

    "" du strActivityXml +=) + « ]] > » ;

    "" du strActivityXml += ;

    strActivityXml += userId.ToString (« B ») + "" ;

    "" du strActivityXml += ;

    // a établi la corde de XML pour les parties d'activité

    strPartiesXml = "" de corde ;

    "" du strPartiesXml += ;

    "" du strPartiesXml += + crmUser.GetEmailAddress () + "" ;

    "" du strPartiesXml += + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString () + "" ;

    "" du strPartiesXml += + crmUser.GetId () .ToString (« B ») + "" ;

    "" du strPartiesXml += ;

    strPartiesXml += Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_TO_RECIPIENT.ToString () ;

    "" du strPartiesXml += ;

    "" du strPartiesXml += ;

    "" du strPartiesXml += ;

    "" + mailFrom + "" du strPartiesXml += ;

    si (== Microsoft.Crm.Platform.Types.ObjectType.otAccount d'objectType) {

    "" du strPartiesXml += + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString () + "" ;

    }

    autrement si (== Microsoft.Crm.Platform.Types.ObjectType.otContact d'objectType) {

    "" du strPartiesXml += + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString () + "" ;

    }

    autrement si (== Microsoft.Crm.Platform.Types.ObjectType.otLead d'objectType) {

    "" du strPartiesXml += + Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString () + "" ;

    }

    "" du strPartiesXml += + objectId.ToString (« B ») + "" ;

    "" du strPartiesXml += ;

    strPartiesXml += Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_SENDER.ToString () ;

    "" du strPartiesXml += ;

    "" du strPartiesXml += ;

    "" du strPartiesXml += ;

    notation. Corriger (strPartiesXml) ;

    // créent l'objet d'E-mail

    emailId de Guid = nouveau Guid (email. Créer (userAuth, strActivityXml, strPartiesXml));

    renvoyer l'emailId ;

    }

    attraper (System.Web.Services.Protocols.SoapException e) {

    notation. Corriger (« ErrorMessage :  » + e.Message + « « + e.Detail.OuterXml + » source : « + e.Source) ;

    }

    crochet (exception e) {

    notation. Corriger (e.Message + « « + e.StackTrace) ;

    }

    renvoyer nouveau Guid () ;

    }

    Nos crédits à Anna Osborn (l'aquarium tellement évidemment petit de poche va à elle - le sourire !), elle nous a faits savoir clôturer l'activité de MME. CRM :

    //creates l'activité

    strActivityId = oActivity.Create (userAuth, strXml, activityPartyXml) ;

    //closes il tant que les champs appropriés sont oActivity.Close complets (userAuth, strActivityId, -1) ;

    Mais de toute façon celui que vous trouviez ci-dessous pourrait vous aider à faire celui que CRM SDK ne puisse pas.

    Maintenant je voudrais partager le tour avec toi - il n'y a aucune méthode pour faire cette activité clôturée dans MME. CRM SDK 1.2 (si quelqu'un connaît celui - que je te dois le petit aquarium de poche - sourire !). Évidemment Microsoft ne soutient pas si vous dirigez le SQL programmant déviant SDK. Cependant je dirais que ce n'est pas création d'objets directs - c'est marque plutôt la correction. Tellement voici ce que nous avons - ce procédé fera le travail et fera l'activité clôturée :

    public UpdateActivityCodes vide (emailId de Guid) {

    essai {

    Commande d'OleDbCommand = conn.CreateCommand () ;

    command.CommandText = « MISE À JOUR ActivityBase DirectionCode RÉGLÉ = (?), StateCode = (?), PriorityCode = (?) LÀ OÙ ActivityId = (?) » ;

    commande. Préparer () ;

    commande. Parameters.Add (nouvel OleDbParameter (« DirectionCode », Microsoft.Crm.Platform.Types.EVENT_DIRECTION.ED_INCOMING));

    commande. Parameters.Add (nouvel OleDbParameter (« StateCode », Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED));

    commande. Parameters.Add (nouvel OleDbParameter (« PriorityCode », Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM));

    commande. Parameters.Add (nouvel OleDbParameter (« ActivityId », emailId));

    notation. Corriger (« préparer pour mettre à jour le code d'activité » + emailId.ToString (« B ») + » dans ActivityBase ") ;

    command.ExecuteNonQuery () ;

    }

    attraper (exception e) {

    notation. Corriger (e.Message + « « + e.StackTrace) ;

    }

    }

    Adapter heureux ! si vous voulez que nous fassent le travail - nous donner un appel 1-866-528-0577 ! help@albaspectrum.com



    Le (06/02/2007)



     Je veux recopier l'article

     Envoyer l'article à un ami  -  Imprimer l'article



    Découvrez d'autres articles :

  • Comment se bâtir une crédibilité en ligne pour son site de vente    par Nary Andriatsolondriaka
  • Gardez le contact avec vos visiteurs    par Franck Sublum
  • La création de blogs : un phénomène de société !    par Jean-Marie Noguier
  • Halte aux spams !    par Jean-Marie Noguier
  • 7 trucs pour devenir un super affilié    par Stéphanie Hétu



  • © 2008 Fruitymag
    Certification de Cisco CCNP : Introduction au BGPObtenir énuméré dans Google sans soumettre votre emplacementCroissance de votre emplacement avec le contenu !Libérer l'E-Carte animée et les E-Cartes librement animéesSuperbe-Filiales : Ce qui sont elles, comment je les trouvent, et pourquoi ils sont votre billet auNe peut trouver aucune filiales superbes de ClickBank ? Accroître vos propres !Congélation - Temps pour réchauffer votre PCComment identifier de mauvaises transactions d'échange de lienForum : Ce qui sont ils et POURQUOI ils sont essentiels pour n'importe qui considérant commencer desVous devez établir une liste de clientsallebruneaualvimarepinasle perruchetbrechThury-en-Valois (60890)Le Gallet (60360)La Panouse (48600)Wignehies (59212)Saulcet (3500)Saint-Pierre-la-Roche (7400)Latilly (2210)Magnicourt-en-Comté (62127)La Table (73110)Crévéchamps (54290)