Dynamics CRM 4.0 0 comments on Color de Campos “Read Only”

Color de Campos “Read Only”

Al deshabilitar un campo en Dynamics CRM desde la propiedad Read Only en Personalización de formularios, el formato de la hoja de estilo (css) cambia el color de los campos o controles deshabilitados a gris palido. Si fuese necesario modificar el color para hacer el campo más visible o agradable tenemos dos opciones:

1. Modificar la hoja de estilo de controles que se encuentra en la carpeta /_forms/controls/controls.css.aspx (que de paso es una modificación no “soportada”).
2. Utilizar JavaScript en el evento OnLoad para deshabiliar el control y cambiar suspropiedades de formato, en lugar de utilizar la propiedad Read Only de personalización.

Ejemplo caso 1, hoja de estilo, cambiar los códigos de color a algo más visible, experimentando con los valores de color: (los colores mostrados en los valores numéricos son los colores actuales en la hoja de estilo):

INPUT.ms-crm-ReadOnly,
TEXTAREA.ms-crm-ReadOnly,
DIV.ms-crm-ReadOnly,
SPAN.ms-crm-ReadOnly
{
background-color: #EAF3FF;
color: #000000;
border-color: #C5C5C5;
}

Ejemplo caso 2, con JavaScript, deshabilitando el campo (sin utilizar la propiedad Read Only en personalización) y luego modificando sus propiedades:

crmForm.all.<NombreCampo>.Disabled = true//Deshabilita el campo <NombreCampo>

crmForm.all.<NombreCampo>.style.textColor= “#000000”;
crmForm.all.<NombreCampo>.style.borderColor= “#ff0000“;
crmForm.all.<NombreCampo>.style.backgroundColor = “#c0c0c0“;

Los códigos del ejemplo son para referencia, por lo que deberá seleccionar colores que se ajusten al gusto del cliente, y esta herramienta le puede ayudar, solo copie el valor HEX generado:

Temas Varios 0 comments on Qué es un CRM “On Premise” y qué es “On Demand”

Qué es un CRM “On Premise” y qué es “On Demand”

Los conceptos de CRM On Premise and CRM On Demand no son nuevos, pero igual no está de más una rápida explicación sobre él significado de ambos términos, pues sos dos estrategias diferentes, que pueden impactar positiva o negativamente en nuestros ambientes de TI y de negocio.

Al inicio de un proyecto de CRM, posiblemente será un buen momento para revisar cómo está todo en casa, pues los proyectos de CRM tienen la particularidad de sacar a la luz muchas cosas que no estan bién a nivel técnico de TI y de negocios.

On Premise: Lo que hace la mayoría de las empresas en América Latina (y el mundo).  Contratan a un proveedor de soluciones de software, idealmente certificado y con experiencia en la aplicación a adquirir,  que se encarga de la instalación e implementación del software de CRM, pues no siempre se cuenta con personal experimentado para arrancar el proyecto.

El software es adquirido en su totalidad, licencia de servidor, de cliente, y contrato de mantenimiento de software/servicios,  más:  licencias de sistema operativo de servidor, licencias de base de datos,  hardware para los nuevos servidores, sean propios o alquilados  (hey…a nadie le sobran servidores para los proyectos de software…).  La empresa dueña del flamante CRM, será la responsable de actualizar, respaldar y gestionar todo lo relacionado al CRM.

On Demand: Aquí no compramos nada, hacemos uso del software cómo un servicio,  a ver, algo así:   este més hay que pagar el recibo del agua, la electricidad, Internet, salarios, y también… el CRM.  Nota:  Si no paga su recibo mensual de CRM…adivinó…tampoco tendrá acceso al mismo, al menos no normalmente.  Ya en serio, en este modelo, su empresa contrata un servicio por cuotas mensuales o anuales a un tercero, que brindará toda la plataforma de software, hardware y administración de TI para que usted haga uso del CRM mediante acceso por Internet.  Ventaja, usted no tiene que comprar, mantener y gestionar software/ hardware.

