viernes, 15 de noviembre de 2013

Fusion Charts en Cuadro de Mandos Interactivo de SageCRM (I)

Fusion Charts

Fusión Charts es una librería JavaScript que nos permite crear gráficos/mapas mediante datos serializados en JSON o XML. Además utiliza HTML5 que nos permitirá poder visualizar estos gráficos desde dispositivos móviles y navegadores multiplataforma.
Con Fusion Charts también podremos crear gráficos más complejos dónde incluso podremos hacer "drill down"

Fusion Charts en SageCRM 
SageCRM incluye esta librería a partir de la versión de SageCRM 7.1,
Esto nos permitía tener gráficos (generados a través de los informes) animados e interactivos y visibles desde los dispositivos móviles.

A continuación veremos cómo podemos crear gráficos mediante desarrollo y páginas personalizadas, "inyectando" nosotros los valores que queremos visualizar. Obtenidos a través de la CRM COM API.


jueves, 7 de noviembre de 2013

Permisos Pestaña Biblioteca SageCRM


En SageCRM tenemos una entidad llamada biblioteca, dónde podemos adjuntar cualquier tipo de documentación.

Además esta documentación podrá ir vinculada a cualquier otra entidad (Empresa, Persona, Incidencia...)

Los documentos de la biblioteca pueden estar en borrador o en estado final (un documento en estado borrador nos permitirá modificarlo directamente en SageCRM).



El problema lo encontramos cuando queremos restringir ciertos documentos a ciertos usuarios. 
Debido a que la entidad de Biblioteca no es una entidad "Principal" no podemos asignar permisos sobre ella.

Aún así, aquí traigo una solución a este problema. Solamente necesitamos hacer 4 cosas: 

jueves, 17 de octubre de 2013

Portal TeleMarketing enlazado con SageCRM





Se ha creado un portal Web (mediante ASP.NET MVC) enlazado con SageCRM ( a través de los WebServices de SageCRM).


El objetivo de este portal es hacer llamadas a clientes para conseguir visitas para los comerciales, de una manera más agil de la que nos proporciona SageCRM.



Requerimientos
  • Habilitar los WebServices de SageCRM
  • Marcar en la Entidad Usuarios de SageCRM que usuarios tendrán acceso al portal de TeleMarketing
  • Marcar en la Entidad Empresas, que usuarios de telemarketing podrán acceder a esta empresa.
  • Crear campos específicos para el proyecto dentro de la Entidade Empresa (target, estado de telemarketing, teleoperador asignado, ...), y dentro de la Entidad Comunicación (tipo de respuesta, motivo no interesado, motivo no llamar, datos de la visita...)

jueves, 5 de septiembre de 2013

VER MENSAJES DE ERROR DETALLADOS EN EL NAVEGADOR (ERROR 500)





Cuando hacemos un desarrollo en asp clásico, (por ejemplo cuando estamos personalziando páginas asp de SageCRM) en muchos casos no podemos debugar ya que no disponemos de un IDE como Visual Studio.NET, y la única manera de ver si algo falla, es ejecutando directamente la página en el navegador. En algunas ocasiones nos encontraremos que el navegador simplemente nos devuelve un error estándar ("Error 500") que no nos dará ninguna información.

Cuando trabajamos sobre IIS 7 y se produce un error 500 en una página ASP, éste por defecto nos muestra una página estandar de error que NO describe el motivo del error.
Para ver el detalle del error hay que hacer dos cambios en la configuración del IIS Manager y un cambio sobre el propio navegador del cliente:

lunes, 8 de julio de 2013

SageCRM - Novedades Versión 7.2 para Desarroladores

A continuación mostraré las novedades que incorpora  SageCRM 7.2 con lo que respecta a los desarrolladores de SageCRM.

  1. Eliminación de los frames en la distribución de la pantalla
  2. Uso de campos Identidad dentro de SQL Server (ya no se usará la tabla SQL_Identity)
  3. La nueva API Cliente de SageCRM
  4. Posibilidad de crear librerías JavaScript compartidas para su uso dentro de SageCRM

miércoles, 12 de junio de 2013

SageCRM - Pasar Contacto a Contacto


OBJETIVO – PASAR CONTACTO A CONTACTO


SageCRM permite hacer una búsqueda de empresas pero no permite pasar de empresa a empresa de una manera fácil.

