CRM 2011: Editar el Get Starter Pane

29 09 2011

En CRM 2011 disponemos de los Get Starter Pane, paneles que aparecen en la parte superior de las listas principales. Esta nueva funcionalidad aporta mucho más de lo que inicialmente aparenta. Inicialmente uno puede pensar ‘vaya estorbo’, que ganas de perder espacio de pantalla a la lista… Pues bien, quizás cambiéis de opinión cuando veáis las posibilidades de este nuevo componente. Por defecto, el Get Starter Pane nos muestra un menú con ciertas acciones de ayuda pero, la potencia la obtenemos cuando comprobamos que podemos editar este componente.

En concreto, en el SDK encontrareis información sobre el Get Starter Pane (Create Custom Get Started Pane Content). Resumiendo lo que nos dice el SDK es que tenemos las instrucciones en el directorio SDK/Resources/GetSatrtedPaneTemplate.

En este artículo he seguido esas instrucciones para modificar el Get Started Pane de una entidad personalizada (Test) y mostrar una imagen con el texto Hellp World. Como podréis imaginaros si leeis las instrucciones del documento readme.docx del directorio que os comenté anteriormente, las posibilidades que nos abre este componente son infinitas! Este ejemplo simple, puede serviros de introducción. No seguiré al pie de la letra el guión del documento, simplemente os muestro los pasos que he seguido para el ejemplo:

1. Copiar el contenido entero del siguiente directorio en otro directorio (en el ejemplo lo he llamado Test)

SDK/Resources/GetSatrtedPaneTemplate/helpvisor

2. Eliminar todos los archivos que no voy a usar del template. En concreto, tan sólo voy a usar los archivos siguientes:

  • Redir.htm
  • Images/q-logo.png
  • 1033/helpvisortemplate.htm
  • Scripts/helpvisor.js

3. Editar la página helpvisortemplate.htm añadiendo el código que queramos. Obviamente si queremos mantener el formato original de CRM 2011, deberemos mantener los archivos de la carpeta contatns, los estilos… En este ejemplo tan solo mostraremos una imagen por tanto, no hará falta todos esos archivos. En el HTML hago una referencia relativa a una imagen que posteriormente será un webresource por tanto, es importante mantener la ubicación (y la nomenclatura de los webresource)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;>">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"></a>
<html xmlns="<a href="http://www.w3.org/1999/xhtml&quot;>">http://www.w3.org/1999/xhtml"></a>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Starter Pane sample</title>
</head>
<body>
<div><img src="../Images/q-logo.png" alt="" id="logo" /></div>
</body>
</html>

4. Añadir una imagen al directori0 images (no es que sea necesario pero así mantengo ordenada toda la configuración del nuevo Pane…)

5. Crear los siguientes webresource a partir de los archivos que tenemos en el directorio. Podemos usar la herramienta WebResourceUtility del SDK o bien crearlos manualmente (teniendo mucho cuidado con la nomenclatura de los webresource que creemos)

  • new_samplePane_/redir.htm
  • new_samplePane_/1033/HelpVisorTemplate.htm
  • new_samplePane_/images/q-logo.png
  • new_samplePane_/scripts/HelpVisor.js

6. Exportar el SiteMap en una solución y editar el archivo customizations.xml que incluye. Añadir la entrada siguiente en el área donde queramos mostrar la lista principal de la entidad (con el nuevo Get Started Pane)

<SubArea Id="new_test" Entity="new_test" GetStartedPanePath="$webresource:new_samplePane_/redir.htm?data=HelpVisorTemplate.htm"/>

7. Importar nuevamente la solución con el customizations.xml modificado y publicar las personalizaciones

8. Comprobar que la opción de mostrar los Get Starter Pane en las opciones personales está activa

Tras realizar estos sencillos pasos (que podrían ser todavía más sencillos… esperemos que Microsoft vaya mejorando el método de edición de estos Pane), obtenemos la visualización de la nueva página en el Get Started Pane de la entidad Test.

Obviamente este es un ejemplo extremadamente simple, pero estoy seguro que si hacéis este ejercicio y sobretodo, leéis atentamente el guión del SDK veréis cuantas posibilidades nos brinda este componente.

