Dynamics CRM

Ntext, Text and Image serán borrados en versiones futuras de Microsoft SQL Server

Navegando por el MSDN encontré un enlace que me llamó a la atención.

En él se comenta que no son aconsejados los tipos ntext, text, and image y que en su lugar se use varchar (max), nvarchar (max) y varbinary (max) en su lugar.

En CRM 4.0 la primera medida que se puede tomar al respecto es no usar los atributos ntext cambiándolos por nvarchar con formato área de texto cuya apariencia es idéntica.

http://msdn.microsoft.com/en-us/library/ms191262.aspx

Botones de búsqueda avanzada

En este post voy explicar como añadir botones distintos de búsqueda avanzada en los menús de las entidades. Estos botones tendrán enlaces a la búsqueda avanzada pasandole parámetros para que la búsqueda esté en cierto modo predefinida y evitar al usuario el tener que escoger ciertos parámetros.

Para empezar tendremos que modificar el ISV.config para añadir los diferentes botones que queramos.

En mi caso he añadido un botón de Buscar Tercero(Cuenta) y otro de Buscar Tarea. Para ello he añadido el siguiente código en el menuBar de la entidad account en el Microsoft Customer Relationship Management Entities del ISV.

<Menu>

<Titles>

<Title LCID="1033" Text="Busqueda Avanzada" />

</Titles>

<MenuItem Url ="http://localhost:5555/<nombreOrganizacion>/AdvancedFind/AdvFind.aspx?EntityCode=1" WinMode="2">

<Titles>

<Title LCID="1033" Text="Busqueda Tercero" />

</Titles>

</MenuItem>

<MenuItem Url ="http://localhost:5555/<nombreOrganizacion>/AdvancedFind/AdvFind.aspx?EntityCode=4212" WinMode="2">

<Titles>

<Title LCID="1033" Text="Busqueda Tareas" />

</Titles>

</MenuItem>

<MenuSpacer />

</Menu>


Con esto quedaría así la ventana de la entidad.















Pasamos ahora a explicar un poco la URL de los botones, por ejemplo esta:

<MenuItem Url ="http://localhost:5555/<nombreOrganizacion>/AdvancedFind/AdvFind.aspx?EntityCode=1" WinMode="2">


Esta Url llama a la página Adv.Find.aspx pasándole el EntityCode de la entidad sobre la que queremos buscar, en este caso Cuenta.

¿Cómo obtenemos el entityCode de una entidad? Muy sencillo, vamos al código JavaScript del Onload de la entidad y en el insertamos la siguiente sentencia.

alert("Este es el entityCode: " + crmForm.ObjectTypeCode);


Con ello nos saldrá un mensaje de alerta cuando abramos un objeto de dicha entidad diciendonos su código.

Además, el elemento MenuItem tiene otros parámetros que podemos modificar como el winMode que sirve para especificar el tipo de ventana y que puede admitir los valores:

0 = Window [default]
1 = Modal Dialog
2 = Modeless Dialog

Además el elemento también admite JavaScript que se ejecutará cuando el Item sea clickeado. En caso de incluir JavaScript, la URL se ignora y al pinchar sobre el botón hace caso sólo al código Jacascript.

Para más información sobre este elemento en el sdk vienen detallados todos los parámetros con sus posibles valores.