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 columnaDescripciĆ³n

Orden

txtTipoDet1TIPO1

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.