Los upgrades o actualizaciones son “gratis” pues forman parte del servicio.  Sus datos reciden en un servidor propiedad de la empresa que ofrece el servicio, y que probablemente (?) contará con personal, condiciones de seguridad y disponibilidad que no se pueden replicar a bajo costo en su propia empresa.  Baste decir que dichos proveedores de servicios  (al menos en Estados Unidos) , cumplen con normas muy estrictas, y utilizan impresionantes DataCenters. (Ese tema da para otro post).

En este modelo es sumamente importante contar con buen ancho de banda para Internet, y de ser posible contar con dos enlaces a proveedores distintos, para tener acceso Multi-Wan, pues si se cae la conectividad a Internet, no se puede usar la aplicación.  Por otro lado, su aplicacción se puede acceder desde cualquier lugar del mundo, vía Internet Explorer o FireFox (verifique con su proveedor los navegadores soportados…)
Algunos CRM ON Premise, con los que he trabajado:
•    Microsoft Dynamics CRM
•    Pivotal ePower
•    SugarCRM
•    Numara FootPrints (no es un CRM, pero permite crear funcionalidad similar.)
•    SalesLogix

Y algunos CRM On Demand:

•    SalesForce
•    SalesNet
•    NetSuite
•    Microsoft Dynamics CRM (si, lo notó, también Microsoft tiene ambos mundos…)
•    SugarCRM
•    Numara FootPrints
Probablemente notó que algunos fabricantes tienen disponibles ambos mundos, así que el tema de cual modelo debe escoger, depende de la estrategia de TI y presupuesto, entre otras variables.

Hoy en día comparar aplicaciones de CRM es algo cada vez más difícil, las diferencias son borrosas, pues todos tienen más o menos los mismos módulos (Ventas, Mercadeo y Servicio) y funcionalidades similares, idiomas, y tecnologías subyacentes.

Por ejemplo Numara Footprints corre en MySQL, en Oracle y Microsoft SQL Server.  Otros como Pivotal corren en Oracle y Microsoft SQL Server.  Todos corren en Internet Explorer, algunos en FireFox..etc…

Definitivamente, es necesaria una evaluación financiera (acorde al tamaño y naturaleza de su empresa), por lo que montar unas tablitas en Excel no está de más.

Dynamics CRM 4.0 0 comments on Una mirada al Dynamics CRM 4.0 SDK

Una mirada al Dynamics CRM 4.0 SDK

Algunas veces no ponemos atención a los archivos que contiene el SDK de Dynamics, pero dando una buena mirada a los folders, encontraremos muchos ejemplos útiles de código para el servidor y para el cliente, así como para crear funcionalidad adicional para los Workflows. Si el Workflow no puede hacer lo que usted quiere, ayúdelo construyendo un Custom Assembly.  Este SDK se baja del sitio de downloads de Microsoft, y a la fecha está disponible en idioma Inglés y Japonés (Domo Arigato…Mr. Gates)

Esta es una lista de los contenidos de los archivos del SDK:


Directorio o Carpeta


Contenido

Bin\Microsoft.Crm.Sdk.dll

Tipos y métodos para desarrollar plug-ins y workflows

Bin\Microsoft.Crm.SdkTypeProxy.dll

Tipos y m étodos para desarrollar plug-ins y workflows

Bin\msidcrl40.dll

Tipos y métodos requeridos para autenticación en Windows Live

Client\ Ejemplos de código JavaScript para programación de cliente, como eventos OnLoad y OnChange
Server\ Ejemplos de código para programación del lado del server, en C# y VB, bastantes ejemplos.

Tools\

Aquí está el pluggindeveloper y el plugginregistration, para la creación de Custom Assemblys que podemos utilizar en los Workflows.

Walkthroughs\

El código ejemplo que se utiliza con el SDK Help
file, muy útil si queremos probar los ejemplos del SDK

