Si te dedicas a personalizar el CRM de tu compañía lo más probable es que ya le hayas metido mano "por debajo" al entramado de SQL. Y este código que os paso aquí es bastante útil a la hora de obtener el literal de un picklist para una consulta o report.
Es tan sencillo como crearos una función en la BD del CRM, tal que así:
CREATE FUNCTION ObtenerValor (
@entidad varchar(50),
@atributo varchar(50),
@id int
)
RETURNS varchar(500)
BEGIN
DECLARE @return varchar(500)
SET @return = (
SELECT StringMap.Value AS DisplayValue
FROM StringMap
INNER JOIN MetadataSchema.Entity
ON StringMap.ObjectTypeCode = etadataSchema.Entity.ObjectTypeCode
WHERE (MetadataSchema.Entity.Name Like @entidad)
AND (StringMap.AttributeName Like @atributo)
AND (StringMap.AttributeValue = @id)
)
return @return
END
y después la llamáis en vuestra consulta:
SELECT
dbo.ObtenerValor('new_candidato', 'New_Departamento', c.New_Departamento) AS DEPARTAMENTO
FROM New_candidatoExtensionBase
Acordaos de darle permisos de ejecución de la función al usuario que lance la query.
No hay comentarios:
Publicar un comentario