none
Insertar Datos CRM Dynamics RRS feed

  • Pregunta

  • Estimados,

    Desde un sitio web tengo formularios cuya información quiero que se almacene en una entidad del CRM creada por mí. ¿Cómo puedo hacer esa inserción de datos?

    ¿Es posible? Agradezco información/orientación al respecto,

    Saludos

    martes, 7 de diciembre de 2010 20:41

Respuestas

  • Hola,

    Como dice Julio, deberías desarrollar un componente .net que lo haga. También puede ser en otra plataforma si te sientes mas comodo, ya que puedes conectarte directamente a los webservices que expone Dynamics CRM 4 y eso es estandar.

    La url del webservice debería ser:

    http://<servername[:port]>/mscrmservices/2007/crmservice.asmx

    donde servername se refiere a tu nombre de servidor CRM y port al puerto.

    Por otra parte, si usas .Net, al menos para mi me resulta más facil utilizar las Advanced Developer Extensions (XRM) incluidas en la ultima version del SDK para Dynamics CRM. Con esto, puedes interactuar con el CRM utilizando LINQ, lo cual al menos para mí es mucho mas simple.

    Te sugiero que te descargues el último SDK (4.0.13) desde aquí. Descomprime el archivo y entra en la carpeta microsoft.xrm. Allí tienes unos documentos con instrucciones paso a paso de como programar lo que quieres hacer. Te recomiendo veas primero el documento 'advanced_developer_extensions_-_developers_guide'

    Espero te resulte util, saludos,

    PP


    Microsoft MVP Dynamics CRM | My Twitter: http://twitter.com/pabloperalta | My blog: http://weblogs.asp.net/pabloperalta
    miércoles, 8 de diciembre de 2010 16:14

Todas las respuestas

  • Puedes revisar CrmService.Create Method en el SDK de Dynamics ( http://www.microsoft.com/downloads/details.aspx?FamilyID=82e632a7-faf9-41e0-8ec1-a2662aae9dfb) donde podrás ver como insertar datos en Dynamics utilizando sus WebServices:

    En el SDK te brindan el siguiente ejemplo:
    // Set up the CRM Service.
    CrmAuthenticationToken token = new CrmAuthenticationToken();
    // You can use enums.cs from the SDK\Helpers folder to get the enumeration for Active Directory authentication.
    token.AuthenticationType = 0;
    token.OrganizationName = "AdventureWorksCycle";

    CrmService service = new CrmService();
    service.Url = "http://<servername>:<port>/mscrmservices/2007/crmservice.asmx";
    service.CrmAuthenticationTokenValue = token;
    service.Credentials = System.Net.CredentialCache.DefaultCredentials;

    // Create the contact object.
    contact contact = new contact();

    // Create the properties for the contact object.
    contact.firstname = "Jesper";
    contact.lastname = "Aaberg";
    contact.address1_line1 = "23 Market St.";
    contact.address1_city = "Sammamish";
    contact.address1_stateorprovince = "MT";
    contact.address1_postalcode = "99999";
    contact.donotbulkemail = new CrmBoolean();
    contact.donotbulkemail.Value = true;

    // Create the contact in Microsoft Dynamics CRM.
    Guid contactGuid = service.Create(contact);


    Julio
    martes, 7 de diciembre de 2010 21:04
  • Muchísimas gracias Julio,

    Para lo que propones tendría que desarrollar una aplicación en .NET?

     

    martes, 7 de diciembre de 2010 21:28
  • Sí, el ejemplo que se muestra arriba está basado en C#.
    Julio
    martes, 7 de diciembre de 2010 21:49
  • Hola,

    Como dice Julio, deberías desarrollar un componente .net que lo haga. También puede ser en otra plataforma si te sientes mas comodo, ya que puedes conectarte directamente a los webservices que expone Dynamics CRM 4 y eso es estandar.

    La url del webservice debería ser:

    http://<servername[:port]>/mscrmservices/2007/crmservice.asmx

    donde servername se refiere a tu nombre de servidor CRM y port al puerto.

    Por otra parte, si usas .Net, al menos para mi me resulta más facil utilizar las Advanced Developer Extensions (XRM) incluidas en la ultima version del SDK para Dynamics CRM. Con esto, puedes interactuar con el CRM utilizando LINQ, lo cual al menos para mí es mucho mas simple.

    Te sugiero que te descargues el último SDK (4.0.13) desde aquí. Descomprime el archivo y entra en la carpeta microsoft.xrm. Allí tienes unos documentos con instrucciones paso a paso de como programar lo que quieres hacer. Te recomiendo veas primero el documento 'advanced_developer_extensions_-_developers_guide'

    Espero te resulte util, saludos,

    PP


    Microsoft MVP Dynamics CRM | My Twitter: http://twitter.com/pabloperalta | My blog: http://weblogs.asp.net/pabloperalta
    miércoles, 8 de diciembre de 2010 16:14
  • Muchísimas gracias por la información Julio y pabloperalta,

    Es lo que necesitaba, Agradecido.

    jueves, 9 de diciembre de 2010 11:40
  • a las ordenes, suerte!.

    por favor marca la pregunta como contestada!.

    saludos.

    PP


    Microsoft MVP Dynamics CRM | My Twitter: http://twitter.com/pabloperalta | My blog: http://weblogs.asp.net/pabloperalta
    jueves, 9 de diciembre de 2010 12:02
  • Los formularios estan en HTML entonces cuando el usuario llene el formularo al apretar "Enviar" podría capturar esos campos para insertarlos directamente en una entidad del CRM ?

    Para ello necesitaría utilizar ASP.NET? ¿Qué me sugieren?

    Muchas gracias de nuevo!

    Saludos,

     

    jueves, 9 de diciembre de 2010 16:50
  • Hola, Necesariamente tendrás que desarrollar una extensión (no te basta con sólo tener un formulario en una página HTML).

    Necesitas invocar a los WS de Dynamics CRM para que puedas crear un objeto de la entidad a la que quieras hacer referencia.

    Podrías reutilizar tu HTML  (a excepción del botón, te recomiendo el botón de ASP.Net) y colocarlo dentro tu archivo *.aspx (sólo la parte compatible)


    Julio
    jueves, 9 de diciembre de 2010 17:05
  • Y si lo hago desde javascript en el mismo HTML?
    jueves, 9 de diciembre de 2010 21:17
  • Creo q pudiera ser posible.
    revisa este post que tal vez te pueda servir: http://social.microsoft.com/Forums/en/crmdevelopment/thread/771bc783-f1b8-48e7-a6cc-64ef57a781be
    Julio
    viernes, 10 de diciembre de 2010 15:57