WSDL\ Este archivo se utiliza con el Microsoft Dynamics CRM Online.
CrmSdk4.chm Archivo de ayuda para el SDK, el que realmente nos interesa pues contiene toda la documentación del SDK
LicenseTerms.doc Los típicos téminos de Licencia de Microsoft.
SDKReadme.htm Archivo que describe la información aquí expuesta.
CRM4 UX Design Guide.pdf Guía para construir interfaces gráficas, que sean consistentes con el diseño de Microsoft Dynamics CRM 4.0, asi nuestras páginas se verán iguales a las del CRM.
Dynamics CRM 3.0 0 comments on Propiedades de uso común de los Campos accesibles desde javascript

Propiedades de uso común de los Campos accesibles desde javascript

Cuando realizamos scripting de eventos en Dynamics CRM, podemos utilizar las siguientes propiedades y métodos de los campos para interactuar con ellos:

{Campo}.DataValue Valido para todos los campos.  Nota:  Asignar un valor a un campo no dispara el evento  OnChange.

Field}.Disabled Booleano para activar o desactivar un campo.

Ejemplo:

var oField = crmForm.all.SOME_FIELD_ID;
// Toggle the disbled state of the field
oField.Disabled = !oField.Disabled;

{Field}.IsDirty  Propiedad booleana que indica si un campo fue modificado (true).

Ejemplo:

var oField = crmForm.all.SOME_FIELD_ID;

if (oField.IsDirty)
{
   alert("El valor del campo ha cambiado.");
}
else
{
   alert("El valor del campo no ha cambiado.");
}

Método {Field}.FireOnChange()  dispara el evento OnChange para el campo.

Ejemplo

crmForm.all.Algun_Campo_ID.FireOnChange();
Dynamics CRM 3.0, Dynamics CRM 4.0 0 comments on Realizar operaciones matemáticas con JavaScript

Realizar operaciones matemáticas con JavaScript

Para realizar operaciones matemáticas utilizando JavaScript, y evitar problemas con campos nulos, es buena idea utilizar el operador condicional de JavaScript:

Sintaxis: variablename=(condition)?value1:value2

Esto nos evitará problemas, al validar los campos nulos antes utilizarlos en operaciones como sumas, de lo contrario se producirá un error al ejecutar el script.

Por ejemplo, para sumar dos números, usamos la propiedad DataValue que permite leer o asignar un valor a un campo:

var campo1 = crmForm.all.micampocrm1.DataValue;
var campo2 = crmForm.all.micampocrm1.DataValue;
//Inicializamos en 0 si el campo es null (esta vacío)
valor1 = (valor1 == null) ? 0:campo1 ;
valor2 = (valor2 == null) ? 0 : campo2 ;
//Ejecutamos la operación
crmForm.all.micamposuma.DataValue = valor1 + valor2;

En este caso, si ambos campos están vacios, la suma no producirá error, y el campo micamposuma será =0

Dynamics CRM 4.0 0 comments on Algunos tips para principiantes

Algunos tips para principiantes

Estos son algunos tips para usuarios principiantes de Dynamics CRM.

Ver el Calendario.

  1. Haga click en el botón Area de Trabajo (Workplace) en el panel de navegación (el panel de botones de la izquierda).
  2. En la parte de arriba, en Mi área de trabajo, haga click en Calendario.

Completar una Actividad.

  1. Haga click en el botón Area de Trabajo.
  2. Haga click en Mi área de trabajo, haga click en Actividades
  3. Seleccione  en la venta o área principal de trabajo la tarea que desea completar, haciendo doble click sobre la actividad.
  4. En el formulario de actividad, seleccione el tab de Notas, y cree una nota.
  5. Finalmente, haga click en el botón Guardar Como Completado (es que tiene un diskette azul con un check).

Crear una nueva cuenta o contacto.

  1. Estando en cualquier área (ventas, mercadeo o servicio), seleccione Cuentas o Contatos en el panel de navegación (según sea el caso).
  2. En la ventana principal (área donde se muestran los registros), notará un botón llamado Nuevo, haga click en él.
  3. Aparece un formulario, donde podrá registrar la información de su contacto o cuenta.
  4. Al finalizar de llenar la información con la que cuente, recuerde hacer click en Guardar y Cerrar.