Actualmente, desde la pantalla de búsqueda se puede abrir una nueva pestaña para cada una de las empresas, con el inconveniente que cada nueva pestaña implica un nuevo proceso de IExplore que recarga el uso del CRM. Además al trabajar en varias pestañas a la vez tenemos la posibilidad de interactuar con varias empresas a la vez y esto causa desajustes en los resultados del CRM.


El objetivo es conseguir que desde la pantalla personalizada de “resumen Total” de la empresa se pueda pasar contacto a contacto hacia adelante y hacia atrás manteniendo la selección de la búsqueda realizada.

lunes, 27 de mayo de 2013

SageCRM - Ocultar Campos



Uno de los scripts que más vamos a utilizar en SageCRM es el script de ocultar campos según los valores de otros campos.

Como ya hemos visto en otros posts, esto lo podemos hacer con JavaScript “puro” o desde la versión 7.1 SP2 con jQuery.

En este ejemplo vamos a ver como mostrar/ocultar un campo de una comunicación según el valor del tipo de comunicación.

Si lo hacemos con JavaScript puro veremos que necesitamos más líneas de código y necesitamos verificar el navegador del cliente.

En ambos casos, el script lo definiremos dentro del “script de contenido personalizado” de la pantalla correspondiente.

viernes, 10 de mayo de 2013

GoogleMaps en ASP.NET MVC



En este post vamos a ver cómo podemos integrar Google Maps en nuestra aplicación ASP.NET MVC.
Veremos principalmente 3 cosas:

  1.  Obtener una posición mediante las coordenadas de longitud y latitud
  2.  Obtener una posición mediante una dirección
  3.   Calcular una ruta desde una dirección a un punto


Para ello nos basaremos en las APIS que nos ofrece Google, concretamente en la APIde Google Maps y en la documentación específica de JavaScript.

jueves, 25 de abril de 2013

jQuery en SageCRM - AutoComplete



En un post anterior empezamos a hablar de jQuery dentro de SageCRM y de las posibilidades y potencia que jQuery nos da. Una de las posibilidades que tenemos con jQuery es el uso de plugins ya creados. En este post hablaremos de cómo implementar un plugin de jQuery en SageCRM, en concreto el plugin de autocomplete.

En SageCRM existen varios tipos de campos de selección (Desplegable Simple, Desplegable MultiSelección o incluso existe la posibilidad de crear un campo de búsqueda avanzada sobre una entidad). Aun así, muchas veces nos encontramos con la necesidad de querer un campo desplegable que se auto-rellene según los valores que vamos introduciendo. 
Gracias a el plugin jQuery de autocomplete esto es posible como muestro a continuación.


jueves, 18 de abril de 2013

jQuery en SageCRM - Eventos



Ya hemos visto que en SageCRM podemos utilizar jQuery

En este post voy a mostrar cómo se implementan  los métodos jQuery de los eventos de ratón y eventos de teclado.
 
Para ello realizaré algunos ejemplos que nos pueden ser de utilidad en nuestro día a día, en implementaciones de SageCRM:

  1.     Mostrar Tooltip al entrar en un campo (mouseenter y mouseleave)
  2.     Restringir la longitud de un campo, que esté comprendida entre 3 y 6 (focusout)
  3.     Modificar la etiqueta de un campo al presionar una tecla dentro del campo (keypress)
  4.     Animación de una etiqueta al clickar en el campo (click, fadein, fadeout)

viernes, 12 de abril de 2013

jQuery en SageCRM



SageCRM es una herramienta que nos permite varios tipos de personalización, tanto a nivel de bloques del propio CRM, como con ASP Clásico o con dlls en .NET.

Además, como SageCRM es una aplicación Web, nos permite mediante JavaScript agregar funcionalidades directamente sobre el navegador (client-side). 

La novedad la encontramos a partir de la versión SageCRM 7.1 SP2, ya que incorpora las librerías de jQuery. Esto nos permite obtener toda la potencialidad de jQuery dentro de SageCRM sin tener que referenciar a su librería.

Esta librería la podemos encontrar dentro de la carpeta de instalación “CRM\WWWRoot\jQuery”.
Y si miramos el código fuente de la página principal de SageCRM, veremos que el propio SageCRM ya referencia estas librerías.

<script type="text/javascript" src="/CRM/jQuery/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="/CRM/jQuery/jquery-ui-1.8.16.custom.min.js"></script>
<script type="text/javascript" src="/CRM/jQuery/crmPopup.js"></script>

