Mostrando entradas con la etiqueta Silverlight. Mostrar todas las entradas
Mostrando entradas con la etiqueta Silverlight. Mostrar todas las entradas

lunes, 25 de junio de 2012

DynamicForm 1.3: Concatenaciones de campos

Siguiendo con el progreso de nuestro componente, iremos añadiendo funcionalidades que creo que todos nosotros hemos utilizado alguna vez, o que sino, seguro que necesitarán en el futuro alguna vez.

La idea de hoy es añadir la posibilidad de concatenar varios campos en uno solo. Esto suele ser muy utilizado especialmente en algunos casos como en entidades de relación que simulan relaciones N-N y así rellenar en el campo “new_name” la relación.

El resumen de la funcionalidad propuesta hoy es el siguiente:

Formulario: Cuenta
Evento: OnLoad(), OnChange()

Atributos: para este ejemplo, el campo description, y todos los relacionados con la dirección (address1_*).
Funcionalidad: Además de la funcionalidad que ya se disponía, he añadido en el XML la posibilidad de definir “actions”, en un primer momento de tipo “concat” para concatenar campos en uno de destino.

Todo este ejemplo estará como siempre disponible en Codeplex:

http://elblogdedynamicscrm.codeplex.com/documentation

En el XML he añadido una nueva sección:







La idea es que por cada “action” se defina:




  • type: define si la acción a realizar es de tipo “concat” (concatenación)


  • destattribute: define el nombre del atributo donde queremos que se escriba el resultado de la concatenación


  • attributestoconcat: listado de atributos separados por comas y en orden que se quieren concatenar.


  • stringseparator: cadena utilizada para separa los valores regogidos



En cuando a nuestro Javascript en esta versión he añadido un par de funciones nuevas:




function Actions()
{
var nodePath = "//Root/actions/action";
var nodelist = doc.selectNodes(nodePath);
//Actions
LoadXmlWebResource("new_new_test_xml");
for (var i = 0; i < nodelist.length; i++)
{
var attributes=nodelist(i).attributes;
var type= attributes.getNamedItem("type").nodeValue;
var destattribute= attributes.getNamedItem("destattribute").nodeValue;
var attributestoconcat= attributes.getNamedItem("attributestoconcat").nodeValue;
var stringseparator= attributes.getNamedItem("stringseparator").nodeValue;
switch (type)
{
case "concat":
Concat(destattribute,attributestoconcat,stringseparator);
break;
}
}
}

function Concat(destattribute,attributestoconcat,stringseparator)
{
var strConcat="";
var arrattributestoconcat=attributestoconcat.split(",");
for (j=0;j {
if (strConcat!="")
{
strConcat+=stringseparator;
}
var value=getValue(arrattributestoconcat[j]);
if (value!=null)
strConcat+=getValue(arrattributestoconcat[j]);
}
setValue(destattribute,strConcat);

}

Los métodos nuevos son:



  • Actions: que es llamado en Load() y en el OnChange() de los campos definidos para concatenar.


  • Concat: método que recibe los parámetros y concatena los valores en el campo de destino.


Además he añadido una nueva función que no tenía hasta ahora, a pesar de ser bastante básica y creo que no requiere mayor explicación:



function setValue(attributename,value)
{
if (getAttribute(attributename))
getAttribute(attributename).setValue(value);
}


Todo este ejemplo, junto con el resto de versiones completas y funcionando podéis descargarlas de Codeplex, en donde además del código completo, está también la solución completa y funcional.



Les dejo una imagen con este ejemplo funcionando en CRM:



image



Un Saludo!

lunes, 12 de marzo de 2012

Silverlight y Microsoft CRM con PRISM

Aquí les dejo un video de una sesión del MVP de CRM Ramon Tebar Bueno (http://geeks.ms/blogs/rtebar/) acerca de desarrollo con
Silverlight y CRM.
http://www.youtube.com/watch?v=CJx26970hKw&feature=youtu.be

De verdad es muy interesante el enfoque que plantea con PRISM.

Un saludo,

sábado, 11 de febrero de 2012

Silverlight a partir del Q2 2012

Como muchos saben, en los próximos meses saldrán nuevas funcionalidades para CRM 2011, de hecho Microsoft tiene previsto ir sacando nuevas releases cada 6 meses.
Dentro de los próximos cambios se incluye la posibilidad de acceder a CRM desde multiples navegadores y plataformas:
Se puede ver mas información por ejemplo aquí en el Roadmap: http://crm.dynamics.com/en-us/roadmap
http://crmpublish.blob.core.windows.net/docs/ReleasePreviewGuide.pdf
Esto es genial! podremos acceder a CRM desde un Ipad! Hace unos años esto parecería imposible, pero ahora mismo se convertirá en realidad.
Mi duda nace con el tema del Silverlight. Tantas funcionalidades desarrolladas en Silverlight hasta el momento, dejarán de funcionar en caso de acceder por ejemplo desde un Ipad ya que allí no se dispone de Silverlight.

Entonces la pregunta es: ¿conviene seguir desarrollando en Silverlight para CRM? Yo creo que la respuesta sería "Depende". Todos sabemos que Silverlight nos permite realizar soluciones muy visuales y potentes, cosa que con HTML y javascript serían mucho mas costosas.

Un saludo,