Dynamics CRM 3.0 0 comments on ¿Cómo ocultar campos en Dynamics CRM?

¿Cómo ocultar campos en Dynamics CRM?

Algunas veces es necesario ocultar campos en los formularios de Dynamics CRM.  Esto puede lograrse utilizando javascript de dos formas:

  1. En el evento OnLoad de las propiedades del formulario (Form Properties) ocultamos cada campo.
  2. En el mismo evento Onload, ocultamos un TAB, al cuál hemos movido todos los campos que deseamos hacer invisibles.

Así, para el primer caso, tenemos que agregar dos líneas de código por cada campo a ocultar:

crmForm.all.nombrecampo_d.style.display = ‘hidden’;
crmForm.all.nombrecampo_c.style.display = ‘hidden’;

Nota: debe adicionar _d y _c al nombre de esquema del campo, _d significa el campo de datos y  _c es el  “caption”.

 

Y para el segundo caso, donde hemos creado un tab llamado “Ocultos”, y hemos movido los campos que queremos hacer invisibles, agregamos está línea de javascript

tab4Tab.style.visibility = ‘hidden’;

Porqué tab4Tab?,   esto se debe a que generalmente los tabs del form empiezan con indice 0 así:

tab0Tab = General Tab
tab1Tab = Details Tab
tab2Tab = Administration
tab3Tab = Notes

 

 Esta opción es más útil, y se puede implementar de forma estandar en todos los forms.  Recuerde que solo es posible utilizar 8 tabs por formulario, así que debería poder utilizar está técnica de ocultar con tab, siempre y cuando pueda disponer de un tab para ocultar.  De lo contrario…de regreso al caso 1.

Así de fácil.

 

Nota:  Las técnicas aquí propuestas deben ser usadas “bajo su propio riesgo”, y no asumimos ninguna responsabilidad por su uso y resultados.

Dynamics CRM 4.0, Tutorials 0 comments on Microsoft Dynamics CRM 4.0 en múltiples idiomas?

Microsoft Dynamics CRM 4.0 en múltiples idiomas?

Si desea instalar la versión en Inglés (u otro idioma base) de Microsoft Dynamics CRM, y a la vez proveer otro u otros idiomas (de entre 22 posibles) a sus usuarios, como español o alemán por ejemplo, es posible lograr esto con los  “Multilingual User Interface” (MUI) packs, que el administrador del CRM puede instalar.  Si quiere ver el video haga click aquí http://www.zonacrm.com/wpzonacrm/?page_id=52

Los MUI Packs se pueden conseguir en el sitio de “dowloads” de microsoft, y una vez implementados la aplicación  muestra el idioma que el usuario ha seleccionado.  Nota:  Puede realizar la búsqueda y bajarlos pack desde el sitio de downloads de microsoft, utilize Languaje Pack en su criterio de búsqueda.

Nota:  Existen dos tipos de paquetes, para cada idioma:

  1. Para el sistema, que modifica los textos, etiquetas.etc..
  2. Para el Help, que modifica el idioma de la ayuda.

Cada MUI pack debe ser instalado de forma independiente.  Es importante notar que el idioma del CRM no está definido por el MS Internet Explorer o los “settings regionales” en el Panel de Control, y es el usuario que puede cambiar el idioma del sistema.

Para cambiar el idioma, una vez instalado el Language Pack en el idioma deseado, los usuarios del sistema pueden seleccionar el link  de “Personalizar Espacio de Trabajo”, y seleccionar el tab “Languages”.    Ahi podrá seleccionar tanto el idioma del sistema como también el de la ayuda.

Nota:  Las técnicas aquí propuestas deben ser usadas “bajo su propio riesgo”, y no asumimos ninguna responsabilidad por su uso y resultados.

