Dynamics CRM 4.0 0 comments on Dynamics CRM Rollups, puedo instalar el más nuevo sin problema?

Dynamics CRM Rollups, puedo instalar el más nuevo sin problema?

Microsoft está actualizando la plataforma de Dynamics CRM “frecuentemente”, y de momento van 14 rollups.

Son acumulativos?  Si!, por lo cuál podemos instalar el rollup 14 en una instalación nueva y listo.

Puedo pasar del Rollup 10 al 14 directamente?  También es posible.

Recomendaciones de siempre:   Respalde base de datos, servidor etc, antes de aplicar un rollup, aveces pueden ocurrir imprevistos que dejan su sistema de CRM fuera de funcionamiento al aplicar un Rollup (been there..done that…)

Dynamics CRM 4.0 0 comments on Cambiando el puerto web de CRM con Deployment Configuration Tool

Cambiando el puerto web de CRM con Deployment Configuration Tool

Cambiar el puerto web donde se accede al Dynamics CRM, requiere de algo más que solo ir al IIS manager y cambiar el número de puerto.  Recientemente realizando una integración de los Web Services de Dynamics y PHP con SOAP, tuve que cambiar el # de puerto, con lo cual el SDK quedo inaccesible,  presentando el siguiente error:

HTTP Error: cURL ERROR: 7 couldn’t connect to host url: http//<myserver>:80/MSCrmServices

/2007/CrmService.asmx

Finalmente encontré una herramienta de Microsoft que permite realizar los cambios necesarios solucionando el problema:  Microsoft Dynamics CRM Deployment Configuration Tool.  Las siguientes notas técnicas explican donde bajar la herramienta y como se utiliza:

support.microsoft.com/kb/947423/

support.microsoft.com/kb/949079/

support.microsoft.com/947423
Dynamics CRM 4.0 0 comments on Internet Facing Deployment

Internet Facing Deployment

Internet Facing Deployment (IFD) permite a los usuarios de Dynamics CRM, mediante autenticación basada en “Forms”, accesar la aplicación en Internet. La autenticación “default” de Dynamics CRM es “Integrated Windows Authentication”, y funciona también en Internet Explorer.

La autenticación default, tiene la ventaja de ser transparente a los usuarios de la red, en computadoras que pertenezcan al dominio en el que está instalado el CRM. En C# podemos utilizar esta autenticación, tomando la información del cache de credenciales:

private System.Net.NetworkCredential credentials;
credentials = (System.Net.NetworkCredential)System.Net.CredentialCache.DefaultCredentials;

Esto es posible porque el usuario se encuentra autenticado en “Active Directory”.

Para accesar el CRM, fuera de la red, digamos desde Internet, es necesario utilizar “Forms Authentication”, entonces necesitamos del IFD. IFD es utilizado por los proveedores de Dynamics CRM en hosting, pero si usted tiene el CRM dentro de la red de oficina, y desea publicar su CRM en internet, deberá hacer la configuración manual de IFD, así cómo tomar en cuenta otras consideraciones de seguridad (certificado digital, firewall…etc…)

La autenticación basada en Forms, requiere que el usuario proporcione nombre de usuario y clave, en C# podemos encontrar el código requerido para este caso de la siguiente manera:

private System.Net.NetworkCredential credentials;
credentials = new System.Net.NetworkCredential(username, password, domain);

Aquí puede encontrar la documentación de los escenarios de IFD para Dynamics 4, así cómo la aplicación IFD Configuration Tool, requerida para la configuración de IFD.

Dynamics CRM 4.0 0 comments on CRM WebService Error: Only one usage of each socket address (protocol/network address/port) is normally permitted

CRM WebService Error: Only one usage of each socket address (protocol/network address/port) is normally permitted

Este error se presenta cuando se hacen aplicaciones que utilizan los WebServices de Dynamics CRM, y en realidad es un error que puede ocurrir con aplicaciones que utilizan WebServices en general, en situaciones que se requiere carga masiva de datos.
Esto hace que los settings por defecto IIS no sean suficientes, y tendremos el mensaje “Only one usage of each socket address (protocol/network address/port) is normally permitted (typically under load).”
Esto sucede en cargas grandes de datos, al abrir y cerrar conexiones.  Al cerrar la conexión, la misma entra en un estado de espera de 240 segundos (TIME_WAIT).

El problema ocurre porque por default, se usan los puertos 1024 a 5000, lo que da 3976 puertos para utilizar. Al estar realizando múltiples inserciones por segundo (lo cual significa múltiples llamados a los webservices, y cierres de conexión por segundo, los puertos se acaban rápidamente.

Pasos para solucionar el problema:

Esto  requiere cambiar (o adicionar) 2 llaves en el registry.  Como es usual se recomienda precaución al modificar el registry.  Realice este procedimiento bajo su propia responsabilidad.

1.    Incremente el rango de puertos, hasta un valor máximo de 65534. (Puede buscar otro valor de ajuste para su caso en particular).
o    Use Regedit, y edite HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\MaxUserPort (si la llave no existe, haga una nueva como DWORD )
o    Ajuste el valor como DECIMAL a 65534, u otro valor de ajuste que considere conveniente para su caso.

2.    Reduzca el TIME_WAIT de las conexiones, para que los puertos sean reciclados más pronto:
o    Use Regedit,  y editar HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\TCPTimedWaitDelay (si no existe, crearla como DWORD )
o    Ajuste el valor a 30 cómo decimal.

Dynamics CRM 4.0 0 comments on Referencia de Entidades y Campos Dynamics CRM 4

Referencia de Entidades y Campos Dynamics CRM 4

Cuándo estamos programando JavaScript para los eventos OnLoad, OnChange, o los WebServices, se hace necesario tener a mano una lista con los nombres de entidades y sus respectivos campos.  Esto se hace difícil si tenemos que estarvisitando la sección de Settings / Customization, pues se pierde mucho tiempo. 

La solución, utilizar este link provisto por el Dynamics 

  http://servidor:puerto/sdk/list.aspx

Ese link muestra un listado de todos las entidades, y se puede ir al detalle, donde se muestran los atributos, sus respectivos tipos y  relaciones.

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:

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, 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 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.