sábado, 30 de enero de 2010

Error al guardar y que salte el detector de duplicados

Como todos sabrán, a veces al abrir un formulario de CRM y realizar algun cambio en un atributo e intentar guardar el mismo, despues del "Postback" se abre el detector de duplicados (en caso que se cumplan los criterios definidos en las reglas de deteccción de duplicados). En esata ventana que aparece pinchamos en "Guardar" y se hace otro "Postback" que guarda los cambios.
En caso de borrar el valor de algún atributo (poner null), a veces este "borrado" despues de aparecer la ventana del detector de duplicados, no se produce.
Es un funcionamiento extraño, pero que solo ocurre dependiendo del "Rollup" que se tenga instalado.
Este mal funcionamiento, solo se arregla instalando el Rollup 8 de Microsoft Dynamics CRM 4.0.
Como siempre, antes de instalar el Rollup 8, probar todos los desarrollos para estar seguros de que todo seguirá funcionando correctamente.



un saludo

martes, 26 de enero de 2010

Aceleradores: Gestión de eventos

Microsoft tiene publicados una serie de aceleradores ("Accelerators") para Microsoft Dynamics CRM.
En realidad se basan de una serie de personalizaciones, plugins, workflows, informes, etc, que "orientan" la funcionalidad del CRM para determinados fines.
En este caso voy a hablar del "Event Management" (gestión de eventos).
Este acelerador instala en CRM:
  • Personalizaciones con nuevas entidades

  • Plugins

  • Workflows

  • Informes

  • Sitio web (portal del cliente)

  • El funcionamiento del mismo, tiene como base la entidad de "Campañas" en la pestaña "Detalles del evento", desde donde se añade la información para el control y seguimiento del mismo. Adicionalmente existe una entidad de Configuración ("Configuración de Event Management"), donde hay que crear un registro para definir los diferentes valores de los estados de los desplegables (ya que podrían ser diferentes en cada implantación).
    Existen además entidades relacionadas con las Campañas, para introducir mas información del evento (todas accesibles desde el menú de la izquierda del formulario de Campañas).
    Desde la campaña, se puede definir a la misma como de tipo "Evento", con lo cual pasará a estar disponible en el portal para que los usuarios se registren.
    Cada registro en el portal, creará automáticamente una Respuesta de campaña y un email de contestación al usuario, y contará como un nuevo asistente al evento. Adicionalmente creará a dicha persona como un nuevo Cliente Potencial en el CRM.
    La verdad que está bastante bien, aunque creo que este acelerador solo sirve como origen para ser modificado y adaptado.
    Como todos los aceleradores, está disponible con todos sus códigos fuentes y pueden ser descargados desde Codeplex:
    http://www.codeplex.com/crmaccelerators/Release/ProjectReleases.aspx?ReleaseId=19077
    Allí hay documentación suficiente acerca de su instalación y configuración, aunque especialmente recomiendo el video demostrativo con los pasos a seguir.
    Voy a dejar adicionalmente un par de imágenes que muestran su funcionamiento:



    Espero les sirva...
    Un abrazo!

    jueves, 21 de enero de 2010

    Error "El texto expecificado supera la longitud máxima"

    Cuando desde el cliente de Outlook se pincha en el botón de "Seguimiento en CRM" para subir un Correo electrónico al CRM, es posible que nos aparezca un error como el siguiente:
    "El texto expecificado supera la longitud máxima"
    Esto puede tener dos soluciones, dependiendo de que atributo haya causado el error:
    1) Puede deberse a atributo "messageid", que almacena el id que contiene la cabecera de los emails. Este atributo solo se utiliza para los correos electrónicos entrantes. Si fuese este atributo, simplemente debemos ampliar el tamaño de dicho atributo a 200 por ejemplo y solucionado.
    2) Puede deberse tambien al tamaño del atributo "subject" de la entidad email. Debemos revisar el tamaño del mismo y simplemente ampliarlo en consecuencia.

    Un cordial saludo,

    miércoles, 20 de enero de 2010

    Requerimientos de sistemas en implantaciones "On Premise"

    Normalmente no suelo publicar mucha información relacionada con sistemas o con servidores, pero creo que esta información puede ser de mucha utilidad.
    Microsoft a publicado un artículo titulado "Connectivity and Firewall Port Requirements in On-Premise Deployments".
    En este artículo se puede ver infomación relacionada con:

  • Autenticación de Windows integrada

  • Autenticación a través de formularios (IFD)

  • Requerimientos de conectividad entre servidores

  • Recomendaciones de puertos para CRM y SQL Server

  • Requerimientos de conecciones el Mail Server

  • Servidores Citrix

  • Virtualización

  • Etc.


  • Especialmente interesante me ha pareceido la información relacionada con los dos tipos de autenticación ("Windows authetication" e "IFD"):



    El documento pueden desacargarlo de la siguiente dirección:
    http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=d06e9b99-2f10-43fd-94b4-8014a8dca9ea

    Un abrazo!

    viernes, 15 de enero de 2010

    Entrevista interesante sobre CRM 4.0

    Hola quiero publicar hoy una entrevista que me ha parecido bastante interesante relacionada con Dynamics CRM 4.0 realizada a Marc Wolenik y Rajya Vardhan Bhaiya, los autores del libro Microsoft Dynamics CRM 4 Integration Unleashed (que por cierto recomiendo a aquellos que quieran entrar profundamente en el mundo del desarrollo con CRM).
    En la entrevista dan sus opiniones sobre Dynamics CRM 4.0, sus puntos fuertes en relacion con otros CRMs (como SalesForce) y dan comentarios interesantes.
    Aprentemente son dos personas que tienen mucha experiencia en la implantación de CRM y por eso lo que digan es interesante.

    En enlace para la entrevista es la siguiente y ha sido realizada por informIT (en inglés):
    http://www.informit.com/articles/article.aspx?p=1434908

    un saludo

    domingo, 10 de enero de 2010

    Utilizando Google para encontrar la página web de las empresas

    Muchas veces tenemos cargadas en el CRM muchas Cuentas (empresas) a las cuales les falta información.
    Dentro de esa información faltante, puede ser que nos falte la dirección de la página web de la empresa en cuestión.
    Si quisiese actualizar las páginas webs de todas las Cuentas de mi CRM, sería un pesado trabajo de ir una a una, hacer alt+tab entre 2 exploradores, teniendo Google en un lado, buscando las webs y en la otra el CRM.
    Bien, se me ha ocurrido una forma mas cómoda.
    ¿Para qué hacer alt+tab si el CRM nos permite meter IFRAMES dentro de los formularios?
    Les propongo una solución:
    1) Crear un IFRAME en el formulario de Cuentas


    2) Añadir un atributo con el nombre "Obtener URL" de tipo bool (new_obtenerurl) y ponerlo de la siguiente forma:


    3) Añadir el siguiente código en el evento OnLoad() del formulario de cuentas y en el OnChange del campo "name":

    crmForm.all.new_obtenerurl.DataValue=false;
    crmForm.all.websiteurl.FireOnChange();

    4) Añadirl el siguiente código en el OnChange del campo "websiteurl":

    var nombre=crmForm.all.name.DataValue;
    if (nombre==null) nombre="";
    if (crmForm.all.websiteurl.DataValue!=null)
    {
    crmForm.all.IFRAME_web.src=crmForm.all.websiteurl.DataValue;
    }
    else
    {
    crmForm.all.IFRAME_web.src="http://www.google.es/search?q="+nombre;
    }

    5) Añadir el siguiente código en el OnChange del campo "new_obtenerurl":

    var obtener=crmForm.all.new_obtenerurl.DataValue;
    if (obtener==null) obtener=false;
    crmForm.all.websiteurl.DataValue=crmForm.all.IFRAME_web.src;


    Ahora el funcionamiento es el siguiente:
    1) Al crear una nueva Cuenta, e introducir el nombre de la misma, autómaticamente abre en el iframe, el google bucando por el texto del nombre de la cuenta:


    2) se debe navegar hasta encontrar el sitio web de la Cuenta. Una vez encotrada, simplemente se debe pinchar en el valor "Sí" de "Obtener URL" y la URL de la web se copiará en el campo "Sitio Web"


    Espero les pueda servir.

    un saludo!

    miércoles, 6 de enero de 2010

    Trabajando con los paquetes de idioma

    En este artículo voy a comentar como se instala y configura los paquetes de idioma del CRM. También daré algunas consideraciones acerca del funcionamiento de los mismos.
    Hay que tener en cuenta que la funcionalidad de multilenguaje del CRM, solo lo es para las etiquetas, formulario, etc, y no a nivel de datos. Por ejemplo el campo "Dirección" podrá llamarse "Address", pero la información de la misma por ejemplo "Paseo de la Castellana 1", será siempre la misma.
    Al instalar Microsoft Dynamics CRM 4.0, se instala con un idioma por defecto o un idioma "base". Este idioma será el inicial y principal del CRM.
    Para habilitar el CRM en otro idiomas, lo que hay que hacer es instalar el paquete de idioma deseado (Language Pack).
    Los paquetes de idioma se pueden descargar de aqui:
    http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=50761e58-6040-4cf3-853a-f5ab535f7194

    Una vez instalado el paquete de idioma, lo que hay que hacer es habilitar el idioma (en Configuración->Idiomas):


    Luego cada usuario podrá definir el idioma que desea, entrando en sus opciones personales, donde puede definir tanto el idioma del interfaz de usuario, como el idioma de la Ayuda:


    Los paquetes de idiomas incluyen traducciones para todas las etiquetas que hay en el CRM para entidades de sistema.
    Los textos que se traducen automáticamente con los paquetes de idioma son:
  • Nombres de entidades de sistema

  • Nombres de vistas del sistema

  • Nombres para mostrar de atributos de sistema

  • Mensajes personalizados de sistema

  • Botones, Menúes y enlaces de sistema

  • Los textos que deben ser traducidos manualmente son:
  • Nombres de entidades personalizadas

  • Nombres de vistas personalizadas

  • Nombres para mostrar de atributos personalizados

  • Botones, Menúes y enlaces personalizados


  • En caso de no hacer las traducciones necesarias, los textos que apareceran en estas etiquetas (o "Labels") será el del idioma "base" del CRM.
    Para traducir las etiquetas simplemente hay que exportar un XML que se abre con el Excel y simplemente realizando las modificaciones allí mismo, volver a importarlo (en Configuración->Personalización):


    El Excel que se exporta se llama "CrmTranslations.xml" y al abrirlo con el Excel tiene 3 hojas diferentes: "Information", "Display Strings", "Localized Labels".
    En estas hojas se deberán hacer las traducciones. Habrá tantas columnas como idiomas haya instalados y la cabecera de la columna tiene el código del idioma (3082 para español y 1033 para inglés).


    Además de las etiquetas, se deberá tener en cuenta que será necesario traducir algunas cosas mas, que nos obligarán a crear nuevos registros de:
  • Las plantillas de correo electrónico (y demás plantillas)


  • Informes


  • Modificar todos nuestos Javascripts para que los mensajes sean en multidioma

  • Todos nuestros desarrollos deberán recoger dinámicamente el idioma del usaurio conectado

  • Todas las modificaciones en lso ficheros de ayuda que hayamos realizado, deberán actualizarse también para todos los idiomas


  • Espero este "tutorial" sobre el multiidioma pueda servirles.

    un saludo