13/7/10

Adiós “CRM 5”. Hola CRM 2011

Se ha anunciado hoy mismo en la Worldwide Partner Conference: el nombre en clave de la siguiente versión de CRM pasa al olvido: a partir de ahora hablaremos de Microsoft Dynamics CRM 2011. Las novedades que resaltan son:

  1. Dashboards integrados en el producto estándar, como podéis ver en la foto
  2. Disponibilidad de CRM Online en 41 culturas diferentes
  3. Dynamics Marketplace: una especie de AppStore para partners y clientes donde comercializar y comprar fácilmente extensiones

crm2011

Habrá una Beta pública en Septiembre. Si queréis que os notifiquen la fecha exacta, os podéis dar de alta aquí: http://crm.dynamics.com/crm2011beta

12/7/10

Obtener textos y valores de un picklist via SQL

Este post está inspirado por este otro de CrmLandia por sobre cómo obtener los valores de los picklist a través de búsquedas en las tablas de metadatos de CRM. Allá van las dos consultas:una para obtener todos los valores de un atributo @aName de una entidad @eName en el idioma @uiLanguageId.

getAllPicklistValues


SELECT apv.Value, ll.Label
FROM MetadataSchema.AttributePicklistValue AS apv
INNER JOIN MetadataSchema.Attribute AS a
ON apv.AttributeId = a.AttributeId
INNER JOIN MetadataSchema.Entity AS e
ON a.EntityId = e.EntityId
INNER JOIN MetadataSchema.LocalizedLabel AS ll
ON apv.AttributePicklistValueId = ll.ObjectId
WHERE (ll.LanguageId = @uiLanguageId)
AND (e.Name = @eName) AND (a.Name = @aName)
ORDER BY ll.LanguageId, apv.Value


Y otra consulta (la que hace que este post no sea un plagio total) para obtener un sólo valor en todos los idiomas posibles. ¿Por qué la añado? Pues porque me hizo falta en un proyecto.



getPicklistValue



SELECT apv.Value
FROM MetadataSchema.AttributePicklistValue AS apv
INNER JOIN MetadataSchema.Attribute AS a
ON apv.AttributeId = a.AttributeId
INNER JOIN MetadataSchema.Entity AS e
ON a.EntityId = e.EntityId
INNER JOIN MetadataSchema.LocalizedLabel AS ll
ON apv.AttributePicklistValueId = ll.ObjectId
WHERE (ll.LanguageId = @uiLanguageId)
AND (e.Name = @eName)
AND (a.Name = @aName)
AND (ll.Label = @label)
ORDER BY ll.LanguageId, apv.Value

2/7/10

Soy oficialmente ex-MVP

Pues sí, se veía venir. En los últimos doce meses he estado tan ocupado instalando, personalizando y programando para Microsoft Dynamics CRM que no he tenido tiempo para contribuir a la comunidad, así que el post de hoy es sobre Cómo quitar una imagen de un blog de blogger:
image
Lo siento sobre todo por mis compañeros, que se habían acostumbrado a llamarme “Eminencia”, pensando que ser MVP implica saber mucho de un tema. Nada más lejos de la verdad: el MVP se lo dan a la gente que trabaja desinteresadamente por la comunidad, aportando herramientas, respuestas en foros, participación en eventos de grupos de usuarios, etc. Hay que currárselo.
La verdad es que había mucho nivel. Por ejemplo, Tanguy ha publicado un montón de utilidades, o Dave Berry con su CRM Entropy. Tengo tres meses para volver a intentarlo, así que quién sabe.
Enhorabuena a los premiados.