martes, 2 de abril de 2013

jqGrid - Funcionalidades - Editar (II)



En el post anteriores vimos cómo implementar “jqGrid”,   y algunas funcionalidades como ordenación, paginación, resize…

En esta entrada veremos:
·        Editar un registro en otra pantalla (dobleclick en la fila correspondiente)
·        Editar un registro desde la misma fila de la lista
·        Propiedades de Edición (link)
o   Tipos de campos (desplegables, texto, password , imagen …)
o   Atributos del campo (tamaño, longitud máxima, valores …)
o   Reglas de validación (requerido,  es un email, es un número,   es una fecha…)
o   Reglas de Validación personalizadas


martes, 19 de marzo de 2013

jqGrid - Mas funcionalidades (I)



En el post anterior de “jqGrid” vimos cómo se podía implementar jqGrid en un desarrollo en ASP.NET MVC.

En las siguientes entradas, iré mostrando algunas de las funcionalidades y pequeños trucos y consejos.

En esta entrada veremos:

  • Cómo modificar el tamaño del Grid, según el tamaño de nuestro navegador (Resize)
  • Definir un tamaño mínimo de alto de nuestro Grid (height)
  • Ordenación de las columnas (Sorted)
  • Paginación

 

jueves, 7 de marzo de 2013

SageCRM – Campos Teléfono (II)



Después de comentar en la entrada “SageCRM - Campos Teléfono (I)” que mediante “javascript” se podían manipular campos “especiales”  (como son los teléfonos y los emails), se me ocurrió mostrar mediante la misma “técnica” y “tecnología”, como se pueden formatear los teléfonos para que siempre se entren y se visualicen de la misma manera. 

En este ejemplo, mostraré los teléfonos separados de 3 en 3, como muestro a continuación:

666 666 666

miércoles, 6 de marzo de 2013

SageCRM – Campos Teléfono (I)



Como ya sabréis SageCRM es un CRM de Sage, y como tal nos ayudará a fidelizar clientes y aumentar la productividad de la empresa, tanto en las nuevas ventas como en la automatización de procesos.

SageCRM nos permite crear personalizaciones tanto desde el propio software, como desde desarrollos personalizados (asp clásico y .net), aun así, hay muchas pantallas encapsuladas directamente en la dll del software que no permiten ser personalizadas.

En estos casos, gracias a que SageCRM es una aplicación web, la única alternativa que tenemos es hacer estas modificaciones mediante “javascript”, ya que es un lenguaje de programación interpretado, pensado para poder  desarrollar y personalizar funcionalidades directamente sobre el navegador (en el client-side).



lunes, 4 de marzo de 2013

jqGrid - El Grid Definitivo


Una funcionalidad que desde siempre hemos necesitado, al desarrollar aplicaciones web, ha sido la de mostrar en una tabla diferentes datos, como pueden ser un listado de clientes, artículos o pedidos.
Estas tablas deberían incorporar paginación, ordenación, y otras muchas características que nos den toda la usabilidad y potencia que el usuario necesita.
Aquí es donde os presento jqGrid, un plugin JQuery, que como tal, funciona al lado del cliente, y nos evita los postbacks en el servidor. (Esto se traduce en mayor rapidez y eficiencia para el usuario)
Características de jqGrid 
·        Trabaja correctamente bajo Internet Explorer, Firefox, Chrome, Safari, Opera
·        Multi-idioma, La interfaz de usuario está en más de 20 idiomas
·        Se puede personalizar el CSS (Diseño, colores y formatos)
·        Paginación y Ordenación
·        Búsquedas y Filtros
·        CRUD, y edición directamente en las celdas de las filas
·        SubGrids y  Agrupados
·        Carga de datos de forma asíncrona vía Ajax
·        Acepta XML/JSON como orígenes de datos


lunes, 25 de febrero de 2013

Mi Primera Entrada

Hoy es lunes 25 de Febrero de 2013
y estreno mi blog para todos los amantes y curiosos de ASP.NET MVC, SageCRM y Netduino.

Este blog lo dedicaré a mostrar los recursos y funcionalidades que me requiere mi día a día, tanto en desarrollos en .NET (principalmente ASP.NET MVC) como en desarrollos para SAGE CRM.

Además, también intentaré mostrar mis avances en mi futura y próxima afición, el desarrollo de microcontroladores con la plataforma hardware Netduino