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.