Pontificia Universidad Católica del Ecuador Sede Ambato Escuela de ingeniería en Sistemas TEMA: Control de Mantenimiento de Inspecciones de Aeronaves integrante s.- Verónica Cerna Sandoval Ménica del Rosario Masapanta Ayal Directora: Tlga. Lorena Chiliqainga Asesora: Lda. Anua Larrea Ambato - Ecuador 1998
253
Embed
Verónica Cerna Sandoval Ménica del Rosario Masapanta Ayal
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Pontificia Universidad Católica del EcuadorSede Ambato
Escuela de ingeniería en Sistemas
TEMA:
Control de Mantenimiento de
Inspecciones de Aeronaves
i n t e g r a n t e s.-
Verónica Cerna Sandoval
Ménica del Rosario Masapanta Ayal
Directora: Tlga. Lorena Chiliqainga
Asesora: Lda. Anua Larrea
Ambato - Ecuador
1998
AGRADECIMIENTO
Nuestra eterna gratitud a la Pontificia Universidad
Católica del Ecuador Sede Arnbato, de la cual llevamos las
mejores enseñanzas.
A nuestra directora de trabajo, Tlga Lorena
Chiliquinga y Asesora, Lie Anita Larrea, por sus
sugerencias, oportuna ayuda, y amistad.
En general a todos y cada uno de los profesores que
hacen la Ingeniería en Sistemas, 'quienes jlevan adelante el
desarrollo educativo y tecnológico del país.
A la Fuerza Aérea Ecuatoriana, por permitirnos la
ejecución de este proyecto y por confiar en la tecnología
ecuatoriana para la automatización de su empresa.
A Dios por darnos la fuerza necesaria para salir
adelante.
Y a nuestros compañeros, por todos los momentos
compartidos.
LOS AUTORES.
DEDICATORIA
A mis padres.
i
Que con infinito amor, me apoyaron en todo momento
para alcanzar una brillante profesión y ser una mujer de
bien y útil a la sociedad.
A ellos dedico este trabajo, fruto de su
sacrificio y esfuerzo constante.
ANA VERÓNICA.
DEDICATORIA
Al culminar una etapa más de mi vida
estudiantil, dedico a mis padres todo el esfuerzo
reflejado en este trabajo; ya que sin su apoyo
constante, no hubiese alcanzado mi meta.
MONICA
INTRODUCCIÓN
Luego de un diagnóstico realizado en el
Departamento de aviones comerciales de la Dirección
de la Industria Aeronáutica de la Fuerza aérea
Ecuatoriana, dedicado a la reparación de aeronaves, se
detectó que sus actividades se realizan manualmente,
perjudicando notablemente en ,1a optimización de los» i
recursos humanos, económicos e inventario de sus
materiales, lo que va en desventaja en el accionar de
este Departamento.
Por este motivo se vio la necesidad de crear un
Sistema de "CONTROL DE MANTENIMIENTO DE INSPECCIONES
DE AERONAVES", con la finalidad de automatizar sus
acciones, permitiendo llevar en forma eficiente,
organizada y confiable la utilización sin pérdida de
tiempo, facilitando además al usuario el manejo y
control de los diferentes procesos que se llevan a
cavo en esta sección.
ífes
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR
CONTROL DE MANTENIMIENTO DE INSPECCIONES DE AERONAVES
1. ANÁLISIS PREVIO
Este análisis que constituye una etapa de una serie quei
compone el análisis para el desarrollo del sistema de control
de mantenimiento de inspecciones de aeronaves, comprende un
estudio de la empresa'cuyos procesos vamos a mecanizar.
1.1 ESTUDIO DEL SISTEMA ACTUAL
La fuerza Aérea Ecuatoriana a través de la Dirección de
la Industria Aeronáutica D.I.A.F 'en el Departamento de
Aviones Comerciales proporciona mantenimiento' a las
diferentes aeronaves que contratan sus servicios.
Cabe mencionar que el Opto. De Aviones Comerciales es el
organismo encargado de .dar el mantenimiento antes señalado, y
l
PONTIFICIA UNIVERSIDAD CATLICA DEL ECUADOR
CONTROL DE MANTENIMIENTO DE INSPECCIONES DE AERONAVES
su Sección dee Pañol de Abastecimientos se encuentra
'realizando todas sus actividades en forma manual como son :
egreso de material para cada tarjeta de mantenimiento en las
inspecciones de aeronaves, control de materiales enviados a
reparar en el país o en el exterior, control de técnicos que
solicitan el materiales, control de pedidos de materiales no
existentes, ya sea de compra local o al exterior, ingreso de
pedidos, control de material intercambiable (son materiales
que se identifican con números diferentes pero tienen el
mismo nombre), control del stock mínimo y máximo en cada uno
de los ítems, actualización de los costos de los ítems,
reporte de costo de los materiales usados en cada una de las
inspecciones (egreso por consumo), control de proveedores
tanto locales como extranjeros, control de materiales dados
de baja por -estar en mal • estado (egreso por condenado),/
control"de devoluciones de material sobrante, el material y
herramientas existentes. ?
Para lograr sistematizar estos procesos en una forma
óptima será necesario realizar un análisis profundo sobre
todas las actividades que se cumplen.
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR
CONTROL DE MANTENIMIENTO DE INSPECCIONES, DE AERONAVES
1.1.1 ACTIVIDADES Y ESTRUCTURA DE LA EMPRESA
Desde 1989 la DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA DE
LA F.A.E, (D.I.A.F), viene realizando inspecciones de
aeronaves una vez que estas han cumplido determinando
ciclo de horas de operación.
Un programa de inspección, el cual ha cumplido con las
más estrictas normas emitidas por el fabricante y con la
supervisión y regulación de la F.A.A (FEDERAL A3ISTION
REGULATION), comprende el chequeo, mantenimiento reparación de
ARCHIVO DE MOVIMIENTO DE MATERIALARCHIVO DE PROVEEDORES
ARCHIVO DE INTERCAMBIABLESARCHIVO DE PEDIDOSARCHIVO DE CONSUMO
ARCHIVO DE REPARADOSARCHIVO DE INSPECCIONES
PARTECOD_PROVNO_PARTE
PARTEPARTEPARTEPARTE
SALIDAS
NOMBRE DESCRIPCIÓN CÓDIGO
OPCIÓN
DIAGRAMA DE FLUJO
* ,INF. DE
MATERIAL
— ANTERIOR
SIGUIENTE
MANTENIMIENTO DE
DATOS
1 1 8
DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA
SISTEMA :CONTROL DE MANTENIMIENTO DESUBSISTEMA :SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :MENU MODULO :INVENTARIO
RESPONSABLES LENGUAJE FAG DE
VERÓNICA CERNAMÓNICA MASAPANTA
FOXPRO 2 . 6PARA WINDOWS
OBJETIVO DEL PROGRAMA
Permite visualizar los materiales intercambiables, además se puedeingresar a una subopción para manejar las opciones que existen .
ENTRADAS :NOMBRE DESCRIPCIÓN COGIGO
MA SERI ARCHIVO DE INTERCAMBIABLES NO ÍNTER
SALIDAS :
NOMBRE DESCRIPCIÓN CÓDIGO
IMPRESORA REPORTE DE INTERCAMBIABLES SERIES.FRX
INF.INTERBAMBIA-
BLES
.... L _„MANTENIMIENTO
DE DATOS
DIAGRAMA DE FLUJO
DISPLAY
AÑADIR
"SELECCIÓN
ELIMINAR"
MODIFICAR
"IMPRIMIR"
SALIR
ANTERIOR
SIGUIENTE
SALIR
119
DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA
SISTEMA. : CONTROL DE MANTENIMIENTO DESUBSISTEMA ¡SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :M£NU MODULO :INVENTARIO
RESPONSABLES LENGUAJE PAG DE
VERÓNICA CERNAMÓNICA MASAPANTA
FOXPRO 2.6PARA WINDOWS
OBJETIVO DEL PROGRAMA
Permite visualizar la lista de técnicos, además se puede ingresar a unasubopción para manejar las opciones que existen .
ENTRADAS :NOMBRE DESCRIPCIÓN COGIGO
MA TECN ARCHIVO DE TÉCNICOS LICENCIA
SALIDAS :
NOMBRE DESCRIPCIÓN CÓDIGO
IMPRESORA REPORTE DE TÉCNICOS TÉCNICOS.FRX
DIAGRAMA DE FLUJO
DISPLAY
(MANTEN IM i ENTODE DATOS
AÑADIR
SELECCIÓN
ELIMINAR
MODIFICAR
IMPRIMIR
SALIR
JANTERIOR
¡SIGUIENTE
SALIR
120
DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA
SISTEMA :CONTROL DE MANTENIMIENTO DESUBSISTEMA :SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :MENU MODULO ¡INVENTARIO
RESPONSABLES LENGUAJE PAG DE
VERÓNICA CERNAMÓNICA MASAPANTA
FOXPRO 2.6PARA WINDOWS
OBJETIVO DEL PROGRAMA
Permite visualizar los tipos de monedas con las se compra el material,además se puede ingresar a una subopcióri para manejar las opciones queexisten .
ENTRADAS :NOMBRE DESCRIPCIÓN COGIGO
MA DIVI ARCHIVO DE MONEDAS CÓDIGO
SALIDAS :
NOMBRE DESCRIPCIÓN CÓDIGO
IMPRESORA REPORTE DE MONEDAS DIVISA.FRX
OPCIÓN
MA DIVI
INF. DEMONEDAS
MANTENIMIENTODE DATOS
DIAGRAMA DE FLUJO
DISPLAY
AÑADIR
(SELECCIÓN
ELIMINAR
JANTERIOR
SIGUIENTE
SALIR
121
' DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA
SISTEMA :CONTROL DE MANTENIMIENTO DESUBSISTEMA :SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :MENU MODULO ¡INVENTARIO
RESPONSABLES LENGUAJE PAG DE
VERÓNICA CERNAMÓNICA MASAPANTA
FOXPRO 2 .6PARA WINDOWS
OBJETIVO DEL PROGRAMA
Permite visualizar datos de las aeronaves que van a ser reparadas ,además se puede ingresar a una subopción para manejar las opciones queexisten .
ENTRADAS :NOMBRE DESCRIPCIÓN COGIGO
MA AVIO ARCHIVO DE AVIONES CODAV
SALIDAS :
NOMBRE DESCRIPCIÓN CÓDIGO
IMPRESORA REPORTE DE AVIONES AVIONES,FRX
OPCCION
MA AVIO
INF. DEAVIONES
MANTENIMIENTO!DE DATOS
DIAGRAMA DE FLUJO
DISPLAY
AÑADIR
SELECCIÓN
ELIMINAR"
MODIFICAR
IMPRIMIR
SALIR
ANTERIOR
SIGUIENTE!
SALIR
122
DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA
SISTEMA :CONTROL DE MANTENIMIENTO DESUBSISTEMA :SUBSISTEMA
INSPECCIONES DE-AERONAVES.
PROGRAMA :MENU MODULO :INVENTARIO
RESPONSABLES LENGUAJE PAG DE
VERÓNICA CERNAMÓNICA MASAPANTA
FOXPRO 2 .6PARA WINDOWS
OBJETIVO DEL PROGRAMA
Permite visualizar datos referentes al número de cuenta con las cuales serealiza documentos de pedido , además se puede ingresar a una subopciónpara manejar las opciones que existen .
ENTRADAS :
NOMBRE DESCRIPCIÓN COGIGO
MA CUENTA ARCHIVO DE CUENTAS NUMERO
SALIDAS :
NOMBRE DESCRIPCIÓN CÓDIGO
IMPRESORA REPORTE DE AVIONES CUEHTA.FRX
OPCIÓN
MA CUEN
INF. DECUENTAS
MANTENIMIENTODE DATOS
DIAGRAMA DE FLUJO
DISPLAY
AÑADIR
SELECCIÓN
ELIMINAR"'
JAÑTERIOR]
SIGUIENTE
SALIR
123
DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA
SISTEMA : CONTROL DE MANTENIMIENTO DESUBSISTEMA : SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :MENU MODULO : TRANSACCIONES
RESPONSABLES
VERÓNICA CERNAMÓNICA MASAPANTA
LENGUAJE
FOXPRO 2.6PARA WINDOWS
PAG DE
1 1
OBJETIVO DEL PROGRAMA
Permite visualizar los pedidos de materiales , además se puede ingresar auna subopción para manejar las opciones que existen .
ENTRADAS :NOMBRE
MA KAMMA SERIPEDIDOS
SALIDAS :
NOMBRE
OPC
DESCRIPCIÓN
ARCHIVO KARDEX DE MOVIMIENTOARCHIVO DE INTERCAMBIABLES
ARCHIVO DE PEDIDOS
DESCRIPCIÓN
i
DIAGRAMA DE FLUJO
ION
INFPED
\/
\^NCALCU
VMANTENIM
DE DAT
. DEIDOS
^ DISPLA' V " ~ " '"*•
ERI PEDIDOSAÑADIR
Z '"s~ELECClé
jOS ELIMINAS
I MODIFICA
Ub SALIR
COGIGO
PARTENO PARTE
PARTE
CÓDIGO
— 'ANTERIOR 1
—1 ' ' ""_[ SALIR I
.1N 1
DR I
—
124
DIRECCIÓN DE LA INDUSTRIA AERONÁÜ
SISTEMA ¡CONTROL DE MANTENIMIENTO DESUBSISTEMA ¡SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :MENUMODULO .'TRANSACCIONES
RESPONSABLES LENGUAJE
VERÓNICA CERNA FOXPRO 2 . 6MÓNICA MASAPANTA PARA WINDOWS
OBJETIVO DEL PROGRAMA
Permite visualizar los movimientos de materiales , ademásingresar a( una subopción para manejar las opciones que GJÍ
ENTRADAS •:NOMBRE DESCRIPCIÓN
INGPED ARCHIVO DE INGRESO DE PEDIDOSCONSUMO ' ARCHIVO DE CONSUMOjjA K^M ARCHIVO KARDEX DE MOVIMENTOS
SISTEMA : CONTROL DE MANTENIMIENTO DE * *SUBSISTEMA : SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :MENUMODULO : TRANSACCIONES
RESPONSABLES
A- VERÓNICA CERNA
MÓNICA MASAPANTA
LENGUAJE
FOXPRO 2 . 6PARA WINDOWS
PAG DE
1 1
OBJETIVO DEL PROGRAMA
Permite visualizar, la devolución de materiales pedidos, además se puedeingresar a una subopción para manejar las opciones que existen .
ENTRADAS :NOMBRE
DEVPEDPEDIDOSCONSUMOMA_SERI
SALIDAS :
NOMBRE
DESCRIPCIÓN
ARCHIVO DE DEVOLUCIÓN DE PEDIDCARCHIVO DE PEDIDOSARCHIVO DE CONSUMO
-ARCHIVO DE INTERCAMBIABLES
DESCRIPCIÓN
COGIGO
)S PARTEPARTEPARTE
NO PARTE
CÓDIGO
DIAGRAMA DE FLUJO
[OPCIÓN
^INF.DEVOLUC
c-\l/
DEV_PED PEDIDOS co
\,1
1 CÁLCULO
MANTENIMIEDE DATOÍ
DEI ONE
DISPLAi[ 1
<SUMO MA.SERI fifiADIR
V ¡S "SELECCTÚc 1 , , , . __
ELIMINA!}
NTO> MODIFirA
[~ SALIR~— —
— ANTERIOR
--i _¡ SIGUIENTE
SALIR |
"íní 1
=T|
u
126
& DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA
SISTEMA : CONTROL DE MANTENIMIENTO DESUBSISTEMA ¡SUBSISTEMA.
INSPECCIONES DE AERONAVES.
PROGRAMA :MENÜMODULO : TRANSACCIONES
RESPONSABLES
VERÓNICA CERNAMÓNICA MASAPANTA
LENGUAJE
FOXPRO 2 . 6PARA WINDOWS
PAG DE
1 1
OBJETIVO DEL PROGRAMA
Permite conocer los mater ia les que se consumen para la reparación de cadaaeronave , además se puede ingresar a una subopción para manejar lasopciones que existen .
ENTRADAS :NOMBRE
CONSUMOMA KAM
MA SERIMA TECNMA AVIOMA_DIVI
DESCRIPCIÓN
ARCHIVO DE CONSUMOARCHIVO KARDEX DE MOVIMIENTOS
ARCHIVO DE INTERCAMBIABLESARCHIVO DE TÉCNICOSARCHIVO DE AVIONESARCHIVO DE MONEDAS
• SALIDAS :
NOMBRE DESCRIPCIÓN
^^~ DIAGRAMA DE PLU
OPCIÓN
f INFT~DCONSUM
E3
^_^_ ^jL_ - ¿CONSUMO MA_KAM MA SERI
- icrbí icib)MA AVIO MA_DIVI
ty A. \i» ^ ^
CÁLCULOS
_..J_._ -[[MANTENIMIENTO DE i
DATOS'
JO
_| ANTER
""DISPLÁY">-[SIGÜI
, L SALAÑADIR |
~SELECCÍ5Ñ~|
ELIMINAR 1
MODIFICAR 1
SALIR" 1
COGIGO
PARTEPARTE
NO PARTELICENCIA
PARTEPARTE
CÓDIGO
IOR
3NTE
IR:]
127
DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA
SISTEMA :CONTROL DE MANTENIMIENTO DESUBSISTEMA :SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :MENUMODULO ¡TRANSACCIONES
RESPONSABLES LENGUAJE PAG DE
VERÓNICA CERNAMÓNICA MASAPANTA
FOXPRO 2 . 6PARA WINDOWS
OBJETIVO DEL PROGRAMA
Permite visualizar los materiales dados de baja por estar en mal estado,además se puede ingresar a una subopción para manejar las opciones queexisten .
ENTRADASNOMBRE DESCRIPCIÓN COGIGO
CONDENAMA_KARDMA SERI
ARCHIVO DE CONDENADOARCHIVO DE KARDEX
ARCHIVO DE INTERCAMBIABLES
PARTEPARTE
NO PARTE
SALIDAS :
NOMBRE DESCRIPCIÓN CÓDIGO
OPCIÓN
DIAGRAMA DE FLUJO
__ *._INF. DE
CONDENADO
CÁLCULOS
MANTENIMIENTODE DATOS
DISPLAY
ANTERIOR"!
SIGUIENTE"
SALIR
i&ÑADIR
SELECCIÓN"
ELIMINAR
MODIFICAR
SALIR
128
DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA
SISTEMA : CONTROL DE MANTENIMIENTO DESUBSISTEMA : SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :MENUMODULO : TRANSACCIONES
RESPONSABLES
VERÓNICA CERNÁMÓNICA MASAPANTA
LENGUAJE PAG DE
FOXPRO 2 . 6 1 1PARA WINDOWS
OBJETIVO DEL PROGRAMA*
Permite visualizar los materiales que van a ser reparados, además sepuede ingresar a una subopción para manejar las opciones que existen .
ENTRADAS :NOMBRE
ENVREPCONDENAMA_SERI
DESCRIPCIÓN CÓGIGO
ARCHIVO DE ENVÍO A REPARAR PARTEARCHIVO DE CONDENADO PARTE
ARCHIVO DE INTERCAMBIABLES NO PARTE
SALIDAS :
NOMBRE DESCRIPCIÓN CÓDIGO
DIAGRAMA DE FLUJO
OPCIÓN r-r-~ -_-_-
r INREPj
F. DE ""ARABLES — - ,
~-r~r ,T , , , . SIGUIENTE
f^\ENVREP CON
>^
CÁLC
i , 1y Y
J} (^ ~-̂ | ' [ RA7.TR I
DLNA MA_SERI AÑADIR
/ SELECCIÓN"]/ \ __
MOLUtlCAK
MANTENIMIENTODE DATOS P ""SALIR" —
129
DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA
SISTEMA : CONTROL DE MANTENIMIENTO DESUBSISTEMA ¡SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :MENUMODULO : TRANSACCIONES
RESPONSABLES LENGUAJE PAG DE
VERÓNICA CERNAMÓNICA MASAPANTA
FOXPRO 2 . 6PARA WINDOWS
OBJETIVO DEL PROGRAMA
Permite visual izar ül ingreso do los matera a lo:; ya re parados/ a domar; c,cpuede ingresar a una subopcíón para manejar las opciones que existen .
ENTRADASNOMBRE DESCRIPCIÓN COGIGO
CONSUMOMA KARDMA SERIREPARAR
ARCHIVO DE CONSUMOARCHIVO DE KARDEX
' ARCHIVO DE INTERCAMBIABLESARCHIVO DE REPARABLES
PARTEPARTE
NO PARTEPARTE
SALIDAS :
NOMBRE DESCRIPCIÓN CÓDIGO
DIAGRAMA DE FLUJO
OPCIÓN
INF. DEREPARADOS
MANTENIMIENTODE
DISPLAY
MODIFICAR
" SALIR
130
DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA
SISTEMA. : CONTROL DE MANTENIMIENTO DESUBSISTEMA ¡SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :MENU ' * , MODULO : REPORTES
RESPONSABLES
VERÓNICA CERNAMÓNICA MASAPANTA
LENGUAJE
FOXPRO 2 .6PARA WINDOWS
PAG DE
1 1
OBJETIVO DEL PROGRAMA
Permite visualizar la devolución de mater iales pedidos, además se puedeingresar a una subopeión parn mrjno ' iar 1 ;n-, opc torio;; que oxir.;t:on .
ENTRADAS :NOMBRE
DEVPEDPEDIDOSCONSUMOMA SERI
SALIDAS :
NOMBRE
IMPRESORA
DE
DESCRIPCIÓN
ABCMIVO DE DEVOLUCIÓN DI<1 PEDIDOSARCHIVO DE PEDIDOSARCHIVO DE CONSUMO
ARCHIVO DE INTERCAMBIABLES
DESCRIPCIÓN
PEDIDOS RECIBIDOS
DIAGRAMA DE FLUJO
DATOS
*S E L K C C J Ó NDEL REPORTE:
~ rLECTURA DE
DATOS
-^ T \ ~ ~ r - " " ; : -VPED PEDIDOS Hft SERI CONSUMO
I'" T" --i-^ -1\
RBALIKA fc r -r T -CÁLCULOS * PEDIDO
J
COGIGO
PARTEPARTEPARTE
NO_PARTE
CÓDIGO
PEDIDO
DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA
SISTEMA : CONTROL DE MANTENIMIENTO DF,SUBSISTEMA ¡SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :MENÜ MODULO : REPORTES
RESPONSABLES
VERÓNICA CERNAMÓNICA MASAPANTA
LENGUAJE
FOXPRO 2.6PARA WINDOWS
PAG DE
1 1
OBJETIVO DEL PROGRAMA
Permite conocer los materiales que se consumen para la reparación de cadaaeronave , además se puocic ingresar a una íjubopc i ón para mane; jar lar?opciones que existen .
ENTRADAS :NOMBRE
CONSUMOMA KAM
MA SERIMA TECNMA AVIOMA DIVI
SALIDAS :
NOMBRE
IMPRESORA
DESCRIPCIÓN
ARCHIVO DE CONSUMOARCHIVO KARDEX DE MOVIMIENTOS
ARCHIVO DE INTERCAMBIABLESARCHIVO DE TÉCNICOSARCHIVO DE AVIONESARCHIVO DE MONEDAS
COGIGO
PARTEPARTE
NO PARTELICENCIA
PARTEPARTE
DESCRIPCIÓN
REPORTE DE EGRESO POR CONSUMO
CÓDIGO
CON 3 U
DIAGRAMA DE FLUJO
[¡JATO.';
CONSUMO
SELECCIÓNDEL REPORTE
LECTURA DEDATOS
MA_KAM MA SERI ^ Tf
1 ' ~ i\
REALIZACÁLCULOS
jCN MA_AVIO MA^DIVI
1 1
CONSU
1
133
DIRECCIN DE LA INDUSTRIA AERONUTICA
SISTEMA ¡CUNTRUL DI- MANTENIMIENTO ]JKSUBSISTEMA. : SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :MENQ MODULO : REPORTES
RESPONSABLES LENGUAJE PAG DE
VERÓNICA CERNAMÓNICA MASAPANTA
FOXPRO 2.6PARA WINDOWS
OBJETIVO DEL PROGRAMA
Permite visualizar los materiales dados de baja por estar en mal estado,además se puede ing rosar a una subopción para inane;] ar .1 as opciones queexisten .
SISTEMA : CONTROL DE MANTENIMIENTO DESUBSISTEMA ¡SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :MENU MODULO : REPORTES
RESPONSABLES
VERÓNICA CERNAMÓNICA MASAPANTA
LENGUAJE
FOXPRO 2 .6PARA WINDOWS
PAG DE
1 1
OBJETIVO DEL PROGRAMA
Permite visualizar los materiales que van a ser reparados, además sepuede ingresar a una subopcióri para mane j a r la:; opciones que ex . sLon .
ENTRADAS :NOMBRE
ENVREPCONDENADMA_SERI
SALIDAS :
NOMBRE
IMPRESORA
DESCRIPCIÓN
ARCHIVO DE ENVÍO A REPARARARCHIVO DE CONDENADO
ARCHIVO DE INTERCAMBIABLES
DESCRIPCIÓN
REPRTE DE REPARABLES
DIAGRAMA DE FLUJO
DATOS
SELECCIÓNDEL REPORTE
LECTURA DEDATOS
HNVKIi» O'l i i 'KNAi. ^ SERI
r ' " i " - i -4/REALIZA ^| INGRI
CÁLCULOS *\— -
COGIGO
PARTEPARTE
NO PARTE
CÓDIGO
INGREP
:P
135
DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA
SISTEMA : CONTROL DE MANTENIMIENTO DESUBSISTEMA : SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :MENU MODULO : REPORTES
RESPONSABLES
VERÓNICA CERNAMÓNICA MAS AP ANTA
LENGUAJE
FOXPRO 2 . 6PARA WINDOWS
PAG DE
1 1
OBJETIVO DEL PROGRAMA
Permite v isual izar el ingreso do los ma tzo r ialos ya ropa raí Jo;;, adema:; :;opuede ingresar a una subopción para mane ja r las opciones que existen .
ENTRADAS :NOMBRE
CONSUMOMA KARDMA SERIREPARAR
SALIDAS :
NOMBRE
IMPRESORA
CONS
' • ' I
DESCRIPCIÓN
ARCHIVO DE CONSUMOARCHIVO DE KARDEX
ARCHIVO DE INTERCAMBIABLESARCHIVO DE REPARABLES
DESCRIPCIÓN
REPORTE DE MATERIALES REPARADOS
DIAGRAMA DE FLUJO
DATOS
- * - -,SELECCIÓNDEL REPORTE
ALECTURA DE
DATOS
^ :.?._. \UMO MA^KERD ^SERl REPARAR
- J - - - - - . - - -
\RRALTZA f c D _ n r
CÁLCULOS * RLP/
1 „
COGIGO
PARTEPARTE
NO PARTEPARTE
CÓDIGO
REPARAR
RAR
- — — ~~^
136
DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA
SISTEMA : CONTROL DE MANTENIMIENTO DESUBSISTEMA : SUBSISTEMA
INSPECCIONES DE AERONAVES.
PROGRAMA :MENU MODULO : REPORTES
RESPONSABLES
VERÓNICA CERNAMÓNICA MASAPANTA
LENGUAJE
FOXPRO 2 . 6PARA WINDOWS
PAG DE
1 1
OBJETIVO DEL PROGRAMA
Permite visualizar la existencia de materiales, además se puede ingresara una subopción para mane j a r las opciones quo ex i. sien .
ENTRADAS :NOMBRE
MA PROVMA KARDMA SERICONSUMOPEDIDOS
RE PARINSPEC
MA DIVI
DESCRIPCIÓN
ARCHIVO DF: PROVEEDORESARCHIVO DE KARDEX EXISTENCIA
ARCHIVO DE INTERCAMBIABLESARCHIVO DE CONSUMOARCHIVO DE PEDIDOS
ARCHIVO DE REPARADOSARCHIVO DE INSPECCIONES
ARCHIVO DE MONEDAS
COGIGO
MA PROVPARTE
NO PARTEPARTEPARTEPARTEPARTE
CÓDIGO
SALIDAS :
NOMBRE
IMPRESORA
MA_PROV MA_KñRD
"T" "'T'
DESCRIPCIÓN
REPORTE DE INVENTARIO DE MATERIALES
DIAGRAMA DE FLUJO
[DATOS
^SELECCIÓNDEL REPORTE
- v^r^~~~' LECTURA DE ̂ ^^_
^^^^^••^ DATOS ~*^^^
MA_SERI CONSUMO PEDIDOS REPARAR INSPEC
T T — i— —y
CÓDIGO
INVENTAR
Mft_DIVI
i
REALIZA ^ INVENTARCÁLCULOS ^
137
DIRECCIÓN DE LA INDUSTRIA AERONÁUTICA
SISTEMA :CONTROL DE MANTENIMIENTO DESUBSISTEMA :SUBSISTEMA
. INSPECCIONES DE AERONAVES.
PROGRAMA :MENU MODULO :GALERÍA
RESPONSABLES LENGUAJE PAG DE
VERÓNICA CERNAMÓNICA MASAPANTA
FOXPRO 2 .6PARA WINDOWS
OBJETIVO DEL PROGRAMA
Permite visualizar fotografía de aviones ,además se puede ingresar a unasubopción para mane ja r las opciones que exis ten .
SET TALK OFFSET STATUS OFFSET SAFETY OFFSET BELL OFF*SET SYSMENU SAVE*SET SYSMENU TOSET ESCAPE OFFSET DELETE ONSET PROCEDURE TO &MRUTA\MA_LIBR
SET EXCLUSIVE OFFSET MULTILOCKS ONSET REFRESH TO 1SET REPROCESS TO 1
DO CLAVEPCLEARLILA='FONT "COOPER LT BT ",11 STYLE "T" COLOR 5/3'* CLEARDO tituloDEFINE WINDOW trabajo FROM 07,00 TO 26,80 COLORGB(0,O,128,192,192,192) font 'TECHNICAL',18 style 'BI1ACTÍVATE WINDOW trabajo@ 00,00 TO 21,80 PATTERN 1 ;
PROCEDURE menu_maDEFINE MENÚ raenupDEFINE PAD padl OF menup PROMPT 'Inventario' at 1,5DEFINE PAD pad2 OF menup PROMPT 'Transacciones' at 1,20DEFINE PAD pad3 OF menup PROMPT 'Reportes ' at 1,38DEFINE PAD pad5 OF menup PROMPT 'Galería ' at 1,52DEFINE PAD pad6 OF menup PROMPT 'Salir ' at 1,6-3
ON PAD padl OF menup ACTÍVATE POPUP popíON PAD pad2 OF menup ACTÍVATE POPUP pop2ON PAD pad3 OF menup ACTÍVATE POPUP pop3ON PAD pad5 OF menup ACTÍVATE POPUP pop5ON PAD pad6 OF menup-ACTÍVATE POPUP pop6
.TIVE SHADOW FROM 3,51 Proveedores'1 \ ''Kardex-Servi.bles '
Kardex-Reparables '
' Intercambiables '
1 técnicos '
Aviones
'Monedas
DEFINE POPUPDEFINE BAR 1DEFINE BAR 2DEFINE BAR 3DEFINE BAR 4DEFINE BAR 5DEFINE BAR 6DEFINE BAR 7DEFINE BAR 8Repararción'DEFINE BAR 9DEFINE BAR 10
Pedidos 'de Pedidos'
pop2 MARGIN RELATIVE SHADOW FROM 3,20OF pop2 PROMPT 'Pedidos 'OF pop2 PROMPT 'Ingreso deOF pop2 PROMPT 'DevoluciónOF pop2 PROMPT '\-'OF pop2 PROMPT 'Egreso de MaterialOF pop2 PROMPT 'Egreso de MaterialOF pop2 PROMPT 'VOF pop2 PROMPT 'Envío de Materjal para
por Consumo'Condenado'
la
OF pop2 l'ROMPTOF pop2 PROMPT
Ingreso de Material Reparado''Egreso de Material Reparado'
DEFINE POPUP pop3 MARGIN RELATIVE SHADOW FROM 3,38DEFINE BAR 1 OF pop3 PROMPT 'Inventario de Materiales'DEFINE BAR 2 OF pop3 PROMPT '\-'DEFINE BAR 3 OF pop3 PROMPT 'Pedidos Pendientes'DEFINE BAR 4 OF pop3 PROMPT '\-'DEFINE BAR 5 OF pop3 PROMPT 'Material por Consumo'DEFINE BAR 6 OF pop3 PROMPT '\-'DEFINE BAR 7 OF pop3 PROMPT 'Pedidos Recibidos 'DEFINE BAR 8 OF pop3 PROMPT '\-'DEFINE BAR 9 OF pop3 PROMPT 'Material por Condenado'DEFINE BAR 10 OF pop3 PROMPT '\-'DEFINE BAR 11 OF pop3 PROMPT 'Costo de Inspección por Avión1DEFINE BAR 12 OF pop3 PROMPT '\-'DEFINE BAR 13 OF pop3 PROMPT 'Materia.! en Reparación'DEFINE BAR 1/1 OF pop3 PROMPT '\-'DEFINE BAR 15 OF pop3 PROMPT 'Material Reparado'DEFINE BAR 16 OF pop3 PROMPT (\-'DEFINE BAR 17 OF pop3 PROMPT 'Egreso Material Reparado'
DEFINE POPUP pOpS MARGIN RELATIVE SHADOW FROM 3,52DEFINE BAR 1 OF pop5 PROMPT ' Aviones '
DEFINE POPUP pop6 SHADOW FROM 3,64DEFINE BAR 1 OF popG PROMPT 'Salir'
ON SELECTION POPUP popí DO elige WITH PROMPT(), POPUP()ON SELECTION POPUP pop2 DO elige WITH PROMPT(),POPUP()ON SELECTION POPUP pop3 DO elige WITH PROMPT(}, POPUP()ON SELECTION POPUP pop5 DO elige with PROMPT(}, POPUPí)ON SELECTION POPUP pop6 DO elige with PROMPTí), POPUP()
ACTÍVATE MENÚ menupDEACTIVATE MENÚ menupRELÉASE MENÚ menupDEACTIVATE WINDOW tituloDEACTIVATE WINDOW tratóajoRETURN*======= DISTRIBUCIÓN PARA CADA PROGRAMA ~-'- -*--=== =
140
PROCEDUKK el i qePÁRAMETERS mprompt, mpopuHIDE MENÚ MENUPHIDE POPU ALL •op=DAR ()DO CASE •
case op=7Do repor3 in &MRUTA\ingpedcase op=9Do repor4 in &MRUTA\condenad
case op=llDo reporS in &MRUTA\consumo
case op-13Do reporG in &MRUTA\reparar
case op̂ !5Do repor7 in &MRUTA\ingmat
case op=17Do rcporG in í,MRUTA\eqrepara
ENDCASE
141
deactivate popup pop4
c;isf: iiipopu "l'Ol'VÜÜ CASEcase op=l
DO &MRUTA\FOTOSENDCASE
case rnpopu--=' POP6'DO CASE
Case OP=1DEACTIVATE WINDOW TITULODEACTIVATE WINDOW TRABAJODO &MRUTAXSALI.SPR
*SET SYSMENU TO DEFAULTDEACTIVATE MENÚ MENUPRELÉASE MENÚ MENUPENDCASE
ENDCASECLEAR
RETURN
PROCEDURE tituloDEFINE WINDOW titulo FROM 0,0 TO 6,80 COLORRGD(O,O,128,192,192,192} double font 'TECHNICAL',13 style 'BIM'ACTÍVATE WINDOW titulo@ 00,00 TO 5,80 PATTERN 9 ;
PEN A, 8 STYLE "10" ;COLOR RGB(0,0,128,192,192,192)
@1,1 SAY " CONTROL DE MANTENIMIENTO DE INSPECCIONES DEAERONAVES " STYLE 'T1 COLOR 1/5RETURN
Procedure clavep
^PROGRAMA PARA CLAVE DE INGRESO AL SISTEMA***************CLEARseb talk offselect 10*use &MRUTA\acceso*set order to 1go topc=lm. licenc=space (5) •il=0define window mensaje from 23, 15 to 26, 65set color to B+++@0, O to 26 , 80 clear &&@0, O to 26,80 doubset color toset color to W/D++
a = "DEPARTAMENTO DE AVIONES COMERCIALES"t = " C E M F A "i = 1letral-""do while i< 36
lelra=substr(a,i,l)letral^letral t-lctrai " "set color to W/B-M-
142
@2,4 say letral font 'Courrier new ', 13 style
sel color Lo
k=0do while k<20
k=k+l-enddo
enddo
do while i<15letra^substr (t, i, ] )lin=lirn letra+ " "set color to W/[email protected], 50- (i*2) say lin font 'courrier new', 14 style 'B'set color toi-i+1k=0
do while k<20k=k+l
enddoenddocontrol=0v=ldo while v < 4go topset color to W/B++
define window clave f rom 13, 20 to 17, 52 color w/w+++actívate window clave
@1,1 GAY "INGRESE GU CLAVE: " font 'courrier new1 style 'b'store space ( b) to m. 1 i ceneset color toset color to N,N/N,W@1, 20 GET m.licericreadc'lear getsif m.].iconc=" "
act ¡ va Le w.i iiduw ETI c MIS ¡i } v@ÜO,0 say "SU CLAVE NO EG CORRECTA L'RKGIOME «KNTER»" íont
'courrier new1 ,14WAIT ""deact iva te window mensajeset color Lov=v+lloop
endifselect 10lócate for m. licenc=licencif . not . found ( )actívate window mensaje@00,00 say " GU CLAVE NO ES CORRECTA PRESIONE «ENTER»"font 'courrier new' ,14 color w/b++readv=v+ldeactivate window mensajeset color to
endi fif m. licenc-Licenc
set color to/W
143
set color to w/EM--i-deactivate window clavesot color to w/b-M013, 16 to Ui, 64012,12 t;o 19,68011,8 to 20,72@10,4 to 21, 76014,19 say " NOMBRE :" font 'arial',13 style'bt1
014,35 say nombre font 'arial',13 style 'bt'@15,19 cay " FUNCIÓN :" font 'arial',13 style 'bt:'@15,35 SAY función font 'arial',13 style 'bt1
016,19 to 17,21 clea016.5,19 say " BIENVENIDO AL SISTEMA " font'arial1,13 style 'bt1set color toactívate window mensaje@00,00 say" PRESIONE UNA TECLA PARA CONTINUAR" font'courrier new1 ,14 color w/b++rcaddeactivate window mensajecontrol=lv=4<lo avión
endi tenddo
if control=0actívate window mensaje@ 0,00 say "EL ACCESO AL SISTEMA ES NEGADO" font 'courriernew' ,14 color w/b+ +wait ""quit
endifRETURN
procedure aviónset color to B+ i-+•@0,O to 26 ,80 clear &&00,O to 26,80 doubset color toset color to w/b++0 1,3 TO 5,76 PATTF'.KN 4 PMN 4, 8 .STYLE "16"@2,5 say "SISTEMA DE CONTROL DE INSPECCIONES " font 'arial', IBstyle 'bt1define window aeca from 6,5 to 21,75actívate window aeca0 0,0 say 'c:\fpw26\abasttos\aeca.bmp' bitmap strctch size17,70actívate screen0 22,3 TO 25,76 PATTERN 4 PEN 4, 8 STYLE "16"@23,20 say 'Presione una tecla para continuar' font 'arial',14style'bt'wait""deactivate window aecaset color toreturn
144
egreso por condonado
TO m. ínterTO m. cantidadTO m. des tino
SET PROCEDURE TO MA_L1BRSTORE .T. TO iri_prgLILA='FONT "COOPER LT BT ",9 STYLE "T" COLOR B/W+'STORE SPACE(15) TO m.parteSTORE SPACE(15) TO m.serieSTORE SPACE(OO) TO m.fechaSTORE SPACE(15) TO m.docondSTORE SPACE(15)STORE OSTORE SPACE(10)STORE SPACE(10) TO m.condiciónHIDE WINDOW tituloHIDE WINDOW trabajoDO setupDO WHILE in_prgON ESCAPE STOREKEYBOARD CHR(27)
@ 9,1 TO 24,79 PATTERN 1 ;PEN 4, 8 STYLE "16" ;COLOR RGB(0,O, 128,192,192, 192)0 03,20 SAY " No. Documento
@ 05,20 SAY "Fecha CondenadoNo. Parte@ 10,15 SAY "
@ 11,15 SAY "@ 12,15 SAY "@ 13,15 SAY "@ 14,15 SAY "@ 15,15 SAY "
RETURN
DescripciónSerie
CantidadCondiciónDest/Proc.
PROCEDURE disp__prg@ 03,42 SAY condena.docond@ 05,42 SAY condena.fecha@ 10,37 SAY condena.parte@ 11,37 SAY kardex.descrip@ 12,37 SAY kardex.serie@ 13,37 SAY condena.cantidad@ 13,60 SAY kardex.unidad@ 14,37 GET condena.condición
PICTURE "@*RHN Condenado" ;SIZE 1,13,O DISABLE
@ 15,37 SAY condena.destinoRETURN
Unidad:
145
PROCEDURE displayON KEYS'l'OllK .'!'. Tt> in < l . i t .ACTÍVATE SCKEKN
DO UNOON KKY LABEL [•''I DO proviouíiON KEY LABEL Kü DO NextACTÍVATE WINDOW datosDO show_prgDO disp_prgDO WHILE in_dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prg
ENDDODEACTIVATE WINDOW datosON KEYDO teclas
RETURN
PROCEDURE nexLSKÍP 1IF EOF ()
DO standby WITH 'Fin del Archivo ... Ultimo registro'GO BOTTOM
ENDIFDO disp_prg
RETURN
PROCEDURE previousSK1P -1 .IF BOFO
DO standby WITH 'Comienzo del Archivo ... es el primerregistro'
GO TOPENDIFDO disp_prg
RETURN
PROCEDURE appendsele 13ON KEYSTORE .T. TO ín_datSCATTER MEMVAR BLANKACTÍVATE SCREENDO DOSACTÍVATE WINDOW DATOSDO WHILE in_dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prgDO show_prgDO edit with 'A'
IF LASTKEYO =21STORE .F. TO iri_dat
APPEND BLANKREPLACE CUENTA WITH M.DOCONDREPLACE FECHA WITH M.FECHASCATTER MÜMVAR BLANK
ENDIFENDDO
DEACTIVATE WINDOW datosDO teclas
RETURN
PROCEDURE editPARAMETER xind
•U)
STORE .T. TO IN_DATESTORE DATE() TO m.fecham.doconü UOCONDl'; ('(,]!.!')@ 5,37 GET m.lechaSTORE DATE() TO m.fechaDO WHILE IN__DATEON ESCAPE STORE .F. TO IN_DATESTORE .T. TO IN_PRGsele 7store spac(15) to m.partestore O to m.cantidadstore spac(6) to m.destino@10,37 to 15,60 clearIF xind='A'STORE 1 TO m.condición
ENDIF@ 3,37 GET m.docond PICT '@!15' disabie@ 10,37 GET m.parte VALID fparte()@ 13,37 GET m.cantidad PICT '999999' VALID fcantidad(xind)@ 14,37 GF.T m.condición ;
PROCEDURE querySTORE SPACE(15) TO m.parteSTORE SPACE(OB) TO m.fechaSTORE SPACE(15) TO m.docondSTORE SPACE(15) TO m.ÍnterON KEYACTÍVATE SCREENDO TRESACTÍVATE WINDOW datosDO show_prg@ 3,37 GET m.docond PICT '@!15@ 5,37 GET m.fecha PICT '@!8'
147
@ 10,37 GET m.parte PICT f@¡15'READDKACTIVATK WLNUOW ddLu;¿SET FILTER TO parte-RTRIM(m.parte) .AND.docond-RTRIM(m.docond) .AND. DTOC(fecha)-RTRIM(m.fecha)GO TOPDO teclas
RETURN
PROCEDURE deleteON KEYSTORE .T. TO in_datACTÍVATE SCREENDO CUATROON KEY LABEL ENTER DO eliminarACTÍVATE WINDOW datosDO show_prgDO disp_prgDO WHILE in_dat
ON ESCAPF. STORK'.I-'. TO i n da (_STORE .T. TO in_prg
ENDDO •DEACTIVATE WINDOW datosON KEYDO teclas
RETURN
PROCEDURE eliminarSELECT 2SEEK condena.parteREPLACE kardex.cancón WITH kardex.cancón - condena.cantidadREPLACE kardex.canser WITH kardex.canser 4- condena.cantidadSELECT 7DELETEIF EOFf)
SELECT 13ll.'ip A,MHin'A\r:ilfMil-/i:<SET ÜHUKK TU I
148
SELECT 7USE &MRUTA\condena:;KT HKI.ATIUN TO CAUTI-; INTO KAKDKXSET RELATION TO DOCOND INTO CUENTAS
DEFINE WINDOW datos FROM 01,00 TO 20,79 TITLE '<Actualización de Egresos por Condenado >'COLORRGB{0,O,128,192,192,192} STYLE 'S1DEFINE WINDOW lista FROM 01,00 TO 20,79 TITLE '< Egresos porCondenado >' COLOR RGB(O,O,128,192,192,192) STYLE 'S'ACTÍVATE WINDOW LISTADO teclasSET RELATION TO condena.parte INTO kardexBROWSE NOAPPEND NODELETE NOEDIT NOMENU WINDOW lista FIELDS ;partefechacantidad .condicióndoconddestino
RF.TURN
20
310
10
H=' No. Parte1,;H=' Fecha ',;H^' Cant ':P^'999H-'Condición',;H='No. Documento',;H=' Destino'
PROCEDURE teclasACTÍVATE SCREENDO SIETEON KEY LABEJ, ENTER I JO displnyON KEY LABE I, K6 DO appendON KEY LABEL F7 DO queryON KEY LABEL F8 DO deleteON KEY LABEL F9 DO modify
RETURN
PROCEDURE actualizajcardexSELECT 2SET ORDER TO 2SEEK m.parte+ra.serieREPLACE kardex.cancón WITH kardex.cancón - condena.cantidad +m. cantidadIF m.condición = 1
REPLACE kardex.canser WITH kardex.canser +condena, cantidad - ni. cantidadELSEREPLACE kardex.canrep WITH kardex.canrep +condena.cantidad - m.cantidadEND1F
SELECT 7RETURN
FUNCTION fparteSELECT 2SET ORDER TO 2SEEK m.parteIF FOUND()@ 2,32 SAY kardex.descrip@ 3,32 SAY kardex.serie@ 7,62 SAY kardex.unidadSELECT 7RETURN .t.
ELSEGO TOP
ENDIFif not found()
DEFINE WINDOW partes FROM 12,30 to 15,60ACTÍVATE WINDOW partes
DEFINE POPUP partesl FROM 10,10 PROMPT FIELDSkardex .part.o+ ka rdcx .descripMAKÜJN SCKOM,
149
@ 0,0 GET m. parte popup partesl SIZE 2,50READ
D K A C T i VATK W f N I X J W p, i r !.(•:;E N D I FSTORE kardex. parte TO m. parte@ 10, 37 SAY m.partü@ 11,37 SAY kardex.descrip@ 12,37 SAY kardex. serie@ 13,60 SAY kardex: unidadSELECT r
RETURN . t.
FUNCTION fcantidadPARAME TER xiIF xi='M ' .AND. m. condicion<>conderia . condición
DO standby WITH 'Ño puede realizar un cambio de condicióni
SELECT 7RETURN .F.
ENDIFSELECT 2SEEK m. parteIF xi='A' .AND. m.condicion= 1 .AND. m. cantidad > kardex . canser
DO standby WITH 'La cantidad a Condenar es mayor que laServible en el kardex ..."SELECT 7RETURN .f.
ENDIF
IF xi='M' .AND. m. condición- 1 .AND. m. cantidad >kardex . canser+condena . cantidadDO standby WITH 'La cantidad a Condenar es mayor que laServible en el kardex . . . 'SELECT 7RETURN .f.
SELECT 3USE ínterSr-'.T ORDKR 'l'O ISELECT '/USE condenaset order to 1
set: relation t:o1 set relation to condena.parte into Kardex,condena.Ínterinto ínterDEFINE WINDOW REPORTE FROM 10,10 TO 2-1,70 FILL FILE'C:\WINDOWS\NUBES.BMP1 FONT "arial"ACTÍVATE WINDOW REPORTEDO WHILE . T.
STORE DATE() 'TO M.FECHA1,[email protected] ,30 SAY " REPORTE";PICTÜRE "@I" FONT "arial", 18 COLORRGB (O,O,128,192,192,192);STYLE "BT"
02.5,32 SAY " EGRESO POR CONDENADO "PICTÜRE "@I" ;FONT "arial", 18 COLOR RGB ( Ü,U,120,192, 192,192);STYLE "BT"
@5.5,8 SAY "DESDE: HASTA "PICTÜRE "@I" ;FONT "aria!", 14 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
@5.5,20 GET FECHA1 PICT '@8';FONT "arial", 14 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
@5.5,50 GET FECHA2 PICT '@8f;FONT "arial", 14 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
@10,20 GET OP FUNCTION "*H \Pantalla ;\Impresora;Salir \ " SIZE 2,3,4 DEFAULT 1REAL)
DO CASECASE op=l
report form condena PREVIEWCASE op=2
report form condena TO PRINTER NOCONSOLECASE op=3
deactivate window reportesot 1 i .1 t.or toexit ' ,
ENDCASEENDDOset relation to
return
*** programa de egreso por consumo **** * * * * *
SET PROCEDURE TO MA_LIBRLILA='FONT "COOPER LT BT ",9 STYLE "T" COLOR B/W+'STORE .T. TO in_prgSTORE SPACE(l-O) TO m. parteSTORE SI'ACF.t I ¿.) Tu m..serio
STORE date() Tu m.fechaSTORE SPACEÍ15) TO m.doconsSTORF, SPACK(IO) TO ni. rronrl i ri 011STORE SPACE'(Ob) TO ra. técnicoSTORE SPACE(15) TO m.codavSTORE O TO ra.divisaSTORE O TO m.precioSTORE O TO xcanstore O to m.total
i
HIDE WINDOW tituloHIDE WINDOW trabajoDO setupDO WHILE in_prgON ESCAPE STORE .F. TO in_prgKEYBOARD CHR(27)
@ 2,12 SAY "No Documento:@ 3,12 SAY "• Matricula :"
Inspección :"Licencia :"Técnico :"
1 No. Parte :"'Descripción ;"
Serie :"Cantidad :
Fecha :"
@ 4,12 SAY '@ 5,12 -SAY '@ 6,12 SAY '@ 11,10 SAY@ 12,10 SAY@ 13,10 SAY@ 14,10 SAYPrecio: "0 15,10 SAY
RETURN
Unid:
Condición
PROCEDURE disp_prg@ 2,25 SAY consumo.docons@ 2,56 SAY consumo.fecha@ 3,25 SAY consumo.codav@ 4,25 SAY aviones.tip_insp@ 5,25 SAY consumo.técnico@ 6,25 SAY técnicos.nombre@ 11,25 SAY consumo.parte@ 12,25 SAY kardex.descrip@ 13,25 SAY consumo.serie@ 14,25 SAY consumo.cantidad@ 14,50 SAY kardex.unidad@ 14,70 SAY consumo.precio@ 15,25 GET consumo.condición
PICTURE "e-'-HHN Servible " ;SIZE 1, ] 3, O UJ
152
RETURN
PROCKDUKF: di:;pi,iyON KEYSTORE .T. TO in_datACTÍVATE SCKEENDO UNOON KEY LABEL F4 DO previousON KEY LABEL F5 DO NextACTÍVATE W1NIJOW ciatosDO show_prgDO disp_prgDO WHILE in^dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prg
ENDDODEACTIVATE W1NDOW datosON KEYDO teclas
RETURN
PROCEDURE nextSKIP 1IF EOFf)
DO ñtandhy WTTH 'Fin del Archivo ... Ultimo t eql ü t rr; 'GO BOTTOM
ENDIFDO disp_prg
RETURN
PROCEDURE previousSKIP -1IF BOFO
DO standhy WITH 'Comienzo del Archivo ... es el primerregistro',GO TOP
ENDIFDO disp_prg
RETURN
PROCEDURE editlPARAMETER xinciSTORE 1 TO m. condiciónSTORE BATEO TO m. fechaSTORE 'EC' TO m. tipo@ 2,30 GET m.docons PICT '@Í15' DI SABLE@ 2,56 GET m. lecha@ 3,30 GET m.codav valid avión ()@ 5,30 GET m. técnico VALID TEC ( )@ 11,25 GET m. parte VALID parte ()@ 14,2!i GET m. cantidad PICT '9999099' VAMD cant i dad (xirid)@ 15,25 GET m. condición ;PICTURE "@*RVN Servible " ;
SIZE 1, 13, O DISABLEREAD
RETURN
PROCEDURE appendSELE 13ON KEYSTORE .T. TO in_datSCATTER MEMVAR BLANKACTÍVATE SCREKNDO DOS
53
ACTÍVATE WINDOW DATOSDO WHILE in dat
ON RSCAi'K :;TOKK . i-\O i t i < M I3TOKE . T. TO iu pryDO show_ptrgDO edit with 'A'IF LASTKEYÍ) =27
STORE .F, TO in^datAPPEND BLANKREPLACE CUENTA WITH M.DOCONSREPLACE FECHA WITH M.FECHASCATTER MEltfVAR BLANK
ENDIFENDDODEACTIVATE WINDOW datos
SELE A5ET FILTER TO TIPO = 'EC'
DO teclasRETURN
PROCEDURE edilPARAMETER xindSTORE .T. TO IN_DATESTORE 1 TO m.condiciónSTORE DATE() TO m.fecham.docons=DOCONSU ( '6.16' )DO WHILE IN_DATEON ESCAPE STORE . F. TO IN_DATESELE 4STORE .T. TO IN̂ E'RGSTORE S PACE (.15) TO M. PARTESTORE 'EC' TO m.tipoSTORE O TO M.CANTIDADSTORE O TO-M.TOTAL@ 8,30 SAY SPACEÍ30)@ 9,30 SAY SPACE (10)SELE 4
@ 2,30 GET m.docons PICT '@!15' disable@ 2,56 GET m.fecha@ 3,30 GET m.codav valid avión()@ 5,30 GET m.técnico VALID TEC()@ 11,25 GET m.parte VALID parte ()@ 11,25 GET m.cantidad PJCT '9999999' VALJD cantidad(xind)@ 15,25 GET m.condición ;
PICTURE "@*RVN Servible " ;SIZE 1,13,0 DISABLE
READIF LASTKEYO-27
STORE .F. TO injdateELSE
IF NOT(EMPTY(M.PARTE))APPEND BLANKDO act_kardexDO actualiza_costoGATHER MEMVAR
ENDIFENDIF
ENDDOSELEC 13RETURN
PROCEDURE act_kardexSELECT 2
SET ORDER TO ?.SEKK m.pcirlü-nn.
154
. REPLACE kardex.canegr WITH kardex.caneyr -consumo.cantidad + m.cantidadRFPT.ACF, k.'irdox.r.-ui.sor WTTH k;i rdnx . < vm:;o r tconsumo, cantidad ~ ni. cantidadREPLACE kardex.fecons WITH m.fecha
SELECT 4STORE kardex.cansor TO m.total
RETURN
PROCEDURE ACTUALIZA_COSTOSELECT 12SET ORDER TO 1SEEK m.parte+ra.codavIF FOUNDOREPLACE costo.divisa WITH m.divisaREPLACE costo.cantidad WITH costo.cantidad+m.cantidad
ELSEAPPEND BLANKGATHER MEMVAR
ENDJFSELKCT ARETURN
PROCEDURE querySTORE SPACEÍ15) TO m.parteSTORE SPACE (I 5) TO m. .serieSTORE SPACE(8) TO m.fechaSTORE SPACE(Ü7) TO m.doconsSTORE SPACE(15) TO m.ÍnterSTORE SPACE(15) TO m.codavON KEYACTÍVATE SCREENDO TRESACTÍVATE WINDOW datosDO show_prg@ 2,25 GET m.docons PICT '@¡15'@ 2,50'GET m.fecha PICT '@8'@ 3,25 GET m.codav PICT '@15'@ 11,25 GET m.parte PICT '@!15'READDEACTIVATE WINDOW datosSET FILTER TO parte-RTRIM(m.parte).AND. codav=RT!UM(m.codav)and tipo='EC' .AND. DTOC (fecha)-RTRIM ínt. fecha)
GO TOPDO teclas
RETURN
PROCEDURE deleteON KEYSTORE .T. TO in_datACTÍVATE SCREENDO CUATROON KEY LABEL ENTER DO eliminarACTÍVATE WINDOW datosDO show_prgDO disp_prgDO WHILE in dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prg
ENDDODEACTIVATE WINDOW datosON KEYDO teclas
RETURN
PROCEDUÍÍE eliminar
155
SELECT 2IF consumo.serie=' '
SET ORDKR TO 1SEEK consumo . par Le
ELSESET ORDER TO 2SEEK consumo, par te i-consumo, serie
ENDIFREPLACE kardex.canegr WITH kardex.canegr - consumo.cantidadREPLACE kardex.canser WITH kardex.canser + consumo,cantidadSELECT 12SET ORDER TO ASEEK consumo.parte+consumo.serie+consumo.codavREPLACE costo.cantidad WITH costo.cantidad - consumo.cantidadSELECT 4DELETEIF EOF ()
GO TOPENDIFKEYBOARD CI1R(27)
RETURN
PROCEDURE modifyON KEYACTÍVATE SCREENDO CINCOACTÍVATE WINDOW datosSCATTER MEMVARDO show_prgDO editl WITH 'M'IF LASTKEYf) O 27
DO act_kardexDO actualiza_costoGATHER MEMVAR
ENDIF •DEACTIVATE WINDOW datosDO teclas
RETURN
PROCEDURE setUpCLEARSET TALK OFFSET ESCAPE ONSELECT 2USE &MRUTAXkardexSET ORDER TO 2
SET FILTER TO STATUS-1SELECT 3
USE ¿MRUTA\ÍNTERSET ORDER TO 1
SELECT 4USE &MRUTMconsumo
SELECT 5USE íMRUTA\TECNJCOSSET ORDER TO 1
SELECT 11USE &MRUTA\AVIONESSET ORDER TO 1
SELECT 12USE &MRUTA\COSTOSET ORDER TO 1
SELECT 13USE &MRUTA\CUENTAS
SET ORDER TO 1SELECT 4
SET RELATTON TO CONSUMO. parte 1 NTO ka rrJex
156
SET RELATION TO CONSUMO . técnico INTO TÉCNICOSSET RELATION TO CONSUMO. coda v TNTO AVIONES:;KT KKLATION TO CONSUMO. dormí;: iriM MJKNTAÜ
DEFINE WINDOW datos FROM 01,00 TO 20,79 TITLE 'Actualización de Egresos por Consumo >' COLORRGB(0, O, 128, 192, 192, 192) STYLE 'S1DEFINE WINDOW lista FROM 01,00 TO 20,79 TITLEConsumo >' COLOR RGB ( O, O, 128, 1 92, 192, 192)DO teclas
SET FILTER TO TIPO='EC'ACTÍVATE WINDOWS listaBROWSE NOAPPEND NODELETE NOEDIT NOMENU WINDOW lista FIELDS
DO displayDO proviousDO nextDO appendDO queryDO deleteDO modify
FUNCTION parteSELECT .2SET ORDER TO 2SEEK ra.parteIF FOUNDÍ)STORE kardex.divisa TO m.divisaSTORE kardex.precio TO m.precioSTORE kardex.serie TO m.serie@ 12,25 SAY kardex.descrip@ 13,25 SAY kardex.serie@ 1-1,50 SAY kardox.unidad@ 14,70 SAY m.precio PICT '999999991SELECT 4RETURN .t.
ELSEGO TOP
ENDIFSET ORDER TO 2
IF .NOT. FOUNDO .or. EMPTY(M.PARTE)DEFINE WINDOW parles FROM 13,30 to 16,60ACTÍVATE WINDOW partes
DEFINE POPUP partesl FROM 10,10 PROMPT FIELDSkardex.parte+kardex.descrip ;MARGIN SCROLL@ 0,0 GET m.parte popup partesl SI'¿E 2,50READ
DEACTIVATE WINDOW partesENDIFSTORE kardex.parte TO m.parteSTORE kardex.precio TO m.precioSTORE kardex.divisa to m.divisaSTORE kardex.serie TO rn. serie@ 12,25 SAY kardex.descrip@ 13,25 SAY kardex.serie
'57
@ 14,50 SAY kardex,unidad@ 14,70 SAY m.precio PICT '99999999SKI.KCT 4
RETURN .t.
FUNCTION cantidadPARAMETER xiSELECT 2SET ORDER TO 2
if cantidad <=0DO standby WITII 'La cantidad de egreso debe ser mayor ...'SELECT 4RETURN . f.
ENDIF
SEEK m.parte+m.serieIF xi = 'A1 -AND. m.cantidad > kardex.canser
DO standby WITH 'La cantidad de egreso es mayor que ladisponible en el kardex ..."Í;KU;CT 4RETURN .f.
ENDIFIF xi = 'M1 .AND. m.cantidad > kardex.canser+consumo.cantidad
DO standby WITH 'La cantidad de egreso es mayor que ladisponible en le kardex ..."SELECT ARETURN .f.'
ENDIFSELECT 4RETURN .t.
FUNCTION TECSELECT 5SEEK m.técnicoIF FOUNDf)STORE técnicos.licencia TO m.técnico0 8.5,50 SAY técnicos.nombreSELECT 4RETURN .t.
ELSEGO TOP
ENDIFIF .NOT. FOUNUODEFINE WINDOW partes FROM 7,30 to 10,60ACTÍVATE WINDOW partes
DEFINE POPUP partes! FROM 10,10 PROMPT FIELUStecnicos.licencia+tecnicos.nombre ;MARGIN SCROLL0 0,0 GET m.técnico popup partesl SIZE 2,50READ
DEACTIVATE WINDOW partesENDIFSTORE técnicos.licencia to m.técnico@ 5,30 SAY m.técnico@ 5,30 SAY técnicos.nombre
SELECT 4RETURN .t.
FUNCTION DOCONSUPARAMETER DOCsele 4racuenta=0anl=" "an=year(date() )a n l = r i g h t ( s t r ( y o a r ( d a t e ( ) ) ) , 2)
FUNCTION aviónSELECT 11SEEK m.CODAVIF FOUNDf)STORE aviones.codav TU m.codav@ 3/30 SAY aviones.codav@ 4,30 SAY aviones.tip_inspSELECT 4 .RETURN .t.
KLSEGO TOP
ENDIFIF .NOT. FOUNDODEFINE WINDOW partes FROM 5,30 to 8,60ACTÍVATE WINDOW partes
DEFINE POPUP partesl FROM 10,10 PROMPT FIELDSaviones.tip^insp+aviones.codav;MARGIN SCROLL@ O, O G£T ni.codav popup partesl SIZE 2,50READ
DEACTIVATE WINDOW partesENDIFSTORE aviones.codav to m.codav@ 3,30 SAY aviones.codav@ 4,30 SAY aviones.tip_insp
SELECT 4RETURN .t.
procedure reporteSELECT 2
USE &MRUTA\kardexSET ORDER TO 1
SELECT 3USE &MRUTA\ÍnterSET ORDER TO 1
SELECT 4USE &MRUTA\consumo
SELECT 5USE &MRUTA\TÉCNICOSSET ORDER TO 1
SELECT 11USE &MRUTA\AVIONES
, SET ORDER TO 1SELECT 4- set relation toset relation to consumo.parte into Kardexset relation to consumo.técnico into Técnicosset relation to consumo.codav j nto Aviones
DEFINE WINDOW REPORTE FROM .10,10 TO 24,70 FILL FILE'C:\WINDOWS\NUBES.BMP' FONT "arial"
159
DEFINE WINDOW inspeo FROM 5, ;35 lo 8,65 iri window reporteACTÍVATE WINDOW KKPORTK
IX) W l l l I,K .'!'.clearstore DATE!) to FECHA1,[email protected] ,26 SAY " REPORTE";
PICTURE "01" FONT "arial", 18 COLORRGB(O,O,128,192,192,192);STYLE "BT"
@2.5, Kr> SAY " EGRESO POR CONSUMO "PICTURE "@T" ;FONT "arial", 18 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
95.5,8 SAY "DESDE: HASTA " ;PICTURE "@I" ;FONT "arial", 14 COLOR RGB(O,O,128,192,192,192};STYLE "BT"
@5.5,20 GET FECHA1 PICT '08';FONT "arial", 14 COLOR RGB(O,O,128,192,192,192);STYLE "I3T"
@5.5,50 GET FECÍ-JA2 PICT '08';FONT "arial", 14 COLOR RGB(O,Ü,128,192,192,192);STYLE "BT"
010,20 GET OP FÜNCTION "*II \PantalLa ;\Impresora; Salir\ " SIZ.E 2,3,4 DEFAULT 1READ
SET.FILTER TO TIPO-'EC' AND (FECHA >^ FECHA1 .AND. FECHA<= FECHA2)DO CASE
CASE op=lreport form consu PREVIEW
CASE op=2report form consu TO PRINTER NOCONSOLE
CASE op-3DEACTÍVATE WINDOW REPORTESET FILTER TOEXIT
ENDCASEENDDO
SET FILTER TOset relation to
return
PROCF.DURE REPOR5SET PROCEDURE TO MA_LIBRSTORE SPAC(15) TO M.CODAVSELECT 2
USE SMRUTAUardexSET ORDER TO 1
SELECT 11USE ¿,MRUTA\AVIONESSET ORDER TO 1
SELECT 12USE &MRUTA\costoSET ORDER TO 3SET RELATION TO costo.parte into kardex
SELECT 13USE &MRUTAXMONEDASET ORDER TO 1m.divisa=spac(3)
SELECT 12DEFINE WINDOW REPORTE FROM 10,10 TO 24,70 FILL FILE'C:\WINDOWS\NUBES.BMP' FONT "arial"DEFINE WINDOW inspec FROM 5,35 to 8,65 in window reporteDEFINE WINDOW divi FROM 8,21 to 11,29 .in wi nciow reporteACTÍVATE WÍNDOW Rlií'lWTK
160
DO WHILE .T.clear00. 5 ,?.(> SAY " UKI'OKTK";
PICTURE "@]lf FONT "arial", 18 COLORRGB(0,0,128,192,192,192);STYLE "BT"
02.5,15 SAY " COSTO POR INSPECCIÓN " ;PICTURE "@I" ;FONT "arial", 18 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
05,2 SAY "Matricula-Avión:Inspección:";PICTURE "@I" ;FONT "arial", 12 COLOR RGB(O,O,128,192,192,192);STYLE "BT"06,2 SAY "Modelo" PICTURE '@i';
FONT "arial", 12 COLOR RGB(O,O,128,192,192,192) ;STYLE "BT"
@7,2 SAY "Compañía:PICTURE "01" ;FONT "arial", 12 COLOR RGB(O,O,128,192,192,192);STYLE t"BT"08,2 SAY "Divisa: ";PICTURE "01" ;FONT "arial", 12 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
ACTÍVATE WINDOW inspecDEFINE POPUP inspec FROM 10,10 PROMPT FIELDSaviones.tip_insp+aviones.codav ;MARGIN SCROLL0 0,0 GET m.codav popup inspec SIZE 2,50
readSTORE AVIONES.CODAV TO M.CODAVDEACTIVATE WINDOW inspec0 5,22 SAY m.codav PICTURE '@if;
FONT "arial", 12 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
@ 6,22 SAY AVIONES. MODELO PICTURE ' @.i. ' ;FONT " í i r - i . j I",' .12 COLOR KÜH ( U, O, I 2ü» 1 92 , 1 '32 , 1 9¿ ) •STYLK "BT" • • ¿
0 7,22 SAY AVIONEÍ'ÍCIA PICTURE '0i';FONT "arial", 12 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
define popup divisas from 6,10 prompt fieldmoneda-divisa;margin scroll / .tactívate window divjl'0 0,0 GET m.divisa fppup divisas SIZL' 2,10
1 readdeactivate window divi ^STORE MONEDA.DIVISA TO M.DIVISA0 8,22 SAY m.divisa PICTURE f@i';
FONT "arial1!, 12 COLOR RGB ( O, O, 128, 192, 192, 192) ;STYLE "BT"
STORE MONEDA.DIVISA TO M.DIVISA
SELECT 12
010,20 GET OP FUNCTION "*H \Pantalla ;\Impresora;Salir \ " SIZB 2,3,4 DEFAULT 1
READSKT Flí.TKR TO CODAV=M . CODAV AND
161
divisa=alltrim(M.DIVISA) and cantídad>0DO CASE
CASE Op=lreporl forra inspecc PREVIEW
CASE op=2report form inspecc TO PRINTER NOCONSOLE
CASE Op=3deactivate window reporteset filter toexit ;
ENDCASEENDDORETURN
***********
* DEVOLUCIÓN DE PEDIDOS *hs'ót procedure to ma_librSTORE .T. TO in_prgLILA='FONT "COOPER LT BT ",9 STYLE "T" COLOR B/W+'
STORE O TO m.precioSTORE O TO m.cantidadSTORE O TO m.condiciónSTORE SPACE(8) to m.fechaSTORE SPACE(2) TO m.tipoSTORE SPACECL5) TO m.parteSTORE SPACE(15) TO m.doconsSTORE SPACECL5) TO m. facturaSTORE SPACE(IO) TO m.destinoSTORE SPACE(15) TO m.serie
HIDE WINDOW tituloHIPE WINDOW trabajoDO setupDO WHILE in__prg
CLEAR@ 02,10 SAY " No. Parte@ 03,10 SAY " Descripción@ 04,10 SAY " Serie@ 06,10 SAY "Documento de Pedido@ 07,10 SAY "Fecha de Devolución@ 08,10 SAY " Cantidad unidad:
Precio : "RETURN
PROCEDURE disp_prg@ 2,32 SAY consumo.parte@ 3,32 SAY kardex.descrip@ 4,32 SAY consumo.serie@ 6,32 SAY consumo.docons@ 7,32 SAY consumo.fecha@ 8,32. SAY consumo.cantidad@ 8,40 SAY kardex.unidad@ 8,61 SAY consumo.precio
RETURN
PROCEDURE displayON KEYSTORE .T. TO in_datACTÍVATE SCREENDO UNOON KEY LABEL F4 DO PreviousON KEY LABEL F5 DO NextACTÍVATE WINDOW datosDO show_prgDO disp__prgDO WHILE in_dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO injprg
ENDDODEACTIVATE WINDOW datosON KEYDO teclas
RETURN
PROCEDURE nextSKIP 1IF EOF{)
DO standby WITH 'Fin del Archivo ... Ultimo registro1GO BOTTOM
ENDIFDO disp_prg
RETURN
PROCEDURE previousSKIP -1'IF BOFO
DO standby WITH 'Comienzo del Archivo ... es el primerregistro'
PROCEDURE editSTORE 'DP' TO M.TIPOSTORE 1 TO m.condiciónSTORE DATE() to m.fecha@ 2,32 GET m.parte VALID vparte()@ 6,32 GET m.docons PICT f@!15' disable@ 7,32 GET m.fecha PICT ' \@ 8,32 GET m.cantidad PICT '999999' VALID vcan{)
READRETURN
PROCEDURE actuali_kardexSELECT 2IF m.serie^' 'SET ORDER TO 1SEEK m.parte
ELSESET ORDER TO 2SEEK in.parte+m.serie
ENDIFREPLACE kardox.canser WITH kardex.canser + consumo.cantidad -m. cantidadREPLACE kardex.canped WITH kardex.canped - consumo.cantidad +m.cantidadSELECT 6SET ORDER TO 2SEEK m.parte+m.doconsIF FOUNDO
, REPLACE candev WITH candev - consumo.cantidad +m. cantidadREPLACE pedidos.canreci WITH pedidos.canreci -m.cantidadif (cantidad-canreci)<>0replace status with 1
endif *ENDIFSELECT 4
RETURN
PROCEDURE querySTORE SPACE(15) TO m.parteSTORE SPACE(8) TO m.fechaSTORE SPACE(15) TO m.doconsSTORE SPACE(15) TO m.serieSTORE SPACE(15) TO m.docenvON KEYACTÍVATE SCREENDO TRES
164
ACTÍVATE W1NDOW datosDO show_prg@ 2,32 GET m.parto PICT '@!lí>'@ 5,32 GET ni.docenv PICT '@!15'@ 7,32 GET m.fecha PICT '@!8'READDEACTIVATE WINDOW datosSET FILTEK TO parte=RTRIM(m.parte) .AND. serie=RTRIM(m.serie).AND. docenv=RTRIM(m.docenv) ;.AND. tipo='DP' .AND. docons=RTRIM(m.docons) .AND.DTOC(fecha)=RTRIM(m.fecha)GO TOPDO teclas
RETURNt
PROCEDURE deleteON KEYSTORE .T. TO in_datACTÍVATE SCREENDO CUATROON KEY LABEL ENTER DO eliminarACTÍVATE WINDOW datosDO show_prgDO disp__prgDO WHILE in_dat
ON ESCAPE STORE -F. TO in__datSTORE .T. TO in_prg
ENDDODEACTIVATE WINDOW datosON KEYDO teclas
RETURN
PROCEDURE eliminarSELECT 2IF consumo.serie^' 'SET ORDER TO 1SEEK consumo.parte
ELSESET ORDER TO 2SEEK consumo.parte+consumo.serieENDIFREPLACE kardox.canser WIT1Í kardex,canser + consumo.cantidadREPLACE kardex.canped WITH kardex.canped - consumo.cantidadSELECT 6SEEK PARTE+DOPEDIREPLACE pedidos.canreci WITH pedidos.canreci +consumo.cantidad •. IF CANT'IDAD= CANRECI
STATUS=2• ENDIFSELECT 4DELETEIF EOF ()
GO TOP 'ENDIFKEYBOARD CHR(27)
RETURN
PROCEDURE modifyON KEYACTÍVATE SCREENDO CINCOACTÍVATE WINDOW datosSCATTER MEMVARDO show prg
SELECT 6USE &MRUTA\pedidosSET ORDER TO 1SET RELATION TO pedidos.parte INTO kardex
SELECT 4SET RELATION TO consumo.parte INTO kardexSET FILTER TO TIPO='DP'
DEFINE WINDOW datos FROM 00,00 TO 20,80 TITLE '<Actualización de Devoluciones >'COLORRGB{0,0,128,192,192,192) STYLE 'S'DEFINE WINDOW LISTA FROM 00,00 TO 20,80 TITLE '< Devoluciones>' COLOR RGB(0,O,128,192,192,192) STYLE 'S'actívate Windows listaDO teclasBROWSE NOAPPEND NODELETE NOEDIT NOMENU WINDOW lista FIELDS;parte :20 :H=' No. Parte',;kardex.descrip :20 :H=' Descripción ',;fecha :8 :H=' Fecha',;cantidad :7 :H=' Cant.':P=T999999',;condición :3 :H='Con',,-serie :1<] :H=' Serie'
RETURN
PROCEDURE teclasACTÍVATE SCREENDO SIETEON KEY LABEL ENTER DO displayON KEY LABEL F6 DO appendON KEY LABEL F7 DO queryON KEY LABEL F8 DO deleteON KEY LABEL F9 DO modify
RETURN
FUNCTION vparteSELECT 6 *SET ORDER TO 2
SET FILTER TO CANRECI>0* SET FILTER TO statUS=2
GO TOPIF EOF ()
DO standby WITH 'No existen pedidos recibidos ...'SET FILTER TOSELECT 4RETURN .F.
166
ENDIFSET ORDER TO 1IF .NOT. FOUNDO
DEFINE WINDOW ESCOJE FROM 2,50 TO 10,80ACTÍVATE WINDOW ESCOJEBROWSE FÍELOS parte,dopedi NOAPPEND NOEDIT MODÉLETEDEACTIVATE WINDOW ESCOJE
ENDIFSTORE pedidos.parte TO m.parte
STORE pedidos.dopedi TO m.doconsSTORE pedidos.canreci TO m.cantidadSTORE pedidos.compra TO m.compraSET FILTER TOSELECT 2IF m.serie=' '
SET ORDER TO 1SEEK m.parte
ELSESET ORDER TO 2SEEK m.parte+m.serie
ENDIF@ 3,32 SAY kardex.descrip@ 4,32 SAY Kardex.serie@ 6,32 SAY m.docons@ 8,32 SAY m.cantidad PICT '999999'SELECT 4
RETURN .t.
FUNCTION veanSELECT 2IF m.serie=* 'SET ORDER TO 1SEEK m.parte
ELSESET ORDER TO 2SEEK m.parte+m.serie
ENDIFSELECT 6SET ORDER TO 2IF canreci = O
DO standby WITH 'Este ítem no tiene pedidos recibidos ...'SELECT 4RETURN .F.
ENDIFSELECT 6SET ORDER TO 2SEEK m.parte+pedidos.dopediIF FOUNDO .AND. m.cantidad > pedidos.canreci
DO standby WITH 'cantidad de Devuelta es mayor a la recibidai • •SELECT ,4RETURN '.F.
ENDIFSELECT 4RETURN .T.
167
*** programa de egreso por consumo* * *
* * * *SET PROCEDURE TO MA_LIBRLILA='FONT "COOPER LT BT ",9 STYLE "T" COLOR B/W+'STORE .T. TO in_prgSTORE SPACE(15) TO m.parteSTORE SPACE(15) TO m.serieSTORE date() TO m.fechaSTORE SPACEU5) TO m.doconsSTORE SPACE(IO) TO m.condiciónSTORE SPACE(05) TO m.técnicoSTORE SPACEÍ15) TO m.codavSTORE SPACE(3) TO M.TIPOSTORE O TO m.divisaSTORE O TO m.precioSTORE O TO xcan
HIDE WINDOW tituloHIDE WINDOW trabajoDO setupDO WHILE in_prg
@ 10.5,24 GET consumo.condición ;PICTURE "(a*RHN Servible " ;S LZE 1, U, U D1ÜM3LK
RETURN
PROCEDURE displayON KEYSTORE .T. TO in_datACTÍVATE SCREENDO UNOON KEY LABEL F4 DO previousON KEY LABEL F5 DO NextACTÍVATE WINDOW datosDO show_prgDO disp_prgDO WHILE in dat
ON ESCAPE STORE . F. TO in_datSTORE .T. TO in_prg
ENDDODEACTIVATE WINDOW datosON KEYDO teclas
RETURN
PROCEDURE nextSKI I' 1IF EOF ()
DO standby WITH 'Fin del Archivo ... Ultimo registro'GO BOTTOM
ENDIFDO disp_prg
RETURN
PROCEDURE previousSKIP -1IF BOFO
DO standby WITH >Comienzo del Archivo ... es el primer1 registro'GO TOP
ENDIFDO disp_prg
RETURN
PROCEDURE appendSELE 13ON KEYSTORE .T. TO in datSCATTER MEMVAR BLANKACTÍVATE SCREENDO DOSACTÍVATE WINDOW DATOSDO WHILE in_dat
ON ESCAPE STORE ,F. TO in_datSTORE .T. TO in_prgDO show_prgDO edit with 'A'
IF LASTKEYO = 27STORE .F. TO in_dat
APPEND BLANKREPLACE CUENTA WITH M.DOCONSREPLACE FECHA WITH M.FECHASCATTER MEMVAR BLANK
ENDIFENDDODEACTIVATE WINDOW datosDO teclas
169
SELE 4SET FILTER TO TIPO-'ERE1RET1WN
PROCEDURE edilPARAMETER xindSTORE .T. TO IN_DATESTORE 1 TO ni. condiciónSTORE DATE() TO m.fecham.docons=DOCONSU ('615')DO WHILE 1NJDATEON ESCAPE STORE -E. TO IN_DATESELE 4STORE .T. TO IN_PRGSTORE SPACE(15) TO M.PARTESTORE 'ERE* TO m.tipoSTORE Ü TO M.CANTIDAD@ 8,32 SAY SPACEÍ30)@ 9,32 SAY SPACE (10)SELE 4
0 1.5,24 GET m.parte VALID parte()@ 5.5,24 GET m.codav valid avión()@ 7.5,24 GET m.fecha@ 7,5,50 GET m.docons PICT '@!15' disable@ 8.5,24 GET m.técnico VALÍ U TKC()@ 9.5,24 GET m.cantidad PICT '9999999' VALID cantidad(xind)@ 10.5,24 GET m.condición ;
PICTURE "@*RVN Servible " ;SIZE 1,13,O DISABLE
READIF LASTKEY()=27
STORE .F. TO in_dateELSE
- IF NOT(EMPTY(M.PARTE))APPEND BLANKDO act__kardexGATHER MEMVAR
ENDIFENDIF
ENDDOSELEC 13
RETÜRN
************
PROCEDURE act_kardexSELECT 2SET ORDER TO 2SEEK m.parte-nn. serieREPLACE kardex.canegr WITH kardex.canegr -consuumo.cantidad + m.cantidadREPLACE kardex.canser WITH kardex.canser +consumo.cantidad - m.cantidadREPLACE kardex.fecons WITH m.fecha
SELECT 4STORE kardex.canser TO m.total
RETÜRN
PROCEDURE querySTORE SPACE(15) TO m.parteSTORE SPACE(15) TO m.serieSTORE SPACE(8) TO m.fechaSTORE SPACE(07) TO m.doconsSTORE SPACE(IS) TO m.ÍnterSTORE SPACE(15) TO m.codavON KEY
170
iACTÍVATE SCREENDO TRESACTÍVATE WÍNUOW datosDO show_prg@ 1.5,24 GET m.parte PICT '@!15'@ 3.5,24 GET m.serie PICT '@!15'@ 5.5,24 GET m.codav PICT '015'0 7.5,24 GET m.fecha PICT '08'@ 7.5,50 GET m.docons PICT f@!15'READDEACTIVATE WINDOW datosSET FILTER TO parte=RTRIM(m.parte) .AND. serie=RTRIM(m.serie)
PROCEDURE deleteON KEYSTORE .T. TO in_datACTÍVATE SCREEN0O CUATROON KEY LABEL ENTER DO eliminarACTÍVATE WINDOW datosDO show_prgí)0 disp_prgDO WHILE in_dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prg
ENDDODEACTIVATE WINDOW datosON KEYDO teclas
RETURN
PROCEDURE eliminar^SELECT 2 .. - .
, ,IF consumo.serie=' '/ ' ' • ' • - 'SET ORDER TO 1 * 'fc ' ' : , ' tt •SEEK consumo. parte , . •"• ,
ELSESET ORDER TO 2 . • • ."SEEK consumo.parte+corisumo.serie
ENDIF ¿REPLACE kardex.canec% WITH kardex.canegr - consumo.cantidadREPLACE kardex.canser WITH kardex.canser + consumo.cantidadSELE-CT 12SET ORDER TO 2SEEK consumo.parte+consumo.serie+consumo.codav•REPLACE costo.cantidad WITH costo.cantidad - consumo.cantidadSELECT 4DELETEIF EOF()
DO show^prgDO Gdit WITH 'M1[ F I.ASTKKY () •-> 2'I
DO act_kardexDO actualizárosteGATHER MEMVAR
ENDIFDEACTIVATE W1NDOW datosDO teclas
RETURN
PROCEDURE sotupCLEARSET TALK OFFSET ESCAPE ONSELECT 2USE &MRUTA\kardexSET ORDER TO 2
SELECT 3USE &MRUTA\ÍNTERSET ORDER TO 1
SELECT 4USE &MRUTA\consumo
SELECT 5'USE &MRUTANTÉCNICOS
• SET ORDER TO 1SELECT 11
USE &MRUTA\AVIONESSET ORDER TO 1
SELECT 12USE &MRUTA\COSTOSET ORDER TO 1
SELECT 13USE &MRUTAXCUENTAS
SET ORDER TO 1SELECT 4
SET RELATION TO CONSUMO.parte INTO kardexSET RELATION TO CONSUMO.técnico INTO TÉCNICOSSET RELATION TO CONSUMO.codav INTO AVIONESSET RELATION TO CONSUMO.docons INTO CUENTASSET FILTER TO TIPO='ERE'
DEFINE WINDOW datos FROM 01,00 TO 20,79 TITLE '<Actualización de Egreso;; por Consumo >' COLORRGB(0,O,128,192,192,192) STYLE 'S1DEFINE WINDOW lista FROM 01,00 TO 20,79 TITLE '< Egresos porConsumo >' COLOR RGB(O, O, 128, 192, 192, 192) STYLE 'S'DO teclas
PROCEDURE teclas"ACTÍVATE SCREENDO .sitTpON KEY LABEL ENTER DO displayON KEY LABEL F4 DO previousON KEY LABEL F5 DO nextON KEY LABE I. I-T, DO ¿ippondON KKY T.AREJ. l-'V DO qupry
172
ON KEY LABEL F8 DO deleteON KEY LABEL F9 DO mod.i fy
HKTIMN
FUNCTION parteSELECT 2SET ORDER TO 1set filter to ((status=2) .AND.( CANSER <> 0))GO TOPIF EOF()
DO standby WITH 'No existen ítems para Entrega ....SET FILTER TOSELECT 4RETURN .F.
ENDIFSET FILTER TOSET ORDER TO 1SEEK m.parteIF FOUNDO@ 1.5,24 SAY kardex.descrip@ 2.5,24 SAY kardex.serie
, @ 9.5,42 SAY kardex.unidad@ 9.5-, 58 SAY m.precio PICT '99999999'
. SELECT 4RETURN .t.
ELSEGO TOP
ENDIFSET ORDER TO 1set filter to ( (status-2) .AND. ( CANSER o 0} )IF .NOT. FOUNDO .or. EMPTY (M. PARTE)
DEFINE WINDOW ESCOJE FROM 2,30 TO 10,80ACTÍVATE WINDOW ESCOJEBROWSE FIELDS parte,descrip,serie NOAPPEND NOEDITNODELETEDEACTIVATE WINDOW ESCOJE
ENDIFSTORE kardex.parte TO m.parteSTORE kardex.precio TO m.precioSTORE kardex.divisa to m.divisaSTORE kardex.serie TO m.serie@ 2.5,24 SAY kardex.descrip@ 3.5,24 SAY kardex. serie?@ 9.5,42 SAY kardex.unidad@ 9.5,58 SAY m.precio PICT '99999999'SELECT 4
set filter toRETURN .t.
FUNCTION cantidadPARAMETER xiSELECT 2SET ORDER TO 2
SEEK m.parte-Hn, serieIF xi = 'A' .AND. m.cantidad > kardex.cansor
DO standby W.1TH 'La cantidad de egreso es mayor que ladisponible en el kardex ..." *SELECT 4RETURN' .f.
ENDIFIF xi = 'M' .AND. m.cantidad > kardex.canser+consumo.cantidad
DO standby WITU 'La cantidad de egreso es mayor que ladisponible en .le kardex , . . 'SELECT 4RKTUUN .f.
173
ENDIFSELECT 4KKTIIKN . I .
FUNCTION TECSELECT 5SEEK m.técnicoIF FOUNDOSTORE técnicos.licencia TO m.técnico@ 8.5,50 SAY técnicos.nombreSELECT 4RETUKN .t.
ELSEGO TOP
ENDIFIF .NOT. FOUNDÍ)
DEFINE WINDOW ESCOJE FROM 2,50 TO 10,80ACTÍVATE WINDOW ESCOJEBROWSE FIELDS 1icencia, nombre NOAPPEND NOEDIT NODELETEDEACTIVATE WINDOW ESCOJK
ÜNUI I-1STORE técnicos.licencia to m.técnico@ 8.5,24 SAY m.técnico@ 8.5,50 SAY técnicos.nombre
SELECT 4K1STUHN .t.
FUNCTION DOCONSUPARAMETER DOCsele 4mcuenta=0anl=" "an=year(date() )anl=right(str(year(date O ) ) ,2)num=alltrim(doc) +anlnuml=alltrim(doc)+anl+"000"go topdo while !eof()
if ALLTRIM(LEFT(CONSUMO.DOCONS,5))-ALLTRIM(NUM)mcuenta=mcuerita-H
ENDIFSTORE aviones.codav to m.codav0 5.5,26 SAY aviones.codav@ 6.5,26 SAY aviones.tip_insp
. SELECT 49 RETURN .t.
procedure reporOSELECT 2, USE kardcxSET ORDER TO 1
SELECT 3USE ÍnterSET ORDER TO I
SELECT 4USE consumo •
SELECT 5USE TÉCNICOSSET ORDER TO 1
SELECT 11USE AVIONESSET ORDER TO 1
SELECT 4set relation to
A set relation to consumo.parte into Kardex~ set relation to consumo.técnico into Técnicos
set reíat ion to consumo.codav into AvionesDEFINE WINDOW REPORTE FROM 10,10 TO 24,70 FILL FILE'C:\WINDOWS\NUBES.BMP' FONT "arial"DEFINE WINDOW inspec FROM 5,35 to 8,65 in window reporteACTÍVATE WINDOW REPORTE
DO WHILE .T.clearStore DATE() to FECHA1,FECHA200.5 ,26 SAY " REPORTE";
PICTURE "@I" FONT "arial", 18 COLORRGB(O,O,128,192,192,192);STYLE "BT"
02.5,15 SAY " EGRESO DE MAT. REPARADO " ;PICTURE "@I" ;FONT "arial", 18 COLOR RGB{O,O,128,192,192,192);STYLE "BT"
05.5,8 SAY "DESDE: HASTA " ;PICTURE "@I" ;FONT "arial", 14 COLOR RGB(O,O,128,192,192,192);STYLE ''BT"
05.5,20 GET FECHA1 PICT '(381;FONT "arial", 14 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
05.5,50 GET FECHA2 PICT '08';FONT "arial", 14 COLOR RGB(O,O,128,192,192,192J;STYLE "BT"
^ 010,20 GET OP FUNCTION "*H \Pantalla ;\Impresora; SalirW \ " SIZE 2,3,4 DEFAULT 1
READSET FILTER TO TIPO-'ERE' AND (FECHA >= FECHA1 .AND. FECHA<= FECHA2)DO CASE
CASE op-1report forra entrega PREVIEW
CASE op=2report forrn entrega TO PRINTER NOCONSOLE
CASE op=3DEACTIVATE WINDOW REPORTE
175
DKACTIVATE WINDOW RKPOKTKSET FILTER TOEXIT
ENDCASEENDDO
SET FILTER TOset relation to
return
176
* ENVIÓ A REPARTIR ************** ******* *****
SET PROCEDURE TO MA_LIBRSTORE .T. TO in^prgLILA='FONT "COOPER LT BT "STORE SPACE(15) TO m.parteSTORE SPACE(15) TO m.serieSTORE SPACE(S)STORE SPACE(15)STORE SPACE(IO) TO m.procedeSTORE SPACE{40) TO m.defectosSTORE O TO m.condiciónSTORE O TO m.cantidad
PROCEDURE show_prgCLEAR@ 2,10 SAY "@ 3,10 SAY "@ 4,10 SAY "@ 7,10 ñAY "Cá O, 10 SAY "& 9,10 SAY "@ 10,10 SAY "@ 11,10 SAY "@ 12,10 SAY
RETURN
No. ParteNo. Serie
DescripciónFochíj-Knvi (i
No. DocumentoCantidad
CondiciónProcedencia
Reporte Defectos
PROCEDURE disp_prg@ 2,32 SAY enviore.parte@ 3,32 SAY enviore.serie@ 4,32 SAY karclex.descrip@ 7,32 SAY enviore.fecha@ 8,32 SAY enviore.doenv@ 9,32 SAY enviore.cantidad PICT@ 9,40 SAY kardex.unidad@ 10,32 GET enviore.condición ;
PICTURE "@*RHN Reparable" ;SiZE 1,13,O D1SADLE
@ 11,32 SAY enviore.procede@ 12,32 SAY enviore.defectos
RETURN
999999
177
ON KEYtSTORE . T. TO in__dat'ACTIVA.'!'!-; SCRKKN.DO UNOON KEY LABEL F4 DO previousON KEY LABEL F5 DO NextACTÍVATE WINDOW datosDO show_prgDO disp__prgDO WHILE in^dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prg
ENDDODEACTIVATE WINDOW datosON KEYDO teclas
RETURN
PROCEDURE nextSKIP 11F EOF ()
DO standby WITH 'Fin del Archivo ... Ultimo registro*GO BOTTOM
ENDIFDO disp_prg
RETURN
PROCEDURE previousSKIP -1IF BOFO
DO standby WITH 'Comienzo del Archivo ... es el primerregistro'GO TOP
ENDIFDO disp_prg
RETURN
PROCEDURE appéndSELE 13ON KEY'STORE .T. TO iri_datACTÍVATE SCREENDO DOSACTÍVATE WINDOW datosSCATTER MEMVAR BLANKDO WHILE in_dat
ON ESCAPE STORE .F. TO ín_datSTORE .T. TO in_prgDO show_prgDO editIF LASTKEYO = 27
STORE .K. TO Ln_daLELSE
APPÉND BLANKREPLACE CUENTA WITH m.doenvREPLACE FECHA WITH m.fechaDO actualiza_kardex
ENDIFENDDODEACTIVATE WINDOW datosDO teclas
RETURN
PROCEDURE edit
178
sele 8STORESTORF.STÜKKSTORESTORE
1 TO m1 TO ni2 TO inDATE ( ).T. TO
cantidadcond í c ¡ on
TO1 N
m. fechaDATE
m.doenv=docenvi ('611')@ 8,32 GET m.doenv PICT '@!15' disable@ 7,32 GET m. fecha PICT \O WHILE IN_UATE
ON ESCAPE STORE .F. TO 1 NÁDATESTORE .T. TO IN_PRGSTORE S PACE (15) TO M . PARTE
@ 2,32 GET m. parte PICT '@!15' VALID vparteO@ 9,32 GET ni. cantidad PICT '999999' DISABLE@ 10,32 GET m. condición ;
PICTURE "td*RHN Reparable" ;SIZE 1, 13,0 DISABLE
@ 11,32 GET m. procede PICT '@!10'@ 12,32 GET m. defectos PICT '@!40'
READIF LASTKEY()=27
STORE .F. TO in^dateELSE
IF NOT (EMPTY(M. PARTE ))APPEND BLANKDO ACTUAL1ZA_KARDEXGATHER MEMVAR
ENDÍFENDJ y
ENDDOSELE 13RETURN
PROCEDURE actualiza_kardexSELECT 2SEEK m. parteREPLACE kardex.canrep WITH kardex . canrep - enviore .cantidad fm. cantidadREPLACE ubic W1T11 'ABASTOS'REPLACE condi WITH 2SELECT 8
RETURN
PROCEDURE querySTORE SPACE{15)STORE SPACE(IO)
SPACE(OO)SPACEU5)SPACE(15)
TOTOTOTOTO
STORESTORESTOREON KEYACTÍVATE SCRF1KNDO TRESACTÍVATE WINDOW datosDO show_prg@ 2,32 GET m. parte3,32 GET m. serie7,32 GET m. fecha8,32 GET m.doenv
. partedestino. fechadoenvserie
PICTPICTPICTPICT
'@!15''@!15'' @ ! 8 ''@!15'
@@@@ 10,32 GET m. procede PICT '@!10'READDEACTIVATE WINDOW datosSET FILTER TO serie-RTRIM (m. serie).AND. DTOC (fecha) =RTRIM(m. fecha) ;.AND. doenv=RTRIM (m.doenv) .AND. destino=RTRIM (m. des tino)
GO TOP
.AND. parte=RTRIM (m. parte)
179
DO teclasRETURN
PROCEUURE deleLeON KEYSTORE ,T. TO in_datACTÍVATE SCREENDO CUATROON KEY LABEL ENTER DO eliminarACTÍVATE WINDOW datosDO show_prgDO disp_prgDO WHILE in_dat
ON ESCAPE STORE . F. TO in_datSTORE .T. TO in_prg
ENDDODEACTIVATE WINDOW datosON KEYDO teclas
RETURN
PROCEDURE eliminarSELECT 2SEEK enviore.parteREPLACE kardex.cnnrep WITH kardex.canrep - enviare.cantidadSEEK enviore.parte+enviore.seríeREPLACE ubic WITH 'ABASTOS', condi WITH 1SELECT 8DELETEIF EOF'O
DEFINE WINDOW datos FROM 00,00 TO 20,80 TITLE '<Actualización de Ingresos para Reparación >' COLORRGB(0, 0,128, 192, 192, 192) STYLE 'S1DEFINE WINDOW LISTA FROM 00,00 TO 20,80 TITLE '< Ingresospara Reparación >' COLOR RGB (O, O, 128, 192, 192, 192) STYLE 'S'actívate window listaDO teclasSET RELATION TO enviore. parte INTO kardexBROWSE NOAPPEND NODELETE NOEDIT NOMENU WINDOW lista FÍELOSpartefechacantidadcondiciónseriedoenvdeleeLos
SET PROCEDURE TO MA_LIBRSTORE .T. TO IN_PRGset escape of fLILA='FONT "COOPER LT BT ",9 STYLE "T" COLOR B/W+ 'store space(30) to imagen, imaSTORE SPACE(04) TO m. CÓDIGOSTORE SPACE(30) TO m. descrip, m, direcciónstore space (30) to imstore space (01) to condHIDE WINDOW tituloHIDE WINDOW trahajo
DO setupON KEYCLEARDEACTIVATE WINDOW ALLRELÉASE WINDOW datosRELÉASE WINDOW listaSHOW WINDOW tituloStfOW WINDOW trabajoSET FILTER TOCLOSE ALL
RETURN
PROCEDURE show_prgclear@ 00,00 TO 26,80 PATTERN 1 ;
01,30 GET OP FUNCTION "*H \!Eliminar;\?Cancelar" SIZE 2,2,4DEFAULT 1READ
if Op=ldo eliminardo standby with 'El registro ha sido eliminado'el se
184
do standby with 'El registro no ha'sido eliminado'endi f:;toro O lo opdo borde
01,30 GET OP FUNCTION "*H \¡Continuar;\?Salir" SIZE 2,2,4DEF'AULT 1READ
do caseCASE OP=1
loopcase op=2
exi tENDCASE
enddoDEACTIVATE WINDOW datosUNLOCK
ELSEDO STANDBY WITH 'Tabla bloqueada. Intente la eliminación
después de un momento1ENDIPRETIWN
PROCEDURE eliminarDELETE
IF EOF ()GO TOP
ENDIFRETURN
PROCEDURE modifyIF LOCK()STORE .T. TO in_dat
DO WHILE in_datACTÍVATE WINDOW datosSCATTER MEMVAK BLANKDO show_prgDO edit with "M"
do borde01,30 GET OP FUNCTION "MI \!Continuar;\?Salir" SIZE 2,2,4DEFAULT 1READ
do caseCASE OP 1
loopcase op=2
exitENDCASE
ENDDOUNLOCKELSE
DO STANDBY WITH 'Tabla bloqueada. Intente la modificacióndespués de un momento'ENDIFRETURN
PROCEDURE setupSET TALK OFFSET ESCAPE ONSELECT 8USE FOTOSET ORDER TO 1
DEFINE WINDOW datos FROM 00,00 TO 21,80 COLORRGB(0,O,128,192,192,192) STYLE 'S1DEFINE WINDOW LISTA FROM 00,00 TO 21,80 COLORRGB(0,O, 128, 192, 192, 192) STYLE 'S'DEFINE WINDOW fotosa F'ROM 02,28 TO 1.7,70 COLOR
RETURNfunction codigolrrtcodigo=0mcodiqol-" "go topdo while ! eof ()
mcodigo=:rncodigo+1skip
enddomcodigo=mcodigo+l
mcodigol= alltrim(str(mcodigo))return(mcodigol)procedure imagenDEFINE WINDOW IMAGEN' FROM 10,30 tO 20,55ACTÍVATE WINDOW IMAGENDEFINE POPUP imágenes FROM 10,10 PROMPT FILES likec:\fpw26\modelos\*.bmp ;MARGIN SCROLL@0,0 GET imagen popup imágenes SIZE 0,20READ
store '"' to iSTORE SPACE(30) TO IIIF EMPTY(IMAGEN)RETURNdeactivate window imagen
elseIl = "c : \ -f imagenstore il to m.direcciónim= i+'c:\fpw26\modelos\ + imagen+iDEACTIVATE WINDOW IMAGEN imagen@02,/Í8 SAY 11
187
£1 0 0 , 0 3 SAY 11 I U T M A I 'RGB ( O , O, 128, J92 , 192)endif
return
st . ro lch :;!/.<: 1l.f i , ' /1 f;C)I.()Ií
188
*******
* TÉCNICOS *******************SET PROCEDURE TO ma_librDOUBLE FONT 'TECHINICAL' ,10 STYLE 'T'LILA='FONT "COOPER LT BT ",9 STYLE "T" COLOR B/W+'STORE .T. TO in_prgSTORE SPACE (05) TO m.licenciaSTORE SPACE (30) TO m.nombreSTORE SPACE (40) TO m.especialstore space.(lO) to m.fotoHIDE WINDOW ti tule»HÍDE WINDOW trabajoDO setupDO WHILE in_prg
PROCEDURE campos@ 00,22 TO 12,70 clear@ 01,22 SAY técnicos.licencia@ 03,22 SAY técnicos.nombre@ 05,22 SAY técnicos.especial@ 07,22 SAY técnicos.foto bitmap size 9,25 CENTER ISOMETRICRETURN
PROCEDURE mensa "i osCLEAR@ 01,4 SAY 'Licencia : '@ 03,4 SAY 'Nombre : '@ 05,4 SAY 'Especialidad : '@ 07,4 SAY 'Foto : '
RETURNt
PROCEDURE-displayON KEYSTORE .T. TO in_datACTÍVATE SCREENDO UNOON KEY LABEL F4 DO 'anteriorON KEY LABEL F5 DO siguienteACTÍVATE WINDOW DATOSDO mensajesDo camposDO WHILE IN__ ÜAT
ON ESCAPE" STORE. F. TO IN_DATSTORE .T. TO in_prg
ENDDODEACTIVATE WINDOW datosDEACTIVATE WINDOWS FOTOS
189
ON KEYDO teclas
RETURN
PROCEDURE siguiente •SKIP 1IF EOF ()
DO standby WITH 'Fin del Archivo...-Ultimo Registro'GO bottom
ENDIFDo campos
RETURN
PROCEDURE anteriorSKIP -1IF BOFO
DO standby WITH 'Inicio del Archivo... es el primerregistro'GO TOP
ENDIFDo campos
RETURN
PROCEDURE ingresoON KEYSTORE .T. TO in_dat
ACTÍVATE SCREENDO DOSACTÍVATE W1NDOW datosSCATTER MEMVAR BLANKDO WHILE in_dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prgDO mensajesDO editSEEK m.1icencíaIF FOUND()DO standby WITH 'No puede grabar...Clave duplicada'
PROCEDURE deleteON KEYSTORE .T. TO ln_datACTÍVATE SCREEN "DO CUATROON KEY LABEL ENTER DO eliminarACTÍVATE WINDOW datosDO mensajesDO camposDo while in_datON ESCAPE STORE .F. to in_datSTORE .T. to in_prg
EnddoDEACTIVATE WINDOW datosON KEYDO teclas
RET.URN
PROCEDURE eliminarDELETEIF EOF ()
GO TOPENDIFKEYBOARD CHR(27)
RETURN
PROCEDUKE modityON KEYACTÍVATE SCREENDO CINCOACTÍVATE WINDOW datosSCATTER MEMVARDO mensajesDO edítMODIFY GENERAL FOTO@ 06,22 SAY técnicos. foto bitmap size 9,25 CENTER ISOMETRIC
select 5DEFINE WINDOW datos FROM 00,00 TO 19,80 TITLE^Actualización de Tócn.icon >' COLORRGB{0,0, 12ÍÍ, 192, 192, 192) STYLE 'S'DEFINE WINDOW FOTOS FROM 06,20 TO 14,50 TITLE '<fotos >'COLOR RGB(0,0,128,192,192,192)DEFINE WINDOW LISTA FROM 00,00 TO 19,80 TITLE '< Técnicos >'COLOR RGB(0,O,128,192,192,192) STYLE 'S1DO teclasACTÍVATE WINDOW LISTABROWSE NOAPPEND NODELETE NOEDIT NOMENU WINDOW lista FIELDS;licencia :05 :H='Licencia ', ;nombre :30 :H=' Nombre ',;especial ;40 :H='Especialidad '
RETURN
PROCEDURE teclasACTÍVATE SCREENDO SEISON KEY LARRI, ENTER DO displayON KKY [.AI1KL. L'*t"i I >0 i.mjroKOON KEY LABEL F7 DO consultaON KEY LABEL F8 DO deleteON KEY LABEL F9 DO modifyON KEY LABEL FIO DO reporte
RETURN
PROCEDURE FOTODEFINE POPUP FOTOS FROM 1,1 TO 10,10 PROMPT FILES LIKEC:\FOTOS\*.BMP IN WINDOW FOTOSON'SELECTION POPUP FOTOS DO ELEGIR WITH PROMPT()ACTÍVATE'POPUP FOTOSRELÉASE POPUP FOTOSDEACTIVATE WINDOW FOTOSRELÉASE WINDOW FOTOSRETURN <
PROCEDURE ELEGIRPARAMETER ELECHIDE POPUP FOTOS 'OP=BAR()DO STANDBY WITH ELECDO STANDBY WITH BAR()@ 00,22 SAY elec bitmap size 9,25 CENTER ISOMETR1CSTORE elec TO m.fotoDEACTIVATE POPUP FOTOSRETURN
PROCEDURE reporteSET ORDER TO 1SET CONSOLÉ OFFREPORT FORM técnicos TO PRINTSET ORDER TO 1SET CONSOLÉ ON
RETURN
192
ngro.so do Mnl'.rr i <¡ 1 Knpn rrid*.;
STORE .T. TU in prgSET PROCEDURE TO MA_LJBKLILA^'FONT "COOPER LT BT "STORE O TO m.cantidadSTORE O TO m.statusSTORE O TO m.cantidadSTORE SPACE(15) TO m.parteSTORE SPACE{08)STORE SPACE(15)STORE SPACE(15)STORE SPACEU5)STORE SPACE(15)STORE SPACE(IO)STORE SPACE (10)
9 STYLE "T" COLOR B/W+'
TO m.fechaTO m.doconsTO m.docenvTO m.serieTO m.facturaTO m.destinoTO m.condición
IlIUti W.INUOW I i LuloHIDE WINDOW trabajoDO setupDO WHILE in_prg
PROCEDURE show_prgCLEAR@ 1,10 SAY "02,10 SAY "@ 3,10 SAY "@ 5,10 SAY@ 6,10 SAY@ 7,10 SAYFactura: "@ 8,10 SAY@ 9, 10 SAY@ 10,10 SAY
RETURN
No. ParteSerie
Doscr Lpc i.óndocumento de Envío
Fecha de IngresoNo. documento
CantidadProcedencia
Condición
PROCEDURE disp_prg@ 1,32 SAY consumo.serie@ 2,32 SAY consumo.parte@ 3,32 SAY kardex.descrip@ 5,32 SAY consumo.docenv@ 6,32 SAY consumo.fecha0 7,32 SAY consumo.docons@ 7,61 SAY consumo.factura@ 8,32 SAY consumo.cantidad@ 8,40 SAY kardex.unidad@ 9,32.SAY consumo.destino@ 10,32 GET consumo.condición ;
STORE TMR' TO M.TIPOSTORE 1 TO m.cantidadSTORE 2 TO m.statusM.DOCONS=DOCON{'612')@ 1,32 GET m.parte PICT 'SUS1 VALID vpar ()@ 5,32 GET m.docenv PICT '@!7' VALID vdoc{)@ 6,32 GET m.fecha@ 7,32 GET m.docons PICT (@!15' DISABLE@ 7,61 GET m.factura PICT '99999999991@ 8,32 GET m.cantidad PICT '999999' DISABLE@ 10,32 GET m.condición ;
PROCEDURE actualiza_kardexSELECT 2SET ORDER TO 1SEEK m.parteREPLACE kardex.canext WITH kardex.canext + consumo.cantidadm.cantidad'IF m.condición =1 '
REPLACE kardex.canser WITH kardex.canser -consumo.cantidad + m.cantidadENDIFIF m.condición = 2
REPLACE kardex,canrep WITH Jcardex.canrep -consumo.cantidad + m.cantidadENDIFIF m.condición = 3
REPLACE kardex.cancón WITH kardex.cancón -consumo.cantidad + m.cantidadENDIFSET ORDER TO 1SEEK m.parte+m.serieif foundOREPLACE ubic WITH 'ABASTTOS1, condi WITH m.condición
endifSELECT 9SET ORDER TO 2SEEK m.part.G t m.docenv
if found()REPLACE status WITH 2endif
SELECT 4RETURN
PROCEDURE querySTORE SPACE(20) TO m.parteSTORE SPACE(08) TO m.fechaSTORE SPACEU6) TO m.doconsSTORE SPACE(16) TO m.serieON KEYACTÍVATE SCREENpO TRES •ACTÍVATE WINDOW datosDO show_prg@ 1,32 GET m.parte PICT '@!15¥@ 2,32 GET m.serie PICT '@!15'@ 6,32 GET m.fecha PICT '@!8'@ 7,32 GET m.docong PICT '@!7'READDEACTIVATE WINDOW datosSET FILTER TO parte=RTRIM (m.parte) .ANL). serie=RTRIM (m. serie;
PROCEDURE deleteON KEYSTORE .T. TO in_datACTÍVATE SCREENDO CUATROON KEY LABEL ENTER DO eliminarACTÍVATE WINDOW datosDO show_prgDO disp_prgDO WHILE in_dat
ON ESCAPE STORE . F. TO in_datSTORE .T. TO in^prg
ENDDODEACT1VATE WINDOW datosON KEYDO teclas
RETURN
PROCEDURE eliminarSELECT 2SET ORDER TO 1SEEK consumo.parteR£PLACE kardex.canext WITH kardex.canext + consumo.cantidadIF consumo,condición = 1
REPLACE kardex.canser WITH kardex.canser -consumo.canti dadENDIFIF consumo.condición = 2
REPIíACE kardex.canrep WITH kardex.canrep -consumo.cantidadENDIFIF consumo.condición = 3
REPLACE kardex.cancón WITH kardex.cancón -consumo.cantidadENDIFREPLACE ubic WITíi reparado.des tino, condi WITH 4SELECT 9SET ORDER TO 2SEEK consumo.partefconñumo.docenvif found()REPLACE Status WITH 1endifSELECT 4DELETEIF EOF ()
IF LASTKEYO <> 27DO actualiza_JcardexGATHER MEMVAR
ENDIFDEACTIVATE WINDOW datosDO teclas
RETURN
PROCEDURE setupCLEARSET TALK OFFSET ESCAPE ONSELECT 3USE &MRUTANÍnterSET ORDER TO 1
SELECT 2USE &MRUTA\kardexSET ORDER TO 1
SELECT 4USE &MRUTA\consumoSET ORDER TO 1
S-ELECT 9 'USE &MRUTAXreparado
' SET ORDER TO 1SELECT 4SET RELATION TO consumo.parte INTO kardex
. SET FILTER TO TIPO='IMR'DEFINE WINDOW datos FROM 00,00 TO 20,80 TITLE '<Actualización de Ingresos de Material Reparado >' COLORRGB(0,O,128,192,192,192) STYLE 'S'DEFINE WINDOW LISTA'FROM 00,00 TO 20,80 TITLE '< Ingresos de
Material Reparado >' COLOR RGB(O,O,128,192,192,192) STYLE 'SACTÍVATE WINDOWS LISTADO teclasBROWSE NOAPPEND NQDELETE NOEDIT NOMENU WINDOW lista FIELDS ;parte :15 :H=' No. Parte',;fecha :8 :H=' Fecha',;cantidad :7 :H=' Cant.':P='999999',;condicíon:5 :H=' Cond1,;serie : 15 :H=' Serie',;destino:15 :H='Procedencia'
RETURNPROCEDURE teclasACTÍVATE SCREÜNDO SIETEON KEY LABEL ENTER DO displayON KEY LABEL F6 DO appendON KEY LABEL F7 DO queryON KEY LABEL F8 DO deleteON KEY LABEL F9 DO modify
RETURN
FUNCTION vparSELECT 2SET FILTER TO condi = AGO TOPIF EOF()
DO standby WITH 'No existen ítems en ReparaciónSET FILTER TOSELECT 4RETURN .F.
ENDIFSET FILTER TOSET ORDER TO 1SEEK m.parte
197
IF FOUNDOSTORE kardex.no_parte TO m.parteSTORE kardex.ubic TO m.destinoSELECT 2SEEK m.parte@ 01,32 SAY m.parte@ 02,32 SAY m.serie@ 03,32 SAY kardex.descripSELECT 4RETURN .t.
ENDIFIF .NOT. FOUNDO
SET FILTER TO condi= 4DEFINE WINDOW ESCOJE FROM 2,50 TO 10,80
ENDIFSTORE kairdex.serie TO m. serieSTORE k'ardex.parte TO m.parteSTORE kardex.ubic TO m.destinoSET FILTER TOSELECT 2SEEK m.parte@ 01,32 SAY m.parta@ 02,32 SAY m.serie@ 03,32 SAY kardex.descripSELECT 4
RETURN .t.
FUNCTION vdocSELECT 9SET ORDER TO 1SET FILTER TO STATUS=1IF .NOT. FOUNDO
DEFINE WINDOW ESCOJE FROM 2,50 TO 10,80ACTÍVATE WINDOW ESCOJEBROWSE FÍELOS parte,doreci NOAPPEND NOEDIT NODELETE
DEACTIVATE WINDOW ESCOJEENDIFSTORE reparado.doreci TO m.docenvSTORE reparado.destino to m.destino@ 9,32 GET m.destino PICT (@!10' UISABLESET FILTER TOSELECT 4
RETURN .t.
FUNCTION DOCONparameter docsele 4mcuenta=0anl=" "an=year(date(} )anl=right(str(year(dateí))) ,2)num=alltrim(doc) + anl ' ,numl=alltrim(doc)+anl+"000"go topdo while !eof()
if ALLTRIM(LEFT(CONSUMO.DOCONS,5))=ALLTRIM(NUM)mcuenta=mcuenta+l
SELECT 2USE kardexSET ORDER TO 1SELECT 4USE consumoset order to 1
set relation toset relation to consumo.parte into Kardexsele 4DEFINE WINDOW REPORTE FROM 10,10 TO 24,70 FILL FILE'C:\WINDOWS\NUBES.BMP' FONT "arial"ACTÍVATE WINDOW REPORTE
DO WHILE .T.clearStore DATE() to-FECHA1,FECHA2
, @0.5 ,26 SAY " REPORTE";PICTURE "01" FONT "arial", 18 COLORRGB(O,O,128, 192, 192,192);STYLE "BT"
02.5,15 SAY " INGRESO DE MATERIAL REPARADO " ;PICTURE "@I" ;FONT "arial",' 18 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
@5.5,8 SAY "DESDE: HASTA " ;PICTURE "@I" ,;FONT "arial", 14 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
05.5,20 GET FECHA1 PICT '08';FONT "arial", 14 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
05.5,50 GET FECHA2 PICT '08';FONT "arial", 14 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
010,20 GET OP FUNCTION "*H \Pantalla ;\Impresora; Salir\ " SIZE 2,3,4 DEFAULT 1READ
SET FILTER TO tÍpo='IMR' .and. {FECHA >= FECHA1 .AND.FECHA <= FECHA2)DO CASECASE op=l
report forra ingrep PREVIEWCASE op=2
report form ingrep TO PRINTER NOCONSOLECASE op=3deactivate window reporteset filter toexit
ENDCASEENDDO
SET FILTER TOreturn
199
* INGRESO DE PEDIDOS ***********************
set procedure to ma_librSTORE .T. TO in_prgT.njv^* F.ONT "COCSER x:r -BT *,& STXLE T* cansí
STORE O TO m.precioSTORE O TO m.cantidadSTORE O TO m.condiciónSTORE SPACE{8) to m.fechaSTORE SPACE(2) TO rn.tipoSTORE SPACE(15) TO m.parte,partSTORE SPACE(15) TO m.doconsSTORE SPACE(15) TO m.facturaSTORE SPACE(IO) TO m.destinoSTORE SPACE'(15) TO m. serieSTORE O TO -ra.compra
HIDE WINDOW tituloHIDE WINDOW trabajoDO setupDO WHILE in_prgON ESCAPE STORE .F. Tp injprgKEYBOARD CHR(27)
PROCEDURE show_prgCLEAR@ 2,10 SAY "Documento de Pedido@ 4,10 SAY " No. Parte@ 5,10 SAY " Descripción8 6,10 SAY " Serie@ 7,10 SAY " Fecha de Compra6 8,10 SAY " Factura@ 9,10 SAY " Cantidad@ 10,10 SAY " Procedencia@ 11,10 SAY " Condición
RETURN
PROCEDURE disp_prg@ 2,32 SAY consumo.docons@ 4,32 SAY consumo.parte@ 5,32 SAY kardex.descrip@ 6,32 SftY consumo.serie@ 7,32 SAY consumo.fecha@ 8,61 SAY consumo.factura@ 9,32 SAY consumo.cantidad@ 9,40 SAY kardex.unidad@ 9,61 SAY consumo.precio@ 10,32 SAY consumo.destino@ 11,32 GET consumo.condición ;PICTUKE "@*RVN Servible " ;SIZE 1,13,O D1SABLE
RETURN
PROCEDURE display
Precio : "
ON KEYSTORE .T. TO in_datACTÍVATE SCREENDO UNOON KKY I.AMKI. I1'!» IX) Nnxl.
ACTÍVATE W1NDOW datosDO show_prgDO disp_prgDO WHILE in_dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prg
ENDDODEACTIVATE WINDOW datosON KEYDO teclas
RETURN
PROCEDURE nextSKIP 1IF BOFO
DO standby WITH 'Fin del Archivo ... Ultimo registro1GO BOTTOM
ENDIFDO disp_prg
RETURN
PROCEDURE previousSKIP -1IF BOFO
DO standby WITH 'Comienzo del Archivo ... es el primerregistro'
GO TOPrENDIFDO disp_prg
RETURN
PROCEDURE append •ON KEYSTORE .T. TO in__datACTÍVATE SCREENDO DOSACTÍVATE WINDOW datosSCATTER MEMVAR BLANKDO WHILE in_dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prgDO show_prgDO editIF LASTKEYO = 27
PROCEDURE querySTORE SPACE{15) TO m.parteSTORE SPACE(8) TO m.fechaSTORE SPACE(15) TO m.doconsSTORE SPACEU5) TO m.serieSTORE SPACEU5) TO m.docenvON KEYACTÍVATE SCREENDO TRESACTÍVATE WINDOW datosDO show_pr.g@ 2,32 GET m.parte PICT '@!15'@ 6,32 GET m.docons PICT '@!7'@ 7,32 GET m.fecha PICT '@!8'@ 8,61 GET m.factura PICT '@!15'READ *DEACTIVATE WINDOW datosSET FILTER TO parte=RTRIM(m.parLe) -AND. docons=RTRIM(m.docoris)/ ^.AND. tipo='IP' .AND, DTOC(fecha)=RTRIM(m.fecha)
GO TOPDO teclas
RETURN
202
PROCEDURE deleteON KEYSTORE -T. TO in_datACTÍVATE SCREENDO CUATRO *ON KEY LABEL ENTER DO eliminarACTÍVATE WINDOW datosDO show_prgDO disp_prgDO WHILE in_dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in^prg
ENDDODEACTIVATE WINDOW datosON KEYDO teclas
RETURN
PROCEDURE eliminarSELECT 6SEEK consumo.parte+consumo.docenvREPLACE pedidos.canreci WITH pedidos.canreci -consumo.cantidad, status WITH 1
SELECT 2IF consumo.serie=' 'SET ORDER TO 1SEEK consumo.parte
ELSESET ORDER TO 2SEEK consumo.parte+consumo.serieENDIFif kardex.canser>0REPLACE kardex.canser WITH kardex.canser - consumo.cantidadREPLACE kardex^canped WITH kardex.canped + consumo.cantidadelsedo standby with 'la cantidad a elimicar es mayor a laexistente..'endifSELECT 4DELETEIF EOF ()
SELECT 6USE &MRUTA\pedÍdosSET ORDER TO 1SET RELATION TO pedidos.parte INTO kardex
SELECT 4SET RELATION TO consumo.parte INTO kardex
DEFINE WINDOW datos FROM 00,00 TO 20,80 TITLE '< Actualizaciónde Ingresos Por Compra >'COLOR RGB(O,O,128,192,192,192) STYLE 'SDEFINE WINDOW LISTA FROM 00,00 TO 20,80 TITLE '< Ingresos porCompra >' COLOR RGB(O,O,128,192,192,192} STYLE 'S1activate Windows listaDO teclas
PROCEDURE teclasACTÍVATE SCREENDO SIETEON KEY LABEL ENTER DO displayON KEY LABEL F6 DO appendON KEY LABEL F7 DO queryON KEY LABEL F8 DO deleteON KEY LABEL F9 DO modify
RETURN
FUNCTION vpartcSELECT 6SET ORDER TO 2SET FILTER TO statUS=l
GO TOPIF EOF()
DO standby WITH 'No existen pedidos pendientes ...'SET FILTER TOSELECT 4RETURN .F.
ENDIFSET ORDER TO 1
IF .NOT. FOUNDODEFINE WINDOW ESCOJE FROM 2,50 TO 10,80ACTÍVATE WINDOW ESCOJEBROWSE FIELDS dopedi,parte NOAPPEND NOEDIT NODELETE
DEACTIVATE WINDOW ESCOJEENDIFSTORE pedidos.parte TO m.partestore pedidos.dopedi to m.doconsstore pedidos.compra to m.compraSTORE pedidos.cantidad-pedidos,canreci TO m.cantidadSTORE pedidos.compra TO m.compra
204
*
SET FILTER TOSELECT 2
SET ORDER TO 1SEEK m.parte
@ 4,32 SAY m.parte@ 5,32 SAY kardex.descrip@ 6,32 SAY Kardex.serie0 9,32 SAY m.cantidad PICT '999999'SELECT 4
RETURN .t.
FUNCTION veanSELECT 2IF M.CANTIDAD<=0DO STANDBY WITH 'La cantidad debe ser mayor1return.f.endifIF m.serie=' '
SET ORDER TO ISEEK m.parte
ELSESET ORDER TO 2SEEK m.parte+m.serie
ENDIFIF canped = O
DO standby WITH 'Este ítem no tiene pedidos pendientes ...'SELECT 4RETURN .F.'
ENDIFSELECT 6SET ORDER TO 2SEEK m.parte+pedidos.dopediIF FOUNDO .AND. m.cantidad > (pedidos.cantidad - pedidos.canreci
DO standby WITH 'cantidad de Compra es mayor a la pedida ..."SELECT 4RETURN .F.
ENDIFSELECT ARETURN .T.
PROCEDURE REPOR3SELECT 2USE kardexSET ORDER TO 1SELECT 3USE ÍnterSET ORDER TO 1select 6use pedidos
SELECT 4USE consumo
set relation toset relation to consumo.parte into Kardex,consumo.parte intoínterDEFINE WINDOW REPORTE FROM 10,10 TO 24,70 FILL FILE'C:\WINDOWS\NUBES.BMP' FONT "arial"ACTÍVATE WINDOW REPORTEDO WHILE .T.
STORE O TO M.COMPRASTORE 2 TO M.STATUS00.5 ,26 SAY " REPORTE";PICTURE "@I" FONT "arial", 18 COLORRGB(O,O,128,192,192,192);STYLE "BT"02.5,15 SAY " PEDIDOS RECIBIDOS " ;
205
PICTURE "@I" ;FONT "arial", 18 COLOR R G B ( O , O , 1 2 8 , 1 9 2 , 1 9 2 , 1 9 2 ) ;STYLE "BT"@ 5.5,5 SAY "Compra: " FONT 'ARIAL1 , 15 COLORRGB(0,O,128,192,192,192) STYLE 'BT'@ 5.5,44 SAY "Status: " FONT 'ARIAL' , 15 COLORRGB(0,O,128,192,192,192) STYLE 'BT1
@ 5.5,20 GET m.compra ;PICTURE "@*RVN Local /Exterior";SIZE 1,13,0 FONT 'ARIAL1 , 13 STYLE 'BT'
@ 5.5,60 GET m.status ;PICTURE "@*RVN Pendiente /Recibido " ;SIZE 1,13,0 DISABLE FONT 'ARIAL' , 13 STYLE 'BT'010,20 GET OP FUNCTION "*H \Pantalla ;\Impresora; Salir\ " SIZE 2,3,4 DEFAULT 1READ
SET FILTER TO tipo='IP* and compra= m.compraDO CASE
CASE op=lREPORT FORM ingresop PREVIEW
CASE op=2REPORT FORM ingresop TO PRINTER NOCONSOLE
CASE OP=3DEACTI-VATE WINDOW REPORTEEXITSET FILTER TO
ENDCASEENDDOset relation to
return
206
Avionest*******
SET PROCEDURE TO &MRUTA\MA_LIBRSTORE -T. TO in_prgLILA='FONT "COOPER LT BT ",9 STYLE "T" COLOR B/W+
STORE SPACESTORE SPACESTORE SPACESTORE SPACE
(15) TO m.codav(15) TO m.tipo(12) TO m.modelo(20) TO m.cia
STORE SPACE (30) TO m.tip^insp
HIDE WINDOW tituloHIDE WINDOW trabajoDO setupDO WHILE in_prgON ESCAPE STORE .F. TO in_prgKEYBOARD CHR(27)
@ 03,13 SAY 'Matrícula No@ 05,13 SAY 'Modelo@ 07,13 SAY 'Compañía a la que pertenece@ 09,13 SAY 'Tipo de inspección
RETURN
PROCEDURE siguienteSKIP 1IF EOF()
DO standby WITH 'Fin del ArchivoGO bottom
ENDIFDo campos
RETURN
.Ultimo Registro'
PROCEDURE anteriorSKIP -1IF BOF()
207
DO standby WITH 'Inicio del Archivo... es el primer registro'GO TÜP
KNMFKDo campos
RETURN
PROCEDURE ingresoIF FLOCHOON KEYSTORE .T. TO in_datACTÍVATE screenDO DOSACTÍVATE WINDOW datosSCATTER MEMVAR BLANKDO WHILE in_dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prgDO mensajesDO editIF LASTKEY()=27
STORE .F. TO in_datENDIFSEEK m.codav
IF FOUNDODO standby WITH 'No puede grabar...Clave duplicada1
ELSEIF NOT EMPTY(m.codav)
APPEND BLANKGATHER MEMVAR -SCATTER MEMVAR BLANK
ENDIFENDIF
ENDDODEACTIVATE WINDOW datosDO teclasUNLOCKELSE
DO STANDBY WITH 'Tabla bloqueada. Intente oí ingreso después deun momento1
ENDIFRETURN
PROCEDURE edit@ 03,45 GET m.codav PICT '@!15'@ 05,45 GET m.modelo PICT '@A!12'@ 07,45 GET m.cia PICT '@A!20'@ 09,45 GET m.tip_insp PICT '@!30'READ
RETURN
PROCEDURE consultaSTORE SPACE (15) TO m.codavSTORE SPACE (12) TO m.modeloSTORE SPACE (20) TO m.ciaSTORE SPACE (30) • TO m.tip^inspON KEYACTÍVATE scrcenDO TRESACTÍVATE WINDOW datos
DO mensajes@ 03,45 GET m.codav PICT '@!15 '@ 05 ,45 GET m.modelo PICT ' ( « M J . 2 1
@ 0 7 , 4 5 GET m.cia PICT ' @ ! 2 0 'P 0 < ) , 4 5 ÍÍKT m. l . ip i n;;p I11CT ' P ! 10'RKAD
UEACTIVA'l'K WINHOW d.nt.oí;
208
SET F1LTER TO codav=RTRIM(m.codav) .AND. tipo=RTRIM(m.tipo) .AND.modelo=RTRIM(m.modelo) .AND. cia-RTRTM(m.oja) .AND.I i p_ i n:;p • RTK1M (ni. L i p_¡ n:;p)
Üü TOP"DO teclas
HETURN
PROCEDURE deleteIF LOCKO
ON KEYSTORE .T, TO in_datACTÍVATE screenDO CUATROON KEY LABEL ENTER DO eliminarACTÍVATE WINDOW datosDO melisa jesDO camposDO while in_datON ESCAPE STORE . F. to in_datSTORE .T. to in_prgENDDODEACTIVATE WINDOW datos'ON KEYDO teclasUNLOCK
ELSEDO STANDBY WITH 'Tabla bloqueada. Intente la eliminación despuésde un momento'
PROCEDURE teclasACTÍVATE screenDO SEISON KEY LABEL ENTER DO displayON KEY LABEL ENTER DO imprimeON KEY LABEL F6 DO ingresoON KEY LABEL F7 DO consultaON KEY LABKL F8 DO delateON KEY LABEL F9 DO modifyON KEY LABEL FIO DO reporteRETURN
PROCEDURE imprimeON KEYSTORE .T. TO in_datACTÍVATE screenDO UNOON KEY LABEL F4 DO anteriorON KEY LABEL F5 DO siguienteACTÍVATE WINDOW DATOSDO mensajesDO camposDO WHILE IN_DAT
ON ESCAPE STORE.F. TO IN_DATSTORE .T. TO in_prg
ENDDODEACTIVATE WINDOW datosON KEYDO teclas
RETURN
PROCEDURE reporteSET ORDER TO 1SET CONSOLÉ OFFREPORT FORM aviones TO PRINTSET ORDER TO 1SET CONSOLÉ ON
RETURN
MONEDASt ******* i
SET PROCEDURE TO &MRUTA\ma_lÍbr*DEFINE WINDOW TECLA FROM 30.5,0 TO 35,80 COLOR SCHEME 14 DOUBLE FONT
'TECHINICAL', ,10 STYLE' 'T'LILA='FONT' "COOPER LT BT ",9 STYLE "T" COLOR B/W+'STORE .T. TO in_prgSTORE SPACE (04) TO m.códigoSTORE SPACE (25) TO m.descripSTORE SPACE (25) TO m.paisSTORE SPACE (07) TO m.equivaleSTORE SPACE (04) TO m.divisaHIDE WINDOW tituloHIDE WINDOW trabajoDO setupDO WHILE in_prg
PROCEDURE campos@ 3,35 TO 12,70 clear@ 3,35 SAY moneda.código@ 5,35 SAY moneda.descrip@ 7,35 SAY moneda.pais@ 9,35 SAY moneda.equivale@ 11,35 SAY moneda.divisaRETURN
PROCEDURE mensajesclear@ 03,13 SAY ' - Código : '@ 05,13 SAY ' Moneda : '@ 07,13 SAY ' Pais : '@ 09,13 SAY 'Cotización en sucres : '@ 11,13 SAY ' Divisa : 'RETURN
PROCEDURE displayON KEYSTORE .T. TO in_datACTÍVATE SCREENDO UNOON KEY LABEL F4 DO anteriorON KEY LABEL F5 DO siguienteACTÍVATE WINDOW DATOSDO mensajesDo camposDO WHILE IN_DAT
ON ESCAPE STORE.F. TO IN_DATSTORE .T. TO in_prg
ENDDODEACTIVATE WINDOW datosON KEY
211
DO teclasRETURN
PROCEDURE .siguienteSKIP IIF EOF {>
DO standby WITH 'Fin del Archivo Ultimo Registro'GO bottom
ENDIFDo campos '
RETURN
PROCEDURE anteriorSKIP -1IF BOFO
DO standby WITH 'Inicio del Archivo... es el primer registro'GO TOP
ENDIFDo campos
RETURN
PROCEDURE ingresoIF FLOCKOON KEYSTORE .T. TO in_dat
ACTÍVATE SCREENDO DOSACTÍVATE WINDOW datosDO WHILE in_dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prgSCATTER MEMVAR BLANKDO mensajesDO editIF LASTKEY(}=27
STORE -F. TO in_datENDIFSEEK m.códigoIF FOUNDODO standby WITH 'No puede grabar.'. .Clave duplicada'
ELSEIF NOT EMPTY(M.CÓDIGO)
APPEND BLANKGATHER MEMVAR
ENDIFENDIF
ENDDODEACTIVATE WINDOW datosDO teclasUNLOCK
ELSEDO STANDBY WITH 'Tabla bloqueada. Intente el ingreso después deun momento'
ENDIFRETURN
PROCEDURE edit@ 3,35 GET m.código PICT r@!3'@ 5,35 GET m.descrip PICT '@!15'@ 7,35 GET m.pais PICT '<a!25'@ 09,35 GET m.equivale PICT '99999999999'@ 11,35 GET m.divisa PICT '@M'READ
RETURN
PROCEDURE consulta
212
STORE SPAC(03). TO m.códigoSTORE SPAC(15) TO m.descripSTORE SPAC(20) TO m.paisSTORE SPAC(09) TO m.equivaleSTORE SPACE(04) TO m.divisaON KEY *
^ ACTÍVATE SCREEN9 DO TRES
ACTÍVATE WINDOW DATOSDO mensajes@ 03,35 GET m.código PICT '@!3'@ 05,35 GET m.descrip PICT '@!15'@ 07,35 GET m.pais PICT '@!20*6 09,35 GET m.equivale PICT '99999999999'@ 11,35 GET m.divisa PICT 'M1
READDEACTIVATE WINDOW datosSET FILTER TO codigo=RTRIM(m.código) -AND. descrip=RTRIM(m.descrip)
PROCEDURE teclasACTÍVATE SCREENDO SEISON KEY LABEL ENTER DO displayON KEY LABEL F6 DO ingresoON KEY LABEL F7 DO consultaON KEY LABEL F8 DO deleteON KEY LABEL•F9 DO modifyON KEY LABEL FIO DO reporte
RETURN
21-1
103* KARDEX DE EXSTENCIA ** * * * * * * * * * * * * * * * * * * V^***^T^ „ . , . _ - , T - . T T etiooon'iit
SET PROCEDURE TÓ'MA/TÍBRSTORE .T. TO in_prgLILA='FONT "COOPER LT BT ",9 STYLE "T" COLOR B/W+ 'STORE SPACE(3) TO XSERSTORE SPACE(15) TO m. parteSTORE SPACE(30) TO m.descripSTORE SPACE(IS) TO m. serieSTORE SPACEU5) TO m.ubicSTORE SPACE(5) TO m. proveeSTORE SPACEÍ3) TO m. divisaSTORE SPACE(IO) TO m.proiniSTORE DATE () TO m. fechaSTORE O TO m. totalSTORE SPACE(3) TO m. unidadSTORE O TO m. precioSTORE O TO m.minSTORE O TO m.max
HIDE WINDOW tituloHIDE WINDOW trabajoDO setupDO WHILE in_prgON ESCAPE STORE .F. TO in_prgKEYBOARD CHR(27)
PROCEDURE displayON KEYSTORE .T. TO in_datACTÍVATE SCREENDO UNOON KEY LABEL F4 DO previousON KEY LABEL F5 DO Next
ACTÍVATE WINDOW datosDO show__prgDO disp_prgDO WHILE in_dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in prg
ENDDODEACTIVATE WINDOW datosON KEY •'DO teclas
RETURN
PROCEDURE next (
SKIP 1IF EOF ()
DO standby WITH 'Fin del Archivo ... Ultimo registro1GO BOTTOM
ENDIFDO disp_jprg
RETURN
PROCEDURE previousSKIP -1IF BOFO
DO standby WITH 'Comienzo del Archivo ... es el primerregistro'
GO TOPENDIFDO disp_prg
RETURN
PROCEDURE querySTORE SPACE(15) TO m.parteSTORE SPACE(30) TO m.descripSTORE SPACE(30) TO m.serieON KEYACTÍVATE SCREENDO TRESACTÍVATE WINDOW datosDO show^prg@ 00,20 GET m.parte PICT '@!15'@ 01,20 GET m.descrip PICT ' @ ! 3 0 '@ 02 ,20 GET itu serie PICT '15' ,READ .DEACTIVATE WINDOW datosSET FILTER TO parte=RTRIM(m.parte) .AND.
descrip=RTRIM(m.descrip)GO TOPDO teclas
216
RETURN
PROCEDURE dele te 'ON KEYSTORE .T. TO in_datACTÍVATE SCREENDO CUATROON KEY LABEL ENTER DO eliminarACTÍVATE WINDOW datosDO show_prgDO disp_prgDO WHILE in_dat
ON ESCAPE STORE . F. TO in_datSTORE -T. TO in_prg
ENDDODEACTIVATE WINDOW datosON KEYDO teclas
RETURN
PROCEDURE eliminarSELECT 4LÓCATE FOR parte=kardex.parteIF EOF()
SELECT 3LÓCATE FOR no_parte=kardex.parteIF EOFO
select 2DELETE
ELSEDO standby WITH 'No es posible, Tiene registrado No. de
Intercambiables ..."select 2RETURN
ENDIFELSE
DO standby WITH 'No es posible, Tiene registradoTransacciones ...'
SET PROCEDURE TO &MRUTA\ma_librSTORE .T. TO in_prgLILA='FONT "COOPER LT BT ",9 STYLE "T" COLOR B/W+STORE SPACE (15) TO m.seriSTORE SPACE (15) TO m.parteSTORE SPACE (15) TO m.ubicSTORE SPACE (15) TO m.no_interSTORE 1 TO m.condiHIDE WINDOW tituloHIDE WINDOW trabajoDO setupDO WHILE in_prgON ESCAPE STORE .F. TO in_prgKEYBOARD CHR(27)
PROCEDURE show_prgCLEAR@ 3,10 SAY " No. Parte : "@ 4,10 SAY " Descripción : "& 5,10 SAY " No. Serie : "@ 7,10 SAY " No.Intercam : "@ 8,10 SAY " Ubicación : "
RETURN
PROCEDURE disp_prg@ 3,27 SAY Ínter.no_parte@ 4,27 SAY kardex.descrip@ 5,27 SAY Ínter.no_seri@ 7,27 SAY ínter.no_inter@ 8,27 SAY ínter.ubic
RETURN
PROCEDURE dísplayON KEYSTORE .T. TO in_datACTÍVATE SCREENDO UNOON KEY LABEL F4 DO previousON KEY LABEL F5 • DO Next
ACTÍVATE WINDOW datosDO show_prgDO disp_prgDO WHILE in_dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prg •
ENDDODEACTIVATE WINDOW datosON KEYDO teclas
RETURN
222
9̂
PROCEDURE nextSKIP 1IF EOFO
DO standby WITH Tin del Archivo ... Ultimo registro*GO BOTTOM
ENDIFDO disp_prg
RETURN
PROCEDURE previousSKIP -1IF BOFO
DO standby WITH 'Comienzo del Archivo ... es el primer registro'GO TOP
ENDIF 'DO disp_prg
RETURN
PROCEDURE appendIF FLOCKOON KEYSTORE -T. TO in__datACTÍVATE SCREENDO DOSACTÍVATE WINDOW datos
* SELE 3DO WHILE in_datON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prgSCATTER MEMVAR BLANKDO show_prgDO edit WITH 'A'IF LASTKEYO =27STORE .F.TO IN_DAT
ENDIFENDDODEACTIVATE WINDOW datosDO teclasUNLQCK
ELSEDO STANDBY WITH 'Tabla bloqueada. Intente el ingreso después de
un momento 'ENDIFRETURN
PROCEDURE editPARAME TER xindSTORE .T. TO IN_DATE@ 3,27 GET m. parte VALID val_par O .DO WHILE in^dateON ESCAPE STORE .F. TO in^dateSTORE .T. TO in_prg@ 7,27 GET m.no_inter PICT '@!15'@ 8,27 GET m.ubic PICT '@!15'READ
IF LASTKEYO =-27STORE .F. TO Jn_dalc
ELSEIF NOT(EMPTY(M,NO_INTER) )
APPEND BLANKREPLACE no_parte WITH m. parteREPLACE no_seri WITH m.seriREPLACE no_inter WITH m.no_interREPLACE ubic WITH
SCATTER MEMVAR BLAN,KENDIF
223
ENDIFENDDOIF xind='E' .AND. m.no_inter<>no_interSELECT 4SET FILTER TO Ínter.no_inter=consumo.ÍnterREPLACE ALL consumo.Ínter WITH m.no_interSET FILTER TOSELECT 3
ENDIF
RETURN
PROCEDURE consultaSTORE SPACE(15) TO m.no_parteSTORE SPACE{15) TO m.no_interSTORE SPACE(15) TO m.ubicSTORE O TO m.condí 'ON KEYACTÍVATE SCREENDO TRESACTÍVATE WINDOW datosDO show_prg@ 3,27 GET m.no_parte PICT '@!15'0 7,27 GET m.no_inter PICT '@!15'@ 8,27 GET m.ubic PICT '@!15'READDEACTIVATE WINDOW datosIF m.condí=0
SET FILTER TO no_parte=RTRIM(m.no_parte) .AND.no_inter=RTRIM(m.no_inter) ;
.AND. ubic=RTRIM(m.ubic)ELSESET FILTER TO no_parte=RTRIM(m.no_parte) .AND.
PROCEDURE deleteIF LOCKÍ)ON KEYSTORE .T. TO in_datACTÍVATE SCREENDO CUATROON KEY LABEL ENTER DO eliminarACTÍVATE WINDOW datosDO show_prgDO disp_prgDO WHILE in_dat
PROCEDURE .teclasACTÍVATE screenDO SEISON KEY LABEL ENTER DO displayON KEY LABEL F6 DO appendON KEY LABEL F7 DO consultaON KEY LABEL F8 DO deleteON KEY LABEL F9 DO modifyON KEY LABEL FIO DO reporte
225
RETURN
FUNCTION val_parSELECT 2SET ORDER TO 1SEEK m.parteIF FOUNDO@ 3,27 SAY kardex.parte@ 4,27 SAY kardex.descrip@ 5,27 SAY kardex.serieSELECT 3RETURN .t.
ELSEGO TOP
ENDIFSET ORDER TO 1
IF .NOT. FOUNDODEFINE WINDOW ESCOJE FROM 2,50 TO 10,80ACTÍVATE WINDOW ESCOJEBROWSE FÍELOS PARTE, DESCRIP NOAPPEND NOEDIT NODELETE
DEACTIVATE WINDOW ESCOJEENDIFSTORE kardex.parte TO m.parteSTORE Kardex.serie TO m.seri@ 4,27 SAY kardex.descrip@ 5,27 SAY kardex.serie@ 3,27 SAY kardex.parteSELECT 3
RETURN .t.
PROCEDURE reporteSET ORDER TO 1SET CONSOLÉ OFFREPORT FORM series TO PRINTSET ORDER TO 1SET CONSOLÉ ON
RETURN
226
********************
STORE .T. TO in_prgSET PROCEDURE TO ma_librDEFINE WINDOW TECLA FROM 30.5,0 TO 35,80 COLOR SCHEME 14
DOUBLE FONT 'TECHINICAL1 ,10 STYLE 'T'LILA='FONT "COOPER LT BT ",9 STYLE "T" COLOR B/W+ 'STORE SPACE (02) TO XSERSTORE SPACE (15) TO m. parteSTORE SPACE (15) TO m.dopediSTORE SPACE(OS) TO m.fechapSTORE SPACE (15) TO m. serieSTORE SPACE (30) TO m.descripSTORE (0) TO m. statusSTORE (0) TO m. cantidadSTORE (0) TO m.canreciSTORE (0) TO m. compra
HIDE WINDOW tituloHIDE WINDOW trabajoDO setupDO WHILE in_prgON ESCAPE STORE .F. TO in_prgKEYBOARD CHR(27)
@ 4,15 SAY " Documento : "6 3,15 SAY " Compra : "@ 5,15 SAY " Pedido : "@ 10,05 SAY " No. Parte@ 11,05 SAY " Descripción@ 12,05 SAY " Serie@ 13,05 SAY " Cantidad@ 14,05 SAY " Unidad@ 16,05 SAY " Cant-Recibida
: Status: "RETURN
PROCEDURE disp_prgSTORE (cantidad - canreci) TO pendí@ 4,38 SAY pedidos.dopedi@ 3,38 GET pedidos.compra ;PICTURE "@*RHN Local; Exterior";
Pendiente
227
SIZE 1,2,3 DISABLE& 5,30 SAY pedidos.fechap@ 10,2£i SAY podidos.parte@ 11,28 SAY kardex.descrip@ 12,26 SAY kardex.serie@ 13,28 SAY pedidos.cantidad@ 14,28 SAY kardex.unidad@ 16,34 SAY pedidos.canrecí@ 16,56 SAY pendi PICT '9,999' COLOR SCHEME 7@ 16,6-3 GET pedidos, status ;
PROCEDURE displayON KEYSTORE .T. TO in_datACTÍVATE SCREENDO unoON KEY LABEL F4 DO previousON KEY LABEL F5 DO Next
ACTÍVATE WINDOW datosDO show_prgDO disp_prgDO WHILE in_dat
ON ESCAPE STORE .F. TO in__datSTORE , T. TO in_prg
ENDDOD.EACTIVATE WINDOW datosON KEY .DO teclas
RETURN
PROCEDURE nextSKIP 1 iIF EOF()
DO standby WITH 'Fin del Archivo ... Ultimo registro'GO BOTTOM
ENDIFDO disp_prg
RETURN
PROCEDURE previousSKIP -1IF BOFO
DO standby WITH 'Comienzo del Archivo ... es el primerregistro'
GO TOPENDIFDO disp_prg
RETURN
PROCEDURE appendSELECT 13ON KEYSTORE .T. TO in_datACTÍVATE SCREENDO dosACTÍVATE WINDOW DATOSDO WHILE in_dat
ON ESCAPE STORE .F. TO in dat
228
STORE .T. TO in_prgSCATTER MEMVAR BLANK
DO show_prgDO editIF LASTKEYO = 27
STORE .F. TO in_datAPPEND BLANKREPLACE cuenta WITH m.dopediREPLACE fecha WITH m.fechapENDIF
ENDDODEACTIVATE WINDOW datosDO teclassele 6
RETURN
PROCEDURE editSELE 6STORE 1 TO m.statusSTORE date() TO fechapSTORE -T. TO IN_DATE@ 3,38 GET m.compra PICTURE "@*RHN Local/Exterior ";SIZE 1,2,3READDO control
@ 4,38 GET m.dopedi PICT '@!15' DISABLE@ 5,38 GET m,fechap PICT ' / / '
1 READDO WHILE IN_DATEON ESCAPE STORE .F. TO IN_DATE
STORE .T. TO IN_PRGSTORE SPACE(IS) TO m.parteSTORE O TO m.cantidadSTORE SPACE(IS) TO m.parteSELE 6@ 10,28 GET m.parte PICT '@!15' VALID vparte()@ 13,28 GET m.cantidad PICT '9999' RANGE M.CANTIDAD>1
VALID vean()READIF LASTKEYO =27
STORE .F. TO IN_DATEELSE
IF NOT{EMPTY(m.parte))APPEND BLANKDO actualiza_kardex@ 11,28 to 15,78 clearGATHER MEMVAR
ENDIFENDIF
ENDDOSELE 13RETURN
PROCEDURE actualiza_kardexSELECT 2IF EMPTY(m.serie) = .T.• SET ORDER TO 1
SEEK m.parteELSE
SET ORDER TO 2SEEK m.parte+m.serie
ENDIFREPLACE kardex.canped WITH kardex.canped + 'm.cantidad -
pedidos.cantidadSELECT 6
229
RETURN
PROCEDURE quorySTORE SPACKÍ1.5) TO m.parteSTORE SPACE(15) TO m.dopediSTORE SPACE(OS) to m.fechapSTORE (0) Tn m.statusON KEYACTÍVATE SCREENDO tres
ACTÍVATE WINDOW datosPO show_prgGO TOP@ 04,38 GET m.dopedi PICT '@!15'[3 n5,3fl nKT m.fprhap PICT '@!8'(3 10,28 GET m.parte PICT '(a!15(@ 16,64 GET m.status ;
PROCEDURE setupCLEARSET TALK OFFSET ESCAPE ONSET STATUS OFFSELECT 2USE &MRUTANkardexSET ORDER TO 1
SELECT 3USE &MRUTA\ÍNTERSET RELATION TO ÍNTER.NO_PARTE INTO KARDEX
SELECT 4USE &MRUTA\CONSUMOSET RELATION TO consumo.parte INTO kardexSET ORDER TO 1SET FILTER TO TIPO='IP'
SELECT 13USE &MRUTA\CUENTASSET ORDER TO 1SELECT 6USE &MRUTA\pedidosSET ORDER TO 1SET RELATION TO pedidos.parte INTO kardex
DEFINE WINDOW datos FROM 00,00 TO 20,80 TITLE '<Actualización de Pedidos >' COLOR RGB(O,O,128,192,192,192)STYLE 'S'DEFINE WINDOW LISTA FROM 00,00 TO 20,80 TITLE '< Registro de
Pedidos >' COLOR RGB(O,O,128,192,192,192) STYLE 'S1DEFINE POPUP ÍNTER TITLE 'Intercambiable Ubicación' PROMPT
FIELD ÍNTER.no_INTEr+INTER.ubicACTÍVATE WINDOW listaset order to 1do teclasdo disprintBROWSE NOAPPEND NODELETE NOEDIT NOMENU WINDOW lista FIELDS ;parte :15 :H=' No. Partekardex.descrip :20 ;H=' Descripción ',;
PROCEDURE teclasACTÍVATE' SCREENDO SIETEON KEY LABEL ENTER DO displayON KEY LABEL F6 DO appendON KEY LABEL F7 DO queryON KEY LABEL F8 DO deleteON KEY LABEL F9 «DO modifyON KEY LABEL Fll DO listar
RETURN
FUNCTION vparteSELECT 2GO TOP
IF m.compra=lSET FILTER TO divisa = 'SUC' AND STATUS=1
ELSESET FILTER TO kardex.divisa <> 'SUC' .AND. STATUS=1
ENDIF
DEFINE WINDOW ESCOJE FROM 2,50 TO 10,80ACTÍVATE WINDOW ESCOJEBROWSE FIELDS parte,descrip NOAPPEND NOEDIT NODELETE
DEACTIVATE WINDOW ESCOJESTORE kardex.parte TO m.parteSTORE kardex.serie TO m.serie@ 10,28 SAY m.parte@ 11,28 SAY kardex.descrip@ 12,28 SAY kardex.serie@ 14,28 SAY kardex.unidadSELECT 6
RETURN .t.
FUNCTION veanIF m.cantidad < O .OR. m.cantidad = O
DO standby WITH 'La cantidad de Pedido debe ser mayor ..SELECT 6RETURN . F*.
ENDIF 'SELECT'6
RETURN .T.
PROCEDURE repor2SELECT 2USE kardexSET ORDER TO 1SELECT 3USE ínterSET ORDER TO 1
SELECT 6USE pedidosSET ORDER TO 1SET RELATION TOSET RELATION TO pedidos.parte INTO Kardex,pedidos.parte
INTO ÍnterDEFINE WINDOW REPORTE FROM 10,10 TO 24,70 FILL FILE
'C:\WINDOWS\NUBES.BMP' FONT "arial"
DO WHILE [email protected] ,26 SAY " REPORTE";PICTURE "@I" FONT "arial", 18 COLOR
RGB (O,O, 128,192,192,192);STYLE "BT"
02.5,15 SAY " PEDIDOS PENDIENTES " ;PICTURE "@I" ;FONT "arial.", 18 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
m,status=lm.compra=0@ 5.5,5 SAY "Compra: " FONT 'ARIAL' , 15 COLOR
RGB(O,O,128,192,192, 192) STYLE 'BT'@ 5.5,44 SAY "Status: " FONT 'ARIAL' , 15 COLOR
RGB(O,O,128,192,192,1Q2) STYLE 'BT'@ 5.5,20 GET m.compra ;
PICTURE "@*RVN Local /Exterior";SIZE 1,13,0 FONT 'ARIAL' , 13 STYLE 'BT'
@ 5.5,60 GET m.status ;PICTURE "@*RVN Pendiente ;Recibido " ;SIZE 1,13,0 DISABLE FONT 'ARIAL1 , 13 STYLE 'BT'
@10,20 GET OP FUNCTION "*H \Pantalla ;\Impresora;Salir \ " SIZE 2,3,4 DEFAULT 1
READSET FILTER TO status=l .AND. compra= m.compraDO CASE
CASE op=lREPORT FORM pedidos PREVIEW
CASE op=2REPORT FORM pedidos TO PRINTER NOCONSOLE
CASE OP=3DEACTIVATE WINDOW REPORTEEXITSET FILTER TO
ENDCASEENDDO
SET RELATION TORETURN
FUNCTION DOCPEDPARAM zona, doc,campoSELE 6mcuenta=0anl=" "an=YEAR(DATEÍ))anl=RIGHT(STR{YEAR(DATE())),2)num=ALL'TRIM (doc) +anlnuml=ALLTRIM(doc)+anl+"000"GO TOPDO WHILE !EOF()
IF ALLTRIM(LEFT(pedidos.dopedi, 5))=ALLTRIM(num)mcuenta=mcuenta+l
PROCEDURE edit2STORE 1 TO m.statusSTORE DATE() TO fechapSTORE .T. TO IN_DATE
@ 3,38 GET m.compra PICTURE "@*RHN Local;ExteriorSIZE 1,2,3 DISABLE
@ 4,38 GET m.dopedi PICT '@!15' DISABLE,@ 5,38 GET m.feckap PICT ' / / ' DISABLE@ 10,28 GET m.parte PICT '@!15' VALID VPARTE()@ 13,28 GET m.cantidad PICT '99991 VALID VCAN()@ 16,34 SAY m.canreci PICT '9999'@ 16,64 GET m.status ;PICTURE "@*RVN Pendiente ;Recibido " ;
SIZE 1,13,0 DISABLEREAD
RETURN
PROCEDURE disp_intSELECT 3SET ORDER TO 1SET FILTER TO no_parte=PEDIDOS.parteSELECT 6
RETURN
234
***********
* INGRESO DE MATERIAL REPARADO *
SET PROCEDURE TO ma_librSTORE .T. TO in_prgLILA='FONT "COOPER LT BT ",9( STYLE "T" COLOR B/W+'STORE SPACE(15) TO m.parteSTORE SPACE(15) TO m.serieSTORE SPACEÍ08) TO m.fechaSTORE SPACE{15) TO m.doreci 'STORE O TO m.cantidadSTORE SPACE(IO) TO m.destinoSTORE SPACE(30) TO m.defectosSTORE SPACE(IO) TO m.condiciónSTORE SPACE (09) TO m.statusHIDE WINDOW tituloHIDE WINDOW trabajoDO setupDO WHILE in_prgON ESCAPE STORE .F. TO in_prgKEYBOARD CHR(27)
ENDDOON KEYCLEARDEACTIVATE WINDOW ALLRELÉASE WINDOW datosRELÉASE WINDOW listaSHOW WINDOW tituloSHOW WINDOW trabajoSET FILTER TOSET RELATION TOcióse allRETURNPROCEDURE show_prgCLEAR@ 1,10 SAY "@ 2,10 SAY "@ 3,10 SAY "@ 5,10 SAY "@ 6,10 SAY "@ 7,10 SAY "@ 8,10 SAY "@ 09,10 SAY13 10, 10 SAY
NO.
@ 11,10 SAYRETURN
ParteSerie
DescripciónFecha de SalidaNo. Documento
CantidadDestino
Reporte DefectosCondición
Status
PROCEDURE disp_prg@ 1,32 SAY reparado.parte@ 2,32 SAY reparado.serie@ 3,32 SAY kardex.descrip@ 5,32 SAY reparado.fecha@ 6,32 SAY reparado.doreci@ 7,32 SAY reparado.cantidad@ 7,40 SAY kardex.unidad@ 08,32 SAY reparado.destino@ 09,32 SAY reparado.defectos@ 10,32 GET reparado.condición ;
@ 11,32 GET reparado.status ;PICTURE "@*RHN Pendiente /RecibidoSIZE 1,13,0 DISABLE
RETURN
PROCEDURE display
235
ON KEYSTORE .T. TO in_datACTÍVATE SCREENDO UNOON KEY LADEL F4 DO previousON KEY LABEL F5 DO NextACTÍVATE WINDOW datosDO show_prgDO disp_prgDO WHILE in_dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prg
ENDDODEACTIVATE WINDOW datosON KEYDO teclas
RETURN
PROCEDURE nextSKIP 1IF EOF (}
DO standby WITH 'Fin del Archivo ... Ultimo registro'GO BOTTOM
ENDIFDO disp_prg
RETURN
PROCEDURE previousSKIP -1IF BOFO
DO standby WITH 'Comienzo del Archivo ... es el primer registro*GO TOP
ENDIFDO disp_prg
RETURN
PROCEDURE appendON KEY ,STORE .T. TO in_datACTÍVATE SCREENDO DOSACTÍVATE WINDOW datosSCATTER MEMVAR BLANKDO WHILE in_dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prgDO show_prgDO edit WITH 'A'
IF LASTKEYO = 27STORE .F. TO in_dat
ELSEAPPEND BLANKREPLACE CUENTA WITH M.DORECIREPLACE FECHA WITH M.FECHA
SCATTER MEMVAR BLANKENDIF
ENDDODEACTIVATE WINDOW datosDO teclas
RETURN
PROCEDURE editPARAMETER xindsele 9STORE 1 TO m.status, m.cantidadSTORE 2 TO m.condición
236
STORE .T. TO IN_DATEIF XIND='A'M.DORECI=DORECIB('616')ELSEM.DORECI=REPARADO.DORECIENDIF
DO WHILE IN_DATEON ESCAPE STORE .F. TO IN_DATESTORE .T. TO IN_PRGSTORE SPACEU5) TO M.PARTE
IF XIND = 'A'@ 1,32 GET m.parte PICT '@!15' VALID vparteí)
ELSE@ 1,32 GET m.parte PICT '@!15' VALID vpart(XIND)
ENDIF@ 5,32 GET m.fecha@ 6,32 GET m.doreci PICT '@!15f DISABLE@ 7,32 GET m.cantidad PICT '9999991 disable*VALID vcan(xind)@ 8,32 GET m.destino PICT '@A!10'@ 9,32 GET m.defectos PICT '@X!30P0 10,32 GET m.condición ;
IF NOT{EMPTY(M.PARTE))IF XIND= 'AfAPPEND BLANKENDIFDO ACTUALIZA_KARDEXGATHER MEMVAR
ENDIF 'ENDIF
ENDDOSELE 13RETURN
PROCEDURE actualiza_kardexSELECT 2SEEK m,parteREPLACE kardex.canext WITH kardex.canext - reparado.cantidad +
m.cantidadREPLACE ubic WITH m.destinoREPLACE condi WITH 4SELECT 9
RETURN
PROCEDURE querySTORE SPACEU5) TO m.parteSTORE SPACE(08) TO m,fechaSTORE SPACE(07) TO m.doreciSTORE SPACE(15) TO m.serieSTORE O TO m.StatusON KEYACTÍVATE SCREENDO TRESACTÍVATE WINDOW datosDO show prg
2.17
@ 2,32 GET m.parte PICT '@!15'@ 3,32 GET m.serie PICT '@!15'@ 7,32 GET m.fecha PICT '@!8'@ 8,32 GET m.doreci PICT '@!07'@ 10,32 GET m.status ;
PICTURE "@*RHN Pendiente /Recibido " ;SIZE 1,13,0 COLOR SCHEME 1
ELSESET FILTER TO parte=RTRIM(m.parte) .AND. serie=RTRIM(m.serie).AND. status=m.status .AND. doreci=RTRIM(m.doreci) .AND.
DTOC(fecha)=RTRIM(m.fecha)ENDIFGO TOP ,DO teclas
RETURN
PROCEDURE deleteON KEYSTORE .T. TO in_datACTÍVATE SCREENDO CUATROON KEY LABEL ENTER DO eliminarACTÍVATE WINDOW datosDO show_prgDO disp_prgDO WHILE in_dat
ON ESCAPE STORE .F. TO in_datSTORE .T. TO in_prg
ENDDODEACTIVATE WINDOW datosON KEYDO teclas
RETURN
PROCEDURE eliminarSELECT 2SEEK reparado.parteREPLACE kardex.canext WITH kardex.canext - reparado.cantidadREPLACE kardex.canrep WITH kardex.canrep + reparado.cantidadREPLACE KArDEX.CONDI WITH 1SELECT 9DELETEIF EOF ()
PROCEDURE teclasACTÍVATE SCREENDO SIETEON KEY LABEL ENTER DO displayON KEY LABEL F6 DO appendON KEY LABEL F7 DO queryON KEY LABEL F8 DO deleteON KEY LABEL F9 DO modify
RETURN
FUNCTION veanPARAMETER xiSELECT 2SEEK m.parteIF xi = 'A' .AND. m.cantidad > kardex.canrep
DO standby WITH 'La cantidad de egreso es mayor que la Reparable enel kardex ..."
SELECT 9RETURN . f.
ENDIFIF xi = 'M' .AND. m.cantidad > kardex.canrep+reparado.cantidad
DO standby WITH 'La cantidad de egreso es mayor que la Reparable enle kardex ...'
SELECT 9RETURN . f.
ENDIFSELECT 9RETURN ,t. '
FUNCTION vparteSELECT 2
239
SET FILTER TO ((status=2) .AND. (CONDI=1) )GO TOP1 L' KOlr'O
DO standby WITH 'Este ítem NO tiene No partes ....'SET FILTER TOSELECT 9RETURN .F.
ENDIFSEEK m.parte
IF FOUND()STORE kardex.parte TO m.parteSTORE kardex.ubic TO m.destinoSELECT 2SEEK m.parte+kardex.seri@ 03,32 SAY kardex.serie@ 04,32 SAY kardex.descrlp
SELECT 8RETURN .t.
ENDIFIF .NOT. FOUNDOSET FILTER TO ((status=2) .AND. (CONDI=1) )
DEFINE WINDOW ESCOJE FROM 2,50 TO 10,80ACTÍVATE WINDOW ESCOJEBROWSE FÍELOS parte,descrip NOAPPEND NOEDIT NODELETE
DEACTIVATE WINDOW ESCOJEENDIFSTORE kardex.parte TO m.parteSTORE kardex.ubic TO m.destinoSET FILTER TO •SELECT 2SEEK m.parte@ 02,32 SAY m.parte@ 03,32 SAY kardex.serie(? 04,32 SAY kardex.descrlpSELECT 9
RETURN .t.
FUNCTION vpartPARAMETER xiSELECT 2GO TOPIF xi = 'A'
SET FILTER TO condi= 2ENDIFIF xi = 'M1
SET FILTER TO condi=w4ENDIF
IF EOF()DO standby WITH 'No existen Ítems reparable para envióSET FILTER TOSELECT 9RETURN .F.
ENDIF
SET FILTER TOSEEK m.parteIF FOUNDO .AND. condi=2@ 02,32 SAY serie.no_parte@ 02,32 SAY kardex.serie@ 03,32 SAY kardex.descripSELECT 9RETURN .t.
ENDIFIF .NOT. FOUNDO
IF xi = 'A'
240
SET FILTER TO condi= 2ENDIFIF X,i = 'M' •
SET FILTER TO condi=4ENDI.F
DEFINE WINDOW ESCOJE FROM 2,50 TO 10,80ACTÍVATE WINDOW ESCOJEBROWSE FÍELOS parte,descrip,serie NOAPPEND NOEDIT NODELETE
DEACTIVATE WINDOW ESCOJEENDIFSTORE kardex.serie TO m.serieSTORE kardex.parte TO m.parteSET FILTER TOSELECT 2@ 01,32 SAY kardex.parte f
@ 02,32 SAY kardex.serie@ 03,32 SAY kardex.descripSELECT 9
RETURN .t.
FUNCTION DORECIBparameter docsele 9mcuenta=0anl=" "an=year{date() )anl=right(str(year(dateí) ) ) ,2}num=alltrim(doc} +anlnuml=alltrim(doc)+anl+"000"go topdo while !eof()
if ALLTRIM(LEFT(REPARADO.DORECI,5))=ALLTRIM(NUM)mcuenta=nicuenta+l
PROCEDURE REPOR6SELECT 2USE kardexSET ORDER TO 1SELECT 9USE reparadoSET ORDER TO 1set relation to reparado.parte into Kardex
DEFINE WINDOW REPORTE FROM 10,10 TO 24,70 FILL FILE'C:\WINDOWS\NUBES.BMP' FONT "arial"
ACTÍVATE WINDOW REPORTEDO WHILE .T.clearstore DATE() to FECHA1,[email protected] ,26 SAY " REPORTE";
PICTURE "@I" FONT "arial", 18 COLORRGB(O,O,128,192,192,192);
STYLE "BT"02.5,15 SAY " MATERIAL EN REPARACIÓN " ;
PICTURE "@I" ;FONT "arial", 18 COLOR RGB(O, O,128,192,192,192);STYLE "BT"@5.5,8 SAY "DESDE: HASTA "
241
PICTURE "@I" ;FONT "arial", 14 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
(35.5,20 GET FECHA1 PICT '@8';FONT "arial", 14 COLOR RGB(O,O,128,192,192,192);STYLE "BT"
@5.5,50 GET FECHA2 PICT '08';FONT "arial", 14 COLOR RGB{O,O,128,192,192,192);STYLE "BT"
010,20 GET OP FUNCTION "*H \Pantalla ;\Impresora; Salir \ "SIZE 2,3,4 DEFAULT 1READ
SET FILTER TO (FECHA >= FECHA1 .AND. FECHA <= FECHA2)DO CASE
CASE op=lreport form repar PREVIEW
CASE op=2.report form repar TO PRINTER NOCONSOLE
CASE op-3deactivate window reporteset filter toexit
ENDCASE (
ENDDOset relation to
return
242
ÍNDICE
ANÁLISIS PREVIO
Estudio del sistema actual 1Actividades y estructura de la empresa 3Organigrama Estructural 10Descripción de las funciones de los departamentosde la D.I.A.F 11Documentos existentes 16Documentos internos 16Hoja de recapitulación 16Kardex de materiales aeronáuticos fungióles 17Tarjeta de registro de existencia. 17Documentos externos 18Requerimiento de partes y materiales 18Work order 19Solicitud de entrega y devolución 19Formatos de los documentos 20Ficheros existentes. , 26Utilización de los medios de tratamiento 28Circulación de la información 30Estimación de los costes del sistema 31Critica del sistema actual 31Estudio del nuevo sistema 32Objetivo general 32Objetivos específicos 33Recursos necesarios 35Costos de realización 38
ÍNDICE
ANÁLISIS FUNCIONAL
Planificación .' 40Objetivos del sistema 41objetivos de gestión 41objetivos técnicos 42Tiempos y costes provisionales 43Definición de normativas 44Recursos existentes 46Necesidades y limitaciones 48Diseño del nuevo sistema 50
_ Nivel uno 50™ Nivel dos 55
División del sistema en subsistemas 59Definición de los procesos 59Definición de salidas 68Elección y objetivos de las salidas 69Estudio de los soportes 69Estudio general de la ubicación de las salidas.... 69Estudio de los controles 70Controles directos 70Controles indirectos 70Agrupación de datos y ficheros 71Elección de ficheros 72Estudio de los contenidos 74Estudio de las principales características 74Organigrama funcional , 75Repercusiones del nuevo sistema : 77
ÍNDICE
ANÁLISIS ORGÁNICO
Planificación 78Asignación de códigos 81Selección del lenguaje de programación 98Descripción orgánica de ficheros 99
BIBLIOGRAIA
*
•Manual de FOXPRO 2.6 para Windows, serie MC GRAW-HILL .
• Enciclopedia SALVAT tomo tf 2, ediciones S.A.
• Revista DIRSAT # 37.
• Revista DIRSAT # 14.
• Folleto de la Dirección de la Industria Aeronáutica, mes
de julio de 1997.
• Manual de MS PROJECT.
m> • Trabajo práctico de grado, Karina Dalgo-Nelly Punina,
1997.
• Análisis de Sistemas, Kendall.
• Trabajo práctico realizado en quinto nivel para la el
Hospital General de Cotopaxi, de la materia Ingeniería de