CRM 2011: Desactivar las vistas de una entidad

27 01 2011

Una de las nuevas posibilidades de CRM 2011 es la de poder desactivar vistas. En la versión anterior 4.0, tan sólo teníamos la posibilidad de eliminar aquellas vistas que no deseábamos en una entidad (o bien desarrollar un plugin que interceptara el mensaje Retrieve de la lista de vistas y eliminar del resultado aquellas que contenían un prefijo específico según una lógica que implementábamos en el propio plugin). Ahora podemos desactivarlas para que no se muestren. Sin embargo esta opción parece que no está muy bien completada por parte de Microsoft, en concreto, encontramos a faltar lo siguiente:

· La desactivación tan sólo puede ejecutarse desde la lista de vistas de la entidad. No puede desactivarse una vista desde el formulario de edición de la vista.

· Desde la lista de todas las vistas del formulario no podemos ver ni añadir la columna que nos indique si está activa o inactiva. Debemos visualizar (combo superior) la lista de las activas o la lista de las inactivas

· El esquema XSD de la exportación de vistas NO contiene el atributo StateCode donde se almacena si la vista esta activa o inactiva por tanto, al exportar las vistas en una solución e importarlas en otra organización, la configuración de las vistas activa e inactivas no se traspasa

Si bien celebramos que tengamos esta nueva opción, sería conveniente que la terminaran de pulir un poco más. Por supuesto, seguiremos pensando que una muy buena utilidad seria que pudiéramos configurar la visibilidad de las vistas (en concreto de las personalizables, no las de sistema) por roles… pero eso es otro tema.

Anuncios




CRM 2011: Carga de subgrids

27 01 2011

Una curiosidad referente a los subgrids en formularios de CRM 2011 (gran novedad de esta versión!). Si bien no he encontrado por ningún sitio una constatación del tema si que hemos podido comprobar que cuando en un formulario añadimos varios subgrids, al cargar el formulario tan sólo se descargan los datos de los cuatro primeros subgrids del formulario. El resto de subgrid del formulario muestran un mensaje indicando que si se desea mostrar los datos se pulse en el link (aunque posteriormente se vea que no hay ningún registro a mostrar en el subgrid):

Entiendo que esto responde a una necesidad de controlar la carga de datos de un formulario para que éste no tarde demasiado en cargarse por lo que entiendo esa funcionalidad. Sin embargo, creo que debería haber una opción que permitiera al usuario configurar el número de subgrid que quiere cargar como mínimo y que la responsabilidad de la lentitud de carga del formulario recayera en el propio usuario. Por ejemplo, en una integración reciente utilizábamos 6 subgrids en un formulario, todos ellos como máximo tenían dos registros a mostrar y la mayoría de veces ninguno por lo que es un engorro no disponer de una configuración que nos permitiera cargar siempre los 6 subgrids.

Probablemente, como siempre, habrá por ahí un parámetro de configuración en la base de datos o en el registro de Windows… Intentaremos dar con él. Si alguien conoce como se puede configurar este comportamiento, por favor, escribid un comentario! Gracias.





MSCRM 4.0: Error de SQL Server al importar personalizaciones

27 01 2011

A continuación os describo uno de los errores más comunes que encontramos al intentar importar personalizaciones en MSCRM 4.0. Si bien es un error conocido y tiene una resolución más o menos sencilla, siempre caemos en el mismo error.

El problema lo encontramos cuando realizamos un cambio de tipo de atributo dejando el atributo con el mismo nombre. Por ejemplo al cambiar un atributo de tipo nvarchar a ntext. Esta acción la realizamos eliminado el atributo nvarchar y creándolo nuevamente con el mismo nombre de esquema (o bien creamos un atributo intermedio con el fin de actualizar los posibles valores existentes). Sea como sea que hagamos los cambios, el error nos surge cuando intentamos importar la entidad (donde cambiamos el tipo de atributo) en otro entorno. Al importar la entidad obtenemos un error del tipo:

Error: <entidad>: Error de SQL Server. Intente esta acción de nuevo…

Para resolver este error podemos actuar de dos modos:

1. En la organización donde intentamos importar la personalización localizar el atributo al que hemos cambiado el tipo y eliminarlo. Una vez eliminado, la importación se ejecutará sin problemas

O

2. En la organización donde intentamos importar la personalización, cambiar el tipo de atributo del mismo modo que lo hemos cambiado en la otra organización. Una vez actualizado el tipo de atributo la importación se ejecutará sin problemas

Para poder localizar que atributo ha cambiado de tipo podemos usar la visualización de atributos de la entidad en cada organización mediante la página del SDK:

http://<crm server>/>organización>/sdk/list.aspx





CRM 2011: Report con FetchXML

23 01 2011

Una de las novedades del CRM 2011 sobretodo para la versión OnLine es la capacidad de desarrollar e integrar reports mediante FetchXML. Para crear reports mediante FetchXML para CRM 2011 requerimos:

