Cree la pantalla de gestión Domicilio
Cree la pantalla de gestión Domicilio
La primer pantalla a crear será Domicilios, esta pantalla aparecerá como una pestaña dentro de la sub-pantalla GESTION DEFAULT (punto comprendido dentro del curso "Tu primer CRM"). La finalidad de este ejercicio es comprender cómo utilizar los controles de detalles en las gestiones. Esta pantalla nos dará como resultado una grilla donde se darán de alta direcciones, las cuales cada una de estas será direcciones del cliente final a la cuel le podremos enviar el producto adquirido.
Comencemos
Ingresar al punto de menú "Configuración CRM > Pantallas & Grillas > Pantallas", posicionarse sobre el registro "Gestión Default" , presionar el botón "Subpantalla" y agregar un nuevo registro
Se abrirá un pop-up solicitando la descripción, Tipo y Perfiles. Completar con la siguiente información:
- Descripción: DOMICILIOS
- Tipo: Detalle 1
- Perfiles: Seleccionar todos
Posicionarse sobre el registro " DOMICILIOS" y presionar el botón "Diseño". Cuando se abra una pantalla pop-up seleccionar "Editar diseño de pantalla” y presionar aceptar.
Al ingresar, se podrá observar que el marco de trabajo es muy pequeño. Presionar el marco y extenderlo para agrandar el área de trabajo.
Agregar los siguientes controles a la pantalla, agregar etiquetas (label) para poner el nombre del campo y ubicarlas al costado de cada control y ordenarlos. Finalmente presionar guardar.
DATOS | Alcance |
---|---|
Pais Sucursal Det1 | DETALLE_1 |
Provincia Sucursal Det1 | DETALLE_1 |
Ciudad Sucursal Det1 | DETALLE_1 |
Localidad Sucursal Det1 | DETALLE_1 |
Barrio Sucursal Det1 | DETALLE_1 |
Calle Sucursal Det1 | DETALLE_1 |
Numero Det1 | DETALLE_1 |
Tipo Det1 | DETALLE_1 |
Finalizada la carga, nos quedará una pantalla como se puede apreciar.
Lista Desplegables
Hasta el momento, solo existe valores en la lista desplegable PAIS, el resto no han sido cargados. Esto se debe a que la información a mostrar depende de selecciones anteriores, por ejemplo, para desplegar las provincias primero es necesario saber a que país hace referencia.
El proceso de carga es muy sencillo, siguiendo con el ejemplo, para que carguemos información en el control PROVINCIA, primero nos posicionaremos en el control PAIS y presionaremos el botón "On Change". Acá ejecutaremos los SP previamente generados indicándoles los parámetros de entrada.
Introducir el código JavaScript proporcionado
/*ON CHANGE EN CONTROL PAIS*/
/*OBTENGO EL VALOR DEL CONTROL PAÍS*/
var pais = pantalla.findControl("lstPaisDet1").getValue();
/*EJECUTO EL SP PROVINCIA INDICÁNDOLE EL PARÁMETRO DE ENTRADA PAIS*/
var provincias = ExecuteDataTable("__1001",pais);
/*INGRESAREMOS LA VARIABLE provincia DENTRO DE NUESTRO CONTROL. TENER EN CONSIDERACIÓN QUE AL PONER FILL, EL PRIMERO CORRESPONDERÁ A LA VARIABLE Y EL SEGUNDO A LA COLUMNA DEL SP, ESTA ES CASE SENSITIVE (EN NUESTRO CASO ES TODO MAYÚSCULA)*/
pantalla.findControl("lstProvinciaDet1").fill(provincias,"PROVINCIA")
/*ON CHANGE EN CONTROL PROVINCIA*/
/*OBTENGO EL VALOR DEL CONTROL PAÍS Y PROVINCIA*/
var pais = pantalla.findControl("lstPaisDet1").getValue();
var provincia = pantalla.findControl("lstProvinciaDet1").getValue();
/*EJECUTO EL SP LOCALIDAD INDICÁNDOLE LOS PARÁMETRO DE ENTRADA PAIS, PROVINCIA*/
var localidad = ExecuteDataTable("__1002",pais,provincia)
/*INGRESAREMOS LA VARIABLE localidad DENTRO DE NUESTRO CONTROL. TENER EN CONSIDERACIÓN QUE AL PONER FILL, EL PRIMERO CORRESPONDERÁ A LA VARIABLE Y EL SEGUNDO A LA COLUMNA DEL SP, ESTA ES CASE SENSITIVE (EN NUESTRO CASO ES TODO MAYÚSCULA)*/
pantalla.findControl("lstLocalidadDet1").fill(localidad,"LOCALIDAD")
/*ON CHANGE EN CONTROL LOCALIDAD*/
/*OBTENGO EL VALOR DEL CONTROL PAÍS, PROVINCIA, LOCALIDAD*/
var pais = pantalla.findControl("lstPaisDet1").getValue();
var provincia = pantalla.findControl("lstProvinciaDet1").getValue();
var localidad = pantalla.findControl("lstLocalidadDet1").getValue();
/*EJECUTO EL SP LOCALIDAD INDICÁNDOLE LOS PARÁMETRO DE ENTRADA PAIS, PROVINCIA, LOCALIDAD*/
var ciudad = ExecuteDataTable("__1003",pais,provincia,localidad)
/*INGRESAREMOS LA VARIABLE ciudad DENTRO DE NUESTRO CONTROL. TENER EN CONSIDERACIÓN QUE AL PONER FILL, EL PRIMERO CORRESPONDERÁ A LA VARIABLE Y EL SEGUNDO A LA COLUMNA DEL SP, ESTA ES CASE SENSITIVE (EN NUESTRO CASO ES TODO MAYÚSCULA)*/
pantalla.findControl("lstCiudadDet1").fill(ciudad,"CIUDAD")
Validaciones
La validación a introducir en esta pantalla, es evitar que un operador pueda cargar más de una vez el mismo tipo de domicilio. Es decir, que no introduzca dos veces domicilio "Personal". Para esto debemos barrer la grilla de domicilios validando que el TIPO a ingresar no exista. Realizaremos la validación de esta manera debido a que un agente pudo haber ingresado varios domicilios en la gestión actual, y siendo que esta información no se guardará en BBDD hasta finalizar la gestión, nos vemos imposibilitados de realizar la validación por BBDD.
En la pantalla DOMICILIOS, posicionado sobre el marco presionar el botón "OnPoupUnLoad ". Es aquí donde introduciremos el código JS y en caso que exista un TIPO idéntico arrojaremos una alerta.
Introducir el siguiente código
/* CONSIGUE EL VALOR OTORGADO EL TIPO DETALLE 1 QUE SE ESTA CARGANDO Y SE VALIDARÁ*/
var tipodomdet = pantalla.findControl("txtTipoDet1").getValue();
/*CONSIGO LA CANTIDAD DE REGISTROS QUE EXISTEN CARGADOS EN LA GRILLA DE DETALLE1. ESTO NOS PERMITIRÁ COMPARAR NUESTRO REGISTRO A CARGAR CON LOS YA CARGADOS. ES NECESARIO HACER ESTO Y NO CONSULTARLO POR BASE YA QUE AL NO ACEPTAR ESTA GESTIÓN NO SE IMPACTARÁN LOS REGISTROS CARGADOS, POR ENDE, NO PODREMOS COMPARARLOS*/
var COUNT = pantalla.findControl("dgdDETALLE_1").Rows.count(); debugger;
for ( i = 0 ; i < COUNT ; i ++ )
{
var tipodireccionexiste = pantalla.findControl("dgdDETALLE_1").Rows.getRow(i).getValue("txtTipoDet1");
if(tipodomdet == tipodireccionexiste)
{
alert("El TIPO de domicilio escrito ya existe, seleccione otro.");
return false;
}
}
Finalizado, presionar guardar la pantalla
Diseño de grilla
Hemos finalizado el diseño la pantalla de carga de domicilios, ahora solo nos resta diseñar la grilla donde podremos ver listado los domicilios generados. Para ello, guardar la pantalla editada, volver a posicionarse sobre el registro " DOMICILIOS" y presionar Diseño. Cuando se abra una pantalla pop-up seleccionar "Editar diseño de grilla” y presionar aceptar.
Ingresando encontraremos con una pantalla sin registros, presionar "Agregar"
Posicionarse sobre el registro y presionar "Seleccionar"
Ingresar la descripción y presionar "Aceptar y agregar"
Continuar con este proceso hasta haber cargado todos los registros solicitados
Nombre columna | Descripción | Orden |
---|---|---|
txtTipoDet1 | TIPO | 1 |
lstPaisSucDet1 | PAIS | 2 |
lstProvinciaSucDet1 | PROVINCIA | 3 |
lstCiudadSucDet1 | CIUDAD | 4 |
lstLocalidadSucDet1 | LOCALIDAD | 5 |
txtBarrioSucDet1 | BARRIO | 6 |
txtCalleSucDet1 | CALLE | 7 |
txtNumeroDet1 | NUMERO | 8 |
Presionar botón "Ordenar" y luego con los botones subir y bajar corregir la posición.
Aceptar y salir.