Anuncios




CRM 2011: Ya está disponible el Rollup 4

23 09 2011

Ya tenemos disponible para su descarga el Rollup 4 para CRM 2011. Como siempre, tenemos toda una relación de problemas que se resuelven en este Rollup 4, además de acumular la resolución de todos los problemas solucionados en los Rollup anteriores. Podeis descargar el Rollup en:

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27554

Os recomiendo que leáis atentamente los problemas que se resuelven en este Rollup 4 pues, francamente, hay algunos que parece impensable que hasta el Rollup 4 no se hayan encontrado y resuelto. Podéis leer la relación de problemas resueltos en:

http://support.microsoft.com/default.aspx?kbid=2556167

Algunos de los temas resueltos en este Rollup 4 que me parecen interesantes son:

· No se puede abrir Microsoft Dynamics CRM después de instalar Microsoft Dynamics CRM 2011 en un entorno con Microsoft.NET Framework preliminar de 4.5 instalado

· Cuando intenta eliminar una actividad de una vista de actividad recién creada, recibirá el mensaje de error siguiente: Registro no está disponible.

· Cuando se habilita la detección de duplicados, no se puede convertir un cliente potencial a una oportunidad.

· Se supone que usa una configuración de formato de número distinto del inglés (Estados Unidos). Al ejecutar Cerrar como logrados función en una oportunidad, el valor estimado se multiplica por 10.000 (error muy parecido al que ya se resolvió en Rollup 3 referente a la exportación a Excel!!!)

· Suponga que tiene un informe que contiene un Prefiltro. Si importa el informe dos veces, el Prefiltro no funciona en el informe.

· Para corregir problemas de traducción al español, cambiar la etiqueta de campo de la Recomendado por la empresa campo.

· Iconos incorrectos se muestran para las entidades personalizadas en el cliente de Microsoft Dynamics CRM 2011 para Outlook.

· Al exportar datos de un informe del Asistente para informes a una hoja de cálculo de Excel de Microsoft Office, no se puede cambiar el formato de moneda, fecha los campos de número en la hoja de cálculo de Excel.

· Si utiliza un formato de número y moneda distinto del inglés (Estados Unidos) en la configuración del sistema, se muestran incorrectamente los valores monetarios en las cuadrículas en el cliente Web de Microsoft Dynamics CRM de 2011. También se muestran incorrectamente los valores monetarios en los paneles de lectura en el cliente de Microsoft Dynamics CRM 2011 para Outlook y cuadrículas.

· Si la clave EnableRetrieveMultipleOptimization del registro se establece en 2, los usuarios que no tienen funciones de administrador del sistema no pueden ver una lista de informes. Esta opción apareció en el Rollup 2 para optimizar el rendimiento de las consultas de las vistas

· Se supone que se actualice a Microsoft Dynamics CRM 2011. Cuando intenta guardar nuevos registros de la entidad de Microsoft Dynamics CRM para las entidades que tienen campos monetarios en las formas, se produce un error. Además, se registra un error de aplicación en el Visor de sucesos de aplicación.

Y mucho más!!!





CRM 2011: Privilegios de ejecución de procesos de diálogo

20 09 2011

Si bien los privilegios necesarios para la edición y ejecución de procesos de dialogo en principio son similares a los privilegios asignados normalmente para la ejecución de workflows, es importante destacar que en el formulario de edición de un proceso de diálogo no disponemos de la opción para indicar el ámbito (scope) de ejecución del mismo como tenemos en los workflows:

Para que otros usuarios distintos del propietario del proceso de diálogo puedan editar y ejecutar procesos de dialogo, deben asignarse los privilegios siguientes en como mínimo uno de los roles asociados al usuario (Procesos y Sesiones de Diálogo):

Los privilegios de lectura, creación y edición de la entidad Proceso, según el ámbito, permitirán a otros usuarios de la unidad de negocio o de toda la organización, ver, crear o editar la definición de un proceso de diálogo. Por su lado, los privilegios de lectura, creación, edición y, sobre todo, el de Anexar a permitirán a otros usuarios iniciar sesiones de los procesos en la entidad a la que se asocie el diálogo.

