Software Lab

SageCRM 7.1 – Descuentos en cascada en líneas de Presupuestos

Oct
01

Solo podemos acceder a modificar los campos de líneas o elementos de un presupuesto en modo de edición en el lado del cliente. Esto se consigue mediante programación a nivel de pantalla-campo empleando las funcion onload y onchange del formulario HTML.

Si tienes necesidad de realizar funciones de recálculo en líneas de presupuestos, esta es tu lista de tareas a realizar:

1. Crear campos nuevos en la tabla ‘Elementos de Presupuesto’ (entidad de segundo nivel)

2. Añadir todos los campos nuevos a la pantalla de resumen de elementos de presupuesto

3. Crear las funciones JavaScript (ver más abajo un ejemplo)

4. Hacer las llamadas a las funciones desde los campos adecuados para que se realicen los cálculos en tiempo real y se registren dentro del presupuesto.

En nuestro ejemplo tenemos 3 descuentos en linea de documento que se incluyen en en la fórmula de descuento en cascada con el fin de que el cálculo sea similar a como lo hacen algunos ERPs como es el caso de Sage100.

Script de Contenido Personalizado:

<script language=»JavaScript»>
window.attachEvent(«onload», calculatodo);
function calculo(){
var precio,precio0,precio1,precio2,d1,d2,d3,valor,valor1;
precio = «0,00»;
precio = document.getElementById(«_Dataquit_listprice»).innerHTML;
precio0 = precio.replace(«EUR&nbsp;»,»»);
precio1 = precio0.replace(«.»,»»);
precio2 = parseFloat(precio1.replace(«,»,».»));
d1 = document.getElementById(«quit_dto1»).value;
d1 = parseFloat(d1.replace(«,»,».»));
d2 = document.getElementById(«quit_dto2»).value;
d2 = parseFloat(d2.replace(«,»,».»));
d3 = document.getElementById(«quit_dto3»).value;
d3 = parseFloat(d3.replace(«,»,».»));
//calculo unitario ‘Total Menos Descuento Unitario’
valor = precio2 * (1-(d1/100)) * (1-(d2/100)) * (1-(d3/100));
valor = valor.toFixed(2);
valor1 = valor.replace(«.»,»,»);
return valor1;
}
function calculo2(){
var valor2,valor3,valor4,cant;
valor2 = document.getElementById(«quit_totdiscu»).value;
valor2 = parseFloat(valor2.replace(«,»,».»));
cant = document.getElementById(«quit_quantity»).value;
cant = parseFloat(cant.replace(«,»,».»));
//calculo unitario * cantidad = base imponible linea
valor3 = valor2 * cant;
valor3 = valor3.toFixed(2);
valor4 = valor3.replace(«.»,»,»);
return valor4;
}
function calculatodo(){
if(document.EntryForm.quit_totdiscu &&  document.EntryForm.quit_totdisc){ //nos aseguramos de que existen los campos – Estamos en modo edición.
EntryForm.quit_totdiscu.value= calculo();
EntryForm.quit_totdisc.value= calculo2();
EntryForm.quit_quotedprice.value=EntryForm.quit_totdiscu.value;
}
}
</script>

La función de llamada para realizar el cálculo es  ‘jscript: calculatodo();’ que hay que poner en el componente OnChange de los campos modificables que intervienen en la fórmula.

 

 

SageCRM 7.1 – Script del agente de usuario para el iOS6 de Apple

Oct
01

SageCRM es un host web que permite la conexión de dispositivos cliente heterogéneos dependiendo del contrato y licencia adquirido.

En SageCRM necesitamos indicar al administrador del módulo Mobile con qué versiones de cliente de dispositivo móvil podemos trabajar. Este concepto en inglés se denomina ‘user agent string’.

Al conectar el usuario con su dispositivo móvil a SageCRM, el server web detecta qué tipo de terminal es, qué versión de sistema operativo lleva y si está admitido y tiene licencia de módulo y permisos de conexión móvil, lo conecta.

iOS 6

Tras aterrizar en el mercado iOS6 de Apple en septiembre de 2012 se pueden añadir estos 2 scripts a los dispositivos permitidos en SageCRM:

iPhone:

Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25

iPad:

Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25

Sobre el lugar de SageCRM en donde insertar estos scripts sugerimos que consultes la documentación de administración de SageCRM.
Una vez vinculado cada script a nuestro controlador de dispositivo prueba conectándote desde tu dispositivo móvil.
Si tienes alguna consulta o sugerencia, puedes contactar con nosotros dejando un comentario.