Ejercicio4 - Página Personal: Julio Huber Peña Reyes

Anuncio
CEBA DEL IPEC
CENTRO DE EDUCACIÓN BÁSICA ALTERNATIVA
PARA JÓVENES Y ADULTOS
DEL INSTITUTO PERUANO DE LA CIENCIA Y LA CULTURA CEBA DEL IPEC
R.D. Nº 002655-2010/DREC31-08-2010
Fuente: UNI - Centro de Extensión y Proyección Social, Elaborado por: Allancca Paucar, Juan José
PRACTICA 4 VISUAL FOXPRO PROGRAMACIÓN VISUAL
Objetivo: Preparar un formulario de Facturación.
Nota: En la parte inferior se muestra el producto final para llegar a ello, Ud. Debe realizar ciertos pasos previos que se detallan
después del grafico.
Carguemos Visual FoxPro
1.
Para simular una Entidad vamos a crear las
siguientes tablas en la Base de Datos Ventas, a
las tablas Artículos y Clientes ingresar algunos
registros.
Articulo.dbf
Artcod
C
3
ArtDet
C
40
ArtPre
N
10
3
ArtStk
N
4
Clientes.DBF
ClieCod
C
3
ClieNom
C
40
ClieRuc
C
8
GuiaEnc.DBF
Nguia
C
6
ClieCod
C
3
IGV
N
7
2
Total
N
10
2
2.
3.
Guiadet.DBF
Temporal.DBF
Nguia
C
6
Nguia
C
6
ArtCod
C
3
ArtCod
C
3
ArtDet
C
40
ArtDet
C
40
PreUni
N
7
2
PreUni
N
7
2
Cant
N
5
Cant
N
5
SubTotal
N
10
2
SubTotal
N
10
2
Nota: Indexar la tabla GuiaEnc, campo Nguia con etiqueta Nguia
Creamos Nuevo formulario luego insertamos los objetos que se muestran en el grafico inferior.
Para el Entorno de Datos asignamos las cinco tablas creadas anteriormente
4.
En tiempo de Diseño: Modificamos las propiedades de los objetos según la tabla siguiente:
Antes de continuar con mas cambios, vamos a
Objeto: Propiedad
Valor
Objeto:
Propiedad
Valor
insertar objetos Combo y Spinner en la columna1 y
ControlSource
Clientes.Clienom
Alignment
2. Centro
Name
CmbCliente
DisableBackColor A Criterio del Usuario
columna2 del Grid respectivamente, para ello prepare
Combo1 Row SourceType
Text1
Campos
DisableForeColor A Criterio del Usuario
el control de Formularios luego:
Row Source
Clientes.Clienom
Enabled
FALSO
Seleccione el objeto: Grid
Style
2. Lista desplegable
Name
txtNguia
A Criterio del Usuario
Value
1
FontName
Presione sobre ella :
Botón Derecho
Alignment
2. Centro
Column Count
4
Seleccione
:
Modificar
.F. Falso
DisableBackColor A Criterio del Usuario
Deleted mark
Hacemos Click en
:
Combo
Text2 DisableForeColor A Criterio del Usuario
Grid1
grdDetalle
Name
Luego
Click
sobre
ab
debajo
de: Header1 de la
Enabled
FALSO
RecordSource
Temporal
Name
TxtTotal
BackColor
A Criterio del Usuario
primera columna del grid
FontName
Página 1 de 3
A Criterio del Usuario
GridLineColor
Azul
Prof. Julio H PEÑA REYES
CEBA DEL IPEC
CENTRO DE EDUCACIÓN BÁSICA ALTERNATIVA
PARA JÓVENES Y ADULTOS
DEL INSTITUTO PERUANO DE LA CIENCIA Y LA CULTURA CEBA DEL IPEC
R.D. Nº 002655-2010/DREC31-08-2010
Hacemos Click en
:
Spinner
Luego Click sobre ab debajo de: Header1 de la Segunda columna del grid
Salimos de edición haciendo Click fuera del Grid, Presionamos Botón derecho sobre el Grid
Propiedades
Hacemos Clic en:grdDetalle
Seleccionamos :Column1
Current Control
Clic en
Text1
seleccionamos Combo1
Similar debe hacerlo para Spinner de la Segunda Columna
Continuamos cambiando el valor de las propiedades de los siguientes objetos:
Objeto:
Propiedad
Command1 Caption
Name
Command2 Caption
Name
Command2 Caption
Text1
Name
Valor
Objeto: Propiedad
\<Nuevo
cmdNuevo
Command3 Caption
\<Agregar
Command4 Caption
Name
Name
cmdAgregar
\<Agregar
txtNguia
Command4 Caption
Text2
Name
Valor
\<Guardar
cmdGuardar
\<Salir
cmdSalir
\<Salir
txtSubTotal
Mas propiedades
Objeto:
Propiedad
ControlSource
Column1 CurrentControl
Name
ControlSource
Column2 CurrentControl
Name
Valor
Temporal.Artdet
Combo1
Column2
ColDescripcion
Alignment
Caption
FontBold
2. Medio Centro
Descripcion
Header2
Alignment
Caption
FontBold
2. Medio Centro
Cantidad
Combo1
Column3
ColDescripcion
Temporal.Artdet
Spinner1
Header1
ControlSource
Name
RowSourceType
RowSource
Style
Value
Objeto:
ControlSource
Name
ReadOnly
ControlSource
Name
ReadOnly
Valor
Temporal.Artpre
ColPreUni
.T. Verdadero
Temporal.SubTotal
ColSubTotal
.T. Verdadero
Header3
Alignment
Caption
FontBold
2. Medio Centro
Precio
Header4
Alignment
Caption
FontBold
2. Medio Centro
SubTotal
ControlSource
KeyboardHighValue
KeyboardLowValue
Name
Style
SpinnerHighValue
SpinnerLowValue
Value
Temporal.Cant
.T. Verdadero
.T. Verdadero
Temporal.ArtDet
CmbDescripcion
6. Campos
Articulo.ArtDet
2. Lista Desplegable
Propiedad
Spinner1
1
append blank
replace nguia with thisform.txtnguia.value
Select temporal
dele all
set dele on
append blank
replace nguia with thisform.txtnguia.value
srec=recno()
thisform.grdDetalle.refresh
thisform.txttotal.value=0
Evento Destroy
SELECT GUIAENC
=Tablerevert(.t.)
SELECT TEMPORAL
.T. Verdadero
.T. Verdadero
99
1
SpnCantidad
2. Lista Desplegable
Nota: Caption de Labels ver el Grafico
Diseño en tiempo de Ejecución:
Digitaremos los siguientes códigos,
según como se indican a continuación
Objeto: Formulario Principal
(Form1)
Evento Init
Public srec
set multilock on
set talk off
set safety off
set exclusive on
SELECT GUIAENC
=cursorsetprop("buffering",3)
set order to tag Nguia
go bottom
thisform.txtnguia.value=right(
"00000"+alltrim(str(val(nguia)+1)),6)
99
1
1
Objeto: Cmbdescripcion
Evento: Click
if
len(allt(thisform.grddetalle.coldescripcion.cmbdescripcion.value))>0
thisform.grddetalle.colcantidad.spncantidad.setfocus
else
thisform.grddetalle.coldescripcion.cmbdescripcion.setfocus
endif
thisform.refresh
Evento: Interactivechange
SELECT temporal
go srec
replace artcod with articulo.artcod
replace preuni with articulo.artpre
replace subtotal with thisform.grddetalle.colcantidad.spncantidad.value*preuni
sum subtotal to ntotal
go srec
thisform.txttotal.value=ntotal
thisform.grddetalle.colcantidad.spncantidad.value=1
thisform.refresh
Página 2 de 3
Prof. Julio H PEÑA REYES
CEBA DEL IPEC
CENTRO DE EDUCACIÓN BÁSICA ALTERNATIVA
PARA JÓVENES Y ADULTOS
DEL INSTITUTO PERUANO DE LA CIENCIA Y LA CULTURA CEBA DEL IPEC
R.D. Nº 002655-2010/DREC31-08-2010
Evento: LostFocus
if
len(allt(thisform.grddetalle.coldescripcion.cmbdescripcion.value))>0
thisform.grddetalle.colcantidad.spncantidad.setfocus
else
thisform.grddetalle.coldescripcion.cmbdescripcion.setfocus
endif
thisform.refresh
Objeto: spnCantidad
Evento: InteractiveChange
select temporal
replace subtot with
thisform.grddetalle.colcantidad.spncantidad.value*preuni
nrec=recno()
sum subtotal to ntotal
go nrec
thisform.txttotal.value=ntotal
thisform.refresh
Evento: LostFocus
thisform.grddetalle.coldescripcion.cmbdescripcion.setfocus
Objeto: cmbCliente
Evento: Click
SELECT GUIAENC
replace cliecod with cliente.cliecod
thisform.grddetalle.coldescripcion.cmbdescripcion.setfocus
THISFORM.REFRESH
Objeto: cmdAgregar
Evento: Click
public srec
SELECT TEMPORAL
if len(allt(artdet))>0
append blank
srec=recno()
thisform.grddetalle.colcantidad.spncantidad.value=1
endif
replace nguia with thisform.txtnguia.value
thisform.grddetalle.coldescripcion.cmbdescripcion.setfocus
thisform.refresh
Objeto: cmdNuevo
Evento: Click
Public srec
select temporal
dele all
set dele on
append blank
replace nguia with thisform.txtnguia.value
srec=recno()
thisform.grddetalle.refresh
thisform.txttotal.value=0
thisform.refresh
Objeto: cmdGuardar
Evento: Click
SELECT GUIAENC
replace igv with thisform.txttotal.value*0.18
replace total with thisform.txttotal.value
=tableupdate(.t.)
SELECT TEMPORAL
Scan
insert into
guiadet(nguia,artcod,artdet,preuni,cant,subtotal);
values(temporal.nguia,temporal.artcod,temporal.art
det,;
temporal.preuni,temporal.cant,temporal.subtotal)
EndScan
SELECT GUIAENC
set order to tag Nguia
go bottom
thisform.txtnguia.value=right("00000"+alltrim(str(val(nguia)
+1)),6)
Objeto: cmdSalir
Evento: Click
SELECT GUIAENC
=tablerevert(.t.)
SELECT TEMPORAL
release thisform
Guardar y Probar la Ejecución.
Realizar los cambios respectivos, hasta presentar similar al
presente modelo.
Queda para el usuario hacer los últimos toques, para que resulte un buen diseño.
Fin del Laboratorio
Página 3 de 3
Prof. Julio H PEÑA REYES
Descargar