Hay que tener en cuenta que:

  • La activación y desactivación de un proceso de diálogo tan sólo puede realizarla el propietario del proceso. Si otro usuario quiere activar un proceso del cual no es propietario deberá en primer lugar, asignarse el proceso (si dispone de privilegios para ello)
  • El usuario que quiera ejecutar un proceso debe tener los privilegios necesarios sobre las entidades que afecta el proceso (consulta, creación, escritura, eliminación…)




CRM 2011: Añadir fechas a los diálogos

6 09 2011

Uno de los principales inconvenientes de la nueva funcionalidad de procesos de diálogo de CRM 2011 es que las respuestas a las preguntas de las páginas tan sólo admiten los siguientes tipos de campo:

· Línea de texto simple (text, integer o float)
· Selección con radio button (text o integer a partir de una selección)
· Selección con combobox (text o integer a partir de una selección)
· Líneas múltiples (text)

Por tanto, eso implica que no podemos incluir en los diálogos ninguna pregunta cuya respuesta sea una fecha o un bit o un lookup… Pero, eso es muy necesario en muchas ocasiones. Por ejemplo, recientemente nos han solicitado en un proyecto crear un diálogo que, entre muchos otros datos, se solicitara una fecha al usuario con el fin de rellenar la fecha de vencimiento de una tarea que se creaba desde el proceso de diálogo.

Para resolver esta situación hemos desarrollado una actividad personalizada de workflow (que se puede usar para procesos de workflow o para procesos de diálogo pues se ha desarrollado con NET Framework 4.0, recordemos que para que se pueda usar en procesos de diálogos debe estar desarrollado en NET Framework 4.0 y no en 3.5 que solo sirven para procesos de workflow). Esta actividad permite introducir como parámetro una texto y nos devuelve dos variables:

· Fecha: contiene el texto convertido introducido en formato de fecha en configuración regional es-ES en una variable de tipo DateTime
· Error: Contiene un valor boolean que indica si se ha producido un error al intentar convertir el texto a fecha

A continuación os describo como hemos usado esta nueva actividad de workflow para crear un proceso de diálogo muy simple que nos permite crear, desde una oportunidad una tarea con vencimiento en una fecha concreta. Para utilizar esta nueva actividad de workflow procedemos del siguiente modo:

1. Creamos un nuevo proceso de dialogo que contenga en primer lugar una página con una pregunta/respuesta de tipo Text en la que solicitamos la fecha de vencimiento de la tarea en un formato concreto (recordad que no podemos validar lo que introduce el usuario)

2. A continuación añadimos una nueva acción personalizada de workflow que nos permite convertir el texto en fecha:

3. Configuramos el parámetro de entrada de la acción como el texto de la pregunta/respuesta creada en el paso 1

4. A continuación creamos una nueva actividad de creación de Tarea. En los campos de la nueva tarea usamos el valor retornado por la acción de conversión de string a fecha devuelto en el paso anterior para indicar la fecha de vencimiento de la tarea (en ese atributo NO podemos introducir el texto introducido por el usuario ya que no se corresponde con el tipo DateTime del atributo, de ahí la necesidad de crear la actividad personalizada de workflow!!!)

5. El proceso de diálogo queda finalmente configurado como se muestra en la imagen siguiente tras activarlo:

6. Para ejecutar el proceso y comprobar su funcionamiento, abrimos una oportunidad y ejecutamos el proceso que hemos creado sobre la oportunidad:

7. Seleccionamos el proceso Crear visita que hemos creado en los pasos anteriores:

8. Introducimos una fecha en el formato correcto en la pregunta del primer cuadro de diálogo y pulsamos Next:

9. Comprobamos que se genera una nueva tarea asociada a la oportunidad cuyo vencimiento se corresponde con la fecha que hemos introducido como texto en el diálogo:

La creación de actividades personalizadas de workflow abre un montón de posibilidades para ampliar o suplir cosas que la nueva funcionalidad de procesos de diálogo de CRM 2011 no incluyen. En otro artículo comentaremos sobre algunas otras actividades de workflow que hemos creado recientemente en un proyecto de un cliente.