Dynamics CRM 4.0 0 comments on Mejorando el seguimiento de clientes por correo electrónico

Mejorando el seguimiento de clientes por correo electrónico


El Microsoft CRM E-Mail Router (Dynamics CRM 4.0)
Si usted quiere o necesita que la interacción con sus clientes, por medio de correos electrónicos, sea parte del CRM, el E-Mail Router es la solución.  Con este componente del Dynamics CRM, usted puede enviar y recibir correos directamente en el CRM, con lo cual, sin utilizar Microsoft Outlook, usted podrá:

  1. Enviar correos electrónicos desde el CRM
  2. Recibir correos en el CRM.
  3. Configurar reglas para procesar los correos entrantes.
  4. Seguimiento de emails como actividades en el CRM mediante:
  • un token o número generado automáticamente por el CRM.
  • Filtrado de mensajes y correlación, que utiliza “inteligencia” para determinar hacia donde encaminar el correo entrante.

El Microsoft CRM E-Mail Router es un servicio que recibe mensajes del Dynamics CRM y los reenvía a un servidor de correo electrónico, que puede ser Microsoft Exchange u otro tipo de servidor SMTP.  Este servicio tiene un archivo de instalación separado del instalador de CRM 4, y se instala posterior al CRM.  Una de las ventajas que tiene este servicio, es la flexibilidad de instalarlo ya sea en la misma máquina donde se encuentra el CRM, o en otra separada.  Incluso se puede instalar en una maquina con Windows XP, Windows Vista Business (sistemas operativos que pueden unirse al dominio de Windows).
Es importante que la computadora que corre este servicio, siempre esté disponible, o de lo contrario los mensajes generados desde el CRM no serán enviados.
La versión anterior del CRM E-Mail Router (CRM 3.0), solo tenía soporte para Microsoft Exchange,  pero ahora permite seleccionar otros servidores con protocolos estándar ( Exchange también los tiene), pero ahora el CRM permite:
•    Post Office Protocol 3 (POP3) para correos entrantes
•    Simple Mail Transport Protocol (SMTP) para correos salientes.
En resumen, este servicio es muy útil para integrar la interacción vía correo electrónico con  las tareas del CRM, lo que permite optimizar el flujo de información y mejorar el registro de información del cliente.

Temas Varios 0 comments on Empezamos desde abajo, ¿Qué es un CRM?

Empezamos desde abajo, ¿Qué es un CRM?

CRM es el acrónimo para Customer Relationship Management,  y existen muchas definiciones filosóficas y sobre estratégicas con respecto a lo que en realidad es un CRM.

Como lo que nos interesa, aparte de la teoría, es la forma práctica vamos a verlo en esta ocasión desde el punto de vista de los procesos organizacionales.

Como hay tantas definiciones como empresas que producen software de CRM, mejor lo explicamos de esta manera:  Toda empresa comercial privada sea grande o pequeña, pública, ONG, PYME, etc… tiene procesos, y en el caso de CRM, los procesos que nos interesan son Ventas, Mercadeo y Servicio al Cliente.  El CRM permite automatizar, por medio de un sistema, o sistemas de software, los procesos antes mencionados.  Por supuesto existe la posibilidad de integrar el CRM con otras aplicaciones y sistemas, pero eso es tema aparte.

El CRM puede ser aplicado en prácticamente todas las industrias, donde sea necesario mantener una base de datos que permita capturar información de:

  • Empresas
  • Contactos
  • Ventas (Oportunidades, cotizaciones…)
  • Mercadeo (Listas de clientes, segmentación)
  • Servicio al Cliente (Quejas, seguimiento de sevicio…)
  • Tareas y Calendario

Es interesante notar, que muchas que empresas que no utilizan un sistema de CRM, mantienen esa información dispersa en varios lugares (Microsoft Outlook, archivos de Excel, archivos de papel, etc…) y muchas veces, en la mente de las personas, lo cual supone un riesgo de olvidar compromisos con clientes.