Aplicaciones prácticas de TI en el centro de trabajo (página 4)
thisform.pageframe1.page1.text7.ReadOnly= .f.
thisform.pageframe1.page1.text8.ReadOnly= .f.
thisform.pageframe1.page1.text9.ReadOnly= .f.
thisform.pageframe1.page1.text10.ReadOnly= .f.
thisform.pageframe1.page1.text11.ReadOnly= .f.
thisform.pageframe1.page1.text12.ReadOnly= .F.
thisform.pageframe1.page1.text13.ReadOnly= .F.
Thisform.pageframe1.page1.command1.Enabled=.T.
thisform.pageframe1.page1.commandgroup1.command1.Enabled=
.F.
thisform.pageframe1.page1.commandgroup1.command2.Enabled=
.F.
thisform.pageframe1.page1.commandgroup1.command3.Enabled=
.F.
thisform.pageframe1.page1.commandgroup1.command4.visible=
.T.
thisform.pageframe1.page2.Enabled = .f.
_curp=thisform.pageframe1.page1.text1.Value
_pat=thisform.pageframe1.page1.text2.Value
_mat=thisform.pageframe1.page1.text3.Value
_nom=thisform.pageframe1.page1.text4.Value
_dom=thisform.pageframe1.page1.text5.Value
_col=thisform.pageframe1.page1.text6.value
_ciu=thisform.pageframe1.page1.text7.value
_edo=thisform.pageframe1.page1.text8.value
_fnac=thisform.pageframe1.page1.text9.value
_fing=thisform.pageframe1.page1.text10.value
_cp=thisform.pageframe1.page1.text11.value
_fam=thisform.pageframe1.page1.text12.Value
_telf=thisform.pageframe1.page1.text13.value
SCATTER Memvar
_flag=2
Thisform.Refresh
Rutina para eliminar empleado.
cMessageTitle = 'Confirmación'
cMessageText = '¿ Esta seguro de que
desea ELIMINAR los Datos ?'
nDialogType = 4 + 32 + 256
* 4 = Botones Sí y No
* 32 = Icono del signo de interrogación
* 256 = El segundo botón es el predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType,
cMessageTitle)
DO CASE
CASE nAnswer = 6
_curp=alltrim(thisform.pageframe1.page1.text1.value)
DELETE
DELETE FOR
bdnomina.curp=_curp IN bdnomina
WAIT WINDOW
"Eliminado…." timeo(2)
CASE nAnswer = 7
WAIT WINDOW Timeout(2)
'Espere….'
ENDCASE
thisform.Refresh
Rutina para guardar información en la base de
datos.
DO CASE && CASE para Guardar Datos en Agregar o
Modificar
CASE _flag=1 && Si Agregamos
cMessageTitle = 'Confirmación'
cMessageText = '¿ Esta seguro de que desea
Agregar los Datos ?'
nDialogType = 4 + 32 + 256
* 4 = Botones Sí y No
* 32 = Icono del signo de
interrogación
* 256 = El segundo botón es el
predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType,
cMessageTitle)
DO CASE
CASE nAnswer = 6
GATHER MEMVAR
replace nomlargo WITH ALLTRIM(paterno)+" "+ALLTRIM(materno)+"
"+ALLTRIM(nombre)
WAIT WINDOW "DATOS GUARDADOS….." TIMEOUT (2)
thisform.pageframe1.page2.Enabled= .T.
_curp=ALLTRIM(thisform.pageframe1.page1.text1.value)
CASE nAnswer = 7
DELETE in bdplant
ENDCASE
thisform.pageframe1.page1.commandgroup1.command1.Enabled= .T.
thisform.pageframe1.page1.commandgroup1.command2.Enabled= .T.
thisform.pageframe1.page1.commandgroup1.command3.Enabled= .T.
thisform.pageframe1.page1.commandgroup1.command4.Visible= .F.
thisform.pageframe1.page1.command1.Enabled=
.F.
CASE _flag=2 && Si Modificamos
cMessageTitle = 'Confirmación'
cMessageText = '¿ Esta seguro de que desea
Guardar los Cambios ?'
nDialogType = 4 + 32 + 256
* 4 = Botones Sí y No
* 32 = Icono del signo de
interrogación
* 256 = El segundo botón es el
predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType,
cMessageTitle)
DO CASE
CASE nAnswer = 6
gather memvar
replace nomlargo
WITH ALLTRIM(paterno)+" "+ALLTRIM(materno)+"
"+ALLTRIM(nombre)
CASE nAnswer = 7
thisform.pageframe1.page1.text1.Value = _curp
thisform.pageframe1.page1.text2.Value = _pat
thisform.pageframe1.page1.text3.Value = _mat
thisform.pageframe1.page1.text4.Value = _nom
thisform.pageframe1.page1.text5.Value = _dom
thisform.pageframe1.page1.text6.value = _col
thisform.pageframe1.page1.text7.value = _ciu
thisform.pageframe1.page1.text8.value = _edo
thisform.pageframe1.page1.text9.value = _fnac
thisform.pageframe1.page1.text10.value = _fing
thisform.pageframe1.page1.text11.value = _cp
thisform.pageframe1.page1.text12.Value = _fam
thisform.pageframe1.page1.text13.Value =_telf
ENDCASE
ENDCASE
thisform.pageframe1.page1.Text1.ReadOnly= .T.
thisform.pageframe1.page1.text2.ReadOnly= .T.
thisform.pageframe1.page1.text3.ReadOnly= .t.
thisform.pageframe1.page1.text4.ReadOnly= .t.
thisform.pageframe1.page1.text5.ReadOnly= .t.
thisform.pageframe1.page1.text6.ReadOnly= .t.
thisform.pageframe1.page1.text7.ReadOnly= .t.
thisform.pageframe1.page1.text8.ReadOnly= .t.
thisform.pageframe1.page1.text9.ReadOnly= .t.
thisform.pageframe1.page1.text10.ReadOnly=
.t.
thisform.pageframe1.page1.text11.ReadOnly=
.t.
thisform.pageframe1.page1.text12.ReadOnly=
.t.
thisform.pageframe1.page1.text13.ReadOnly=
.t.
Thisform.pageframe1.page1.command1.Enabled=.f.
thisform.pageframe1.page1.commandgroup1.command1.Enabled= .T.
thisform.pageframe1.page1.commandgroup1.command2.Enabled= .T.
thisform.pageframe1.page1.commandgroup1.command3.Enabled= .T.
thisform.pageframe1.page1.commandgroup1.command4.Visible= .F.
thisform.pageframe1.page1.command1.Enabled=
.F.
Thisform.pageframe1.page2.Enabled= .T.
thisform.Refresh
Rutina para adjuntar fotografía
del empleado.
PUBLIC img
img=GETFILE("JPG,BMP")
REPLACE foto2 WITH img
thisform.image1.Picture=img
thisform.Refresh
Rutina para agregar datos laborales del empleado.
PUBLIC _flag as Integer
PUBLIC _cur,_puesto,_patron,_inea,_honor,_buroc,_cat
PUBLIC _adsc,_dpto,_cat
thisform.pageframe1.page2.text13.SetFocus
_flag=1
_curp=bdplant.curp
&&thisform.pageframe1.page1.text1.Value
thisform.pageframe1.page2.combo1.ReadOnly= .F.
thisform.pageframe1.page2.combo2.ReadOnly= .F.
thisform.pageframe1.page2.combo3.ReadOnly= .F.
thisform.pageframe1.page2.text13.ReadOnly= .F.
thisform.pageframe1.page2.text14.ReadOnly= .F.
thisform.pageframe1.page2.text15.ReadOnly= .F.
thisform.pageframe1.page2.text16.ReadOnly= .F.
thisform.pageframe1.page2.text17.ReadOnly= .f.
thisform.pageframe1.page2.commandgroup1.command1.Enabled=
.F.
thisform.pageframe1.page2.commandgroup1.command2.Enabled=
.F.
thisform.pageframe1.page2.commandgroup1.command3.Enabled=
.F.
thisform.pageframe1.page2.commandgroup1.command4.Visible=
.T.
Thisform.pageframe1.page1.Enabled= .f.
*WAIT WINDOW "Aqui inicia Captura" TIMEOUT (2)
GO BOTTOM in bdnomina
APPEND BLANK IN bdnomina
SCATTER MEMVAR blank
bdnomina.curp=_curp
Thisform.Refresh
Rutina para modificar los datos laborales de
empleado.
PUBLIC _puesto,_patron,_inea,_honor,_buroc,_cat
PUBLIC _adsc,_dpto,_cat
thisform.pageframe1.page2.combo1.SetFocus
_flag=2
thisform.pageframe1.page2.combo1.ReadOnly= .F.
thisform.pageframe1.page2.combo2.ReadOnly= .F.
thisform.pageframe1.page2.combo3.ReadOnly= .F.
thisform.pageframe1.page2.text13.ReadOnly= .F.
thisform.pageframe1.page2.text14.ReadOnly= .F.
thisform.pageframe1.page2.text15.ReadOnly= .F.
thisform.pageframe1.page2.text16.ReadOnly= .F.
thisform.pageframe1.page2.text17.ReadOnly= .f.
thisform.pageframe1.page2.commandgroup1.command1.Enabled=
.F.
thisform.pageframe1.page2.commandgroup1.command2.Enabled=
.F.
thisform.pageframe1.page2.commandgroup1.command3.Enabled=
.F.
thisform.pageframe1.page2.commandgroup1.command4.visible=
.T.
Thisform.pageframe1.page1.Enabled= .f.
_adsc=thisform.pageframe1.page2.combo1.Value
_dpto=thisform.pageframe1.page2.combo2.Value
_cat=thisform.pageframe1.page2.combo3.Value
_puesto=thisform.pageframe1.page2.text13.Value
_patron=thisform.pageframe1.page2.text14.Value
_inea=thisform.pageframe1.page2.text15.Value
_honor=thisform.pageframe1.page2.text16.Value
_buroc=thisform.pageframe1.page2.text17.Value
SCATTER Memvar
_flag=2
Thisform.refresh
Rutina para guardar datos laborales en la base de
datos.
DO CASE && CASE para Guardar Datos en Agregar o
Modificar
CASE _flag=1 && Si Agregamos
cMessageTitle = 'Confirmación'
cMessageText = '¿ Esta seguro de que desea
Agregar los Datos ?'
nDialogType = 4 + 32 + 256
* 4 = Botones Sí y No
* 32 = Icono del signo de
interrogación
* 256 = El segundo botón es el
predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType,
cMessageTitle)
DO CASE
CASE nAnswer = 6
GATHER memvar
REPLACE bdnomina.curp WITH _curp
WAIT WINDOW "Guardando Datos…." TIMEOUT (2)
CASE nAnswer = 7
DELETE in bdnomina
WAIT WINDOW "Espere….." TIMEOUT (2)
ENDCASE
CASE _flag=2 && Si Modificamos
cMessageTitle = 'Confirmación'
cMessageText = '¿ Esta seguro de que desea
Guardar los Datos ?'
nDialogType = 4 + 32 + 256
* 4 = Botones Sí y No
* 32 = Icono del signo de
interrogación
* 256 = El segundo botón es el
predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType,
cMessageTitle)
DO CASE
CASE nAnswer = 6
GATHER
MEMVAR
WAIT
WINDOW "Guardando Datos…." TIMEOUT (2)
CASE nAnswer = 7
thisform.pageframe1.page2.combo1.Value=_adsc
thisform.pageframe1.page2.combo2.Value=_dpto
thisform.pageframe1.page2.combo3.Value=_cat
thisform.pageframe1.page2.text13.Value=_puesto
thisform.pageframe1.page2.text14.Value=_patron
thisform.pageframe1.page2.text15.Value=_inea
thisform.pageframe1.page2.text16.Value=_honor
thisform.pageframe1.page2.text17.Value =_buroc
WAIT WINDOW
"Espere….." TIMEOUT (2)
ENDCASE
ENDCASE
thisform.pageframe1.page2.combo1.ReadOnly= .t.
thisform.pageframe1.page2.combo2.ReadOnly= .t.
thisform.pageframe1.page2.combo3.ReadOnly= .t.
thisform.pageframe1.page2.text13.ReadOnly= .t.
thisform.pageframe1.page2.text14.ReadOnly= .t.
thisform.pageframe1.page2.text15.ReadOnly= .t.
thisform.pageframe1.page2.text16.ReadOnly= .t.
thisform.pageframe1.page2.text17.ReadOnly= .t.
thisform.pageframe1.page2.commandgroup1.command1.Enabled=
.T.
thisform.pageframe1.page2.commandgroup1.command2.Enabled=
.T.
thisform.pageframe1.page2.commandgroup1.command3.Enabled=
.T.
thisform.pageframe1.page2.commandgroup1.command4.Visible=
.f.
Thisform.pageframe1.page1.Enabled= .T.
thisform.Refresh
Rutina de búsqueda de empleados.
PUBLIC _pater,_mater as String
_pater=ALLTRIM(thisform.text19.Value)
_mater=ALLTRIM(thisform.text20.Value)
SET FILTER TO
bdplant.paterno=RTRIM(_pater).and.bdplant.materno=RTRIM(_mater)
GO TOP IN bdplant
thisform.Refresh
Rutina ejecutada al cambiar de renglones en la tabla.
Son dos una al desplazar hacia abajo el cursor
(AfterRowColChange).
AfterRowColChange
thisform.pageframe1.page2.label2.Caption=catadsc.descadsc
thisform.pageframe1.page2.label3.Caption=catdepto.descdepto
thisform.pageframe1.page2.label4.Caption=catcata.desccat
thisform.image1.Picture =bdplant.foto2
thisform.pageframe1.page1.Refresh
thisform.pageframe1.page2.Refresh
THISFORM.REFRESH
Rutina para salir de módulo.
RELEASE thisform
Programa: formulario para catálogo de
adscripciones.
Nombre de archivo:
frmcatadsc.scx
Descripción: Rutinas para realizar alta,
modificación, eliminación, guardar los datos del
catálogo de adscripciones.
Fecha de creación: 23/05/2008.
Rutina para agregar nueva adscripción.
PUBLIC _flag,_cve as Integer
PUBLIC _des
thisform.text1.SetFocus
_flag=0
_flag=1
thisform.Text1.ReadOnly= .F.
thisform.text2.ReadOnly= .F.
thisform.command1.Enabled= .F.
thisform.commandgroup1.command1.Enabled= .F.
thisform.commandgroup1.command2.Enabled= .F.
thisform.commandgroup1.command3.Enabled= .F.
thisform.commandgroup1.command4.Visible= .T.
GO BOTTOM in catadsc
APPEND BLANK
SCATTER MEMVAR blank
Thisform.Refresh
Rutina para modificar datos de adcripción.
PUBLIC _cve as Integer
PUBLIC _des
thisform.text1.SetFocus
thisform.Text1.ReadOnly= .F.
thisform.text2.ReadOnly= .F.
thisform.commandgroup1.command1.Enabled= .F.
thisform.commandgroup1.command2.Enabled= .F.
thisform.commandgroup1.command3.Enabled= .F.
thisform.commandgroup1.command4.visible= .T.
_cve=thisform.text1.Value
_des=thisform.text2.Value
SCATTER Memvar
_flag=2
Thisform.Refresh.
Rutina para eliminar datos.
cMessageTitle = 'Confirmación'
cMessageText = '¿ Esta seguro de que desea ELIMINAR los
Datos ?'
nDialogType = 4 + 32 + 256
* 4 = Botones Sí y No
* 32 = Icono del signo de interrogación
* 256 = El segundo botón es el predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType,
cMessageTitle)
DO CASE
CASE nAnswer = 6
DELETE
WAIT WINDOW
"Eliminado…." timeo(2)
CASE nAnswer = 7
WAIT WINDOW Timeout(2)
'Espere….'
ENDCASE
thisform.Refresh
Rutina para guardar datos en el catálogo de
adscripciones.
DO CASE && CASE para Guardar Datos en Agregar o
Modificar
CASE _flag=1 && Si Agregamos
cMessageTitle = 'Confirmación'
cMessageText = '¿ Esta seguro de que desea
Agregar los Datos ?'
nDialogType = 4 + 32 + 256
* 4 = Botones Sí y No
* 32 = Icono del signo de
interrogación
* 256 = El segundo botón es el
predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType,
cMessageTitle)
DO CASE
CASE nAnswer = 6
GATHER MEMVAR
WAIT WINDOW "DATOS GUARDADOS….." TIMEOUT (2)
CASE nAnswer = 7
DELETE in bdplant
ENDCASE
thisform.commandgroup1.command1.Enabled= .T.
thisform.commandgroup1.command2.Enabled= .T.
thisform.commandgroup1.command3.Enabled= .T.
thisform.commandgroup1.command4.Visible= .F.
CASE _flag=2 && Si Modificamos
cMessageTitle = 'Confirmación'
cMessageText = '¿ Esta seguro de que desea
Guardar los Cambios ?'
nDialogType = 4 + 32 + 256
* 4 = Botones Sí y No
* 32 = Icono del signo de
interrogación
* 256 = El segundo botón es el
predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType,
cMessageTitle)
DO CASE
CASE nAnswer = 6
SCATTER
memvar
CASE nAnswer = 7
thisform.text1.Value = _cve
thisform.text2.Value = _des
ENDCASE
ENDCASE
thisform.Text1.ReadOnly= .T.
thisform.text2.ReadOnly= .T.
thisform.command1.Enabled= .T.
thisform.commandgroup1.command1.Enabled= .T.
thisform.commandgroup1.command2.Enabled= .T.
thisform.commandgroup1.command3.Enabled= .T.
thisform.commandgroup1.command4.Visible= .F.
thisform.Refresh
thisform.Refresh
Importante: La rutina para salir de
módulo es la misma en todos los formularios, por
lo que se omitirá en las siguientes
páginas.
Programa: Formulario para catálogo de
departamentos.
Nombre de archivo: frmcatdpto.scx
Descripción: Rutinas para agregar, modificar,
eliminar, guardar datos en el catálogo de
departamentos.
Fecha de creación: 23/05/2008.
Rutina para agregar datasen catálogo de
departamentos.
PUBLIC _flag,_cve,_ads as Integer
PUBLIC _des
thisform.text1.SetFocus
_flag=0
_flag=1
thisform.Text1.ReadOnly= .F.
thisform.text2.ReadOnly= .F.
thisform.combo1.ReadOnly= .F.
thisform.command1.Enabled= .F.
thisform.commandgroup1.command1.Enabled= .F.
thisform.commandgroup1.command2.Enabled= .F.
thisform.commandgroup1.command3.Enabled= .F.
thisform.commandgroup1.command4.Visible= .T.
GO BOTTOM in catadsc
APPEND BLANK
SCATTER MEMVAR blank
Thisform.Refresh
Rutina para modificar datos en catálogo de
departamentos.
PUBLIC _cve,_ads as Integer
PUBLIC _des
thisform.text1.SetFocus
thisform.Text1.ReadOnly= .F.
thisform.text2.ReadOnly= .F.
thisform.combo1.ReadOnly = .F.
thisform.command1.Enabled= .F.
thisform.commandgroup1.command1.Enabled= .F.
thisform.commandgroup1.command2.Enabled= .F.
thisform.commandgroup1.command3.Enabled= .F.
thisform.commandgroup1.command4.visible= .T.
_cve=thisform.text1.Value
_des=thisform.text2.Value
_ads=thisform.combo1.Value
SCATTER Memvar
_flag=2
Thisform.Refresh
Rutina para eliminar datos en catálogo de
departamentos.
cMessageTitle = 'Confirmación'
cMessageText = '¿ Esta seguro de que desea ELIMINAR los
Datos ?'
nDialogType = 4 + 32 + 256
* 4 = Botones Sí y No
* 32 = Icono del signo de interrogación
* 256 = El segundo botón es el predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType,
cMessageTitle)
DO CASE
CASE nAnswer = 6
DELETE
WAIT WINDOW
"Eliminado…." timeo(2)
CASE nAnswer = 7
WAIT WINDOW Timeout(2) 'Espere….'
ENDCASE
thisform.Refresh
Rutina para guardar datos en catálogo de
departamentos.
DO CASE && CASE para Guardar Datos en Agregar o
Modificar
CASE _flag=1 && Si Agregamos
cMessageTitle = 'Confirmación'
cMessageText = '¿ Esta seguro de que desea
Agregar los Datos ?'
nDialogType = 4 + 32 + 256
* 4 = Botones Sí y No
* 32 = Icono del signo de
interrogación
* 256 = El segundo botón es el
predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType,
cMessageTitle)
DO CASE
CASE nAnswer = 6
GATHER MEMVAR
WAIT WINDOW "DATOS GUARDADOS….." TIMEOUT (2)
CASE nAnswer = 7
WAIT WINDOW "Espere…." TIMEOUT (2)
ENDCASE
thisform.commandgroup1.command1.Enabled= .T.
thisform.commandgroup1.command2.Enabled= .T.
thisform.commandgroup1.command3.Enabled= .T.
thisform.commandgroup1.command4.Visible= .F.
CASE _flag=2 && Si Modificamos
cMessageTitle = 'Confirmación'
cMessageText = '¿ Esta seguro de que desea
Guardar los Cambios ?'
nDialogType = 4 + 32 + 256
* 4 = Botones Sí y No
* 32 = Icono del signo de
interrogación
* 256 = El segundo botón es el
predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType,
cMessageTitle)
DO CASE
CASE nAnswer = 6
SCATTER
memvar
CASE nAnswer = 7
thisform.text1.Value = _cve
thisform.text2.Value = _des
thisform.combo1.Value = _ads
ENDCASE
ENDCASE
thisform.Text1.ReadOnly= .T.
thisform.text2.ReadOnly= .T.
thisform.combo1.ReadOnly= .T.
thisform.command1.Enabled= .T.
thisform.commandgroup1.command1.Enabled= .T.
thisform.commandgroup1.command2.Enabled= .T.
thisform.commandgroup1.command3.Enabled= .T.
thisform.commandgroup1.command4.Visible= .F.
thisform.Refresh
Programa: Formulario para catálogo de plaza
burócrata
Nombre de archivo: frmcatburo.scx
Descripción: Rutinas para agregar, modificar,
eliminar, guardar datos en el catálogo de plazas
burócratas.
Fecha de creación: 23/05/2008.
Rutina para agragar datos en catálogo de plazas
burócrata.
PUBLIC _flag,_cve as Integer
PUBLIC _des
thisform.text1.SetFocus
_flag=0
_flag=1
thisform.Text1.ReadOnly= .F.
thisform.text2.ReadOnly= .F.
thisform.command1.Enabled= .F.
thisform.commandgroup1.command1.Enabled= .F.
thisform.commandgroup1.command2.Enabled= .F.
thisform.commandgroup1.command3.Enabled= .F.
thisform.commandgroup1.command4.Visible= .T.
GO BOTTOM
APPEND BLANK
SCATTER MEMVAR blank
Thisform.Refresh
Rutina para modificar datos en catálogo de plazas
burócrata.
PUBLIC _cve as Integer
PUBLIC _des
thisform.text1.SetFocus
thisform.Text1.ReadOnly= .F.
thisform.text2.ReadOnly= .F.
thisform.command1.Enabled= .F.
thisform.commandgroup1.command1.Enabled= .F.
thisform.commandgroup1.command2.Enabled= .F.
thisform.commandgroup1.command3.Enabled= .F.
thisform.commandgroup1.command4.visible= .T.
_cve=thisform.text1.Value
_des=thisform.text2.Value
SCATTER Memvar
_flag=2
Thisform.Refresh
Rutina para eliminar datos del catálogo de plazas
burócratas.
cMessageTitle = 'Confirmación'
cMessageText = '¿ Esta seguro de que desea ELIMINAR los
Datos ?'
nDialogType = 4 + 32 + 256
* 4 = Botones Sí y No
* 32 = Icono del signo de interrogación
* 256 = El segundo botón es el predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType,
cMessageTitle)
DO CASE
CASE nAnswer = 6
DELETE
WAIT WINDOW
"Eliminado…." timeo(2)
CASE nAnswer = 7
WAIT WINDOW Timeout(2) 'Espere….'
ENDCASE
thisform.Refresh
Rutina para guardar datos en catálogo de plazas
burócratas.
DO CASE && CASE para Guardar Datos en Agregar o
Modificar
CASE _flag=1 && Si Agregamos
cMessageTitle = 'Confirmación'
cMessageText = '¿ Esta seguro de que desea
Agregar los Datos ?'
nDialogType = 4 + 32 + 256
* 4 = Botones Sí y No
* 32 = Icono del signo de
interrogación
* 256 = El segundo botón es el
predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType,
cMessageTitle)
DO CASE
CASE nAnswer = 6
GATHER MEMVAR
WAIT WINDOW "DATOS GUARDADOS….." TIMEOUT (2)
CASE nAnswer = 7
DELETE in bdplant
ENDCASE
thisform.commandgroup1.command1.Enabled= .T.
thisform.commandgroup1.command2.Enabled= .T.
thisform.commandgroup1.command3.Enabled= .T.
thisform.commandgroup1.command4.Visible= .F.
CASE _flag=2 && Si Modificamos
cMessageTitle = 'Confirmación'
cMessageText = '¿ Esta seguro de que desea
Guardar los Cambios ?'
nDialogType = 4 + 32 + 256
* 4 = Botones Sí y No
* 32 = Icono del signo de
interrogación
* 256 = El segundo botón es el
predeterminado
nAnswer = MESSAGEBOX(cMessageText, nDialogType,
cMessageTitle)
DO CASE
CASE nAnswer = 6
SCATTER
memvar
CASE nAnswer = 7
thisform.text1.Value = _cve
thisform.text2.Value = _des
ENDCASE
ENDCASE
thisform.Text1.ReadOnly= .T.
thisform.text2.ReadOnly= .T.
thisform.command1.Enabled= .T.
thisform.commandgroup1.command1.Enabled= .T.
thisform.commandgroup1.command2.Enabled= .T.
thisform.commandgroup1.command3.Enabled= .T.
thisform.commandgroup1.command4.Visible= .F.
thisform.Refresh
Programa: Formulario para enviar impresión de
listado de empleados por adscripción y departamento.
Nombre de archivo: frmadsdpto.scx
Descripción: Rutinas para enviar reporte a vista
preliminar e impresora.
Fecha de creación: 24/05/2008.
Rutina para enviar a vista preliminar el reporte.
PUBLIC _c1,_c2 as Integer
_c1=tads.cveadsc
_c2=tdpto.cvedpto
REPORT FORM frxficha.frx FOR bdnomina.cvadsc=_c1 .and.
bdnomina.cvedpto=_c2 TO PRINTER PREVIEW
Rutina para enviar a la impresora el reporte.
PUBLIC _c1,_c2 as Integer
_c1=tads.cveadsc
_c2=tdpto.cvedpto
REPORT FORM frxficha.frx FOR bdnomina.cvadsc=_c1 .and.
bdnomina.cvedpto=_c2 TO PRINTER PROMPT NOCONSOLE
Programa: Formulario para menu de opciones del
sistema
Nombre de archivo: frmmenus.scx
Descripción: Rutinas para llamar los formularios
que componen el sistema.
Fecha de creación: 25/05/2008.
Rutina para llamar fromulario de consulta de
empleados.
DO FORM frmconsulta.scx
Rutina para llamar menú contextual de
catálogos para el sistema.
CLOSE DATABASES
DO mnucaptura.mpr
Rutina para crear menú contextual.
DEFINE POPUP menúcontex SHORTCUT RELATIVE FROM
MROW(),MCOL()
DEFINE BAR 1 OF menúcontex PROMPT "Plantilla de
Personal"
DEFINE BAR 2 OF menúcontex PROMPT "-"
DEFINE BAR 3 OF menúcontex PROMPT "Catálogo de
Adscripciones"
DEFINE BAR 4 OF menúcontex PROMPT "Catálogo de
Departamentos"
DEFINE BAR 5 OF menúcontex PROMPT "Catálogo de
Burócratas"
ON SELECTION BAR 1 OF menúcontex Do form
frmplantilla2.scx
ON SELECTION BAR 3 OF menúcontex Do form
frmcatads.scx
ON SELECTION BAR 4 OF menúcontex do form
frmcatdpto.scx
ON SELECTION BAR 5 OF menúcontex Do form
frmcatburo.scx
ACTIVATE POPUP menúcontex
Rutina para llamar formulario de reporte.
DO FORM frmadsdpto.scx
Rutina para salir del sistema.
Quit.
Una vez presentado y documentado el desarrollo del
sistema se procede a la implementación del sistema.
3.4 Implementación.
La implementación de este
sistema se hizo de forma directa, ya que no existía una
aplicación previa, para la alimentación de los
datos se le proporcionó a la subdirección de
personal, archivos con la
estructura de
las bases de datos de
bdplant.dbf y bdnomina.dbf para que sean llenados en formato de
Excel y
posteriormente añadir la información al sistema,
esto para dar rapidez al llenado de la base de datos a
través de una carga masiva de datos, después de
esto la misma subdirección se ecargará de adjuntar
la fotografia de cada empleado a su registro.
El sistema estará hospedado en el servidor que se
encuentra en el área de informática, para poder dar su
respectivo mantenimiento
a las bases de datos y el sistema; informática se
encargará de realizar un respaldo cada semana de las bases
de datos por seguridad. El
acceso al sistema solo será para dirección general, dirección de
administración y subdirección de
personal.
4.
Rediseño de red de datos para la
oficina de
informática
4.1 Análisis de requerimientos y
situación actual.
En primera instancia inciaremos con
la situación actual en la que se encuentra el centro de
cómputo en la oficina de informática. El
instituto ha realizado dos cambios de domicilio, debido a esto la
oficina en donde se encuentra el centro de cómputo y
conectividad no ha tenido una buena infraestructura de red, pues
muchas de estas al llegar al nuevo edificio donde se
estableció el insittuto, el espacio que se le
asignó al centro de cómputo no contaba con las
condiciones necesarias para ello, por consecuencia se tuvo que
armar este con lo que se cuenta de momento para tener
alimentación eléctrica y red de datos.
Además no se cuenta con conductos como canaletas
plásticas para los cables de red una mejor y
optimización del espacio.
El centro de cómputo cuenta con:
-
Una oficna de 4 mts de ancho por 5 mts de fondo.
-
2 escritorios
-
1 mesa de trabajo.
-
1 rack para montar equipos de red.
-
1 archivero.
-
1 estante.
-
Red de datos con topología de estrella.
En cuanto a equipo de conectividad el instituto cuenta
con:
-
Ruteador Cisco 1800 administrable.
-
Equipo Multiservicio para voz Cisco 2800.
-
NTU Tellabs para servicio de
voz.
-
STU E1 WATSON para servicio de datos (Internet).
-
Firewall Fortinet modelo
Fortigate 200, para supervision de la red.
-
Patch panel para organización de cableado 24 puertos.
Se procedió a realizar un análisis de
requerimientos, que son los siguientes:
-
Se requiere de canaleta plástica para realizar una
estructuración del cableado para el centro de
cómputo.
-
Reorganización del moviliario que se encuentra dentro del
centro de cómputo.
-
Organización del cableado que llega al rack donde se
ecuentras los equipos de red y suministro de Internet.
Una vez expuestas estas necesidades se procederá al
diseño
de la reestructuración del centro de cómputo.
4.2 Diseño.
Como se comenta anteriormente la
oficina cuenta con muy poca infraestructura para datos, por lo
que se procederá realizar un croquis de la oficina para la
red de datos.
Para el cableado de esta oficina se utilizará la
canaleta para llevar el cableado UTP para tres computadoras y
el servidor que hospeda la página web
del instituto y otros cables con los que se realiza la
conexión a otros concentradores y ruteadores inalambricos
en las demás áreas del edificio.
El moviliario será acomodado de forma que los cables de
conexión de las computadoras no se vean a simple vista,
esto para que la presentación sea más estética ya que los cables dan mal aspecto
a la oficina. Además el fin de esto es hacer que el lugar
se vea más espacioso y se pueda circular libremente
dentro.
4.3 Croquis
Dentro del diseño de red esta
es necesaria para dar una referencia gráfica de
cómo se van a realizar las conexiónes y
serán estructuradas. A continuación se
presentarán la estructuración de la red de datos y
eléctrica.
Croquis red de datos.
4.4 Resultado Final.
Gracias a esta reestructuración del centro de
cómputo, se obtuvo una mejor vista de la oficina al no
tener los cables de datos y eléctricos en el suelo,
además de la optimización del espacio, ya que la
distribución que se tenía del
mobiliario restaba espacio, además de no tener espacio de
libre acceso, movilidad al usuario y personal que realice visitas
al centro de cómputo.
El resultado son instalaciones y distribución del
espacio más eficiente y funcional para las necesidades
dentro del centro de cómputo de informática.
4.5 Reglas para centro de cómputo y mantenimiento de
la red.
Para el buen funcionamiento del centro de
cómputo se requieren ciertas reglas para mantener limpio
el lugar y asegurar el buen estado de las
computadoras; por lo que se estableceran estos criterios que se
deben seguir:
-
No consumir alimentos y
bebidas enfrente de las computadoras.
-
No Fumar dentro del centro de cómputo.
-
Mantener limpia el área de la computadora.
-
Guardar la herramienta que utilices en su lugar.
-
No dejar equipo para compostura en el suelo.
-
No dejar el software fuera de su
lugar.
-
La herramienta debe ser puesta en su lugar después de
utilizarla.
-
No bajar música para no restar
velocidad a la
red.
-
Apagar los reguladores de corriente al terminar la jornada de
trabajo.
-
Realizar el mantenimiento de los equipos de cóputo por lo
menos cada dos meses.
Para el mantenimiento a la red se establece:
-
Realizar una revisión cada mes de las IP asignadas a
los usuarios, Esto se realizará con la aplicación
gratuita IP Scanner y se
verificará en cada equipo por parte del personal del
departamento de informática.
-
Se revisarán las conexiones a los ruteadores
inalámbricos periódicamente para asegurar la
calidad de la
señal de los datos.
-
Revisar de virus las
computadoras que cuenten con conexión a red
peródicamente por el personal de informática.
-
Actualizar antivirus y sus
definiciones de virus periódicamente para tener los
equipos en la red libres de virus.
-
Revisar que las conexiones eléctricas tengan el voltaje
necesario (120Volts).
-
Limpieza periódica de los equipos de conectividad al menos
cada 3 meses.
Con estas medidas se tendrá una red sin problemas y
robusta y el centro de cómputo estrá en
óptimas condiciones.
5.
Conclusiones
Dentro de toda organización que cuenta con la
infraestructura necesaria para implementar TI (Tecnologías
de la Información) para realizar mejoras en sus procesos,
darse a conocer a través de Internet, implementar sistemas en
línea o bien apliaciones a nivel intranet para
uso local, es posible realizarlo con las herramientas
que nos presentan los sistemas
operativos que conocemos, claro que hay que realizar un
bosquejo de lo que nos ofrece, tal vez no sean tan completas como
el comprar un software mas especializado, pero, podemos obtener
aplicaciones sencillas y eficientes para realizar estas con un
bajo coste para la
organización.
En muchas ocasiones, no se realizan implementaciones de TI
porque no hay un acercamiento estrecho con las instancias de
informática, pero cuando hay una estrecha comunicación, se pueden realizar muchas
mejoras con aplicaciones, equipos, plataformas existentes para
generar cambios dentro de la organización, así como
el dejar que estas se conviertan en una parte importante dentro
de los alcances de objetivos y
metas. Explotar esta tecnología que ha
venido a más con el venir de los años ha hecho que
muchas organizaciones
tengan grandes posibilidades de expasión y éxito.
Como en este caso práctico dentro del Instituto Estatal
de Educación
para Adultos, en donde se especificó que no se contaba con
fondos para invertir en TI debido al momento por el que pasaba
esta institución por un déficit de recursos y no
solo en TI si no también en otros rubros de
infraestructura necesarios para el funcionamiento de esta; se
inicio una investigación y análisis de los
recursos existentes dentro de la infraestructura
informática con la que se cuenta actualmente, y gracias a
las herramientas nativas del sistema operativo
que se utiliza para el servidor y las aplicaciones freeware como
PHP, VBScript fue
posible realizar este proyecto con tan
solo la inversión de tiempo para
poder comprenderlo, aprenderlo e implementarlo para el desarrollo
de las aplicaciones que se estaban requiriendo. Dando resultado
un sitio web sencillo y
funcional y las aplicaciones de igual manera, así como la
aplicación local para la organización de la
información del personal del instituto, al contar con
liciencia del lenguaje de
programación proporcionada por las Oficinas Centrales
de INEA en años anteriores.
Si bien el realizar este proyecto sin inversión
financiera es para demostrar que con herramientas sencillas
podemos realizar proyectos que
ayuden a la operación y optimización de recursos e
información que meneja la institución.
Dentro de los resultados obtenidos en la operación con
las aplicaciones, se han detectado adultos que ya habían
terminado en cualquiera de los niveles de primaria y secundaria,
estos, se han canalizado para realizarles un duplicado de su
certificado en el nivel que hayan concluido. Gracias a la
aplicación de las actas de nacimiento, en conjunto con el
cotejo digital se han agilizado los trámites para realizar
certificados en menor tiempo y los expedientes de los educandos
no quedan incompletos para el historial documental y
electrónico; se ha evitando el volver a incorporar dentro
del sistema información duplicada de los adultos que
concluyeron su educación básica, así como de
asegurar una base de datos del sistema SASA (Sistema de
Acreditación y Seguimiento Automatizado) confiable y
depurada.
Dentro de los resultado con la información del personal
del instituto se ingresaron al sistema un total de 950 empleados
de 1200 existentes dentro del instituto y sus 21 coordinaciones
de zona, de los cuales se han recabado su informacióm
personal, laboral y contar
con fotografía, gracias a ello se tiene un mejor control sobre
esta información además de tener un acervo de
expedientes más condensado y organizado, además el
Director General tiene un acceso rápido a esta
información en cualquier momento.
Dentro del centro de cómputo, la optimización
del espacio de este, una mejor organización del cableado
para evitar que se maltrate, el rack de conectividad se encuentra
mejor organizado, con sus cables mejor distribuidos para una
fácil localización y vista de limpieza. En cuanto a
la optimización del espació se distribuyó el
mobiliario de tal manera que haya un mejor espacio al centro para
poder moverse con libertad en la
oficina, además de poder manípular equipos que
entren a reparación pues es muy importante contar con el
espacio necesario para maniobrar con este.
Así pues para concluir con este trabajo, la
página web, las aplicaciones no quedan ahí
solamente, estas deben estar en constante actualización,
no solo de información, si no también de
renovación, mejorar los diseños y contenidos,
optimizar espacios dentro de la presentación de los
resultados, optimizar las consultas, todo ello requiere de un
procesos de rediseño que más adelante se
trabajará con él, esperándo también
que con estos resultados se obtengan importantes invesiones
dentro de la institución dentro del rubro de TI, para el
desarrollo de mejores y nuevas aplicaciones para esta
institución que ha entrado al mundo de esta
tecnología con aplicaciones que ayuden a mantenerse en
contacto cercano con la gente a la que este instituto sirve.
Las TI son un gran árbol, donde el fruto de este son la
gran cantidad de soluciones que
se pueden obtener de estas, con la combinación de las
computadoras, Internet y telecominucaciones, abren la gran
ventana al mundo globalizado, acortan distancias, ayuda a cambiar
también la forma de ver el mundo, revolucionan y por ende,
hay una evolución en la forma que se realizan las
actividades cotidianas.
6. Apéndice
I. Manuales de las herramientas
Manual de usuario para "Sistema de Búsqueda de
Educandos"
Para ingresar a la aplicación
de "Sistema de Búsqueda de Educandos" debe realizarse de
la siguiente manera:
-
Hacer clic en el icono de su navegador de Internet (Explorer,
FireFox,
Mozilla, etc.).
-
Escribir la siguiente dirección en la barra de direcciones
de su navegador.
-
Entrará a la siguiente pantalla:
-
La pantalla se compone de un selector con el cual se va a
seleccionar la base de datos donde se desea buscar. Son tres:
Histórico de INEA 1981-2001, Histórico SEyC
1997-2008, Histórico SASA UCN 1997-2008.
-
Un cuadro de texto
para escribir el nombre iniciando por apellidos, si en el
nombre aparece la letra Ñ o ñ esta letra se va a
sustituir por un signo de porciento (%) para que se ejecute la
búsqueda.
-
Hacer clic en el botón buscar para que realice el
porceso.
-
Y aparecerá la ventana con los resutados:
De esta manera se ejecutan las consultas dentro del "Sistema
de Búsqueda de Educandos", para determinar si el educando
procede a capturarse, reincorporase o canalizarse para realizar
un duplicado de su certificado.
Manual para "Búsqueda de Actas de
Nacimiento".
-
Hacer clic en el icono de su navegador de Internet (Explorer,
FireFox, Mozilla, etc.).
-
Escribir la siguiente dirección en la barra de direcciones
de su navegador. http://coahuila.inea.gob.mx/actas.htm
-
Entrará a la siguiente pantalla:
-
Esta pantalla cuenta con un cuadro de texto para ingresar el
nombre inciando por los apellidos de la persona. Si el
nombre lleva la letra Ñ o ñ esta se debe sustituir
por un signo de porciento (%) para que se ejecute la
búsqueda.
-
Hacer clic en el botón buscar para ejecutar la
consulta.
-
Al terminar aparecerá la siguiente pantalla con el
resultado:
De esta manera al localizar a la persona se realiza una
impresión del resultado y se anexa al expediente, o bien
anotar número de acta, libro, foja
del documento.
Es importate aclarar que el manual de usuario
de la aplicación de la plantilla de personal no se
editará ya que por parte de la Dirección General se
dispuso que este sistema sólo será utilizado por
tres personas, el Director General, el Director de Administración y el Subdirector de
Personal, por lo que pidió de manera muy ateneta el
Director General no se publicara un documento de esto ya que es
de uso exclusivo para estas instancias, así que
sólo se procedió a capacitar a estas tres figuras
en el uso del sistema.
El Subdirector de personal será el encargado de remitir
a la oficina de informática las modificaciones que se
hagan al sistema.
8.
Bibliografía
1. Senn, James A., "Análisis y
Diseño de Sistemas de Información.", 2da.
Edición, McGraw Hill, 1999.
2. Márquez Vite, Juan Manuel, "Sistemas de
Información por Computadora", Editorial Trillas,
1987.
3. Gil Rubio, F. Javier, Alonso Villaverde, Santiago, Tejedor
Cerbel, Jorge A. Yagüe Panadero, Agustín,
"Creación de Sitios web con PHP5", McGraw Hill,
2005.
4. Camps Paré Rafael, Casillas Santillan Luis
Alnerto, "Bases de Datos", Fundación de Postgrado
UOC, 1ra edición, 2005.
5. Zaïane, Osmar R., "Database Systems and
structures", CMPT lecture notes. 1995.
6. Wikipedia Bases de datos.
http://es.wikipedia.org/wiki/Base_de_datos#Base_de_datos_de_red.
7. Administración de bases de datos,
Monografías.com http://www.monografias.com/trabajos40/administracion-bases-datos/administracion-bases-datos2.shtml#qesbase.
8. Monografias.com. Bases de Datos.
/trabajos12/basdat/basdat.shtml?monosearch
9. Metodologías modernas de análiss y diseño de
sistemas.
/trabajos12/docmento/docmento.shtml?monosearch
10. Análisis y diseño de sistemas– Instituto
Tecnológico La Paz.
http://sistemas.itlp.edu.mx/tutoriales/analisis/index.htm
11. Análisis y diseño de sistemas de
información. Universidad
Autónoma de Chihuahua.
http://comunidad.uach.mx/marana/materias/adsi/adsi.htm
12. Redes
Informáticas.
http://es.wikipedia.org/wiki/Redes_Inform%C3%A1ticas
13. Topologías de Red.
/trabajos15/topologias-neural/topologias-neural.shtml
14. Protocolos de
red. http://es.wikipedia.org/wiki/Protocolo_de_red
15. Redes Informáticas segunda Parte.
/trabajos40/redes-informaticas/redes-informaticas2.shtml?monosearch.
I. Dedicatoria.
Quiero dedicar este trabajo a mi esposa Elizabeth, mi hijo
Ricardo que gran parte de este esfuerzo es para ellos para darles
una mejor calidad de
vida, a mi padre Gulmaro Martínez, gracias por su
apoyo, por la paciencia, estímulo para seguir adelante,
gracias por hacerme quien soy. A mi madre gracias por darme la
vida y hacer de mí un hombre de
bien, a mi hermana.
II. Agradecimientos
Gracias a mi padre por todo su apoyo para seguir adelante y
ser mi principal mentor y amigo.
A Lic. Miguel Ángel Monroy quien gracias a su confianza
en el área laboral, su gran amistad y por
alentarme a reanudar mis estudios a nivel superior.
¡Gracias Amigo! A Rafael Santos que gracias a él
estoy en mi actual trabajo en el Instituto Estatal de
Educación para Adultos, además porque fue
aquí donde nosotros tres tuvimos un gran crecimiento
en el área laboral y personal.
Al Profr. Víctor Manuel Zamora y la Lic Liliana Ortega
por alentarme a ser todavía más autodidacta y
esforzarme más aún en aprender cosas nuevas para
aplicarlas al trabajo. Gracias a sus ideas esta Tesis
tomó forma y ahora es una realidad, ¡Gracias por su
confianza!
Gracias AIU por permitirme estudiar, es una gran experiencia
el cómo puedo estudiar y disfrutar de mi familia al mismo
tiempo. Gracias por esta oportunidad.
A todos los amigos que han estado cerca de mí.
Propuesta de Tesis de Licenciatura
Thesis – Practical applications of IT in the work center
Autor:
Jesús Humberto Martínez
Obregón
Atlantic International University
Honolulu, Hawaii.
September, Summer 2008.
Página anterior | Volver al principio del trabajo | Página siguiente |