· Microsoft SQL Server 2008 (o R2) Reporting Services
· Business Intelligence Development Studio
· Microsoft DynamicsCRM Report Authoring Extensio (descarcable desde http://go.microsoft.com/fwlink/?LinkId=199124)

A continuación os describimos el proceso para crear un report con FetchXML.

1. Para desarrollar el report con Fetch XML necesitaremos la consulta XML que devuelva los datos con los que queremos generar el report. Para ello podemos usar un editor de texto o XML y, utilizando la estructura descrita en el SDK para la creación de FetchXML, generar la consulta. En CRM 2011 disponemos de una nueva opción para poder obtener de forma muy simple una consulta en formato FetchXML. Para ello podemos generar una consulta avanzada des de el propio CRM 2011. En el mismo formulario de la búsqueda avanzada podemos usar la opción Download Fetch XML:

Esta consulta la utilizaremos posteriormente al definir el report.

2. A continuación iniciamos Business Intelligence Development Studio (Microsoft Visual Studio 2008) y creamos un proyecto del tipo Report Server Project dentro del apartado Business Intelligence Projects:

3. Añadiremos a continuación un nuevo report. Al definir la conexión a datos para generar un dataset utilizaremos el tipo de conexión añadido por Microsoft DynamicsCRM Report Authoring Extensio. En concreto seleccionaremos el tipo Microsoft Dynamics CRM Fetch. Para este tipo de conexión definimos la cadena de conexión como:

ServerURL;OrganizationName;HomeRealmURL

Tan sólo el parámetro ServerURL es obligatiorio. El resto de parámetros OrganizationName y HomeRealmURL si no se especifican se usa los valores por defecto de CRM (organización por defecto y el valor del registro “HKLMSOFTWAREMicrosoftMSCRMBidsExtensionsHomeRealmUrl” respectivamente)

Al seleccionar la cadena de conexión se nos solicitará las credenciales de acceso al CRM. En el caso de utilizar una conexión de CRM OnLine se utilizará las credenciales de Windows Live.

4. A continuación debemos introducir la consulta Fetch XML obtenida en el paso 1 (o bien definirla manualmente como se comentaba en ese paso):

5. A partir de este punto podemos definir el report como realizamos habitualmente sobre consultas SQL hasta obtener el resultado deseado y guardar el report:

6. Por último tan sólo debemos integrar el report en CRM 2011 como habitualmente hacemos:





CRM 2011: Ordenación del eje horizontal en los gráficos (Charts)

20 01 2011

A continuación os cuento una curiosidad (por no aventurarme a llamarle bug) que nos hemos encontrado al crear gráficos en CRM 2011 OnPremise RC. Al crear un gráfico en el que queremos que mostrar como eje X un atributo de tipo fecha agrupado por año, el sistema asigna la ordenación de los datos por el campo agregado en lugar de por los años. Es decir, que el gráfico siempre se presenta en orden decreciente y el eje horizontal no aparece ordenado:

Para corregir este comportamiento, hemos exportado el gráfico y hemos editado el archivo XML substituyendo el tag <order>, asignado al alias aggregate_colum en el siguiente código:

Por el alias correcto que en este caso corresponde al agrupador (groupby_column):

Tras realizar este cambio hemos importado nuevamente el gráfico, sobrescribiendo el ya existente y obtenemos el resultado esperado, es decir, que en el eje horizontal aparezcan los años ordenados:

Como vemos en el resultado, los años en el eje horizontal aparecen ya ordenados en forma decreciente tal y como hemos indicado en el XML. Entendemos que el editor de gráficos debería permitir al usuario seleccionar por qué campo desea ordenar los resultados (agregación o agrupador) pero o no existe o no lo hemos sabido encontrar.

Tan sólo hay que tener en cuenta que si editamos nuevamente el gráfico en el editor de CRM (cosa que nos permite si tan sólo realizamos el cambio descrito en este artículo) al guardar volverá a ordenar por el agregado y por tanto, el gráfico volverá a mostrarse de forma no esperada. En ese caso, debemos editar nuevamente el XML exportándolo e importándolo.

Quizás algún lector de este artículo se ha encontrado con el mismo tema y tiene alguna información de cómo resolverlo de otro modo más ‘elegante’ y sin tener que editar el XML. Por el momento aplicaremos esta solución…





MSCRM 2011: Base Language Català

14 01 2011

Una gran novedad, como mínimo para los clientes de Catalunya (y supongo que también para los gallegos y los vascos), es que ahora podemos crear organizaciones de MSCRM 2011 en idioma base (base language) en catalán. Como ya sabréis en la versión MSCRM 2011 el idioma base de una organización no depende, como en la versión 4.0 del idioma base de la instalación sino del idioma base de la organización. En el ayudante de creación de una organización se nos pide el idioma base con el que queremos crear la organización. Evidentemente debemos instalar los Language Pack necesarios en correspondencia del idioma base que queramos utilizar. Así por ejemplo, en la siguiente imagen podéis observar cómo se selecciona el idioma base en catalán en una instalación en que se ha utilizado el instalador de MSCRM 2011 RC en inglés y en el que se ha instalado los Language Pack de español y catalán:





MSCRM 2011: Contador de registros

12 01 2011

Finalmente ya sabemos cómo modificar el límite máximo (preestablecido en 5000) del contador de registros de las listas. Recordad que en la nueva versión 2011, en la parte inferior izquierda de la vista se muestra el número total de registros. Pues bien existía la limitación a 5000 registros y no sabíamos cómo eliminar este límite. Pues bien, ya sabemos que para modificar este valor máximo debemos modificar en la base de datos MSCRM_CONFIG, en la tabla DeploymentProperties, la entrada TotalRecordCountLimit: