Está en la página 1de 3

CEBA DEL IPEC

CENTRO DE EDUCACIN BSICA ALTERNATIVA


PARA JVENES 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 Extensin y Proyeccin Social, Elaborado por: Allancca Paucar, Juan Jos
PRACTICA 4 VISUAL FOXPRO PROGRAMACIN VISUAL
Objetivo: Preparar un formulario de Facturacin.
Nota: En la parte inferior se muestra el producto final para llegar a ello, Ud. Debe realizar ciertos pasos previos que se detallan
despus 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 Artculos 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 Diseo: Modificamos las propiedades de los objetos segn 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 :
Botn 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

Pgina 1 de 3

A Criterio del Usuario

GridLineColor

Azul

Prof. Julio H PEA REYES

CEBA DEL IPEC


CENTRO DE EDUCACIN BSICA ALTERNATIVA
PARA JVENES 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 edicin haciendo Click fuera del Grid, Presionamos Botn 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

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


Diseo en tiempo de Ejecucin:
Digitaremos los siguientes cdigos,
segn como se indican a continuacin
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
Pgina 2 de 3

Prof. Julio H PEA REYES

CEBA DEL IPEC


CENTRO DE EDUCACIN BSICA ALTERNATIVA
PARA JVENES 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 Ejecucin.
Realizar los cambios respectivos, hasta presentar similar al
presente modelo.

Queda para el usuario hacer los ltimos toques, para que resulte un buen diseo.
Fin del Laboratorio

Pgina 3 de 3

Prof. Julio H PEA REYES