unidad: iztapalapa. división: cbi. carrera: …148.206.53.84/tesiuami/uam5044.pdf · llevar a cabo...
TRANSCRIPT
Unidad: Iztapalapa.
División: CBI.
Carrera: Computación.
Materia: Proyecto Terminal I y 11.
Titulo: Conectividad de base de datos en red.
Fecha: Junio 11 de 1998.
Alumnos:
Gutiérrez Jiménez Felipe. 91224290 Juárez Cid Julio César. 91322488 Vazquez Cerón María De Lourdes. 91324899 Zárate Castillejos Gaspar. 90324876
Asesor:
Ing. Joel Jiménez Cruz.
I
DATOS EN RED.
ASESOR DE PROYECTO. ING. JOEL JIMENEZ CRUZ.
EQUIPO. GUTIERREZ JIMENEZ FELIPE. JUAREZ CID JULIO CESAR. VAZQUEZ CERON MARIA DE LOURDES. ZARATE CASTILLEJOS GASPAR.
En la actual idad las Aplicaciones (Programas diseñados para un uso
especif ico) es tán encaminadas para que puedan conectarse a una variedad
de SERVIDORES. EL conocimiento de la Arquitectura clientelservidor
es fundamental para realizar una aplicación segura y funcional .Como usted
supondrá las bases de dicha arquitectura son
0 Redes de Area Local (LAN).
Una red local es ta formada por dos o más computadoras que disponen de
tar je tas de red, cables de conexión que conectan a una computadora con
otra y uno o más programas uti l izados para la administración del uso de
los recursos de la red en cada computadora . El programa de adminis t ración de red esta divido en tres partes y son las
s iguientes :
1.-Software
la red que además son compart idos por otra personas
2.-Software de Servicio. Permite que el usuario comparta sus
recursos con otros usuarios de l a red.
3 . -Protocolos . Es el “lenguaje” que las computadoras uti l izan para
poder es tablecer la comunicación con otras computadoras de la red
de Cliente . Permite que e l usuario uti l ice recursos de
En relación a ala forma de acceso a los datos se encuentra la
c las i f icación de red t ipo CLIENTE / SERVIDOR.
Conect ividad Abier ta de Bases de Datos (ODBC)
El ODBC se def ine como un protocolo estándar que permite que las
apl icaciones s e conecten a una gran variedad de servidores o archivos de
bases de datos externas . Los controladores ODBC ut i l izados por el
adminis t rador del controlador ODBC permiten acceder SQL server y a
muchos o t ros or ígenes d e datos , incluyendo archivos de tex to y hojas de
calculo de Excel.
El s is tema que a cont inuación s e le presenta t iene como directr iz los
puntos expues tos anteriormente.
i
OBJETIVO DEL PROYECTO
Llevar a cabo el desarrol lo de un s is tema automatizado para la
de los servicios provis tos por aquel las empresas adminis t ración y control
per tenecientes a “Integra Asistencia” dentro de PROLIBER.
Esta apl icación deberá ser diseñada para ser implementada bajo la
plataforma tecnológica actual de PROLIBER consistente en servidores en
red con Windows 95 y lenguaje de programación VISUAL FOXPRO versión
5.0
ESTRATEGIA PROPUESTA DEL PROYECTO S e propone uti l izar como base metedológica para el desarrol lo del
s is tema los s iguientes módulos :
I . Anális is de requerimientos (necesidades)
2 . Diseño funcional ( a l a vis ta prototipo)
3 . Diseño técnico (base, relaciones)
4 . Desarrol lo
5. Pruebas
6. Liberación a producción.
ALCANCE DEL SERVICIO
La presente propuesta s e basa en la información que nos proporciono
el personal de PROLIBER y básicamente s e refiere a lo s iguiente :
Anális is de requerimientos
Bases de datos
0 proveedores que guarda la información de todas las compañías que
darán servicio a Integra Asistencia
registro de casos diar ios
o seguridad para el registro de los gerentes, supervisores y
operadores del s is tema con acceso l imitado de acuerdo al rasgo
correspondiente
ii
Requer imientos func iona les generales
Almacenar y actual izar la información general de las compañías
proveedoras
Selección automática o manual d e la asignación de un proveedor a
un caso
Identificación de cada servicio prestado por proveedor
0 Consul tas y reportes diversos de las bases de datos
0 Mantener un historial de observaciones hechas por los c l ientes o
por el operador que atendió el caso
0 Registro de cada l lamada o acción tomada para el manejo y
solución de cada caso así como el registro de proveedores
ut i l izados para cada caso
0 Identificación de información relevante para el negocio para la
posterior realización de estadís t icas a nivel gerencia1 y direct ivo
Regis t rar y actual izar los “siguientes pasos a seguir” y establecer
un recordatorio automático para los usurarios
Facturación a los proveedores de los servicios prestados según el
período de corte
Requer imientos no func iona les generales
.Definir un acceso l imitado a las bases de datos, según rango
.Definir las posibles interfaces con otros s is temas de PROLIBER
.El s is tema deberá funcionar en red con posibil idad de operación de
dos a t res usuarios simultáneamente
iii
SUMMARY.
MODULO I “Anál i s i s de requerimientos .”
En este modulo encontrará en forma expl íc i ta las necesidades del usuario
final , así como el posible impacto que ocasionará el s is tema ,en su
conjunto, en el desarrol lo de las act ividades diar ias de PROLIBER.
Se consideran los s iguientes aspectos :
Definir el a lcance
o Objet ivo (s) del proyecto plenamente definido (s)
0 Productos esperados identificados
0 Interfaces y/o dependencias con otros s is temas y /o apl icaciones
ident i f icadas
0 Impactos y / o r iesgos identificados
MODULO I1 “Diseño Funcional”
En este modulo s e realiza e l desarrollo conceptual de la apl icación. Para
es to s e real izó un anál is is de los procesos que intervienen, las entradas y
sal idas del s is tema, as í como la presentación (1NTERFACES)para e l
usuario.
Se consideran los s iguientes puntos :
Elaboración del modelo general
0 Procesos identificados
0 Diagrama general del s is tema
Diagrama de f lujo de datos general
Diseño de arqui tectura
Ident i f icar a detal le requerimientos no funcionales
0 Requerimientos de performance
0 Requerimientos de seguridad
Requerimientos de control
0 Requerimientos de integridad
iv
0 Requerimientos de respaldo (opcional)
Definir entradas y sal idas
0 Inventar io de pantalla
0 Layouts de pantal las
0 Inventar io de reportes
0 Layouts de reportes
MODULO 111 “Diseñó técnico”
En este modulo se realiza el desarrol lo de la Base de datos relaciona1 y el
la arqui tectura técnica del s is tema.
También encontrará los s iguiente puntos :
Diseñar arqui tectura técnica
0 Ambiente de sof tware y de hardware
0 Rutinas generales
0 Manejo de errores
Definición de archivos planos y bases de datos
0 Nombres de archivos planos y bases de datos
0 Layouts de archivos maestros
0 Llaves de archivos planos e índices de bases d e datos
0 Diagrama ent idad-relación
Determinar requerimientos d e recursos para la operación
Requerimientos de recursos de computo est imados
Diseñó de pruebas y definición del proceso de instalación
0 Herramientas def inidas
0 Enfoque de pruebas
V
Requerimientos del ambiente de pruebas
0 Tiempos est imados para las pruebas
0 Enfoque de instalación
0 Fuentes de datos identificados
0 Carga inicial de datos def inida
0 Programas y procedimientos de instalación
Diseñó de programas
0 elaboración de especificaciones
MODULO IV “Redes”
En este modulo encontrará un breve estudio, pero muy puntual, de los t ipos
d e redes de telecomunicaciones, es to se realiza con la esperanza de que este
s is tema tenga una extensión hacia una red de t ipo WAN con bases de
datos DISTRIBUIDAS.
vi
DISEÑO TECNICO
Diseño de arquitectura técnica.
Ambiente de software y hardware El equipo utilizado será de plataforma compatible a IBM, con procesador de
arquitectura Intel.
Las computadoras que contarán con acceso al SACSIA tendrán que estar conectadas en red. La red tendrá una arquitectura de estrella.
El sistema y las bases de datos estarán instalados en una sola máquina que cumpla la función de servidor.
Las especificaciones de los equipos que tendrán la función de estaciones de trabajo, servidor e impresora están descritos en el diagrama de arquitectura
La red estará instalada con cable “par trenzado” del tipo 5 y con adaptadores de red Ethernet
Rutinas Generales
sistema La descripción de ellas se realizará dentro del periodo de desarrollo del
Manejo de errores Se contempla tener una rutina que procese todos los errores que pudieran
generarse durante la ejecución del SACSIA y que permita una respuesta al usuario del sistema recomendando, a éste, alguna acción, o simplemente informando que proceso no se llevará a cabo.
Definición de archivos planos y bases de datos
Nombres de archivos planos y bases de datos
Archivo plano: Archivo USUARIOS, donde se encuentra el nombre, clave, etc. de cada
usuario con acceso al sistema. Archivo TABLAS, donde se encuentran resumidos los nombres de todas las
tablas que forman parte de la base de datos del sistema. Archivo TABIND, en esta tabla se encuentran los nombres de los archivos índices así corno la descripción de las llaves de cada tabla
Archivos maestros:
requiere el servicio, datos sobre la asistencia, tipo de asistencia, etc.
datos personales de los proveedores, entre otros.
y texto de bitácora.
Archivo EXPED, que contiene todos los datos referentes al usuario que
Archivo PROVEED, en este se establecen los datos referentes a localización,
Archivo BITACORA, aquí se almacena el folio, clave de usuario, fecha y hora
Archivo CONTEXP, descripción de contactos por expedientes. Archivo PENYALA, descripción de expedientes pendientes y alarmas. Archivo COSTOS, descripción de costos por servicios. Archivo CHEQUES, descripción de cheques a proveedores y contactos.
Catálogos: Archivo PAISES, contiene la clave y descripción de países. Archivo ESTADOS, contiene la clave, descripción y país de los estados. Archivo CIUDADES, contiene la clave, descripción y estado de las ciudades. Archivo MUNICIP, contiene la clave y descripción de municipio, las
Archivo CONTRATO, contiene la clave y descripción del contrato. Archivo AUTOS, contiene la clave y descripción de autos. Archivo SERVREQ, contiene la clave y descripción de servicios requeridos. Archivo TIAS, contiene la clave y descripción de asistencias.
claves correspondientes a país estado y ciudad.
Archivos de detalle: Archivo ASISAUTO, datos referentes al caso tipo automovilístico. Archivo ASISMEDI, datos referentes al caso tipo medico. Archivo ASISLEGAL, datos referentes al caso tipo legal. Archivo ASISHOGAR, datos referentes al caso tipo hogar. Archivo PROVXDES, datos referentes a los proveedores por desempeño. Archivo DETCTO, descripción de detalle de contratos. Archivo MANUALES, descripción de los manuales de procedimientos. Archivo TISEXPRO, detalle los servicios por proveedor. Archivo TISEXEXP, detalle los servicios por expediente.
Archivo de parámetro: Archivo SETUP.DAT, datos referentes al tipo de cambio.
Layout de tablas que conforman la base de datos del sistema.
Password del usuario Dara acceso
TABLA: EXPED íExr>edientes de servicio:)
me ClvUsu me FecHor
Chr 6 Clave del usuario fechahora 8 I Fecha Y hora de recemión de la llamada
me EdaCli me SexCli me DirAsi me TeLuAs1
15 15
me TeLuAs2 me FaLuAs me TeRaAs
Fax del lugar de asistencia Teléfono de Radio del lunar de asistencia
me-C 1 RaAs me PaisAsi
8 3
num
Clave del Radio del lugar de asistencia Clave Daís de donde se solicita la atención
nurn chr c hr Chr
me EdoAsi me CiuAsi
chr chr
num 3 Clave Estado en el cual se solicita la asistencia num 3 Clave ciudad de donde se solicita la asistencia
chr num
me MunAsi me Identi
Edad del cliente Sexo del cliente ZMasc. 2 Fem.
Teléfono 1 lugar de asistencia Teléfono 2 lunar de asistencia ~ 15
num 3 Clave municipio en el que se solicita asistencia C h r 20 Identificación
lme Inciso chr 20 Inciso me IniVig date 8 Fecha inicio de la vigencia me FinVig date 8 Fecha final de la vigencia me FeSaDo date 8 Fecha de salida de domicilio
me DomRes me^ PaiRes me CiuRes
Chr 70 Domicilio residencia del cliente chr 3 Clave del país de residencia del cliente num 5 Ciudad residencia del cliente
Ime FeReDo 1 date I 8 I 1 Fecha de regreso a domicilio
me EdoRes me MunRes me TelResl
num 3 Estado de residencia del cliente num 3 Clave del municipio de residencia del cliente chr 15 Teléfono 1 residencia del cliente
me TelRes2 me FaxRes
Chr 15 Teléfono 2 residencia del cliente c hr 15 Fax residencia del cliente
me-RadRes me ClRaRe
Chr 15 Teléfono radio de residencia chr 10 Clave Radio de residencia
TABLA ASISAUTO (Asistencia Automovilística)
me TipAsi me CvUsUl me-FeHoU1
num 3 Tipo de asistencia Chr 6 Clave usuario quien registra ultimo comentario FechaHor 8 FechaMora del registro del ultimo comentario
me FeHoCi a fechahora 8 Fecha Y hora del cierre del caso
me CoToCi me Asegu
num 10 2 Costo total al cierre del caso chr 25 Compañía aseguradora
TABLA:
da Año da Placa
Nombre dm Folio
num 4 Año del automóvil Chr 10 Placas del automóvil
ASISMED 7
da-color num da-Proble memo(bin
I chr
15 Color del automóvil 4 Descripción del problema que presenta el auto
TABLA: ASISMED (Asistencia médica) Nombre Tipo Long dec Descripción dm Folio chr 17 Año (4)mes(2)dia(2)civctto(2)consec(3)tipo(2) dm-Proble memo(bin 4 Descripción del problema
da Servic da CosIni
(Asistencia médica) Long dec Descripción 17 Año (4)mes(2)dia(2)civctto(2)consec(3)tipo(2)
dm-Proble Descripción del problema
num 3 Servicio que se enviará num 10 2 Costo inicial del servicio
da PagPor da descri
num 1 Servicio pagado por (LA., Cliente ó ambos) chr 20 Descrimión del automóvil
da modelo I chr I20 I Modelo del automóvil
dl Folio dl FeHoSin
Chr 17 Año (4)mes(2)dia(2)clvctto(2)consec(3)tipo(2) fechahora 8 Fecha v hora en aue ocurrió el siniestro
dl LugSin dl Proble
Chr 50 Lugar del siniestro memo 4 Descriríción del Problema
dl Auto dl Año
num 3 Marca del automóvil num 4 Año del automóvil
dl Placa dl Color
chr 10 Placas del automóvil num 15 Color del automóvil
d lNom Abo dl TelAbo
TABLA: ASISHOGA (Asistencia hogar)
chr 50 Nombre del abogado chr 15 Teléfono del abogado
dl PagPor dl descri
num 1 Servicio pagado por (LA., Cliente ó ambos) Chr 20 I Descriiición del automóvil
TABLA: ASISINFO (Asistencia información)
dh-SerReq dh CosIni
num 3 Tipo de servicio a enviar num 10 2 Costo inicial
dh CosFin dh PanPor
nurn 10 2 Costo final num 1 Servicio iíanado ríor í1:A.. Cliente ó ambos)
TABLA: ESTADOS (Catálocro de estados)
ks Clave ks Descri ks -Pais
num 3 Clave del estado Chr 35 Descripción del estado num 3 Clave del pais
ka Clave ka Descri
num 3 Clave de auto Chr 35 Descrimión del auto I
~ ~~
TABLA: SERVREQ (Catálogo de servicios requeridos)
mv Pais mv Estado
num 3 I Clave del país del proveedor num 3 I Clave del estado del Proveedor
mv Ciudad mv MDio
num 3 Clave del ciudad del proveedor num 3 Clave del municiriio
mv Servo mv CvePro rnv Status mv Nombre
num 3 Servicio ofrecido nurn 6 Clave del proveedor char 10 Status (Activo/Inactivo) Chr 50 Nombre del Droveedor
mv RazSoc mv Respon mv Especi mv Calle
chr 50 Razón social Chr 50 Responsable chr 50 Especialidad Chr 30 Calle
mv Entre mv Col
Chr 50 Entre que calles Chr 30 Colonia
mv Tell mv Te12
char 12 Telefono 1 del proveedor char 12 Telefono2 del riroveedor
mv Te13 mv Te14
mvComent I memo(bi 14 I I Comentarios
char 12 Telefono3 del proveedor num 12 Telefono4 del Droveedor
mv Te15 mv Te16
num 12 Telefono5 del proveedor num 12 Telefono6 del Droveedor
mv Celu mv Fax
chr 15 Teléfono celular chr 12 Número de fax
mv Lada mv Radio
nurn 3 I Clave de lada chr 15 1 Teléfono radio
mv RadClv mv RFC
char 10 Clave de radio char 15 RFC
mv Conv mv FirPor
boo1 1 Convenio char 50 Firmado Dor
mv-ResCiv mv-O bser
num 12 2 Responsabilidad civil (Suma asegurada) memo(bi 4 Observaciones n)
mv Nivel mv-NiUso mv HistS mv FecHor
n) char 1 Nivel de servicio (A,B o C) num 2 Nivel de uso (Número de servios diarios) num 5 Histórico del número de servicios fechahora 8 Fecha y hora de corte diario
ps Tipcam ps-DiaAct
num 8 Tipo de cambio FechaHor 8 Fecha/Hora de actualización
dd ClvPro dd-Folio dd Coment
TABLA: PROVXDES Nombre I Tipo I Long I dec I Descripción
(Proveedores por desempeño Bitácora del proveedor)
num 6 Clave del proveedor chr 17 Año (4)mes(2)día(2)clvctto(2)consec(3)tipo(2) memo 4 Desemríeño del Proveedor
dd CveUsu dd - FecHUc
chr 6 Clave usuario quien registra último comentario FechaHor 8 FechdHora del registro del último comentario a
dd mtbase num I 10 12 I Monto base del servicio
mc Serv mc CveCon
num 3 Servicio ofrecido nurn 6 Clave del contacto
mcNombre mc~ RFC
Chr 50 Nombre del contacto Chr 15 RFC de contacto
mc Radio mc RadClv
Chr 12 Teléfono radio char 10 Clave de radio
TABLA: PENYALA
mc Lada mc Coment mc Fechor mc codDos
(Pendientes v alarmas)
num 3 Clave de lada memo Comentarios fechora 8 Fecha del servicio num 5 Código Postal
ma FeHrAc ma UsuDes
fechahora 8 Fecha y hora de activación chr 6 Clave del usuario aue desactivó
ma FeHrDe ma FeHrAD
TABLA: BITACORA
fechahora 8 Fecha y hora de desactivación fechahora 8 Fecha v hora de adicación
(Bitácora)
ma PeDALa ma Mensa¡
Lógico 1 .T. Alarma, .F. Pendiente memo 4 Mensaie de alarma o Pendiente
I I
Nombre Tipo mb-Folio Chr mb ClvUsu Chr
Long dec Descripción 17 Año (4)mes(2)día(2)clvctto(2)consec(3)tipo(2) 6 Clave de Usuario
TABLA: DETCTO
mb FeHoRe mb Texto
(Detalle de contrato )
fechahora 8 Fecha y hora de registro memo Texto de la acción
I I I
Nombre dm Clave dm Descri
dc costsr nun 8 Costo del tipo de servicio requerido dc descri Chr 35 Descripción
Tipo Long dec Descripción num 3 Clave del contrato Chr 35 Nombre del manual
I ~~
dm ClvUsu dm FeHoMo
~~~~~~~
chr 6 Clave de Usuario que modifica el manual fechahora 8 Fecha v hora de modificación
mt Nombre
da clave da ind
TABLA: TABIND (Descriución de Tablas)
num 3 Clave del índice Chr 12 Nombre del archivo índice
dp ClvSer dr, desser
num 3 I Clave del tipo de servicio ~
chr 35 I I Descrinción del tiDo de servicio
dt-folio dt ClvSer dt ClvPro dt Deser dt Despro
TABLA: COSTOS (Costos)
Chr 17 Año (4)mes(2)día( 2)clvctto( 2)consec( 3) tipo( 2) num 3 Clave del tipo de servicio num 7 Clave de proveedor Chr 35 Descripción del tipo de servicio Chr 10 Nombre del proveedor
mh clvpro mh-fec hor
chr 7 Clave del proveedor FechaHor 8 Fecha de solicitud de cheque R
mh impmex mh impusa mh-clvope mh - fhexp
num 10 2 Importeenpesos num 10 2 Importe en dólares chr 6 Clave del operador que solicita cheque FechaHor 8 Fecha y hora de cheque expedido a
TABLA: TIAS (Tipo de asistencia) I Nombre I Tipo I Long I dec I Descripción I kt-clave kt descri
nurn 3 Clave del tipo de asistencia Chr 20 Descritxión de asistencia
Requerimientos de recursos para la operación.
Requerimientos de recursos de cómputo estimados Dichos requerimientos están descritos el diagrama de arquitectura
Diseño de pruebas y definición del proceso de instalación
Herramientas dejinidas Enfoque de pruebas Requerimientos de ambiente de pruebas Tiempos estimados para las pruebas Enfoque de instalación Fuentes de datos identijkadas Curga inicial de datos dejinida Progrumas y procedimientos de instalación
Diseño de programas
Elaboración de especijkaciones
El sistema se forma de diversas interfaces, las cuales son contenedoras de varios objetos, en estos objetos se establecen ciertos procedimientos a ejecutar en su momento, esto es según la actividad del usuario.
Los procedimientos existentes se componen por tres partes:
1. Encabezado: Este describe brevemente y de forma general su labor dentro de
2. Código: Este es lo que se programa y que será ejecutado en su momento
3. 3-Comentarios: Estas son pequeñas descripciones que dan idea para facilitar la
la forma que lo contiene.
desarrollando las tareas.
lectura del código.
Esto es como sigue:
* Archivo: Cat - Auto.SCX * Catalogo de autos. * Movimiento NUEVOpara el catalogo de autos.
Clv - Act = . T. && Desactivación del SubMenu auto del menu Catálogo. && Evitar que el usuario lo abra nuevamente
do form Dlg - Auto && Llamar a la forma que capturará los datos
Count to NR If NR = O Then correspondientes
&& Habilitar y deshabilitar && Los botones
&& Según la cantidad de los ThisForm. Btn Borra. Enabled = . F. ThisForm. Btn-Edita. - Enabled = . F. && registros existentes.
ThisForm. Btn Borra. Enabled = . T. ThisForm. BtnIEdita. Enabled = . T.
Else
EndIf ThisForm. Refresh
Modulo I Análisis de requerimientos
Objetivo del proyecto
Contar con un sistema automatizado para la administración y control de los servicios provistos por aquellas empresas pertenecientes a “Integra Asistencia”
Requerimientos generales
1. Registro en línea de los datos del caso.
2. Seguimiento oportuno a los casos.
3. Obtener información veraz y actualizada de los proveedores.
4. Llevar un seguimiento histórico de los servicios prestados por los proveedores.
5. Consulta de forma inmediata el manual de procedimientos.
6. Consulta de forma inmediata las cláusulas de los diferentes contratos
7. Reportes de adecuados para obtener la información registrada en el sistema
8. Reportes centrales para la administración estratégica y soporte de decisiones.
9. Permitir revisar los costos generados por un servicio en particular, a detalle por
cada proveedor y poder registrar una solicitud de cheque
Productos esperados identificados
El Sistema de Administración y Control de los Servicios de Integra Asistencia (S ACSIA)
Interfaces y/o dependencias con otros sistemas y/o aplicaciones identificadas
Con Microsoft Excel. La posibilidad de accesar las bases de datos del SACSIA para emitir reportes especiales generados directamente por el usuario
Impactos y/o riesgos identificados
Impactos
Rápida respuesta a los usuarios para la asignación de proveedores
Inmediata respuesta a los usuarios para brindarles información completa sobre los
tipos de servicios que se pueden prestar
Completo control de proveedores
Control pleno y consulta amigable del seguimiento a los casos.
Control de los cheque solicitados para los proveedores
Normalización de procesos en la atención de usuarios
Obtención de reportes estratégicos que permitan la toma de decisiones más
rápidamente
Riesgos
0 Sin una capacitación previa a los operadores, la información capturada podría no ser confiable
DISEÑO FUNCIONAL
Elaboración del modelo general
Procesos identificados 1. Registro de expedientes
1.1. 1.2. Asignar servicios al expediente 1.3. 1.4. 1 S.
Permitir altas, bajas y cambios a la base de expedientes
Generación y consulta de bitácora del expediente Asignación de uno o varios proveedores al expediente Registrar pendientes y alarmas
2. Registro de proveedores 2.1. 2.2.
Permitir Altas, Bajas y cambios a la base de proveedores 3.95+143.95Asignar tipos de asistencia que cubre el proveedor
3. Registrar contactos 3.1, 3.2.
Permitir Altas, Bajas y cambios a la base de contactos Asignar tipos de asistencia que cubre el contacto
4. Consulta del manuales de procedimientos
5. Consulta de los diferentes contratos registrados en el sistema
6. Generación de catálogos de información adicional(países, estados, ciudades, etc.) para facilitar y normalizar la captura al operador del sistema
6.1. Generar la solicitud de cheques a los proveedores y contactos correspondientes a los montos de las facturas por los servicios prestados a los clientes Registro de operadores del sistema Altas, bajas y cambios a la información de la base de operadores
6.2. 6.3.
1
4
n
8 U t
I u) N > a
B -1 I ñ
2 B E
e n
.-
0
W -U - D L
t
f
3
N
I T I u-] W [ ri
T
v1 al
c - a
4 Salir
s
t - t
A I
O .- m . 2 A -
O 3
t
I
t
L
A
t
m
im kh
'E .- m
o 'O
.- I:; 4 ; s , - 3 o
3" L
4
L
I I
I L
I
t ' A t
P
t
4 2
t
I t I
a
f
j 2
3
t t- t
n
O o i
Ij
O N
” o”
TK> U
t 111 u o”
o o”
d
r?
A A r 7
A
t 4 4 4 A B
t
,
t
4 4 4 A A
T
c
I I
[ ti O - 1 T r?
g
3
.- Q
n O .T 0
ti O -T
Identificar a detalle requerimientos no funcionales
Requerimientos de performance El sistema estará instalado en una computadora personal que tendrá las
funciones de servidor, desde el cual las estaciones de trabajo accesarán los archivos y el programa ejecutable.
Requerimientos de seguridad
hagan uso del SACSIA. El sistema contempla que se tengan niveles de acceso para los usuarios que
Los niveles son los siguientes: 0 Operador 0 Supervisor
Gerente
El operador tendrá la posibilidad de registrar los casos informados por los usuarios; revisar los expedientes de registrados por otros usuarios; consulta de la bitácora de cada expediente; asignar proveedor o proveedores según sea el caso; consulta de los datos del proveedor; consulta de los diferentes catálogos, consulta al manual de procedimientos; consulta de las cláusulas de los contratos registrados.
El supervisor contará con la posibilidad de moverse con libertad absoluta en cada una de las opciones del sistema. Algunas de la características más importantes son: los movimientos permitidos a los operadores, registro de nuevos operadores, supervisores y personal a nivel gerencial; actualización del tipo de cambio dólares - pesos; impresión de todos los reportes ofrecidos por el SACSIA, autorización de la solicitud de cheques por montos mayores a los establecidos en los contratos; registro de nuevos contratos; de los tipos de asistencia que cubre dichos contratos; modificación a los manuales de procedimientos.
Es importante señalar que el nivel de supervisor solo sea asignado a dos o la responsabilidad de la integridad de la tres personas máximo, ya que
información recae en este nivel.
A nivel gerencial se podrá tener acceso a los reportes estratégicos del sistema
Requerimientos de control El sistema registrará la clave de los usuarios que realicen alguna
modificación (altas, bajas o cambios) a los archivos del sistema. Esto nos
31
permitirá tener el control de las modificaciones incorrectas que pudieran generarse ya sean por equivocación o de manera dolosa.
Requerimientos de integridad La información presentada en los reportes del SACSIA será confiable y real.
Toda la información capturada en el SACSIA quedará registrada tal y como fueron introducidas.
El sistema manejará rutinas de errores para cualquier imprevisto que pudiera presentarse y que no permitiera a los usuarios del SACSIA su uso correcto.
Requerimientos de respaldo El respaldo de la información tendrá que hacerse de manera periódica. El respaldo podrá ser efectuado de dos maneras:
a) El sistema contempla una rutina para respaldar información. b) El respaldo tendrá que realizarse por fuera del sistema y el responsable
será asignado por Integra Asistencia. La recomendación es que dicha persona sea alguien registrado como supervisor
Definir entradas y salidas
Inventario de pantallas
0 Ventana de clave de usuario 0 Mensaje del día para operadores
Menú Asistencia 0 Menú Catálogos
Menú Contabilidad Menú reportes Menú utilidades Salir del sistema
0 Expediente página Llamada 0 Expediente página Lugar de asistencia 0 Expediente página Datos del Cliente 0 Expediente página Caso Automovilístico 0 Expediente página Caso Médico 0 Expediente página Caso Legal 0 Expediente página Caso Hogar 0 Expediente página Caso Información 0 Proveedores página Datos Generales
Proveedores Bitácora del proveedor 0 Proveedores pág. Datos Complementarios
Contactos generales
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Cheques por proveedor Cheques por expedientes Cheques y banco Reporte de expedientes Reporte de expedientes en archivo excel Reporte de proveedores Reporte de proveedores en archivo excel Reporte geográfico Reporte catálogo de países Reporte catálogo de estados Reporte catálogo de municipios Reporte catálogo de ciudades Reporte catálogo de contratos Reporte catálogo de serv. requeridos Reporte catálogo de autos Rep. Total de casos y porcentaje Gráfica de total de casos y porcentaje Rep. Total por tipo de servicio Gráfica total por tipo de servicio Rep. Total por tipo de Ctto.
32
Catálogo de proveedores Catálogo de Países Catálogo de Estados Catálogo de Ciudades Catálogo de Contratos Catálogo de Servicios Requeridos Catálogo de Autos Costos por proveedor Costos por expediente
Gráfica total por tipo de ctto. Captura de usuarios Mensaje a usuarios
0 Tipo de cambio Generador de índices Alarnias Depuración de información Acerca de ..
33
SUMMARY
Modulo I I Catálogos
1.1 Autos 1.2 Bitácora de expedientes 1.3 Cheques 1.4 Ciudades 1.5 Contratos 1.6 Costos 1.7 Estados 1.8 Expedientes 1.9 Manuales de procedimientos I. 1 O Municipios 1.1 1 Países I. 12 Pendientes y alarmas I. 1 3 Proveedores I. 14 Servicios requeridos I. 15 Servicios de proveedores I. 16 Servicios I. 17 Servicios ofrecidos I. 18 Servicios de contratos I. 19 Servicios del expediente 1.20 Usuarios 1.21 Depuración de infoemación
Modulo 11 11 Diálogos
I. 1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9
Alarmas activadas Acerca de ... Inicializar número de servicios de los proveedores Autos Bitácora de proveedores Bitácora de expedientes Búsqueda de expedientes Búsqueda de proveedores Crecimientos por periodos
1.10 Cheque y banco 1.1 1 Ciudad I. 12 Acceso I. 13 Costos y cheques de expedientes
I. 14 Costos y cheques de proveedores I. 15 Contactos para el expedientes I. 16 Contratos da el servicio al caso 1.17 Estados I. 1 8 Expedientes a detalle I. 19 Expedientes por periodo 1.20 Contratos 1.2 1 Servicios 1.22 Importe 1.23 Manuales 1.24 Alarma 1.25 Mensaje del día 1.26 Municipio 1.27 Nuevo mensaje del día 1.28 Países 1.29 Pendientes y alarmas 1.30 Proveedores 1.31 Proveedores por geografía 1.32 Total de expedientes 1.33 Tipos de contratos 1.34 Tipos de servicios 1.35 Servicios del contrato 1.36 Servicios requeridos 1.37 Totales por tipos de servicios I. 3 8 Tipo de cambio 1.39 Usuarios 1.40 Generación de índices 1.41 Mensaje de bitácora 1.42 Reporte de catálogos 1.43 Reporte de cheques 1.44 Reporte de costos 1.45 Reporte de expedientes 1.46 Reporte de proveedores 1.47 Reporte de residencia Asistencia
Modulo 111 111 Menú
111.1 Código del menú 111.2 Asistencia 111.3 Catálogos 111.4 Contabilidad 111.5 Reportes
111.6 Utilerias 111.7 Salir
Modulo IV IV Programas
Iv . 1 Mensajes de error 1v .2 Preparación de alarmas IV.3 estados de objetos para contactos lV.4Estados de objetos para expedientes I v . 5 Estados de objetos para proveedores IV.6 Programa principal I v . 7 Varios
CATALOGOS
AUTOS.
AI inicio y termino de la sección con el catálogo se activa o desactiva la opción del menú correspondiente para evitar una duplicidad del catálogo, así como el ordenamiento por su segundo índice.
Form (CatAuto)
0 Init SET DELETE ON SELECT "Autos" SET ORDER TO 2 GO TOP
Load AutoAct = .T.
UnLoad Auto - Act = .F.
Contenedor de las respectivas tablas a manipular. Data Environment
Autos
El catálogo cuenta con un grid para la presentación de los datos de la tabla. Gr-Auto
Altas, para esto se hace la llamada al dialogo de captura de datos (Dlg-Auto) y con la referencia que es una alta mandandole un 1. 0 BtnNuevo DO FORM Dlg Auto WITH I
THISF0RM.grAuto.SETFOCUS THISFORM REFRESH
Modificaciones, de igual forma se hace la llamada al dialogo de captura de datos (Dlg - Auto) y el 3 hace referencia a una modificación.
Btn-Edita LOCAL nNumAuto nNumAuto = KA CLAVE DO FORM dlg Auto WITH 3, nNumAuto THISFORM REFRESH Bajas, esta operación se lleva a cavo mediante una confirmación del operador y la clave como parametro para la eliminación.
Btn-Borra LOCAL nNumAuto nNumAuto = KA CLAVE IF MESSAGEBOX("Desea BORRAR el Auto No.: "+;
STR (nNumA uto), 4 + 48, "i i i PR ECA UCIO SET ORDER TO I
SEEK nNumAuto IF FOUND()
ENDIF SET ORDER TO 2 THISFORM REFRESH THISFORM. Gr - Auto. SETFOCUS
DELETE RECORD RECNOO
ENDIF
Salir, aquí se cierra el catálogo. Btn-Salir
SET FILTER TO RELEASE nNumAuto THISFORM. Release
BITACORA DE EXPEDIENTES
I
Cada expediente cuenta con un conjunto de bitácoras que se recopilan conforme avanza el caso, al inicio de la sección se muestra las bitácoras del expediente actualmente visualizado.
Form (Cat-Bita)
0 Init PARAMETER Folio Set Century On Set Delete on Set Date To British Select "Bitacora" Public Bit-Folio Store Folio To Bit-Folio Set Filter To MB-Folio = Bit-Folio Go Top If nhrivípe = 3 .OR. nNivOpe = 5
EndlF ThisForm. Refresh
ThisForm. Btn-Nuevo. Enabled = . F.
0 UnLoad Set Filter To
Contenedor de las respectivas tablas a manipular. 0 Data Environment Bitacora
El catálogo cuenta con un grid para la presentación de los datos de la tabla. 0 Gr-Bita
Altas, para esto se hace la llamada al dialogo de captura de datos (Dlg-Bita), 0 BtnNuevo Do Form Dlg Bita Th isFornz. Repes h
Salir, aquí se cierra el catálogo. 0 Btn Salir Set Filt; To ThisForm. Release
CATALOGO DE CHEQUES.
Cada expediente cuenta con un conjunto de cheques que se recopilan conforme avanza el caso, al inicio de la sección se muestra los cheques del expediente actualmente visualizado. Este catalogo también puede ser consultado para un proveedor en particular, esto se maneja mediante el filtro.
Form (Cat-Bita)
0 Init PARAMETERS Pro-Exp, Clv-Fol Public Tipo, Clave Set Century On Set Delete on Set Date To British Tipo = Pro-Exp Clave = Clv Fol Select "Che<ue" IfTipo = I
Else Set Filter To MH-Folio = Clave
If Tipo = 2
EndIF Set Filter To MH-ClvPro = Clave
EndIF Go Top I f EOfO
ThisForm. Bln - Exped. Enabled = . F.
ThisForm. Btn - Exped. Enabled = !MH-Expedido Else
EndIf ThisForm. Refresh
Contenedor de las respectivas tablas a manipular. 0 Data Environment Cheque
El catálogo cuenta con un grid para la presentación de los datos de la tabla. 0 Gr-Cheq
Al posicionarse en cualquiera de las celdas se actualiza el estado del botón expedición de cheque. 0 AfterRowColChange LPARAMETERS nColIndex ThisForm. Btn Exped. Enabled = !MH - Expedido This Form. Repesh
Expedición del cheque. 0 Btn-Cheq Do Form Dlg ChBa If MH-NumCZe O .AND. !Empíy(MH-Banco)
Replace MH-Expedido With . T. Replace MH FHExp With Daterime() Replace MH-Cont With cClvOpe Table Update3 =Message Box ('Cheque expedido 64) This. Enabled = . F.
EndIF
Cerrar, aquí se cierra el catálogo. 0 Btn-Cerrar Set Filter To ThisForm. Release
CIUDADES.
El catálogo de ciudades viene definido por su clave de estado y de país siendo ordenamiento por su descripción.
Form (Cat-Ciu)
0 Init SET DELETE ON SELECT "CIUDAD" SET FILTER TO KD PAIS = nClvPai .AND. KD - ESTADO = nClvEdo SET ORDER TO "nombre" GO TOP IF IProvee
THISFORM.Btn Nuevo. Visible = .F. THISFORM. Btn-Edita. Visible = .F. THISFORM BtnBorra. Visible = . F. THISFORM. BtnProve. - Visible = . T.
ENDIF
Contenedor de las respectivas tablas a manipular. 0 Data Environment Ciudad
El catálogo cuenta con un grid para la presentación de los datos de la tabla. Gr-Auto
Mediante un doble click se hace la llamada a la forma Cat - Mun ()contenedor de los municipios de esta ciudad.
PUBLIC nClvCiu, cNomCiu nClvCiu = kd clave cNomCiu = kd descri DO FORM CaCMun THISFORM. REFRESH
DblClick (para todas las columnas)
Altas, para esto se hace la llamada al dialogo de captura de datos (Dlg-Ciu) y se le hace referencia que es una alta con el valor 1 0 BtnNuevo DO FORMdlg Ciu WITH I THISFORM REFRESH THISFORMgr - Ciu.SETFOCUS
Modificaciones, de igual forma se hace la llamada al dialogo de captura de datos (Dlg-Ciu) y el 3 hace referencia a una modificación.
Btn-Edita LOCAL nNumCiu nNumCiu = KD-Clave DO FORM dlg-Ciu WITH 3, nNumCiu THISFORM REFRESH
Bajas, esta operación se lleva a cavo mediante una confirmación del operador y la clave como parametro para la eliminación.
BtnBorra LOCAL nNumCiu nNumCiu = THISFORM. Gr Ciu. Columnl. Textl. Value IF MESSAGEBOX("Desea EORRAR la Ciudad No. : "+STR(nNumCiu), 4+48, "i i i PRECAUCION !!!'y = 6
SET ORDER TO '%lave" SEEK nNumCiu IF FOUND()
ENDIF SET ORDER TO "nombre" THISFORM REFRESH THISFORM. Gr - Ciu.SETF0CUS
DELETE RECORD RECNOO
ENDIF
Salir, aquí se cierra el catálogo. Btn-Salir
SET FILTER TO RELEASE nClvCiu, cNomCiu THISFORM. Release
Lllamada al catálogo de los servicios 0 Btn-Prove DO FORMCat - Serv WITH "", "S", 3
CONTRATOS.
El catálogo de contratos puede ser consultado o modificado, esto viene definido por el parámetro que recibe. 0 Form (CatCont)
0 Init PARAMETERS lRevisa SET DELETE ON SELECT "CONTRA TO" SET ORDER TO "clave" GO TOP IF lRevisa
THISFORM Btn-Nuevo. Visible = , F. THISFORM. Btn Edita. Visible = .F. THISFORM BtnBorra. Visible = . F. THISFORM Btn-TipSer. - Visible = . T.
ENDIF
Contenedor de las respectivas tablas a manipular Data Environment
Contrato
El catálogo cuenta con un grid para la presentación de los datos de la tabla. Gr-Cont
Altas, para esto se hace la llamada al dialogo de captura de datos (Dlg-Cont) y se le hace referencia que es una alta con el valor 1
Btn-Nuevo DO FORM dlg-Cont WITH I THISFORM. REFRESH THISFORM. gr-Cont. SE TFOC US
Modificaciones, de igual forma se hace la llamada al dialogo de captura de datos (Dig-Cont) y el 3 hace referencia a una modificación. 0 Btn-Edita LOCAL nNumCon nNumCon = kcclave DO FORM dlg-Cont WITH 3, nNumCon
Bajas, esta operación se lleva a cavo mediante una confirmación del operador y la clave como parámetro para la eliminación. 0 BtnBorra LOCAL nNumCon nNumCon = kc-clave IF MESSAGEBOX("Desea BORRAR el Contrato No. : "+STR(nNumCon), 4+48, "ii i PRECAUCION !!!'y = 6
SEEK nNumCon IF FOUND()
ENDIF THISFORM. REFRESH THISFORM Gr-ContSETFOCUS
DELETE RECORD RECNOO
ENDIF
Salir, aquí se cierra el catálogo. 0 Btn-Salir THISFORM Release
Llamada al catálogo de revisión de los servicios. 0 Btn-Prove LOCAL nNumCon, cNomCon nNurnCon = kc clave SEEK nNumCoi cNomCon = CONTRATO. KC-DESCRI DO FORM dlg - RvTiSe WITH nNumCon, cNomCon
COSTOS.
El catálogo de costos puede ser accedido para un expediente, para un proveedor o todos, esto viene definido por el parámetro que recibe.
Form (Cat-Cont)
Init Parameters Tip Par, FolPar Public Clv Fol- Local Monto, Pos, Tipo Set Delete On Set Century On Set Date British Clv-Fol= Fol - Par Monto = O Tipo = Tip Par Select r r ~ o ~ t o s r r If Tipo = I
Else Set Filter To MC Folio = Clv Fol
If Tipo = 2
EndIF
- -
Set Filter To MC ClvPro = Clv Fol - -
EndIf Go Top If E m
This. Btn Editar. Enabled = . F. This. BtnICheque. Enabled = . F.
Do While !Eof(l Monto = Monto + MC-ImpMex Skip EndDo ThisForm. Txt MonMex, Value = Monto ThisForm. TxcMonUSA. - Value = Monto /Setup. PS-TipCAm Go Top
Else
EndIF If nNivOpe = 3 . OR. nNivOpe = 5
ThisForm. Btn Editar. Enabled = .F. ThisForm. Btn-Cheque. - Enabled = .F.
EndIF This Form. Re fresh
Contenedor de las respectivas tablas a manipular. Data Environment
costo Setup Cheque
El catálogo cuenta con un grid para la presentación de los datos de l a tabla. Gr-Costos
AI posesionares en cualquiera de las celdas se actualiza el estado del botón solicitud de cheque. 0 AfterRowColChange L PA RA METERS n ColIndex IfMC FecHor != {)
Else
EndIF If Costos. MC-ImpMex> O .AND. !MC-Pagado
Else
EndIF ThisForm. Refresh
ThisForm. Btn - Editar. Enabled = . F.
ThisForm. Btn - Editar. Enabled = . T.
ThisForm. Btn - Cheque. Enabled = . T.
ThisForm. Btn - Cheque. Enabled = . F.
El operador puede editar los datos del cheque que posteriormente será solicitado. 0 BtnEdita Local Monto, Pos Monto = O Do Form Dlg Imp0 With RecNoO Select ftCosto?I If!Emp&(MC-FecHor)
This. Enabled = . F. EndIF Pos = RecNoO Go Top Do While !Eofo
Monto = Monto f MC-ImpMex Skip
EndDo ThisForm. Txt MonMex. Value = Monto ThisForm. TxcMon - USA. Value = Monto / Setup. PS - TipCAm Go Pos ThisForm. Refresh ThisForm. Gr - Costos. SetFocus
Solicitud del cheque y terminación de la edición de los datos. Btn-Cheque
Local Folio, ClvPro, ImpMex, ImpUSA Folio = Costos. MC Folio ClvPro = Costos.MC ClvPro ImpMex = Costos.MC ImpMex Imp USA = Costos. MC- - Imp USA Select trCostos" Replace MC Pagado With . T. Table Update-) Select Y'heque'' Append Blank Replace MH Folio With Folio Replace MH-ClvPro With ClvPro Replace MH-FecHor With DateTimeO Replace MH-ImpMex With ImpMex Replace MH-Imp USA With Imp USA Replace MH-ClvOpe With cClvOpe Table Update0 ThisForm.Btn Cheque.Enab1ed = .F. ThisForm. B t n d i t a r . Enabled = .F. This Form. Re f.esh =Message Box("Cheque solicitado", 64) ThisForm. Gr - Costos.SetFocus
Salir, aquí se cierra el catálogo. Btn-Salir
ThisForm. Release
ESTADOS.
El catálogo de estados viene definido por su clave de país siendo ordenamiento por su descripción.
Form (Cat-Edo)
Init SET DELETE ON SELECT "ESTA DOS" SET FILTER TO KS-PAIS = nClvPai SET ORDER TO "NOMBRE" GO TOP IF IProvee
THISFORM Btn Nuevo. Visible = . F. THISFORM Btn-Edita. Visible = .F. THISFORM Btn-Borra. Visible = . F. THISFORM BtnProve. - Visible = . T.
ENDIF
Contenedor de las respectivas tablas a manipular. 0 Data Environment Estados
El catálogo cuenta con un grid para la presentación de los datos de la tabla. Gr-Edo
Mediante un doble click se hace la llamada a la forma (Cat-Ciu) contenedor de los municipios de esta ciudad.
PUBLIC nClvEdo, cNomEdo nClvEdo = KS CLAVE cNomEdo = KF-DESCRI DO FORM CatCiu THISFORM. REFRESH
DblClick (para todas las columnas)
Altas, para esto se hace la llamada al dialogo de captura de datos (Dlg-Edo) y se le hace referencia que es una alta con el valor 1
BtnNuevo DO FORMdlg Ed0 WITH I
THISFORM gr - edo. SETFOCUS THISFORM REFRESH
Modificaciones, de igual forma se hace la llamada al dialogo de captura de datos (DlgEdo) y el 3 hace referencia a una modificación.
Btn-Edita LOCAL nNumEdo nNumEdo = KS Clave DO FORM dlg - %do WITH 3, nNumEdo
Bajas, esta operación se lleva acabo mediante una confirmación del operador y la clave como parámetro para la eliminación.
BtnBorra LOCAL nNumEdo nNumEdo = KS-CLAVE IF MESSAGEBOX("Desea BORRAR el Estado No.: "+STR(nNumEdo), 4+48, "iii PRECAUCION !!!'y = 6
SET ORDER TO "CLAVE" SEEK nNumEdo IF FOUND()
ENDIF SET ORDER TO "NOMBRE" THISFORM REFRESH THISFORM. Gr - Mun.SETFOCUS
DELETE RECORD RECNOO
ENDIF
Salir, aquí se cierra el catálogo. Btn-Salir
SET FILTER TO RELEASE nNumEdo, cNomEdo THISFORM. Release
Llamada al catálogo de los servicios Btn-Prove
DO FORM Cat - Serv WITH "", 'Y, 2
EXPEDIENTES.
Al inicio y termino de la sección con el catálogo se activa o desactiva la opción del menú correspondiente para evitar una duplicidad del catálogo, así como el ordenamiento por su segundo índice.
Form (CatExped)
Init Select "Exped" Set Order To "ME - FecHor" Go Top ?f Eof i
This. Btn - Busca. Enabled = . F, EndIf This. Gr - Exped. Refresh
Contenedor de las respectivas tablas a manipular. 0 Data Environment Exped
El catálogo cuenta con un grid para la presentación de los datos de la tabla. Gr-Edo
Mediante un doble click se hace la llamada a la forma (Dlg-Expe), donde se lleva al operador al expediente correspondiente al filio. .F. significa la negación de ir necesariamente al inicio del expediente y el folio es el folio del expediente a mostrar al operador. 0
Local Folio Folio = ME - Folio use Do Form Dlg Expe With .F.,Folio ThisForm. Release
DblClick (para todas las columnas)
Búsquedas, para esto se hace la llamada al dialogo de petición de la clave (Dlg-BuEx). 0 Btn-Busca Public PoReEx PoReEx = RecNoQ DO FORM Dlg - BuEx Go Top Go PoReEx ThisForm. Gr Exped. Refresh ThisForm. Gr-Exped - SetFocus
Salir, aquí se cierra el catálogo. Btn-Salir
ThisForm. release
MANUALES DE PROCEDIMIENTOS.
Al inicio y termino de la sección con el catálogo se activa o desactiva la opción del menú correspondiente para evitar una duplicidad del catálogo, así como el ordenamiento por su segundo índice.
Form (Cat-mnls)
Activate LOCAL RecAct Set Delete On GO TOP RecAct =RECNO() IF EOFO
ThisForm. Btn Borra. Enabled = .F. ThisForm. Btn-Edita. - Enabled = . F.
GO RecAct ThisForm. BtnBorra. Enabled = . T. ThisForm. Btn - Edita. Enabled = . T.
ELSE
ENDIF
Init SET DEFA TO c: IINFOWARE SET MULTILOCK ON =C'URSORSE TPROP("B UFFERING ", 5, "MANUAL ES'? PUBLIC Num Manl, NUE V0,nHisCve
SET ORDER TO I SET DELETE ON GO TOP IF EOFO
SELE MANUALES
ThisForm. Btn Borra. Enabled = . F. ThisForm. Btn-Edita. - Enabled = . F.
ThisForm. Btn Borra. Enabled = . T. ThisForm. Btn-Edita. - Enabled = . i?
ELSE
ENDIF
If nNivOpe >2 ThisForm. Btn Nuevo.Enabled = .F. ThisForm. BtnBorra. - Enabled = . F.
EndlF This Form. Re fresh
Contenedor de las respectivas tablas a manipular Data Environment
Manuales
El catálogo cuenta con un grid para la presentación de los datos de la tabla. Gr-Manu
Mediante un doble click se hace la llamada a la forma (Dlg-Manl), donde se lleva al operador A la modificación de la descripción del manual. 0
NUEVO = . F. Num Manl = RECNOQ do .fo;m DIg-Man1 This Form. Refves h
DblClick (para todas las columnas)
Altas, para esto se hace la llamada al dialogo de captura de datos (Dlg - Manl) y con la referencia que es la clave del operador. 0 BtnNuevo NUEVO = .T. do-form Dlg-Man1 WITH cClvope ThisForm. Refresh
Modificaciones, de igual forma se hace la llamada al dialogo de captura de datos (Dlg-Manl) y el 3 hace referencia a una modificación. 0 Btn-Edita NUEVO = . F. Num Manl = RECNOO DO FORM Dlg-Man1 WITH cClvope THISFORM REFRESH
Bajas, esta operación se lleva acavo mediante una confirmación del operador y la clave como parámetro para la eliminación.
BtnBorra LOCAL RecAct ResDel =MESSAGEBOX('Esta seguro de eliminar el Manual?! 4+32, "Manual')) IF ResDel=6
Delete =Table Update (. T.)
ENDIF GO TOP RecAct =R ECNOO IF EOFO
ThisForm. Btn Borra. Enabled = , F. ThisForm. Btn-Edita. - Enabled = . F.
GO RecAct ELSE
ENDIF ThisForm. Refresh
Salir, aquí se cierra el catálogo. Btn-Salir
ThisForm. release
MUNICIPIOS.
El catálogo de municipios viene definido por su clave de ciudad, estado y de país siendo ordenamiento por su descripción.
Form (Cat-Mun)
0 Init SET DELETE ON SELECT "MUNICIP" SET FILTER TO KM PAIS = nClvPai .AND. KM-ESTADO = nClvEdo .AND.
SE?-ílRDER TO "nombre" GO TOP IF Provee
KM CIUDAD = nClvCiu
THISFORM. Btn Nuevo. Visible = . F, THISFORM. Btn-Edita. Visible = . F. THISFORM. BtnBorru. Visible = . F. THISFORM. Btn - Prove. Visible = . T.
ENDIF
Contenedor de las respectivas tablas a manipular. Data Environment
Municip
El catálogo cuenta con un grid para la presentación de los datos de la tabla. Gr-Mun
Mediante un doble click se hace la llamada a la forma (Cat - Serv ) contenedor de los servicios de e municipio.
PUBLIC nClvMun, cNomMun nClvMun = km clave cNomMun = km - descri IF Provee
ENDIF THISFORM REFRESH
DblClick (para todas las columnas)
DO FORMCut - Serv WITH "'t 'Y, 5
Altas, para esto se hace la llamada al dialogo de captura de datos (Dlg-Mun) y se le hace referencia que es una alta con el valor 1
Btn Nuevo DO FORM dlg-Mun WITH 1 THISFORM REFRESH THISFORM gr-mun. SETFOCUS
Modificaciones, de igual forma se hace la llamada al dialogo de captura de datos (Dlg-Mun) y el 3 hace referencia a una modificación. 0 Btn-Edita LOCAL nNumMun nNumMun = KM Clave DO FORM d l g - k n WITH 3, nNumMun
Bajas, esta operación se lleva acabo mediante una confirmación del operador y la clave como parámetro para la eliminación. 0 BtnBorra LOCAL nNumMun nNumMun = kmclave IF MESSAGEBOX("Desea BORRAR el Municipio No. : 'I+;
STR(nNumMun), 4+48, "i j i PRECAUCION !!!'y = 6 SET ORDER TO "clave ' I
SEEK nNumMun IF FOUND()
ENDIF SET ORDER TO "nombre" THISFORM. REFRESH THISFORM. Gr - Mun.SETFOCUS
DELETE RECORD RECNO()
ENDIF
Salir, aquí se cierra el catálogo. Btn-Salir
SET FILTER TO RELEASE nNumMun, cNomMun THISFORM Release
Lllamada al catálogo de los servicios Btn-Prove DO FORMCat - Sew WITH '"1 "Y, 4
PAISES.
Al inicio y termino de la sesión con el catálogo se activa o desactiva la opción del menú correspondiente para evitar una duplicidad del catálogo, así como el ordenamiento por su nombre.
Form (CatgAIS)
0 Init PARAMETERS IProveeI PUBLIC IProvee, nClvPai, nNumPai, cClvEdo, cClvCiu, cClvMun PUBLIC nNumPai, cNomPai, nClvPai, cClvPai, cNomMun pai-act = . T. IProvee = IProveeI SET DELETE ON SELECT "PAISES" SET ORDER TO "nombre" GO TOP IF IProvee
THISFORM. Btn Nuevo. Visible = . F. THISFORM B t n d i t a . Visible = . F. THISFORM BtnBorra. Visible = . F. THISFORM Btn-Prove. - Visible = . T.
ENDIF
UnLoad pai - act = .F.
Contenedor de las respectivas tablas a manipular. 0 Data Environment Paises
El catálogo cuenta con un grid para la presentación de los datos de la tabla. Gr-Mun
Mediante un doble click se hace la llamada a la forma (Cat-Edo ) contenedor de los estados de este país. 0
nClvPai = kp-Clave cNomPai = kp-descri nNumPai =nClvPai DO FORM Cat - Edo
DblClick (para todas las columnas)
Altas, para esto se hace la llamada al dialogo de captura de datos (Dlg-Pais) y se le hace referencia que es una alta con el valor 1 0 BtnNuevo DO FORMdlg Pais WITH I
THISFORM. gr - Pais. SE TFOC US THISFORM REFRESH
Modificaciones, de igual forma se hace la llamada al dialogo de captura de datos (Dlg-Pais) y el 3 hace referencia a una modificación.
Btn-Edita LOCAL nNumPai nNumPai = kp clave DO FORM dlg- - Pais WITH 3, nNumPai
Bajas, esta operación se lleva acabo mediante una confirmación del operador y la clave como parámetro para la eliminación.
Btn-Borra LOCAL nNumPai nNumPai = THISFORM Gr Puis. Columnl. Textl. Value IF MESSAGEBOX('Desea EORRAR el País No. : "tSTR(nNumPai), 4+48, "iii PRECAUCION !!!'y = 6
SET ORDER TO I SEEK nNumPai IF FOUND()
DELETE RECORD RECNOQ ENDIF SET ORDER TO 2 THISFORM. REFRESH THISFORM Gr - PaisSETFOCUS
ENDIF
Salir, aquí se cierra el catálogo. Btn-Salir
RELEASE IProvee pai act = .F. TH?SFORM Release
Llamada al catálogo de los servicios Btn-Prove
LOCAL nTipSer DO FORM Cat - Serv WITH "': 'Y', I
PENDIENTES Y ALARMAS.
La aplicación ofrece al operador un sistema de alarmas, estas están ordenamiento por su primer índice.
Form (Cat-PenAla)
0 h i t PARAMETERS cExpedl PUBLIC cExped, cNumCon Set Century On Set Delete on Set Date To British SELECT 'PENYALA ' SET ORDER TO I IF EMPTY(cExped1)
SET FILTER TO EMPTY(MA-FEHRDE) go top THISFORM. Btn-Nuevo. Visible = . F. THISFORM Btn-Edita. Visible = .F. THISFORM Btn - Expedi. Visible = . T.
cExped = cExpedl SET FILTER TO MA-FOLIO = cExped SET ORDER TO 3 GO BOTTOM cNumCon = MA-CONSEC SET ORDER TO 1 GO TOP
ELSE
ENDIF If nNivOpe = 3 .OR. nNivOpe = 5
EndIF THISFORM. REFRESH
ThisForm. Btn - Nuevo. Enabled = , F.
Contenedor de las respectivas tablas a manipular. Data Environment
PenYAla
El catálogo cuenta con un grid para la presentación de los datos de la tabla. Gr-PenAla
Altas, para esto se hace la llamada al dialogo de captura de datos (Dlg-PenAla) y con la referencia que es una alta mandándole un 1.
BtnNuevo DO FORMdlg PenAla WITH I
THISFORM gr - PenAla. SETFOCUS THISFORM. REFRESH
Modificaciones, de igual forma se hace la llamada al dialogo de captura de datos (Dlg-PenAla) y el 3 hace referencia a una modificación. 0 Btn Edita lOCAL CNumCon cNumCon = PENYALA. MA-CONSEC DO FORM dlg PenAla WITH 3, cNumCon
THISFORM. gr - PenA la. SE TFOC US THISFORM REFRESH
Salir, aquí se cierra el catálogo. 0 BtnSalir RELEASE nNumCon, cExped SET FILTER TO THISFORM Release
Manda al usuario directo a detalles de expediente con el respectivo folio. 0 Btn Expedi LOCA LcFolio cFolio = MA FOLIO DO FORMdG - expe WITH $, cFolio
CATALOGO DE PROVEEDORES.
Se cuenta con una lista de proveedores, en esta lista se muestra a los proveedores en general y a los proveedores correspondientes al tipo de servicio solicitado por el expediente, esto se manipula mediante el tipo de acceso y tipo servicio, que son el primero y la ultimo parámetro. El segundo parámetro es la posición en la que debe regresar el cursor.
Form (Cat - Prov)
Init Parameters Tipo, RegNum, Servicio Public Accion, Posicion, Serv Set Delete On Accion = Tipo Posicion = RegNum Serv = Servicio IfAccion = 'TiSeEx'
ThisForm. WindowType = I Select "vi-tisepr "
ThisForm. Gr Prov. RecordSource = '"vi - tisepr " Set Filter To DP - ClvSer = Serv
Select "Proveed" Set Order To "Clave" ThisForm. Gr Prov. RecordSource = "Proveed" ThisForm. Gr-Prov. Columnl. ControlSource = "My CvePro " ThisForm. GrProv. Column2. ControlSource = "MVIStatus " ThisForm. Gr Prov. Column3. ControlSource = "MV-Nombre " ThisForm. GrProv. Columnl. ControlSource = 'íIMv Nivel" ThisForm. Gr-Prov. ColumnS. ControlSource = "W-NiUso " ThisForm. Gr-Prov. - Column6 ControlSource = "My-HisDia - "
Else
EndIf This. Gr-Prov. SetFocus Go Top m ? f O
ThisForm. Btn - Ver. Enabled = . F. EndIf ThisForm. Refresh
Contenedor de las respectivas tablas a manipular. Data Environment
Proveed TiSeXEx TiSeXPro Vi - TiSePr
El catálogo cuenta con un grid para la presentación de los datos de la tabla respectiva. 0 Gr-Prov
A partir del una posición de un renglón del grid el operador tiene la posibilidad de ir a detalle de proveedores, dependiendo del ultimo parámetro dependerá el tipo de acceso a los detalles.
DblClick(para todas las columnas) Local clave IfAccion = 'TiSeEx'
ThisForm. Gr-Prov. Columnl. Textl .SetFocus clave = ThisForm. Gr Prov. Columnl. Textl. Value Do Form Dlg - Prov With clave,l Select "vi - tisepr " thisform.grqrov. recordsource = ''vjtisepr "
Set Filter To vi TiSePr. DP-ClvSer = Serv ThisForm. Refresh
clave = ProveedMV - CvePro Use Do Form D l g r o v With clave, O ThisForm. Release
Else
Endrf ThisForm. Refresh
Misma operación que la anterior. (DblClick) Btn-Ver
Local clave IfAccion = 'TiSeEx'
ThisForm. Gr-Prov. Columnl. Text1,SetFocus clave = ThisForm. Gr Prov. Columnl. Textl. Value Do Form DlgProv With clave,I Select "vi - tisepr " thisform.grqrov.recordsource = "vi tisepr " Set Filter To vi TiSePr. DP - ClvSer LServ ThisForm. Refresh
clave = Pr0veed.W-CvePro Use Do Form Dlg Prov With clave,O ThisForm. Release
Else
Endrf ThisForm. Refresh
Salir, aquí se cierra el catálogo. Btn-Salir
ThisForm. Refresh
SERVICIOS REQUERIDOS.
AI inicio y termino de la sección con el catálogo se activa o desactiva la opción del menú correspondiente para evitar una duplicidad del catálogo, así como el ordenamiento por su segundo índice. 0 Form (Cat-SerReq)
Init SET DELETE ON SELECT "ServReq " SET ORDER TO 2 GO TOP ThisForm. Refresh
0 Load SeRe - Act=.T.
0 UnLoad SeRe - Act = .F.
Contenedor de las respectivas tablas a manipular. 0 Data Environment ServReq
El catálogo cuenta con un grid para la presentación de los datos de la tabla. Gr-SerReq
Altas, para esto se hace la llamada al dialogo de captura de datos (Dlg-SeRe) y con la referencia que es una alta mandándole un 1.
BtnNuevo DO FORM Dlg SeRe WITH 1
THISFORMgr - SerReq. SETFOCUS THISFORM REFRESH
Modificaciones, de igual forma se hace la llamada al dialogo de captura de datos (Dlg-SeRe) y el 3 hace referencia a una modificación.
BtnEdita LOCAL nNumSerReq THISFORM Gr SerReq. Columnl. Textl .SetFocus nNumSerReq =?HISFORM Gr SerReq. Columnl. Textl. Value DO FORM Dlg - SeRe WITH 3, GNumSerReq
Bajas, esta operación se lleva acabo mediante una confirmación del operador y la clave como parámetro para la eliminación.
Btn-Borra LOCAL nNicmSerReq nNumSerReq = THISFORM Gr-SerReq. Columnl. Textl. Value IF MESSAGEBOX('Desea BORRAR el Servicio No. : ' I+ :
STR(nNumSerReq), 4+48, "iii PRECAUCION !!!'y = 6 SET ORDER TO 1 SEEK nNumSerReq IF FOUND()
ENDIF SET ORDER TO 2 THISFORM REFRESH THISFORM. Gr-er Req. SE TFOC US
DELETE RECORD RECNOO
ENDIF
Salir, aquí se cierra el catálogo. 0 Btn-Salir SET FILTER TO RELEASE nNumSerReq THISFORM. Release
SERVICIOS DE PROVEEDORES.
Al inicio y termino de la sección con el catálogo se activa o desactiva la opción del menú correspondiente para evitar una duplicidad del catálogo, así como el ordenamiento por su segundo índice.
Form (Cat-SerPro)
0 Init PARA METERS Par-Clv PUBLIC Clv Pro Store Par CG TO C l v p r o THISFOR%.Caption = 'Clave: " i- AllTrim(Str(C1v - Pro)) SET DELETE ON SET MULTILOCKS ON SET REPROCESS TO 30 SECONDS =CURSORSETPROP(lBUFFERING', 3, 'TiSexPro í, SELECT "ServReq "
SELECT "TiSexPro I' SET ORDER TO I SET FILTER TO DP - ClvPro = Clv - Pro GO TOP IF EOF()
ENDIF If nNivOpe != 3
SET ORDER TO 1
THISFORM Btn - Quita. Enabled= . F.
ThisForm. Btn Asigna. Enabled = .F. ThisForm. Btn-Quita. Enabled = , F. ThisForm. BtnAcepta. Enabled = . F.
EndIF ThisForm. Re fresh
UnLoad Release Clv-Pro
Contenedor de las respectivas tablas a manipular. Data Environment
TiSeXPr SerReq
El catálogo cuenta con un grid para la presentación de los datos de la tabla de los servicios por proveedor. 0 Gr-ProSer
El catálogo cuenta con un grid para la presentación de los datos de la tabla de servicios. Gr-Sew
Asignación de un tipo de servicio a la tabla TiSeXPr BtnAsigna
LOCAL Clave, Descri Clave = ServReq. KR Clave Descri = ServReq. KRDescri SELECT "TiSexPro " APPEND BLANK REPLACE DP-CL VPRO WITH Clv-Pro REPLACE DP ClvSer WITH Clave REPLACE DPDesSer WITH Descri =Table Update() IF THISFORM Btn Quita. Enabled = . F.
ENDIF THISFORM Gr ProSer.SetFocus THISFORM GrProSer. REFRESH
THISFORMTBtn - Quita. Enabled = . T.
THISFORM REFRESH Elimina un tipo de servicio de la tabla TiSeXPr
Btn Quita THISFORM Gr ProSer. SetFocus SELECT "TiSexPro '' DELETE RECORD RECNOO GO TOP =Table Update() IF EOFO
ENDIF THISFORM. Gr ProSer. REFRESH
THISFORM. Btn-Quita. Enabled = . F.
THISFORM REFRESH Cierra la ventana actualizando los cambios hecho en la tabla TiSexPro
Btn-Acepta SELECT "TiSexPro " SETFILTER TO =TABLEUPDATE() THISFORM. RELEASE
Salir, en caso de alguna modificación se revierte y se cierra la forma. Btn-Salir
SELECT "TiSexPro "
IF CURSORGETPROP('bufferingí) != I
ENDIF THISFORM RELEASE
SET FILTER TO
= TABLERE VERT()
SERVICIOS.
Se tiene el catálogos de servicios generales, dependiendo del parámetro se tendrá un acceso de solo lectura para los servicios o de accederá a la tabla de los tipos de ser5vicios por expediente que se manejará dúrate el transcurso del caso.
Form (Cat-Serv)
0 Init Parameters Fol, cProveel, nNivell Public Fol-Exp, cProvee, nNivel Set Delete on Fol-Exp = Fol cProvee = cProveel nNivel = nNivell IF !EMPTY(cProvee)
ELSE
ENDIF
THISFORM. Caption = "Selec. Tipo de Servicio"
THISFORM. Btn - Todos. Visible = . F.
UnLoad Release FolExp
Contenedor de las respectivas tablas a manipular. 0 Data Environment SerReq TiSeXExp
El catálogo cuenta con un grid para la presentación de los datos de la tabla de los servicios. Gr-Sew
Mediante el doble click se lleva hacia los proveedores que ofrecen el servicio actualmente posicionado o se anexa a la tabla de tipos de servicios por expediente, esto será segun el parámetro recibido. 0 DblClick(para todas las columnas) IF EMPTY(cProvee)
Select "TiSexExp" Append Blank Replace DT Folio With Fol Exp Replace DT-ClvSer With ThGForm. Gr-Serv. Columnl. Textl. Value Replace DTDesSer With ThisForm. Gr-Serv. Column2. Textl. Value Pos = RecNo()
DO FORM dlgqrovl WITH nhrivel, SER VREQ. KR-CLA VE ELSE
ENDIF ThisForm. Release
Muestra todos los proveedores que ofrecen el servicio actualmente posicionado. 0 BtnTodos DO FORM dlgqrovl WITH nNivel, ""
Salir, aquí se cierra el catálogo. 0 Btn-Salir ThisForm. Release
SERVICIOS OFRECIDOS.
Se tiene el catálogo de servicios ofrecidos para expedientes, dependiendo del parámetro se tendrá un acceso a ciertos servicios, aunque esto no limita al operador en la selección. 0 Form (Cat-Servl)
0 Init Parameters Fol Public FolExp Set Delete on Fol - Exp=Fol
UnLoad Release FolExp
Contenedor de las respectivas tablas a manipular. Data Environment
ServReq TisexExp Detcto Exped
El catálogo cuenta con un grid para la presentación de los datos de la tabla de los servicios. 0 Gr-Sew
Mediante el doble click se hace el enlace entre los servicios ofrecidos por los proveedores y los tipos de servicio del expediente, haciendo revisión previa de que el expediente cuente con el contraído correspondiente del servicio. 0
Local ClvSer, ClvCon, Dentro Dentro = . F. Select "ServReq " CIvSer = KR clave Select "Exped" Set Order To '%olio" Seek Fol-Exp ClvCon = ME-Contra Se I ect "Det Cto " Scan For DC ClvReq=ClvSer
!fDCIClave = ClvCon
DblClick (para todas las columnas)
Dentro = .T. Exit
EndIF EndScan IfDentro = .F.
asignarlo?", 36) Res =MessageBox("Este servicio no esta dentro del contrato del expediente. 2 Desea
IfRes = 7
EndIF Return
EndIF Select "TiSexExp" Append Blank Replace DT Folio With Fol-Exp Replace DT-ClvSer With ThisForm. GrServ. Columnl. Textl. Value Replace DTDesSer With ThisForm. Gr - Serv. Column2. Textl. Value Pos = RecNo() ThisForm. Release
Salir, aquí se cierra el catálogo. Btn-Salir
ThisForm. Release
SERVICIOS DE CONTRATOS.
Se recibe los datos del contrato como parámetro, estos son la clave y la descripción del mismo. Sc hace la carga en buffer optimista por registro.
0 Form (Cat-Tiseco)
0 Init PARAMETERS nNumConl, cDesCon PUBLIC nNumCon THISFORM. Caption = "Contrato: tt+cDesCon SET DELETE ON SET MULTILOCKS ON SET REPROCESS TO 30 SECONDS =CURSORSETPROP('BUFFER ING ', 3, 'DETCTO 9 nNumCon = nNumConl SELECT "SERVREQ" SET ORDER TO "clave" SELECT "DETCTO" SET ORDER TO 1 SET FILTER TO DC-CLAVE = nNumCon GO TOP IF EOFO
ENDIF THlSFORM. REFRESH
THISFORM Btn-Quita. Enabled= . F.
Contenedor de las respectivas tablas a manipular. 0 Data Environment ServReq DetCto
El catálogo cuenta con un grid para la presentación de los datos de la tabla de los servicios del contrato.
Gr-TiSeCo
El catálogo cuenta con un grid para la presentación de los datos de la tabla de servicios. Gr-TipSer
Asignación de un tipo de servicio a la tabla ServReq 0 BtnAsigna LOCAL nNuTiSe nNuTiSe = SER VREQ. KR CLA VE && THISFORM. Gr-TipSer. Columnl. Textí. Value cDeTiSe = SER VREQ. KRIDESCRI && THISFORM Gr-TipSer. Column2. Textl. Value SELECT "DETCTO" APPEND BLANK REPLACE DETCTO.DC-CLAVE WITH nNumCon REPLACE DETCT0.De CLVREQ WITH nNuTiSe REPLACE DETCTO.DCIDESCRI WITH cDeTiSe THlSFORM Gr-TiSeCo. Column3. text1 SETFOCUS IF THISFORM Btn-Quita. Enabled = . F.
THISFORM. Btn-Quita. Enabled = . T. ENDIF THISFORM. REFRESH
Elimina un tipo de servicio de la tabla ServReq Btn Quita
DELETE RECORD RECNOQ GO TOP IF EOFO
ENDIF THISFORM. Gr TiSeCo. REFRESH
SELECT I~DETCTO~~
THISFORM. Btn - Quita. Enabled = . F.
T H ~ ~ F ~ R M REFRESH
Cierra la ventana actualizando los cambios hechos en la tabla ServReq Btn-Acepta
Salir, en caso de alguna modificación se revierte y se cierra la forma. Btn-Salir
ThisForm. Release
SERVICIOS DE EXPEDIENTE.
El parámetro nos permite añadir al expediente actualmente visualizado servicios y proveedores mediante las llamadas correspondientes a los diálogos de servicios y proveedores. A añadir un servicio se incrementa el costo del caso, así como el proveedor correspondiente obtiene un nuevo servicio en el día actual.
Form (Cat-Ciu)
Init Parameters Exp-Fol io Public Folio, PosCos, Des Store Exp Folio To Folio Set de 1 e te ¿In Select "TiSeXExp " Set Filter To AIITrim(DT - Folio) = AllTrim(Fo1io) Go Top W O F O
ThisForm. Btn - Borrar. Enabled = . F. EndIF ThisForm. Gr-SerExp. SetFocus If nNivOpe = 3 . OR. nNivOpe = 5
EndIF ThisForm. Re fresh
ThisForm. Btn - Servicio. Enabled = .F.
0 UnLoad Release Folio
Contenedor de las respectivas tablas a manipular. 0 Data Environment TiSeXExp costos
El catálogo cuenta con un grid para la presentación de los datos de la tabla. Gr-SerExp
Para añadir un nuevo servicio se hace mediante el catálogo de servicios ofrecidos por los proveedores, debemos tomar la posibilidad de que el operador cancele la operación y no añada ningún servicio. Se debe tener cuidado de cuando el operador puede salir, borrar, añadir un nuevo servicio o un proveedor. 0 Btn-Servicio
Public Pos Local Res Store RecNoo To Pos Go Top !f EOFO
Res = -I
Store Pos To Res Else
EndIF Do Form Cat - Servl With Folio Go Top If Res!=Pos .And. !Eofo
Go Pos This. Enabled = . F. ThisForm. Btn Proveedor. Enabled = . T. ThisForm. BtnBorrar. Enabled = , T. ThisForm. BtnSalir. - Enabled = .F.
Select "TiSeXExp " Des = DT DesSer PosCos =RecNoo
Else If !&!o
Go Res Endrf
Endq Release Pos ThisForm. Btn Borrar. Enabled = , T. Select "Tisex&p" ThisForm. Refresh ThisForm. Gr - SerExp.SetFocus
Posteriormente de la asignación del servicio se procede a la asignación del proveedor, de la misma forma se ha el control de que botones están habilitados y deshabilitados en un momento dado. 0 Btn-Proveedor Local Cve-Con Public Daservicio, Ctc - Clv, Ctc - Nom,clv - Ser Do Form Dlg - DaSer c tc Clv = o If Daservicio = I
Store TisexExp. DT ClvSer To clv Ser Do Form Cat Prov- With 'TiSeEx'RecNo0, clv - Ser Select "TisexExp 'I Replace Dt-ClvPro With fstrZero (Ctc-Clv, 7) Clave = Ctc - Clv
Do Form Dlg-ConExp With Folio Select "TisexExp " Cve Con = "C" + fstrZero(Ctc Clv, 7) Replace Dt ClvPro With Cve - e o n Clave = c t C c / v
Else
EndIf If c tc Clv> o
Replace Dt DesPro With Ctc - Nom Table UpdaTeo This. Enabled = . F. ThisForm. Btn Borrar. Enabled = . F. ThisForm. BtnServicio. Enabled = . T. ThisForm. BtnSalir. Enabled = . T. Select ftCostosI' Append Blank Replace MC TipAsi With Des Replace MC-Folio With Folio Table Update() If Daservicio = 1
Clave = fstrZero(Ctc Clv, 7) Replace MC - ClvPro With Clave
Cve-Con = "C" -t fstrZero(Ctc Clv, 7) Replace MC-ClvPro With Cve-?on
Else
EndIF Replace MC-NomPro With Ctc-Nom Tableupdate0
EndIf Select "TisexExp " ThisForm. Gr-SerExp. SetFocus ThisForm. Refresh
Bajas, esta operación se lleva acabo mediante una confirmación del operador y se elimina el servicio donde se encuentra colocado el cursor.
Btn Borrar Res = GessageBox("j Esta usted seguro de eliminar este registro?'! 4t32, r'Asistencia'y Select "TisexExp" IfRes = 6
DELETE RECORD RECNO() Table Update() Go Top If EOFO
ThisForm. Btn - Borrar. Enabled = .F. EndIF ThisForm. Btn Servicio. Enabled = . T. ThisForm. BtnIProveedor. Enabled = .F. ThisForm. BtnBorrar. Enabled = .F. ThisForm. Btn - Salir. Enabled = . T.
Endrf ThisForm. Refresh ThisForm. Gr - SerExp.SetFocus Salir, aqui se cierra el catálogo.
Salir, en caso de alguna modificación se revierte y se cierra la forma. Btn-Salir
ThisForm. Release
USUARIOS.
En este catálogo se hacen los movimientos correspondientes a la tabla de usuarios que tendrán acceso al sistema.
Form (Cat-Auto)
Init SET DELETE ON SELECT "Us uar ios " SET ORDER TO "Clave" GO TOP
Load Usu-Act = .T.
UnLoad Usu-Act = . F.
Contenedor de las respectivas tablas a manipular. 0 Data Environment Usuarios
El catálogo cuenta con un grid para la presentación de los datos de la tabla. 0 Gr-Usu
Altas, para esto se hace la llamada al dialogo de captura de datos (Dlg-Usu) y con la referencia que es una alta mandándole un 1. 0 BtnNuevo DO FORM dlg-usu WITH I THISFORM. REFRESH THISFORM.gr-usu. SE TFOCUS
Modificaciones, de igual forma se hace la llamada al dialogo de captura de datos (Dlg-Usu) y el 3 hace referencia a una modificación. 0 Btn-Edita LOCAL nNumUsu nNumUsu = KU CLVUSU DO FORM dlg-isu WITH 3, nNumusu THISFORM REFRESH THISFORM. gr-usu. SETFOCUS
Bajas, esta operación se lleva acabo mediante una confirmación del operador y la clave como parámetro para la eliminación. 0 BtnBorra LOCAL nNumUsu nNumUsu = THISFORM Gr Usu. Columnl. Text]. Value IF MESSAGEBOX('Desea FORRAR el Usuario No.:"+nNumUsu, 4+48, "iii PRECAUCION !!!'y = 6
SET ORDER TO "Clave" SEEK nNumUsu IF FOUND()
ENDIF SET ORDER TO "Nombre" THISFORM. REFRESH THISFORM. Gr - UsuSETFOCUS
DELETE RECORD RECNOO
ENDIF
Salir, aquí se cierra el catálogo. Btn-Salir
THISFORM. Release
DEPURACION DE INFORMACION.
Se tiene a todos los archivos para depurar y a partir de la selección de un o de todos se procede con la operación.
Form (Dep-In0
0 Init Sele tablus
Contenedor de las respectivas tablas a manipular. 0 Data Environment Tablas
El catálogo cuenta con un grid para la presentación de las tablas del sistema. 0 Gr - Info
Mediante el doble click se realiza la operación de la tabla donde este posicionado el cursor actualmente. 0 DblClick Ctabla = mt-Descri Cnombre = mt Nombre && wait wind& "archivo I' + Ctabla ResDep=MESSAGEBOX('Desea depurar la tabla de '+alltrim(Cnombre)+ ' ? ', 4+32, "Depuración 'í) IF ResDep=6
SELECT 2 USE &Cnombre PACK
&& dodep-dat ENDIF =MESSAGEBOX('Archivo depurado ', 0+48, '%in depuración 'y SELE TABLAS
Realiza la operación de depuración para todas las tablas del sistema. BtnTodo
sele tablas go top C'tabla = mtDescri C'nombre = mt Nombre ResDep=MEScAGEBOX('Desea depurar los datos ? ', 4+32, "Depuración '7 do while . t.
IF ResDep =6 SELECT 2 USE átCnornbre PACK
ENDIF sele tablas skip ifesfO
exit endif
enddo sele 2 use =MESSAGEBOX('Datos depurados ', 0+48, "Fin depuración 'í) thisform. refresh
Salir, aquí se cierra el catálogo. Btn-Salir
Th isform. release
Modulo I1 DIALOGOS
ALARMAS ACTIVADAS.
Esta es la presentación de las alarmas activadas del sistema, se hace la revisión del arreglo de las alarmas para realizar esta presentación. 0 Form (Dlg-Aalarma)
0 Init IF ! EMP T Y(aA1arma (I ) )
FOR I = I TO ALEN(aA1arma) thisform.list1 .addlistItern(dtoc(aAlarma(i))+ ; " "+ALLTRIM(STR(HOUR(aAIarma(~))) -+ ":'I-+ : ALL TRIM(STR(MINUTE(aAlarma(Q))) + It: "3- ; ALLTRIM(STR(SEC(aAlarma(i)))), i)
next
thisform. listl. addlistItem('"0 Existen Alarmas activadas", I ) ELSE
ENDIF
Salir del dialogo Btn-Salir
THISFORM RELEASE
ACERCA DE...
Se muestran los datos acerca del sistema. Form (Dlg-About)
Salir del dialogo Btn-Salir
THISFORM RELEASE
INICIALIZAR NUMERO DE SERVICIOS DE LOS PROVEEDORES.
En este dialogo se hace la actualización del numero de servicios de proveedor por el día de hoy. Se abre al iniciar la aplicación y se cierra inmediatamente.
Form (Dlg-AcPr)
0 Init Local SedMN Set Date To British ThisForm. WindowType = I Select "Setup" Go Top If PS DiaAct Date()
Replace PSDiaAct With Date() Table Update() Select "Proveed" Replace All MV HisDia With O = Table Update&
EndIF SegMN = Vul(Sys(2)) ThisForm. Tiempo, Interval = (86400-SegMN) *I 000 ThisForm. WindowType = O This. Refresh
0 Tiempo ThisForm. Visible = . T. ThisForm. WindowType = I ThisForm. Refresh "Inkey(1) Replace All MV HisDia With O =TableUpdate() This. Interval = 86400000 ThisForm. Visible = .F. ThisForm. WindowType = O This Form. Re pes h
CONTROL DE ALARMAS ACTIVADAS.
En esta dialogo se lleva el control de las alarmas activadas del sistema. Form (Dlg-Alar)
GotFocus IF !IPrende
ENDIF THISFORM. RELEASE
init LOCAL n Val LOCAL nNumEle THISFORM WindowType = 1 PUBLIC Prende Prende = .T. PUBLIC ARRAY aAlarma(1) SET PROCEDURE TO C: \INFOWARE\UTILFRA SET DELETE ON SET DA TE TO BRITISH nNumEIe = O aAlarnia(1) = 'I
SELECT PENYALA SET ORDER TO 'WLICAA" setJjlter to maqedala = .t. GO TOP DO WHILE .not. EOFO
IF EMPTY(PENYALA.M-USUDES) nNumEIe = nNumEle + I DIMENSION aA larma(nNumEIe) aAIarma[nNumEIeJ = PENYALA.M-FEHRAP
ENDIF SKIP
ENDDO SET FILTER TO THISFORM. REFRESH IF ALEN(aAlarrna) > = I
IF !EMPTY(aA larma(1)) nVaI = aAlarma(1)-DATETIME0 IFnVaI > O
THISFORM. TIEMPO. INTER VAL = (n Val *1000) THISFORM. WindowType = O THISFORM. REFRESH
ELSE WAIT WINDO W "EL TIEMPO PARA LA PRIMERA ALARMA "+ ; "ESTA PASADO. NO SE PRESENTARAN ALARMS" TIMEOUT 2
IPrende = .F. THISFORM. RELEASE
ENDIF
WAIT WINDOWS "No hay Alarmas Activadas" TIMEOUT2 IPrende = . F. THISFORM. RELEASE
ELSE
ENDIF
WAIT WINDOWS "NO HAYALARMAS PARA ACTIVAR" TIMEOUT 2 IPrende = .F. THISFORM. RELEASE
ELSE
ENDIF RETURN
Tiempo PUBLIC n ValSegTim DO FORM DLG MemAla IF !EMP T Y(aA1arma (1))
n ValSegTim = aAlarma(1)-DATETIME0 THISFORM. TIEMPO. INTER VAL = n ValSegTim * 1 O00
WAIT WINDOW 'Se Terminaron las Alarmas" TIMEOUT 1.5 THISFORM. TIEMPO. INTER VAL = O THISFORM. RELEASE
ELSE
ENDIF Return
AUTOS.
Al inicio y termino de la sección con el catálogo se activa o desactiva la opción del menú correspondiente para evitar una duplicidad del catálogo, así como el ordenamiento por su segundo índice. 0 Form (Dlg-Auto)
Init PARAMETERS nOpl , nNumAuto LOCAL nValPUBLlC nOp
nOp = nopl nVal = O CLOSE DATABASES SET MULTILOCKS ON SET REPROCESS TO 30 SECONDS SELECT '1 utos" SET ORDER TO "CLA VE" IF nOp != 1
SEEK nNumAuto IF FOUND()
THISFORM txt Clave. Value = nNumAuto THISFORM txcDescri. Value = Autos. KA-DESCRI
ENDIF ThisForm. Txt - Clave. Enabled= . F.
ThisForm. Txt Clave. Enabled= . T.
nVa1 = KA CLAVE THISFORktxt Clave. Value = nVal + 1 THISFORM txLDescri. - Value = SPACE(20)
ELSE
GO BOTTOM
ENDIF RETURN
Contenedor de las respectivas tablas a manipular. 0 Data Environment Autos
Almacenamiento de las modificaciones echa en la tabla, los datos se cargan en buffer optimista por registro y se mandan a la tabla fisicamente y se pide confirmación de datos correctos. 0 BtnAcepta = C URSORSE TPR OP ('B UFFER ING ', 3, 'A utos í) SELECT 'Yutos" SET ORDER TO "CLAVE" IF MESSAGEBOX("Están los datos correctos", 4+32+256, 54 TENCION'í) = 7
ELSE THISFORM txt - Clave. SETFOCUS
GO TOP SEEK THISFORM. txt-Clave. Value IF FOUND()
IFnOp = 1
"+STR(THISFORM. txt - Clave. Value), ; =MESSAGEBOX("Ya existe un País con Número:
O+ 32, "PR ECA UCION'Y THISFORM. txt - Clave. SE TFOCUS
ENDIF
ELSE IF nOp = I
APPEND BLANK REPLACE KA - CLA VE WITH THISFORM. txt-Cluve. Value
ENDIF ENDIF REPLACE KA-DESCRI WITH THISFORM txt-Descri. Value = TABLEUPDATE0 SET ORDER TO "NOMBRE" THISFORM. Release 0
ENDIF RETURN
El operador puede abortar la operación, en este caso se revierten los cambios. Btn-Cancelar
IF CURSORGETPROP('buffering7 != 1
ENDIF SET ORDER TO "NOMBRE" THISFORM. releaseo
= TABLERE VER T o
BITACORA DE PROVEEDORES.
Presentación de las observaciones de los proveedores del proveedor seleccionado, esto se realiza mendiante un filtro por la clave del proveedor, se carga en buffer optimista por registro y se mandan los datos a la tabla en cuanto se da aceptar. 0 Form (Dlg-BiPr)
Init PARAMETERS CvPr, Fol PUBLIC Clave, Folio Clave = CvPr Folio = Fol CLOSE DATABASES SET MULTILOCKS ON SET REPROCESS TO 30 SECONDS SELECT r'ProvxDesr' Set Order To I Set Filter To DD - ClvPro = Clave Go Top If Eof i
ThisForm. Btn Inicio. Enabled = . F. ThisForm. BtnAnteri. Enabled = . F. ThisForm. BtnSiguie. Enabled = .F. ThisForm. Btn-Ultimo. - Enabled = . F.
Endrf If nNivOpe != 3
EndIF ThisForm. Refresh
ThisForm. Btn - Nuevo. Enabled = . F.
UnLoad SetFilter To
Se manda el cursor al inicio de la tabla Btn Inicio
Go Top- ThisForm. Refresh
Se manda el cursor uno anterior a la tabla BtnAnteri
If!BOF() Then
Endrf ThisForm. Refresh
Skip -I
Se manda el cursor uno adelante de la tabla. Btn-Siguie
Skip IfEOFO Then
Skip -1 Endg ThisForm. Refresh
Se manda el cursor al final de la tabla. Btn-Ultimo
Go Bottom ThisForm. Refresh
Altas, se crea un nuevo registro y se inicializan los datos restantes. BtnNuevo
Append Blank ThisForm. Txt Folio. Value = Folio ThisForm. TxtClvOpe. Value = cClvOpe THISFORM. Com Folio. Enabled = . T. THISFORM Mem- Coment. Enabled = . í? THISFORM. MemIComent. Value = ""
THISFORM. Txt FecHor. Value = DateTimeO ThisForm. Btn Nuevo. Visible = . F. ThisForm. BtnAcepta. Visible = . í? ThisForm. Btn-Cancel. Visible = . T. ThisForm. Btn-Inicio. Enabled = . F. ThisForm. BtnAnteri. Enabled = .F. ThisForm. BtnSiguie. Enabled = .F. ThisForm. Btn-Ultimo. Enabled = . F. ThisForm. Btn-Salir. Enabled = . F. THISFORM Gem-Coment. SetFocus ThisForm. Refresh
0 BtnCancel Local Pos IF CURSORGETPROP('buffering7 != I
ENDIF THISFORM Mem Coment. Value = ""
THISFORM Txt-FecHor. Value = '"' THISFORM. Com Folio. Enabled = . F. THISFORM MemIComent. Enabled = .F. Count To Pos Go Top
= TABLERE VERT()
@?fO ThisForm. Btn Inicio. Enabled = .F. ThisForrn.BtnAntevi.Enab1ed = .F. ThisForm. Btn-Siguie. Enabled = .F. ThisForm. Btn-Ultimo. - Enabled = . F.
Go Pos Else
EndIf ThisForm. Btn Nuevo. Visible = . T. ThisForm. BtnAcepta. Visible = .F. ThisForm. Btn-Cancel. Visible = .F. ThisForm. BtnSalir. Enabled = . T. This Form. RefTesh
Para salir del dialogo. Btn-Salir
ThisForm. Release
BITACORA DE EPEDIENTES.
Presentación de las observaciones en detalle del expediente actualmente visualizado. En este dialogo solo se acepta o se cancela los detalles de nuevo vienen desde el catalogo. 0 Form (Dlg-Bita)
Altas, se crea un nuevo registro y se inicializan los datos restantes. 0 BtnAcepta Select "Bitacora" Append Blank Replace MB-Texto With ThisForm. Mem-Texto. Value Replace MB FecHor With DateTime() Replace MBIFolio With Bit-Folio Replace MB ClvUsu With ThisForm. Txt - ClvUsu. Value = Table Update 0 ThisForm. Release
En caso de no aceptar la alta se revertir los cambios en el buffer. BtnCancel
ThisForm. Release
BUSQUEDA DE EXPEDIENTES.
Se realiza una búsqueda indexada, se le da la opción al operador de que sea por asegurado, folio o identificación. 0 Form (Dlg-BuEx)
0 Btn-Buscar Local TBus TBus = Upper(AllTrim(ThisForm. Txt-Buscar. Value)) Select "Exped" Go Top Do Case
Case ThisForm. ComBusPor. Value = I Scan For Upper(AlITrim(ME-NomCli)) = TBus
PoReEx = RecNoO ThisForm. Release
Return EndScan
Scan For Upper(%Trim(ME-Folio)) = TBus Case ThisForm. Com BusPor. Value = 2
PoReEx = RecNoQ ThisForm. Release
Return EndScan
Scan For Upper('lTrim(ME-Identi)) = TBus Case ThisForm. Com BusPor. Value = 3
PoReEx = RecNoQ ThisForm. Release
Return EndScan
EndCase =MessageBox("Expediente no encontrado. ", 16) ThisForm. Txt - Buscar.SetFocus
Para salir del dialogo. Btn-Salir
ThisForm. Release
BUSQUEDA DE PROVEEDORES.
Se realiza una búsqueda indexada, se le da la opción al operador de que sea por nombre, clave o RFC. 0 Form (Dlg-BuPr)
0 BtnBuscar Local TBus TBus = Upper(AllTrim(ThisForm. Txt-Buscar. Value)) Select "Proveed" Go Top Do Case
Case ThisForm. Com BusPor. Value = I Scan For Upper(klTrim(MV-Nombre)) = TBus
PoRePr = RecNoO ThisForm. Release
Return EndScan
Case ThisForm. ComBusPor. Value = 2 Scan For W-CvePro = Val(TBus)
PoRePr = RecNoO ThisForm. Release
Return EndScan
Scan For Upper(AllTrim(A4V-RFC)) = TBus Case ThisForm. ComBusPor. Value = 3
PoRePr = RecNoO ThisForm. Release
Return EndScan
EndCase =MessageBox("Proveedor no encontrado. ", 16) ThisForm. Txt - Buscar.SetFocus
Para salir del dialogo. Btn-Salir
ThisForm. Release
CRECIMIENTOS POR PERIODOS.
Se hace la presentación gráfica de los datos mediante msgraph.chart. 0 Form (Dlg - CasTot)
Init THISFORM Txt-hi. VALUE = n Vallni THISFORM. Txt Fin. VALUE = n ValFin THISFORM TxFInc. VALUE = nlncrem #DEFINE CRLF CHR(l,I)+CHR(lO) #DEFINE TAB CHR(9) #DEFINE colíype -41 O0 SET SAFETY OFF create table grafica (grafl g) SET SAFETY ON append blank cGData = "Incremento"+TAB+ dtoc(dFec @)+TAB+ dtoc(dFec-Fin) f CRLF &Data = cGData + '#expedientes'+TAB~tr(nValIni)+TAB+ str(nVa@n)+CRLF THIS. LockScreen = . T. sele grafica append general Grafl class "msgraph. chart" DA TA m. cGData THIS. OleBoundControll. ControlSource = "Grafl " THIS. 0leBoundControll.HasLegend = .F. THIS. OleBoundControll. autoformat(coltype, 1) THIS, LockScreen = . F.
Para visualización de títulos. Chekl
Para visualización de Leyendas. Chek2
0 CmdPrint IF ! USED("Grafica'~
wait window 'Archivo no localizado ' RETURN
ENDIF SELECT grafica REPORT FORM \infoware\Rep - CasTot PREVIEW
Cmdclosel THISFORM. releaseo
CHEQUE Y BANCO.
Se ingresan los datos correspondientes al cheque y al banco, en este dialogo solo se aceptan o cancelan los datos. 0 Form (Dlg-CheBan)
Contenedor de las respectivas tablas a manipular. Data Environment
Cheque
Si el operador decide guardar las modificaciones, entonces se actualiza la tabla. 0 BtnAceCat =Tableupdate() ThisForm. Release
El operador puede abortar la operación, en este caso se revierten los cambios. Btn-Cancelar
=TABLEREVERT(: T.) ThisForm. Release
CIUDAD.
Form(D1g - Ciu)
Contenedor de las respectivas tablas a manipular. Data Environment
Ciudad
Si el operador decide guardar las modificaciones, entonces se actualiza la tabla, vaciándole el buffer optimista por registro sobre ella. 0 BtnAcepta = CURSORSE TPROP ('B UFFER ING ', 3, CIUDAD 7 SELECT CIUDAD SET ORDER TO "clave" IF MESSAGEBOX('Estan los datos correctos", 4+32+256, '!A TENCION'Y = 7
ELSE THISFORM txt - Clave.SETFOCUS
GO TOP SEEK THISFORM. txt - Clave. Value IF FOUND()
IFnOp = 1 =MESSAGEBOX("Ya existe una Ciudad con Número:
"+STR(THISFORM. txt Clave. Value), ; &32, "PRECA UCION'l)
THISFORM txt - Clave. SETFOCUS
REPLACE KD DESCRI WITH THISFORM txt Descri. Value REPLACE KD-PAIS WITH THISFORM txt GvPai. Value R EPLA CE KDIESTA DO WITH THISFOR M%t-Clv Edo. Value =TABLEUPDATE() SET ORDER TO "nombre" THISFORM Release ()
ELSE
ENDIF
IFnOp = 1 ELSE
APPEND BLANK REPLACE KD CLA VE WITH THISFORM txt-Clave. Value REPLACE KD-DESCRI WITH THISFORM txt Descri. Value REPLACE KD-PAIS WITH THISFORM txt &Pai. Value REPLACE KD-ESTADO WITH THISFORMTxt - ClvEdo. Value
SET ORDER TO "nombre" THISFORM. Release ()
=MESSAGEBOX('No existe una Ciudad con Número:
=TABLEUPD~TE()
ELSE
"+STR(THISFORM. txt Clave. Value), ; &32, "PRECA UCION'l)
THISFORM txt - Clave.SETFOCUS ENDIF
ENDIF ENDIF RETURN
El operador puede abortar la operación, en este caso se revierten los cambios. 0 Btn-Cancelar IF CURSORGETPROP('bufferingr) != I
ENDIF SELECT "ESTADOS" SET FILTER TO SELECT "CIUDAD" SET ORDER TO "nombre" THISFORM. release ()
= TABLERE VER T()
ACCESO.
Se ingresan los datos correspondientes al cheque y al banco, en este dialogo solo se aceptan o cancelan los datos. 0 Form(D1g - Clv)
0 Load Public Intentos Intentos = O
Contenedor de las respectivas tablas a manipular. Data Environment
Usuarios
Si el operador decide aceptar, entonces se hace una revisión en la tabla de usuarios buscando la clave recibida, si la encuentra entonces posteriormente revisa si el password coincide, si es así permito el acceso, de lo contrario mando un mensaje de error. No se admiten más de tres errores.
BtnAcepta LOCAL cClvUsu, cPass SELECT USUARIOS SET ORDER TO "CLA VE" GO TOP cClvUsu = ALLTRIM(ThisForm. Txt ClvUsu. Value) cPass = ALLTRIMrhisForm. Txt - pass. Value) Seek cClvUsu IF FOUND() . OR. cClvUsu = "JFF" .AND. cClvUsu != "
I fKU - Pass = cPass .OR. cPass = 'YFF98" thisform. release cClvOpe = cClvUsu cNomOpe = USUARIOS. KU-NOMUSU nNivOpe = USUARIOS. KU - NIVEL DO FORM Dlg Acpr Dlg AcPr. Visible = . F. Dlg-AcPr. - Refresh
DO FORM DlgAlarma Do Form Dlg - Msg
Intentos=Intentos + 1 IfIntentos>2 Then
=MessageBox('Usted no tiene acceso. ', 0+16, "Asistencia'? Quit
=MessageBox('Clave o Password erroneo. Intente de nuevo ', 0+48, "Asistencia'y
ELSE
EndIf
Dlg Clv. Txt ClvUsu. Value = "
Dlg-Clv. TxtPass. Value = " DlgIClv. TxcClv Usu. SetFocus
EndIf
Intentos=Intentos + 1 IfIntentos>2 Then
ELSE
=MessageBox('Usted no tiene acceso. ', 0+16, 'L;istencia'y Quit
EndIf =MessageBox('Clave o Password erroneo. Intente de nuevo 0-l-48, "Asistencia'? Dlg-Clv. Txt ClvUsu. Value = "
Dlg Clv. Txt-Pass. Value = '' DIg-Clv. - TxcClv Usu. SetFocus
EndIj"
El operador puede cancelar, esto dará lugar a salir de la aplicación. Btn-Cancelar
thisform. release Quit
COSTOS Y CHEQUES DE EXPEDIENTES.
Mediante este dialogo se presentará la lista de cheques o costos, esto se define mediante el parámetro Cos-Che.
Form (Dlg-CoChEx)
Init Parameters Cos-Che Public Tipo Tipo = Cos-Che Set Delete On
Contenedor de las respectivas tablas a manipular. 0 Data Environment Exped
Si el operador decide aceptar, entonces se hace una revisión del parámetro y se decide si es cheque o costo.
Btn-Acepta If Tipo = I
Else
EndIF ThisForm. Release
do form cat-Cheq with I , ThisForm. Com-Clave. Value
do form cat - cost with I , ThisForm.Com-Clave. Value
El operador puede cancelar, esto dará lugar a salir del dialogo. 0 Btn-Cancelar
thisform. release
COSTOS Y CHEQUES DE PROVEEDORES.
Mediante este dialogo se presentará la lista de cheques o costos, esto se define mediante el parámetro Cos-Che. 0 Form (Dlg-CoChPr)
Init Parameters fip-Pro Public Tipo Tipo = Exp-Pro Set Delete On Contenedor de las respectivas tablas a manipular.
Data Environment Proveed
Si el operador decide aceptar, entonces se hace una revisión del parámetro y se decide si es cheque o costo.
Btn-Acepta IfTipo = I
Else
EndIF ThisForm. Release
do form cat-cheq with 2,JStrZero(Val(ThisForm. Corn - Clave. Display Value), 7)
do form cat - cost with L,fStrZero(Val(ThisForm. Com - Clave. Display Value), 7)
El operador puede cancelar, esto dará lugar a salir del dialogo. BtnCancelar
thisform. release
CONTACTOS PARA EL EXPEDIENTE.
Se puede anexar un contacto para dar servicio a un caso del expediente, así que es te dialogo mostrará solo el botón de aceptar o cancela. Otra función es de presentar en detalle a todos los contactos y permitiendo los múltiples movimientos en esta tabla. Se realiza una habilitación y des habilitación de los botones correspondientes, esto se maneja con los parámetros. AI dar un registro de alta el sistema establece la clave del contacto. Mediante un contenedor de paginas se despliegan y capturan los datos.
Form (Dlg-CctExp)
0 Init Parameters Fol Local concec Public Folio Folio = Fol Set Delete On Select "ContExp" If Folio = "Total"
ThisForm. WindowType = O Con Act = . T SETORDER TO t'CveConlr Go Top ?f ESfO
ThisForm. Btn Inicio. Enabled = . F. ThisForm. BtnAnteri. Enabled = . F. ThisForm. Btn-Siguie. Enabled = . F. ThisForm. Btn-Ultimo. Enabled = . F. ThisForm. Btn-Nuevo. Enabled = .F. ThisForm. Btn-Edita. Enabled = . F. ThisForm. BtnBorra. Enabled = . F. ThisForm. BtnProv. - Enabled = . F.
IfnNivOpe != 3 .AND. nNivOpe != 1 Else
ThisForm. Btn Nuevo. Enabled = .F. ThisForm. B t n d i t a . Enabled = .F. ThisForm. BtnBorra. Enabled = .F. ThisForm. BtnProv. - Enabled = . F.
EndIF Endrf This. Btn AceCat. Visible = .F. This. BtnICanCat. Visible = . F. This. Datos. Dat Gen. Txt CveCtc. Enabled = . F. This. Datos. Dat-Gen. TxcNombre. Enabled = . F. This. Datos. DatGen. Com Pais. Enabled = . F. This. Datos. DatGen. C o m s t a d o . Enabled = .F. This. Datos. DacGen. Com - Ciudad, Enabled = . F.
This. Datos. Dat-Gen. Com-Munici. Enabled = . F. This. Datos. Dat-Gen. Txí-Calle. Enabled = . F. This. Datos. Dat Gen. Txt-Entre. Enabled = . F. This. Datos. DatGen. Txt-Colon. Enabled = . F. This. Datos. DaCGen. Txt-RazSoc. Enabled = . F. This. Datos. Dat-Gen. Txt-Respon. Enabled = .F. This. Datos. Dat-Gen. Txt-Espes. Enabled = . F. This. Datos. Dat-Gen. Txt-RFC. Enabled = . F. This. Datos. Dat-Gen. Txt-Tell. Enabled = . F. This. Datos. Dat Gen. Txt-Lada. Enabled = . F. This. Datos. DacGen. Txt-CodPos. Enabled = . F. This, Datos. Dat-Com. Txt-Celu. Enabled = . F. This. Datos. Dat-Com. Txt Fax. Enabled = . F. This. Datos. Dat-Com. TxcRadio. Enabled = .F. This. Datos. Dat Com. Txt ClvRad. Enabled = . F. This. Datos. DaCCom.Mem-Observ. Enabled = . F. This. Datos. Dat-Com. Com-TipSer. Enabled = . F.
This. Btn-AceCat. Visible = . T. This. Btn-CanCat. Visible = . T. ThisForm. Btn Prov. Visible = . F. ThisForm. Btn-Inicio. Visible =. F. ThisForm. BtnAnteri. Visible = . F. ThisForm. Btn-Siguie. Visible = .F. ThisForm. Btn-Ultimo. Visible = . F. ThisForm. BtnNuevo. Visible = . F. ThisForm. Btn Borra. Visible = . F. ThisForm. Btn-Edita. Visible = .F. ThisForm. BtnSalir. Visible = . F. ThisForm. Datos. Dat Gen. Txt-Pais. ControlSource = "" ThisForm. Datos. DatGen. Txt-Pais. Value = '"' ThisForm. Datos. DatGen. Txt-Pais. Refresh ThisForm. Datos. D a t Gen. Txt-Estado. ControlSource = '''' ThisForm. Datos. DatGen. Txt-Estado. Value = " I 1
ThisForm. Datos. DatGen. Txt-Estado. Refresh ThisForm. Datos. DatGen. Txt-Ciudad. ControlSource = ""
ThisForm. Datos. DaCGen. Txt-Ciudad Value = '"' ThisForm. Datos. Dat-Gen. Txt-Ciudad. Rej?esh ThisForm. Datos. Dat Gen. Txt Munici. ControlSource = '"' ThisForm. Datos. DatGen. Txt-Munici. Value = "" ThisForm. Datos. Dat-Gen. Txt-Munici.Refresh ThisForm. Datos. Dat-Com. T x t TipSer. ControlSource = "'' ThisForm. Datos. DatCorn. TxtTipSer. Value = ""
ThisForm. Datos. DatCom. - Txt-TipSer. - ReJi.esh Count To concec concec = concec + 1
Else
Modulo I1 DIALOGOS
ALARMAS ACTIVADAS.
Esta es la presentación de las alarmas activadas del sistema, se hace la revisión del arreglo de las alarmas para realizar esta presentación.
Form (Dlg-Aalarma)
0 Init IF !EMPTY(aAlarma(ljj
FOR I = 1 TO ALEN(aA1arma) this form. list 1 . addlis tltem (dtoc (aA larma (i)) -I ; 'I "+ALLTRIM(STR (HOUR (aAlarma(i)jjj +Ir: 'I+ ; ALLTRIM(STR(MINUTE(aAlarma(i)))) I- Ir: Ir+ ; ALL TRIM(STR (SEC(aA larma(i)jjj, i)
next
thisform. list1 .addlistItem("No Existen Alarmas activadas? 1) ELSE
ENDIF
Salir del dialogo 0 Btn-Salir THISFORM RELEASE
ACERCA DE ... Se muestran los datos acerca del sistema. 0 Form (Dlg-About)
Salir del dialogo 0 Btn-Salir THISFORM. RELEASE
INICIALIZAR NUMERO DE SERVICIOS DE LOS PROVEEDORES.
En este dialogo se hace la actualización del numero de servicios de proveedor por el día de hoy. Se abre al iniciar la aplicación y se cierra inmediatamente.
Form (Dlg-AcPr)
0 Init Local SedMN Seí Date To British ThisForm. WindowType = 1 Select "Setup" Go Top If PSDiaAct Date0
Replace PS DiuAct With Date0 TableUpduG0 Select "Proveed" Replace All MV HisDiu With O =TubleUpdute()
EndIF SegMN = Val(Sys(2)) ThisForm. Tiempo. Interval = (86400-SegMN) *I O00 ThisForm. WindowType = O This. Refresh
0 Tiempo ThisForm. Visible = . T. ThisForm. WindowType = 1 ThisForm. Refresh *In key(1) Replace All MV HisDia With O = Tu ble Update 6 This. Interval = 86400000 ThisForm. Visible = . F. ThisForm. WindowType = O ThisForm. Re fresh
CONTROL DE ALARMAS ACTIVADAS.
En esta dialogo se lleva el control de las alarmas activadas del sistema. 0 Form (Dlg-Alar)
0 GotFocus IF !IPrende
ENDIF THISFORM RELEASE
Init LOCAL n Val LOCAL nNumEle THISFORM. WindowType = 1 PUBLIC IPrende Prende = .T. PUBLIC ARRAY aAlarma(1) SET PROCEDURE TO C:\INFOWARE\UTILFRA SET DELETE ON SET DA TE TO BRITISH nNumEle = O aAlarma(1) = 'I
SELECT PENYALA SET ORDER TO "APLICA" setfilter to magedala = .t. GO TOP DO WHILE .not. EOFQ
IF EMPTY(PENYALA.M USUDES) nNumEle = nNumEle +- 1- DIMENSION aA larma(nNumE1e) aAlarma[nNumEle] = PENYALA.MFEHRAP
ENDIF SKIP
ENDDO SET FILTER TO THISFORM. REFRESH IF ALEN(aA1arma) 3 = 1
IF !EMPTY(aAlarma(l)) n Val = aAlarma(l)-DATETIME() IF nVal> O
THISFORM. TIEMPO. INTER VAL = (n Val * I 000) THISFORM. WindowType = O THISFORM. REFRESH
ELSE WAIT WINDOW "EL TIEMPO PARA LA PRIMERA A L A M Ir+ ; "ESTA PASADO. NO SE PRESENTARANALAMS" TIMEOUT 2
IPrende = .F. THISFORM. RELEASE
ENDIF
WAIT WIND0 WS "No hay Alarmas Activadas" TIMEOUT 2 ]Prende = .F. THISFORM. RELEASE
ELSE
ENDIF
WAIT WINDOWS "NO HAY ALARMAS PARA ACTIVAR" TIMEOUT 2 IPrende = .F. THISFORM. RELEASE
ELSE
ENDIF RETURN
0 Tiempo PUBLIC n ValSegTim DO FORM DLG MemAla IF !EMP TY(aA1u~ma (I ) )
n ValSegTim = aAlarma(I)-DATETIME() THISFORM TIEMPO. INTER VAL = n ValSegTim * I O00
WAIT WINDOW "Se Terminaron las Alarmas" TIMEOUT 1.5 THISFORM. TIEMPO, INTER VAL = O THISFORM. RELEASE
ELSE
ENDIF Return
AUTOS.
Al inicio y termino de la sección con el catálogo se activa o desactiva la opción del menú correspondiente para evitar una duplicidad del catálogo, así como el ordenamiento por su segundo índice.
Form (Dlg-Auto)
e Init PARAMETERS nOp 1, nNumAuto LOCAL nValPUBLIC nOp
nOp = nOpl nVal = O CLOSE DATABASES SET MULTILOCKS ON SET REPROCESS TO 30 SECONDS SELECT 'Yutos" SET ORDER TO "CLA VE" IFnOp != I
SEEK nNumAuto IF FOUND()
THISFORM. txt Clave. Value = nNumAuto THISFORM txcDescri. Value = Autos. KA-DESCRI
ENDIF ThisForm. Txt - Clave. Enabled= .F.
ThisForm. Txt Clave. Enabled= . T.
nVal = KA CLAVE THISFORM. txt Clave. Value = n Val + 1 THISFORM txtDescri. - Value = SPACE(20)
ELSE
GO BOTTOM
ENDIF RETURN
Contenedor de las respectivas tablas a manipular. Data Environment
Autos
Almacenamiento de las modificaciones echa en la tabla, los datos se cargan en buffer optimista por registro y se mandan a la tabla fisicamente y se pide confirmación de datos correctos.
BtnAcepta =CURSORSETPROP('BUFFERING ', 3, 'A utos y SELECT "Autos" SET ORDER TO "CLA VE" IF MESSAGEBOX("Están los datos correctos", 4+32+256, "A TENCION'? = 7
ELSE THISFORM. txt-Clave. SETFOCUS
GO TOP SEEK THISFORM. txt - Clave. Value IF FOUND()
IFnOp = I
"+STRflHlSFORM txt-Clave. Value), ; =MESSAGEBOX("Ya existe un Pais con Número:
0+32, "PRECAUCION'r) THISFORM txt-ClaveSETFOCUS
ENDIF
ELSE IFnOp = 1
APPEND BLANK REPLACE KA - CLA VE WITH THISFORM. txt - Clave. Value
ENDIF ENDIF REPLACE KA DESCRI WITH THISFORM txtDescri. Value
SET ORDER TO "NOMBRE" THISFORM. Release ()
=TABLEUPDATE()
ENDIF RETURN
El operador puede abortar la operación, en este caso se revierten los cambios. Btn-Cancelar
IF CURSORGETPROP('buffiringí) != 1
ENDIF SET ORDER TO "NOMBRE" THISFORM. release()
=TABLEREVERT()
BITACORA DE PROVEEDORES.
Presentación de las observaciones de los proveedores del proveedor seleccionado, esto se realiza mendiante un filtro por la clave del proveedor, se carga en buffer optimista por registro y se mandan los datos a la tabla en cuanto se da aceptar. 0 Form (Dlg - BiPr)
0 Init PARAMETERS CvPr, Fol PUBLIC Clave, Folio Clave = CvPr Folio = Fol CLOSE DATABASES SET MULTILOCKS ON SET REPROCESS TO 30 SECONDS SELECT "ProvxDes " Set Order To 1 Set Filter To DD-ClvPro = Clave Go Top !f &!O
ThisForm. Btn Inicio, Enabled = . F. ThisForm.BtnAnteri.Enab1ed = .F. ThisForm. Btn-Siguie. Enabled = .F. ThisForm. Btn-Ultimo. - Enabled = , F.
EndIf If nNivOpe != 3
EndIF ThisForm. Refresh
ThisForm. Btn - Nuevo. Enabled = . F.
UnLoad SetFilter To
Se manda el cursor al inicio de la tabla 0 Btn-Inicio Go Top ThisForm. Refresh
Se manda el cursor uno anterior a la tabla 0 Btn-Anteri If!BOF() Then
Endrf ThisForm. Refresh
Skip -1
Se manda el cursor uno adelante de la tabla. 0 Btn-Siguie Skip WEOF() Then
Skip -1 EndIf This Form. Re fresh
Se manda el cursor al final de la tabla. Btn-Ultimo
Go Bottom ThisForm. Refresh
Altas, se crea un nuevo registro y se inicializan los datos restantes. Btn-Nuevo
Append Blank ThisForm. Txt Folio. Value = Folio ThisForm. TxtClvOpe. Value = cClvOpe THISFORM Com Folio. Enabled = . T. THISFORM Mem- Coment. Enabled = . T. THISFORM Mem-Coment. Value = ""
THISFORM Txt FecHor. Value = DateTimeo ThisForm. Btn Nuevo. Visible = . F. ThisForm. BtnAcepta. Visible = . T. ThisForm. BtnICancel. Visible = . T. ThisForm. Btn Inicio. Enabled = .F. ThisForm. BtnAnteri. Enabled = . F. ThisForm. BtnISiguie. Enabled = . F. ThisForm. Btn Ultimo. Enabled = . F. ThisForm. BtnISalir. Enabled = . F. THISFORM. Mem Coment.SetFocus ThisForm. Refresh-
Btn-Cancel Local Pos IF CURSORGETPROP('bufferingy != 1
ENDIF THISFORM.Mem Coment. Value = ""
THISFORM. Txt FecHor. Value = '"' THISFORM. Com Folio. Enabled = . F. THISFORM. Mem- - Coment. Enabled = , F. Count To Pos Go Top
=TABLEREVERT()
lfEOf0 ThisForm. Btn Inicio. Enabled = . F. ThisForm. BtnAnteri. Enabled = .F. ThisForm. Btn-Siguie. Enabled = .F. ThisForm. Btn-Ultimo. - Enabled = . F.
Go Pos Else
Endlf ThisForm. Btn Nuevo. Visible = . T. ThisForm. BtnAcepta. Visible = .F. ThisForm. Btn-Cancel. Visible = .F. ThisForm. BtnSalir. Enabled = , T. This Form. Refresh
Para salir del dialogo. Btn-Salir
This Form. Release
BITACORA DE EPEDIENTES.
Presentación de las observaciones en detalle del expediente actualmente visualizado. En este dialogo solo se acepta o se cancela los detalles de nuevo vienen desde el catalogo. 0 Form (Dlg-Bita)
Altas, se crea un nuevo registro y se inicializan los datos restantes. BtnAcepta
Select "Bitacora'r Append Blank Replace MB-Texto With ThisForm. Mem-Texto. Value Replace MB FecHor With DateTimeO Replace MBFolio With Bit Folio Replace MBIClvUsu With ThisForm. Txt - ClvUsu. Value =Table Update() ThisForm. Release
En caso de no aceptar la alta se revertir los cambios en el buffer. BtnCancel
ThisForm. Release
BUSQUEDA DE EXPEDIENTES.
Se realiza una búsqueda indexada, se le da la opción al operador de que sea por asegurado, folio o identificación. 0 Form (Dlg-BuEx)
0 BtnBuscar Local TBus TBus = Upper(A11TrimflhisForm. Txt-Buscar. Value)) Select "Exped" Go Top Do Case
Case ThisForm. ComBusPor. Value = I Scan For Upper(AlITrim(ME-NomCli)) = TBus
PoReEx = RecNoO ThisForm. Release
Return EndScan
Scan For Upper(AlITrim(ME-Folio)) = TBus Case ThisForm. ComBusPor. Value = 2
PoReEx = RecNoO ThisForm. Release
Return EndScan
Scan For Upper(AllTrim(ME-Identi)) = TBus Case ThisForm. ComBusPor. Value = 3
PoReEx = RecNoO ThisForm. Release
Return EndScan
EndCase =MessageBox("Expediente no encontrado. ", I 6) ThisForm. Txt - Buscar.SetFocus
Para salir del dialogo. Btn-Salir
ThisForm. Release
This. Datos. Dat Gen. Com Munici. Enabled = . F. This. Datos. DacGen. Txt calle. Enabled = . F. This. Datos. DatGen. Txt-Entre. Enabled = .F. This. Datos. DacGen. TxcColon. Enabled = . F. This. Datos. Dat-Gen. TxtRazSoc. Enabled = . F. This. Datos. Dat-Gen. TxtRespon. Enabled = . F. This. Datos, Dat Gen. Txt Espes. Enabled = . F. This. Datos. Dat-Gen. TxcRFC. Enabled = .F. This. Datos. Dat-Gen. Txt-Tell. Enabled = . F. This. Datos. DacGen. Txt-Lada. Enabled = . F. This. Datos. Dat-Gen. Txt-CodPos. Enabled = . F. This. Datos. Dat Com. Txt Celu. Enabled = , F. This. Datos. DacCom. T x c F ~ x . Enabled = . F. This. Datos. DatCom. TxtRadio. Enabled = . F. This. Datos. DaCCom. Txt-ClvRad. Enabled = . F. This. Datos. Dat Com. Mem-Observ. Enabled = . F. This. Datos. DacCom. Com-TipSer. Enabled = . F.
This. Btn AceCat. Visible = . T. This. BtnICanCat. Visible = , T. ThisForm.Btn Prov. Visible = .F. ThisForm. Btnlnicio. Visible =.F. ThisForm.Btn Anteri. Visible = .F. ThisForm.BtnSiguie. Visible = .F. ThisForm. BtnIUltimo. Visible = . F. ThisForm.Btn Nuevo. Visible = .F. ThisForm. Btn-Borra. Visible = .F. ThisForm. Btn-Edita. Visible = . F. ThisForm. Btn-Salir. Visible = .F. ThisForm. Da&. Dat Gen. Txt Pais. ControlSource = ""
ThisForm. Datos. DaCGen. TxcPais. Value = ""
ThisForm. Datos. Dat-Gen. Txt-Pais. Refresh ThisForm. Datos. Dat Gen. Txt Estado. ControlSource = ""
ThisForm. Datos. Dat-Gen. TxcEstado. Value = ""
ThisForm. Datos. DatGen. TxLEstado. Refresh ThisForm. Datos. DacGen. TxCCiudad. ControlSource = '"' ThisForm. Datos. Dat Gen. Txt Ciudad. Value = ""
ThisForm. Datos. DacGen. TxcCiudad. Refresh ThisForm. Datos. Dat Gen. Txt Munici. ControlSource = ""
ThisForm. Datos. Dat-Gen. Txt-Munici. Value = ''" ThisForm. Datos. DacGen. Txt-Munici. Refresh ThisForm. Datos. DacCom. TxcTipSer. ControlSource = lrrr
ThisForm. Datos. Dat-Com. Txt-TipSer. Value = ""
ThisForm. Datos. Dat-Com. Txt-TipSer. Refresh Count To concec concec = concec + I
Else
Append Blank Replace MC-Folio With Folio Replace MC-CveCon With concec ThisForm. Datos. Dat-GEn. Txt-Nombre. SetFocus ThisForm. Datos. Dat - Com. Txt - FecHor. Value = DateTime()
ThisForm. Datos. Dat-Gen. Com-Pais. Value = 136 EndIf ThisForm. Refresh
Variable que establece el estado del registro, nuevo y edición. Load
Public New-Reg
Si fue un control total entonces rehabilitamos el menú. 0 UnLoad If Folio = "Total"
Endlf Con - Act = . F.
Contenedor de las respectivas tablas a manipular. 0 Data Environment ContxExp Proveed ServSerq Pais Es tad0 s Ciudad Minicip
Si mediante los parámetros nos damos cuenta que no se esta pidiendo un acceso total, entonces es el caso de mostrar y habilitar todos los botones para obtener el acceso total de la tabla. En otro caso solo se muestran y habilitan los botones de aceptar y cancelar.
Acceso parcial. En este caso es cuando el operador asignará a un contacto al caso en lugar de un proveedor.
Se hace el vaciado de los datos a la tabla. 0 BtnAceCat =Table Update() Ctc Clv = ThisForm. Datos. Dat-Gen. Txt-CveCtc. Value Ctc-Nom = ThisForm. Datos. Dat-Gen. Txt-Nombre. Value ThisForrn. Release
Se revierten las modificaciones. 0 Btn-CanCat
= TahleUpdateO Ctc-Clv = ThisForm. Datos. Dat-Gen. Txt-CveCtc. Value Ctc-Nom = ThisForm. Datos. Dat-Gen. Txt-Nombre. Value ThisForm. Release
Para hacer proveedor un contacto se crea un registro en proveedores y hace una copia de los datos del contacto y se mandan a dicho proveedor, la clave del nuevo proveedor se hace automáticamente mediante un consecutivo, el contacto se da de baja en la tabla. La variable que nos maneja el estado del registro. 0 Btn-Prov Local Clave,Msg, Res Res = MessageBox("'¿ Esta seguro de hacer proveedor a este contacto?", 4+32, Tontactos ' 7 If res= 7
EndIf Select "Proveed" Clave = I Go Top DO WHILE. T.
Return
Clave = Max(Clave,W - CvePro) m ? f O
EXIT
Skip Else
EndIF ENDDO Clave = Clave + I Append Blank
Replace Mv Pais With ContExpMC-Pais Replace Mv-Estado With ContExp. MC-Estado Replace Mv-Ciudad With ContExp. MC Ciudad Replace Mv-Mpio With ContExp. MC - &%ni Replace Mv-CvePro With Clave Replace Mv-Nombre With ContExp. MC Nombre Replace M v R F C With ContExp. MC-RFC Replace MvRazSoc With ContExp. MC RazSoc Replace Mv-Respon With ContExp.MC1Respon Replace Mv-Especi With ContExp. MC-Especi Replace Mv-Calle With ContExp. MC Calle Replace Mv-Entre With ContExp. MC- Entre Replace Mv-Col With ContExp.MC col Replace Mv-Tell With ContExpMF Tell Replace MvLada With ContExp. MCLada Replace Mv CodPos With ContExp.MC CodPos Replace Mv-Fax With ContExp. MC-Fai Replace MvICel u With ContExp. MC-Cel u
Replace Mv Radio With ContExp. MC-Radio Replace MvIRadCEv With ContExp. MC RadClv Replace Mv Obser With ContExp.MC-6bser
Table Update()- Select Y'ontExp'' Delete Table Update() Go Top If ESfO
ThisForm.Btn-Prov.Enabled = .F. ThisForm. Btn-Inicio. Enabled = .F. ThisForm. Btn-Anteri. Enabled = . F. ThisForm. BtnSiguie. Enabled = . F. ThisForm. Btn-Ultimo. Enabled = . F. ThisForm. BtnBorra.Enabled = .F. ThisForm. Btn-Edita. Enabled = . F.
EndIf ThisForm. Refresh Msg = "Se ha ingresado el proveedor con clave 'I f AIITrim(Str(C1ave)) =Message Box(Msg, 64)
Manda el cursor al primer registro. 0 Btn-Inicio Go Top ThisForm. Refresh ThisForm. Datos. Dat-Gen. Txt-Pais. Refresh ThisForm. Datos. Dat-Gen. Txt-Estado. Refresh ThisForm. Datos. Dat-Gen. Txt-Ciudad. Refresh ThisForm. Datos. Dat - Gen. Txt - Munici. ReJi.esh
Manda el cursor al siguiente registro. 0 BtnAnterior Skip VEOF() Then
Skip -1 EndIf ThisForm. Refresh ThisForm. Datos. DatGen. Txt-Pais. Refresh ThisForm. Datos. Dat Gen. Txt Estado. Refresh ThisForm. Datos. DaCGen. TxcCiudad. Refresh ThisForm. Datos. Dat - Gen. Txt-Munici. Refresh
Manda el cursor al siguiente registro. 0 Btn-Siguiente Skip If EOF() Then
Skip -1 Endlf ThisForm. Refresh ThisForm. Datos. Dat-Gen. Txt-Pais. Refresh ThisForm. Datos. Dat-Gen. Txt-Estado. Refresh ThisForm. Datos. Dat Gen. Txt Ciudad. Refresh ThisForm. Datos. DaFGen. - Txt-Munici. - Refresh
Manda el cursor al último registro. Btn-Ultimo
Go Bottom ThisForm. Refresh ThisForm. Datos. Dat-Gen. TxtPais. Reji-esh ThisForm. Datos. Dat Gen. Txt Estado. Refresh ThisForm. Datos. DatGen. TxtCiudad. Refresh ThisForm. Datos. DatGen. - TxCMunici. Refresh
Al dar uno de alta, se hace la búsqueda de la siguiente clave. Se habilitan y deshabilitan los botones correspondiente, como son los múltiples movimientos de la tabla.
BtnNuevo Local Clave New Reg = RecNoO Seles "ContExp" Clave = O Go Top DO WHILE .T.
Clave = Max(Clave, MC-CveCon) ?f EofO
EXIT Else
Skip EndIF
ENDDO Clave = Clave + I Append Blank ThisForm. B t n u e v o . Visible = . F. ThisForm. Btn Edita. Visible = . F. ThisForm. BtnAcepta. Visible = . T. ThisForm. Btn-Cancel. Visible = . T. ThisForm. BtnProv. Enabled = . F. ThisForm.Btn Inicio.Enabled = .F. ThisForm. BtnAnteri. Enabled = . F. ThisForm. Htn-Siguie. Enabled = .F. ThisForm. Btn-Ultimo. Enabled = . F. ThisForm. BtnBorra. Enabled = . F. ThisForm. Btn-Edita. - Enabled = .F.
ThisForm. Btn Salir. Enabled = . F. P ADCont(. T.7 ThisForm. Datos. Dat-Com. Txt FecHor. Value = DateTimeO ThisForm. Datos. Dat-Gen. ComPais. Value = 136 ThisForm. Datos. Dat-Gen. Txt-CveCtc. Value = Clave =Table Update() ThisForm. Refresh ThisForm. Datos. Dat-Gen. Txt-CveCtc. SetFocus
Almacenamiento en tabla y actualización del estado de cada uno de los botones. 0 Btn-Acepta =Tableupdate(. T.) ThisForm. Btn-Nuevo. Visible = . T. ThisFornz. Btn Edita. Visible = . T. ThisForm. BtnAcepta. Visible = . F. ThisForm. Btn-Cancel. Visible = . F. Store RecNo ()-To Pos Count to NR Go Pos If NR = O Then
ThisForm. Btn Prov. Enabled = .F. ThisForm. Btn-Inicio. Enabled = . F. ThisForm. BtnAnteri. Enabled = .F. ThisForm. Btn-Siguie. Enabled = . F. ThisForm. Btn-Ultimo. Enabled = . F. ThisForm. BtnBorra. Enabled = . F. ThisForm. B t n d i t a . Enabled = , F. ThisForm. Btn-Prov. - Enabled = . F.
ThisForm. Btn Prov. Enabled = . T. ThisForm. Btn-Inicio. Enabled = . T. ThisForm. BtnAnteri. Enabled = . T. ThisForm. Btn-Siguie. Enabled = . T. ThisForm. Btn-Ultimo. Enabled = . T. ThisForm. BtnBorra. Enabled = . T. ThisForm. Btn-Edita. Enabled = . T. ThisForm. Btn-Prov. - Enabled = . T.
Else
EndIf ThisForm. Btn Salir. Enabled = . T. P ADCont(. FJ This Form. Refresh
La edición se realiza mediante la abilitación y deshabilitación de botones correspondientes al igual que en una alta. 0 Btn Edita
ThisForm. BtnNuevo. Visible = . F. ThisForm. Btn-Edita. Visible = . F.
ThisForm. BtnAcepta. Visible = . T. ThisForm. Btn-Cancel. Visible = . T. ThisForm. Btn-Prov. Enabled = . F. ThisForm. Btn-Inicio. Enabled = . F. ThisFornt. BtnAnteri. Enabled = . F. ThisForm. Btn-Siguie. Enabled = . F. ThisForm. Btn-Ultimo. Enabled = . F. ThisForm. Btn-Borra. Enabled = . F. ThisForm. Btn-Edita. Enabled = . F. ThisForm. Btn-Salir. Enabled = . F. P A DCont(. T.) This Form. Refresh New-Reg = O
Se revierten los cambios realizados por el operador, se pide confirmación y se realiza una reversión de tabla. 0 Btn-Cancel
Res = MessageBox("i Esta seguro de revertir los cambio?",4+32) IfRes = 7
Return Endlf IfNew-Reg = O
= TA BL ERE VERT(. T.) =Tableupdate(. T.)
Delete Go Top
Else
Endlf ThisForm. Btn-Nuevo. Visible = . T. ThisForm. Btn-Edita. Visible = . T. ThisForm. Btn-Acepta. Visible = . F. ThisForm. Btn-Cancel. Visible = . F. Store RecNoO To Pos Count to NR I fNR O Then
I f New-Reg>O Then
Else
Endlf
Go New-Reg
Go Pos
Endlf l fNR = O Then
ThisForm. Btn-Prov. Enabled = . F. ThisForm. Btn-Inicio. Enabled = . F. ThisForm. BtnAnteri. Enabled = . F. ThisForm. Btn-Siguie. Enabled = . F. ThisForm. Btn-Ultimo. Enabled = . F. ThisForm. Btn-Borra. Enabled = . F. ThisForm. Btn-Edita. Enabled = . F. ThisForm. Bin-Prov. Enabled = . F.
ThisForm. Btn-Prov. Enabled = . T. ThisForm. Btn-Inicio. Enabled = . T. ThisForm. BtnAnteri. Enabled = . T. ThisForm. BtnSiguie. Enabled = . T.
Else
ThisForm. Btn-Ultimo. Enabled = . T. ThisForm. Bn-Borra. Enabled = . T. ThisForm. Btn-Edita. Enabled = . T. ThisForm. Btn-Prov. Enabled = , T.
Endlf ThisForm. BtnSalir. Enabled = . T. P-ADContC F.) ThisForm. Refresh
Eliminación del registro actualmente visualizado, mediante una confirmación se procede a marcar el registro.
BtnEdita ResDel=MESSAGEBOX('Esta seguro de eliniar el registro?', 4+32, "Proveedores'? IfResDel=ó Then
Delete Go Top Y ESSO
ThisForm. Btn-Prov. Enabled = . F. ThisForm. Btn-Inicio. Enabled = . F. ThisForm. Btn-Anteri. Enabled = . F. ThisForm. BtnSiguie. Enabled = . F. ThisForm. Btn-Ultimo. Enabled = . F. ThisForm. Btn-Borra. Enabled = . F. ThisForm. Btn-Edita. Enabled = . F.
Endlf' Endlf This Form. Refresh
Salir del dialogo. 0 Btn-Salir thisform. release
CONTRATOS.
Dialogo de contratos, sirve de interface entre contratos y sus servicios. Form(D1g - Cont)
Init PARAMETERS nOpl, nNumCon LOCAL nVuI PUBLIC nOp n í p = nOpl nVul = O CLOSE DATABASES SET MULTILOCKS ON SET REPROCESS TO 30 SECONDS SELECT "CONTRA TO" SET ORDER TO I IF nOp != I
SEEK nNumCon IF FOUND()
THISFORM.txt Clave. Value = nNumCon THISFORM. txCDescri. Value = CONTRA TO. KC-DESCRI
ENDIF THISFORM. txt-Clave. Enabled = . F. THISFORM. Btn - TipSer. Enabled = . T.
GO BOTTOM nVal = KC CLAVE THISFORM. txt-Clave. Value = n Val + 1 THISFORM. txt-Descri. Value = SPACE(20)
ELSE
ENDIF RETURN
Se hace la llamada al catalogo para la manipulación de la tabla. 0 Btn-TipSer DO FORM Cat-TiSeCo WITH THISFORM. txt-Clave. Value, THISFORM. txtDescri. Value THISFORM. RELEASE
Contenedor de las respectivas tablas a manipular. 0 Data Environment Contrato
Vaciado de los datos del buffer como siempre optimista por registro en la tabla. BtnAceptar
= CURSORSE TPROP ('B UFFERING ', 3, CONTRA TO 7 SELECT CONTRATO IF MESSAGEBOX("Estan los datos correctos", 4+32+256, "A TENCION'? = 7
ELSE THISFORM. txt - Clave. SE TFOCUS
GO TOP SEEK THISFORM. txt-Clave. Value IF FOUND()
IFnOp = 1 =MESSAGEBOX("Ya existe un Contrato con Número:
"+STR(THISFORM. txt Clave. Value), ; 0+32, ''PRECA UCION') THISFORM. txt - Clave.SETFOCUS
REPLACE KC DESCRI WITH THISFORM.txt - Descri. Value
THISFORM. Release 0
ELSE
=TABLEUPDATE()
ENDIF ELSE IFnOp = 1
APPEND BLANK REPLACE KC CLA VE WITH THISFORM. txt Clave. Value REPLACE KCDESCRI WITH THISFORM txtDescri. Value = TABLE UPDA TE() IF MESSAGEBOX("Desea Dar de alta los Tipos de Servicio Ir+ ; "en este momento?': 4+32+256, '2TENCION'Y = 6
DO FORM Cat TiSeCo WITH THISFORM. txt-Clave. Value, THISFORM txtIDescri. Value
ENDIF THISFORM. Release()
ELSE =MESSAGEBOX("'No existe un Contrato con Número: "+STR(THISFORM. txt Clave. Value), ;
THISFORM txt-Clave.SETFOCUS o + 3 2, T R ECA UCION")
ENDIF ENDIF
ENDIF RETURN
Repetición de los datos. .Btn-Cancela IF CURSORGETPROP('bufferingí) != 1
=TABLEREVERT() ENDIF THISFORM. releaseo
DA EL SERVICIO AL CASO.
Sirve de interfaces para decidir quien dará el servicio al expediente, un proveedor o un contacto. No trabaja ninguna tabla. Este dialogo solo se puede cerrar si se elige alguna de las dos opciones. .Form (Dlg-DaSerc)
Almacena un 1 en la variable global que será con la que se decide a quien llamar, como se vio n el catalogo de servicios del expediente. Btn-Prov
Daservicio = 1 ThisForm. Release
Almacena un 2 en la variable global que será con la que se decide a quien llamar, como se vio n el catalogo de servicios del expediente. .Btn Cont DaSe&icio = 2 ThisForm. Release
ESTADO.
Form (DlgEdo)
Init PARAMETERS nOpl, nNumEdo LOCAL nVal PUBLIC nOp nOp =nOpl nVal= O CLOSE DATABASES SET MULTILOCKS ON SET REPROCESS TO 30 SECONDS SELECT "ESTADOS" SET ORDER TO '%lave" IFnOp != I
SEEK nNumEdo IF FOUND()
THISFORM txt-Clave. Value = nNumEdo THISFORM txt Descri. Value = ESTADOS. KS DESCRI THISFORM tx<ClvPai. Value = ESTADOS. KCPAIS THISFORM txt - Despai. Value = PAISES. KPDESCRI
ENDIF THISFORM. txt - Clave. Enabled = . F.
GO BOTTOM nVal = KS CLAVE THISFORk txt Clave. Value = n Val + 1 THISFORM txt-Descri. Value = SPACE(20) THISFORM txt-ClvPai. Value = nNumPai THISFORM txcDesPai. - Value = cNomPai
ELSE
ENDIF RETURN
Contenedor de las respectivas tablas a manipular. Data Environment
Estados
Init PARAMETERS nOpl, nNumEdo LOCAL nVal PUBLIC nOp nOp =nOpl nVal= 0 CLOSE DATABASES SET MULTILOCKS ON
SET REPROCESS TO 30 SECONDS SELECT "ESTADOS" SET ORDER TO '%lave" IF nOp != I
SEEK nNumEdo IF FOUND()
THISFORM. txt Clave. Value = nNumEdo THISFORM txFDescri. Value = ESTADOS. KS-DESCRI
THISFORM txt-TIvPai. Value = ESTADOS. KS-PAIS THISFORM. txtDespai. Value = PAISES. KP-DESCRI
ENDIF THISFORM. txt - Clave. Enabled = . F. ELSE
GO BOTTOM nVal = KS CLAVE THISFORM. txt-Clave. Value = n Val f 1 THISFORM. txtDescri. Value = SPACE(20)
THISFORM. txt ClvPai. Value = nNumPai THISFORM txCDesPai. Value = cNomPai
ENDIF RETURN
Si el operador decide guardar las modificaciones, entonces se actualiza la tabla, vaciando el buffer optimista por registro sobre ella. 0 BtnAcepta =CURSORSETPROP('BUFFERI", 3, 'ESTADOS') SELECT ESTADOS SET ORDER TO "clave" IF MESSAGEBOX("Estan los datos correctos", 4+32+256, "ATENCION") = 7
ELSE GO TOP
THISFORM.txt-Clave.SETFOCUS
SEEK THISFORM. txt-Clave. Value IF FOUND0
IFnOp = 1 =MESSAGEBOX("Ya existe un Estado con Número:
"+STR(THISFORM txt-Clave. Value), ; 0+32, "PRECA UCION'Y
THISFORM txt-Clave. SETFOCUS
REPLACE KS DESCRI WITH THISFORM. txt-Descri. Value REPLACE KS-PAIS WITH THISFORM txt - ClvPai. Value
SET ORDER TO "nombre" THISFORM Releaseo
ELSE
=TABLEUPDATE()
ENDIF
ELSE IFnOp = I
APPEND BLANK REPLACE KS-CLA VE WITH THISFORM. txt-Clave. Value REPLACE KS-DESCRI WITH THISFORM txt-Descri. Value REPLACE KS-PAIS WITH THISFORM. txt-ClvPai. Value =TABLEUPDATE() SET ORDER TO "nombre" THISFORM. Releaseo
=MESSAGEBOX("No existe un Estado con Número: ELSE
"+ STR (THISFO R M. txt-Clave. Value), ; 0+32, "PRECA UCION'Y
THISFORM. txt-Clave. SE TFOCUS ENDIF
ENDIF ENDIF RETURN
El operador puede abortar la operación, en este caso se revierten los cambios en la tabla. 0 BtnCancelar IF CURSORGETPROP(lbuflering~ != 1
ENDIF SET ORDER TO "nombre I'
THISFORM. releaseo
= TA BLERE VER T o
EXPEDIENTES A DETALLE.
Se hace la manipulación de todos los datos de los expedientes y se cargan en buffer optimista por registro. 0 Form (Dlg-Exped)
Recibe el parámetro ini, que significa si el expediente deberá presentar el primer registro de la tabla, en otro caso presentará el registro con el folio que esta recibiendo como parámetro. Como en todos los diálogos se hablitan o desabilitan los botones correspondientes. o h i t PARA METERS h i , Folio set date british set century on Select "Exped" Go Top If EofO
ThisForm. Btn Inicio. Enabled = .F. ThisForm. BtnAnteri. - Enabled = . F.
ThisForm. Btn Siguie. Enabled = . F. ThisForm. Btn-Ultimo. Enabled = .F. ThisForm. Btn-Busca. Enabled = . F. ThisForm. BtnBorra. Enabled = . F. ThisForm. BtnIEdita. Enabled = . F. ThisForm. Datos. DatAsis. Btn-TipSer. Enabled = . F. ThisForm. Datos. Dat-Asis. BtnBita. Enabled = . F. ThisForm. Datos. DatAsis. Btn-Costo. Enabled = . F. ThisForm. Datos. DatAsis. Btn-PenAla. Enabled = . F.
If Ini = .F. Else
SET ORDER TO "Folio" Seek Folio
EndIF EndIj
IfnNivOpe = 3 .OR. nNivOpe = 5 ThisForm. Btn Nuevo. Enabled = .F. ThisForm. Btn-Edita. Enabled = . F. ThisForm. Btn-Borra. - Enabled = . F.
EndIF If nNivOpe = 4
EndIF SET ORDER TO "ME-FecHor" Go Bottom This Form. Re pes h
ThisForm. Btn - Borra. Enabled = . F.
Inicializa variable de salto de menú, estado y posición de registro y se debe actualizar folio. .Load Exp Act = .T. Set Delete On Public Pos Reg, Ed0 - Reg, Act - Folio, Folio - Pos Store O To %do Reg Store I TO F O E L - P O ~
Set Delete On
Restablece el salto del menú ~ U n L o a d Exp - Act= .F.
Contenedor de las respectivas tablas a manipular. .Data Environment Exped AsisLega AsisAuto
AsisMed AsisInfo AsisHoga Pais Estado Municip Ciudad Tias costos Contratos
En este contenedor de paginas se muestran los datos de todo el expediente. *Datos
Datos del lugar de la llamada. Se refrescan los combobox para la optima actualización de datos. *Dat-Lla This. Refresh ReExLIO
Datos del lugar de la asistencia. Se refrescan los combobox para la optima actualización de D at-Asis
This. Corn PaiAsi. LostFocus This. Corn-EdoAsi. LostFocus This. Corn-CiuAsi. LostFocus This. Co m-Mun As i. Los tFocus This. Refreih ReExAsO
Manda a la interfaz correspondiente para añadir los tipos de servicio de este folio del expediente. *Btn- TipSer Do Form cat-tse With AIlTrim(ME - Folio)
Manda a la interfaz correspondiente para añadir las bitácoras de este folio del expediente. OBtnBita Do Form Cat - Bita With AllTrim(Exped.ME-Folio)
Manda a la interfaz correspondiente para la manipulación de costos de este folio del expediente. *Btn-Costos DO FORM Cat - Cost WITH 1, EXPED. ME-FOLIO
Datos personales del cliente. Se refrescan los combobox para la optima actualización de clientes. oBtn-Client This. Com PuiCli. LostFocus This. Corn-EdoCli. LostFocus This. Com-CiuCli. LostFocus This. ComIMunCli. LostFocus This. Refresh Re ExClo
Datos del caso. Se refrescan los combobox para la optima actualización de datos. Se están manipulan los cinco casos del expediente, se muestran o no dependiendo del estado del registro y el tipo de expediente, se hace una revicon de variables para decidir que objetos se quedan y cuales no. ~ D a t L l a This. Refresh If ThisForm. Datos. Dut-Client. Corn-ExpCli. Vulue = 'A' &&Automovilistico
else
EndIf This. Lbl TitAut. Visible = Vis-Auto This. ShuIMurCA. Visible = Vis-Auto This. LblAutCA. Visible = Vis-Auto This. Corn AutCA. Visible = Vis-Auto This. Txt ÁutCA. Visible = Vis-Auto This.Lb¡AñoCA. Visible = Vis Auto This. TxtAñoCA. Visible = VisAuto This.Lb¡PluCA. Visible = Vis-Auto This. TxtPluCA. Visible = Vis-Auto This. Lb¡ColCA. Visible = Vis Auto *This.COm ColCA. Visible = %-Auto This. Txt COlCA. Visible = Vis Auto This.Lb¡ModCA. Visible = VG-Auto This. Txt-ModCA. Visible = Vis-Auto This. LblSerCA. Visible = VisAuto This. Com &rCA. Visible = Vis Auto This. Txt SerCA. Visible = Vis-&to This. LbiCoInCA. Visible = Vis-Auto This. TxtCoInCA. Visible = Vis Auto This. LbiProCA. - Visible = Vis Auto This. Mem ProCA. Visible = VG-Auto This. Lbl PuPoCA. Visible = Vis-Auto This.Opt PuPoCA. Visible = Vis-Auto This. Txt 3 utCA. Visible = Vis-Auto "This. Txt - ColCA. Visible = Vis - Auto
Store . T. to Vis-Auto
Store . F. to Vis-Auto
This. Txt-SerCA. Visible = Vis-Auto This. Refresh I f Vis Auto Select "A sisA ut0 I' I f E o Reg = I
EndIf If Ed0 Reg = O
Else
EndIF This. Corn AutCA. Enabled = Ese-Auto This. Txt %OCA. Enabled = Ese-Auto This. TxtPlaCA. Enabled = EscAuto This. Txt AutCA. Enabled = Ese-Auto This. TxtColCA. Enabled = Ese Auto This. TxcModCA. Enabled = Es;-Auto This. Corn SerCA. Enabled = Ese-Auto This. Txt CoInCA. Enabled = Ese-Auto This. Mem ProCA. Enabled = EscAuto This, OptPaPoCA. Enabled = Es-Auto
Store RecNoO To FolioPos
Store. F. To Esc-Auto
Store . T. To EscAuto
EndIF
If ThisForrn. Datos. Dat Client. Corn-ExpCli. Value = 'B' &&Médico
Else
EndIf This. Lhl TitMed. Visible = Vis-Medico This. Sha- MarCM Visible = Vis-Medico This. Lbl -HosCM Visible = Vis-Medico This. Txt-HosCM Visible = Vis Medico This. L b i Tell CM Visible = Vis:Medico This. Txt-Tell CM Visible = Vis Medico This. LbiTe12CM Visible = Vis-Medico This. Txt-Tel2CM Visible = Vis-Medico This. L b í RadCM Visible = V i s e d i c o This. TxtIRadCM Visible = Vis-Medico This. Lbl RaCICM. Visible = Vis Medico This. Txt-RaClCM Visible = VisIMedico This. LbiHabCM Visible = Vis-Medico This. TxtIHabCM Visible = Vis-Medico This. Lbl-MedCM. Visible = Vis-Medico This. Txt MedCM. Visible = Vis-Medico This. LbFTelCA.4. - Visible = Vis-Medico
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Store .T. To Vis - Medico
Store .F. To Vis - Medico
This. Txt TelCM. Visible = Vis Medico This. L b l ProCM Visible = Vi;-Medico This. Mem ProCM Visible = Vis Medico This. Lhl FaPoCM Visible = VisIMedico This. Op; PaPoCM Visible = Vis-Medico If Vis Medico Select 'YsisMed" I f Ed0 Reg = 1
StoréRecNo() To FolioPos Ed0 Reg = 2
EndIf IfEdo Reg = O
Else
EndIF This. Txt HosCM Enabled = Esc-Med This. Txt-Tell CM Enabled = Esc-Med This. T x t TelZCM Enabled = Esc-Med This. TxtRadCM Enabled = Esc-Med This. Txt-RaCICM Enabled = Esc-Med This, TxtHabCM Enabled = Esc-Med This, TxcMedCM Enabled = Esc-Med This. TxtTelCM Enabled = Esc-Med This.Me% ProCM Enabled = Ese-Med This. Opt-FaPoCM Enabled = Esc-Med
St0re.F. To Esc - Med
Store .T. To Esc - Med
EndIf
If ThisForm. Datos. Dat-Client. Com-ExpCli. Value = %' &&Legal
Else
EndIf This. Lbl TitLeg. Visible = Vis-Legal This. Sha- MarCL. Visible = Vis Legal This.LblFeHoCL. Visible = Vis Legal This. TxtFeHoCL. Visible = VisLegal This. LhlLugCL. Visible = Vis Legal This. Txt-LugCL. Visible = Vis-Legal This. LblAboCL. Visible = Vis- Legal This. Txt-AboCL. Visible = Vis-Legal This. LbCTelCL. Visible = Vis kegal This. Txt-TelCL. Visible = VisLegal This. LblAutCL. Visible = Vis Legal This. Com-AutCL. Visible = VG-Legal This. Txt - AutCL. Visible = Vis - Legal
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Store .T. To Vis - Legal
Store .F, To Vis - Legal
This. Lbl AñoCL. Visible = Vis-Legal This. TxtAñoCL. Visible = VisLegal This. Lb¡PlaCL. Visible = Vis-Legal This. TxtIPlaCL. Visible = Vis-Legal This. Lbl-ColCL. Visible = VisLegal This. Txt ColCL. Visible = VisLegal This. LbiModCL. Visible = VisLegal This. Txt-ModCL. Visible = VisLegal This. LhlProCL. Visible = Vis-Legal This. Mem ProCL. Visible = VisLegal This. Lbl PaPoCL. Visible = VisLegal This. Opt- PaPoCL. Visible = Vis-Legal This. Txt AutCL. Visible = Vi6sLegal "This. Tx? - ColCL. Visible = VisLegal If VisLegal Select "AsisLega" If EdoReg = I
Store RecNoO To Folio-Pos Edo-Reg = 2
EndIf If EdoReg = O
Else
EndIF This. Txt FeHoCL. Enabled = Esc-Legal This. TxCLugCL. Enabled = Esc-Legal This. Txt AboCL.Enabled = E s L e g a l This. TxtTelCL. Enabled = Esc-Legal This. Com AutCL. Enabled = Esc-Legal This. Txt AutCL. Enabled = Esc-Legal This. Txt-AñoCL. Enabled = EscLegaI This. Txt-PluCL. Enabled = Esc-Legal This. TxCColCL. Enabled = Esc-Legal This. Txt ModCL. Enabled = EscLegal This. Mem ProCL. Enabled = EscLegal This. Opt-FaPoCL. Enabled = EscLegal
Store . F. To Esc-Legal
Store .T. To Esc-Legal
EndIf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . If ThisForm. Datos. Dat-Client. Com-ExpCli. Value ='Dl &&Hogar
Else
EndIf This. Lbl TitHog. Visible = Vis-Hogar This. Sha- - MarCH. Visible = Vis-Hogar
Store. T. To Vis-Hogar
Store .F. To Vis-Hogar
This. Lbl SerCH. Visible = Vis-Hogar This. Com SerCH. Visible = Vis-Hogar This. Txt-$erCH. Visible = Vis-Hogar This. Lbl-CauCH. Visible = Vis-Hogar This. Mem-CauCH. Visible = Vis-Hogar This. Lbl CoInCH. Visible = Vis-Hogar This. Tx tICoInCH. Visible = Vis-Hogar This. Lbl-CoFiCH. Visible = Vis-Hogar This. Txt CoFiCH. Visible = Vis Hogar This. LbcProCH. Visible = Vis-Hogar This. Mem-ProCH. Visible = Vis Hogar This. Lbl-PaPoCH. Visible = VisIHogar This. Opt-PaPoCH. Visible = Vis-Hogar This. Txt-SerCH. Visible = Vis-Hogar I f Vis-Hogar
Select '2sisHoga" IfEdo-Reg = I
Store RecNoO To Folio-Pos EdoReg = 2
EndIf If EdoReg = O
Else
EndIF This. Com-SerCH. Enabled = Esc-Hogar This. Mem-CauCH. Enabled = Esc-Hogar This. Txt CoInCH. Enabled = Esc-Hogar This. Tx<CoFiCH. Enabled = Esc-Hogar This. MemProCH. Enabled = Esc-Hogar This. Opt-PaPoCH. Enabled = Esc-Hogar
Store . F. To Esc-Hogar
Store .T. To Esc-Hogar
EndIf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I f ThisForm. Datos. Dat-Client. Corn-ExpCli. Value ='E' &&Información
Else
Endrf This. Lbl TitInf: Visible = Vis-Info This. Sha- MarCI. Visible = Vis-Info This. LblFeInCI. Visible = Vis-Info This. T x t e I n C I . Visible = Vis-Info This. LbcFeFiCI. Visible = Vis-Info This. Txt-FeFiCI. Visible = Vis-Info This. LbclnfCI. Visible = Vis-Info This. Mem-InfCI. Visible = Vis-Info
Store .T. To Vis-Info
Store .F. To Vis-Info
This. Lbl ObsCI. Visible = Vis-Info This. Mem-ObsCI. Visible = Vis-Info This. Lbl PaPoCI. Visible = Vis-Info This. O p t PuPoCI. Visible = Vis-Info If Vis-I& Select ‘YsisInfo ” If‘Edo Reg = 1
*Ap&nd Blank Store RecNoO To FolioPos Edo Reg = 2
EndIf- IfEdo Reg = O
Else
EndIF This. Txt FeInCLEnabled = Esc-Info This. TxLFeFiCI. Enabled = Esc-Info This. Mem-InfCI. Enabled = Esc-Info This. Mem-ObsCI. Enabled = Esc-Info This. Opt-PuPoCI. Enabled = Esc-Info
St0ré.F. To Esc-Info
Store .T. To Esc-Info
EndIf This. Refresh ReExCuO
Como puede vese el orden de los botones se encuentran “alreves” ya que se requiere de una navegación al contrario de orden del índice de fecha hora. Se hace una menupulación del cursor como en los diálogos anteriores. .Btn-Inicio Go Bottom ThisForm. Refresh ReExLIO ReExAsO Re ExClO Re ExCu 0
.Btn-Anteri Skip If EíIFO Then
EndIf ThisForm. Refresh ReExLIQ ReExAsO ReExCIO ReExCaO
Skip -1
0 B tn-Siguie lj-!BOFO Then
EndIf This Form. Refresh ReExLlO ReExAsO ReExClO ReExCaO
Skip -1
*Btn-Ultimo Go Top ThisForm. Refiesh ReExLlO ReExAsO ReExClO Re ExCa O
OBtn-Busca Public PoReEx PoReEx = RecNoO DO FORM DlgBuEx Go Top Go PoReEx This Form. Refresh
Nuevo registro. Se crea un registro en blanco y se insertan los datos correspondientes automaticamente, se permite la edición de los datos y se habilitan y desabilitan los botones correspondientes. ~ B t n N u e v o Pos Reg = RecNoO Edo-Reg = 1 Act Folio = . T. ThgForm. Datos. DatAsis. Btn-TipSer. Enabled = . F. ThisForm. Datos. Dat Asis. BtnBitu. Enabled = .F. ThisForm. Datos. DacAsis. Btn-Costo. Enabled = . F. ThisForm. Datos. Dat Asis. Btn-PenAla. Enabled = .F. ThisForm. Btn Nuevo, Visible = . F. ThisForm. BtnEdita. Visible = . F. ThisForm. BtnAcepta. Visible = . T. ThisForm. BtnAcepta. Enabled = . F. ThisForm. Btn-Cancel. Visible = . T. ThisForm. Btn Inicio. Enabled = . F. ThisForm. BtnAnteri. Enabled = . F. ThisForm. Btn-Siguie. Enabled = . F.
ThisForm. Btn-Ultimo. Enabled = . F. ThisForm. Btn Busca. Enabled = .F. ThisForm. BtnIBorra. Enabled = .F. ThisForm. Btn Edita. Enabled = . F. ThisForm. BtnISaEir. Enabled = . F. Select "Exped" Append Blank Replace exped. me clvusu With cClvOpe Replace exped.me-FecHor With DATETIME() Replace exped. meITipExp With "" P A DExpe (. T.) ThisForm. Datos. Dat Asis. Opt-StaAsi. Enabled = . F. ThisForm. Datos. DatAsis. Opt StaAsi. Value = 2ctivo' ThisForm. Datos. DutLlu. ComIPaiLIA. Value = 136 ThisForm. Datos. Dat-Lla. Com-EdoLIA. Value = O ThisForm. Datos. Dut-Llu. Com CiuLIA. Value = O ThisForm. Datos. DutLlu. C o m u n L I A . Value = O ThisForm. Datos. DatClient.Com ConCli. Value = O ThisForm. Datos. DatAsis. Corn-&iAsi. Value = I36 ThisForm. Datos. Dat-Client. Com-PaiCli. Value = I36 ThisForm. Datos. DacLla. SetFocus ThisForm. Datos. Dat - Lla. Txt-NomLla. SetFocus ThisForm. Refresh
Al aceptar los guardar se hace el vaciado del buffer, como siempre optimista por registro, en la tabla de expediente y en la de tipo de expediente elegido, aquí también se hace el calculo del folio en caso de que se halla dado de alta un nuevo registro, si fue una modificación no se hace nada de esto. OBtnAceptar Local costo Select "Exped" Set Order To Store Exped.ME FecHor To FecHor Store Exped. ME-Contra To Contrato Store Exped. MEITipExp To Tipo =Table Update() costo = o Select "Costos" SCAN FOR Costos. MC Folio = ThisForm. Datos. Dat Lla. Txt FolLla. Value costo = costo + MC - ImpMex
ENDSCAN Select "Exped" *Actualización de folio * rfAct Folio Store-0 to Consec Go Top
- -
Do While !Eofo rf Year(Exped. ME-FecHor) = Year(FecHor) if Mont(Exped. ME FecHor) = Mont(FecHor) if Day(Exped. MEIFecHor) = Day(FecHor)
If Exped. ME Contra = Contrato rfExped.M> TipExp = Tipo
Endrf Consec =Consee + I
EndIf EndIf
EndIf Endrf skip EndDo Go Bottom
Local New Folio Store Spuc>(17) To New-Folio New-Folio = AlITrim(Str (Year (Date o))) New Folio = New Folio +fstrZero(Mont(Date()),2) N e w o l i o = NewFolio f fstrZero(Day(Date()),2) Ne M i 0 1 io = Ne w o l io + fStrZero (Exped. ME-Contra, 2) NewFolio = NewFolio + fstrZero(Consec, 3) NewIFolio = AllT~m(New-Folio + Exped. ME - TipExp) Do Cuse Case ThisForm. Datos. Dat - Client. Com-ExpCli. Value = 'A' Select "AsisAuto " Go Folio Pos Replace &isAuto. DA-Folio With New-Folio Replace DA-Descri With ThisForm. Datos. Dat-Caso. TxtAutCA. Value Case ThisForm. Datos. Dat - Client. Com-ExpCli. Value = 'B ' Select ''AsisMed" Go Folio Pos
Case ThisFori. Datos. Dat - Client. Corn - ExpCli. Value = 'C' Select ''AsisLega" Go Folio Pos Replace DL Folio With New-Folio Case ThisFoim. Datos. Dat - Client. Com-ExpCli. Value= 'D' Select "AsisHoga " Go FolioPos Replace DH-Folio With New-Folio Cuse ThisForm. Datos. Dat-Client. Corn-ExpCli. Value ='E' Select "Asislnfo " Go Folio-Pos Replace DI-Folio With New-Folio
ReplaceDM Folio With New Folio
EndCase = Table Update() Select "Exped" Replace ME-Folio With New-Folio Act Folio = .F. EndlF Replace Exped. ME-CoToCi With costo If ThisForm. Datos. Dat Asis. Opt StaAsi. Value = 'Cerrado' Replace expedme fehoci With DateTimeo
EndIF =Table Update () SET ORDER TO "ME FecHor" ThisForm. Btn Nuevo.?isible = . T. ThisForm. BtnIEdita. Visible = . T. ThisForm. Btn Acepta. Visible = . F. ThisForm. Btn-Cancel. Visible = . F. ThisForm. Btn-Inicio. Enabled = . T. ThisForm. BtnAnteri. Enabled = . T. ThisForm. BtnSiguie. Enabled = . T. ThisForm. Btn-Ultimo. Enabled = . T. ThisForm. BtnBusca. Enabled = . T. ThisForm. BtnBorra. Enabled = . T. ThisForm. B t n d i t a . Enabled = . í? ThisForm. BtnSalir. Enabled = , T. ThisForm. Datos. Dat-Asis. Btn-TipSer. Enabled = . T. ThisForm. Datos. DatAsis. Btn Bita. Enabled = . T. ThisForm. Datos. DatAsis. Btn-Costo. Enabled = . T. ThisForm. Datos. Dat - Asis. BtnPenAla. - Enabled = . T. P-ADExpec F.) This Form. Refresh ThisForm. Datos. Dat - LlaSetFocus Ed0 Reg = O ReExLIo ReExAs () ReExCIO ReExCao ThisForm. Refresh
Aquí se permite la edición de los datos, aquí no se hace actualización de folio, nuevamente se hace el basiado del buffer a la tabla como lo acostumbrado. .Btn Edita If Exied. ME Status = 'Cerrado' =MessageBix("El expediente ya ha sido cerrado", 16, "Error'? return EndIf ThisForm. Btn - Nuevo. Visible = . F.
ThisForm.Btn Edita. Visible = .F. ThisForm. BtnAcepta. Visible = . T. ThisForm. Btn-Cancel. Visible = . T. ThisForm. Btn-Inicio. Enabled = . F. ThisForm. BtnAnteri. Enabled = . F. ThisForm. Btn-Siguie. Enabled = . F. ThisForm. Btn-Ultimo. Enabled = . F. ThisForm. BtnBusca. Enabled = .F. ThisForm. BtnBorra. Enabled = . F. ThisForm. Btn-Edita. Enabled = . F. ThisForm. BtnSalir. Enabled = . F. P ADExpeC TJ ThisForm. Datos. Dat-Client. Com ExpCli. Enabled = . F. ThisForni. Datos. Dat-Client. ComIConCli. Enabled = .F. ThisForm. Datos. Dat-Asis. Opt-StaAsi. Enabled = . T. ThisForm. Datos. DatAsis. Txt Cve Usu. Value = cClvOpe ThisForm. Datos. DatAsis. TxcFeHo U1. Value = DA TETIME() ThisForm. Refresh Pos-Reg = RecNo() Edo-Reg = 2 Act Folio = .F. ThgForm. Datos. Dat - Lla.SetFocus
Para eliminar el registro se hace mediante una confirmación del usuario, posteriormente se continua con la actualización del estado de los botones. ~ B t n Borra Re~Del =MESSAGEBOX('Esta seguro de eliniar el registro?', &32, "Expediente'? If ResDel=ó Then Delete Go Top
ThisForm. Btn Inicio, Enabled = . F. ThisForm. BtnAnteri. Enabled = . F. ThisForm. Btn-Siguie.Enab1ed = .F. ThisForm. Btn-Ultimo. Enabled = . F. ThisForm.BtnBusca. Enabled = .F. ThisForm. BtnBorra. Enabled = . F. ThisForm. Btn-Edita. Enabled = . F. ThisForm. Datos. Dat Asis. Btn TipSer. Enabled = . F. ThisForm. Datos. Dat-Asis. BtnBita. Enabled = .F. ThisForm. Datos. Dat-Asis. BtnICosto. Enabled = . F. ThisForm. Datos. DatAsis. - Btn - PenAla. Enabled = . F.
Else Skip -I Endlf ThisForm. Datos. DatLla. SetFocus
-If ESfO
Endrf ThisForm. Refresh ReExLlO
Cerrar el dialogo. ~Btn-Salir thisform. release
EXPEDIENTES POR PERIODO.
Mediante múltiples arreglos que forman datos comparativos se mandan a una tabla de paso, y es aquí donde se tomara la fuente para la generación de la gráfica. O Form (Dlg - Gcto)
0 Init #DEFINE CRLF CHR(13)+CHR(I O) #DEFINE TAB CHR(9)
#DEFINE C-GRAPHTITLE-LOC "TOTAL DE EXPEDIENTES POR MES" SETSAFETY OFF CREATE TABLE gruficu (grafl g) SET SAFETY ON APPEND BLANK dimension cMeses(l2) cMeses(1) = "Ene " cMeses(2) = "Feb I'
cMeses(3) = "Mur I'
cMeses(4) = "Abr " cMeses(5) = " M q I' cMeses(6) = "Jun " cMeses(7) = "Jul cMeses(8) = "Ags If
cMeses(9) = "Sep I'
cMeses(l0) = "Oct I'
cMeses(1 I ) = "Nov " cMeses(l2) = "Dic I'
cGDutu = ''I'
cLeyen = '"' cVulores = '"' FOR i= I TO ALEN(uMesAn0)
#DEFINE coltype -4100
nMes = VAL(SUBSTR(uMesAno(i), 5, 2) ) cGDutu = cGDutu+ TAB + SUBSTR(uMesAno(i), 1, 4)+ c Valores = c Valores + A LL TRIM(STR(uTotMes(i))) FORj = I T O i
NEXT c Vulores = c Valores i- ALL TRIM(STR (a Tot Me@)) FOR j = i f I TO ALEN(uTotMes)
NEXT cVulores = cVulores+ CRLF
"+cMeses(nMes)
cVulores = cVulores+ TAB
cVulores = cVulores+ TAB
ENDFOR cGDutu = cGDutu f CRLF + cVulores SELE graficu APPEND GENERAL Grufl CLASS "msgruph.churt" DATA m.cGDutu THIS. 0leBoundControll.ControlSource = "Grufl " THIS. OleBoundControll. HusLegend = . T. THIS. OleBoundControll. uutoformut(coltype, I ) THIS. LockScreen = . F. Establece el formato de la gráfica, si es de columnas o de pastel.
Optiongroupl #DEFINE coltype -4 I O0
#DEFINE pietype -4102 DO CASE CASE THIS. Value = I
CASE THIS. Value = 2
ENDCASE
THISFORM. OleBoundControll. autoformat(coltype, I )
THISFORM. OleBoundControl I. autoformat(pietype, 7)
En esta parte se manda a una vista previa a la impresión. 0 Btn-CmdPrint IF !USED("grafica'y
RETURN ENDIF SELECT grufica REPORT FORM \infoware\Rep-TipSer PREVIEW
Cerrar el dialogo. 0 Cmdclosel THISFORM. RELEASE
CONTARATOS.
Mediante múltiples arreglos que forman datos comparativos se mandan a una tabla de paso, y es aquí donde se tomara la fuente para la generación de la gráfica. 0 Form (Dlg-GTipCto)
0 Init PARAMETERS Opcion MEAÑGR = OPCION #DEFINE CRLF CHR(13)+CHR(IO) #DEFINE TAB CHR(9) #DEFINE coltype -41 O0 #DEFINE C GRAPHTITLE - LOC "TIPO DE CONTRA TOS" PUBLIC cG&tu LOCAL nVal, Item 'SET SAFETY OFF CREATE TABLE gruficu (grufl g) SET SAFETY ON APPEND BLANK cGData = Ir''
c Valores = '"' SELE "CONTRA TO" SET ORDER TO '%lave" dimension cMeses(l2) cMeses(1) = "Ene Ir
cMeses(2) = "Feb Ir
cMeses(3) = "Mur Ir
cMeses(4) = 'Ybr 'I
cMeses(5) = "Muy " cMeses(6) = "Jun 'I
cMeses(7) = "Jul " cMeses(8) = "Ags cMeses(9) = 'Sep Ir
cMeses(l0) = "Oct 'I
cMeses(l1) = "Nov '' cMeses(l2) = "Dic " FOR i = 1 TO ALEN(uFechu)
DO CASE CASE MEAÑGR = I
nMes = VAL( SUBSTR(uFechu(i), 5, 2) ) cGDuta = cGDutu+ TAB + SUBSTR(uFechu(i), I , 4)+ "+
cMeses(nMes) CASE MEAÑGR = 2
CASE MEAÑGR = 3 cGDuta = cGDuta+ TAB + SUBSTR(aFechu(i), I , 4)
cGDutu = cGDutu+ TAB + "TIPOS DE CONTRATOS" ENDCASE
NEXT SEL E "CONTRA TO" FOR i = I TO ALEN(uTipCt0)
SEEK aTipCto(i) IF FOUND()
c Vulores = c Valores + KC DESCRI Item = ALLTRIM(KC - DESCCR~
ELSE cValores = cVulores + ALLTRIM(STR(uTipCto(i)) ) Item = ALLTRIM(STR(uTipCto(i)) )
ENDIF FOR j = 1 TO ALEN(uFechu)
cValores = cVulores + TAB f ALLTRIM(STR(uTot(i, j))) Item = item + REPLICATE(! ',40 - LEN(item)) i- ALLTRIM(STR(aTot(i,
ThisForm. Lst - Contrato. AddItem(Item) j)))
NEXT cVulores = cVulores i- CRLF
NEXT cGDatu = cGDutu + CRLF + cValores SEL E gruJcu APPEND GENERAL Grufl CLASS "msgraph.churt " DA TA m. cGDutu THIS. OleBoundControll. ControlSource = "Grafl THIS. OleBoundControll .autoformut(coltype, I ) THISFORM. OleBoundControll. HusTitle = . T. THISFORM. OleBoundControll. ChartTitle. Caption = C - GRAPHTITLELOC
THIS, Lockscreen = . F.
A esta lista se añade la información correspondiente a los contratos. Lst-Contrato
En esta parte se manda a una vista previa a la impresión. Btn CmdPrint
IF !USED("Kruficu") RETURN
ENDIF SELECT gruficu REPORT FORMRep - TipCto PREVIEW
Salir del dialogo. Cmdclosel
THISFORM RELEASE
SERVICIOS.
Mediante múltiples arreglos que forman datos de servicios, se mandan a una tabla de paso, y es aquí donde se tomara la fuente para la generación de la gráfica. 0 Form (Dlg-GTipSer)
Init PA RA ME TERS Opcion MEAÑGR = OPCION #DEFINE CRLF #DEFINE TAB CHR(9)
#DEFINE C GRAPHTITLE - LOC "TIPO DE SERVICIOS" LOCAL n v a i SET SAFETY OFF CREATE TABLE grufica (grufl g) SET SAFETY ON APPEND BLANK cGDatu = ""
cValore.7 = ""
SELE "SER VREQ" SET ORDER TO '%lave" dimension cMeses(l2) cMeses(1) = "Ene I'
cMeses(2) = "Feb 'I
cMeses(3) = "Mar cMeses(4) = "br 'I
cMeses(5) = "Muy ' I
CHR(I3) i- CHR (I O)
#DEFINE coliype -41 O0
cMeses(6) = "Jun 'I cMeses(7) = "Jul ' I
cMeses(8) = "Ags ' I
cMeses(9) = "Sep 'I cMeses(l0) = "Oct ' I
cMeses(1 I) = "Nov cMeses(l2) = "Die ' I
FOR i = I TO ALEN(uFechu) DO CASE
CASE MEAÑGR = 1 nMes = VAL( SUBSTR(uFechu(i), 5, 2) )
cGDutu = cGDutu+ TAB + SUBSTR(uFechu(i), I , 4)f Ir "+ckGses(nMes)
cGDutu = cGDutu+ TAB + SUBSTR(uFechu(i), I , 4)
cGDutu = cGDutu+ TAB f "TIPO DE SERVICIOS"
CASE MEAÑGR = 2
CASE MEAÑGR = 3
ENDCASE NEXT SELE "SER VREQ" FOR i = 1 TO ALEN(uTipSer)
SEEK u TipSer (i) IF FOUND() cVulores = cVulores f Kr DESCRI Item = ALLTRIM(Kr - DESCRI)
cValores = cVulores + ALLTRIM(STR(uTipSer(i))) Item = ALLTRIM(STR(uTipSer(i) ) )
ELSE
ENDIF FOR j = 1 TO ALEN(uFechu)
cValores = cVulores f TAB f ALLTRIM(STR(uTot(i, j))) Item = item + REPLICATE(! ',40 - LEN(item)) f ALLTRIM(STR(uTot(i, j))) ThisFormLst - Servicios.AddItem(Item)
NEXT cVulores = cVulores + CRLF
NEXT cGDutu = cGDutu + CRLF + cVulores SELE gruficu APPEND GENERAL Grufl CLASS "msgruph. chart" DATA m. cGDutu THIS. OleBoundControll. ControlSource = "Grufl I' THIS. OleBoundControll. uutoformut(coltype, 1) THISFORM OleBoundControll. HusTitle = . T. THISFORM. OleBoundControll. ChurtTitle. Caption = C - GRAPHTITLELOC THIS. LockScreen = . F.
A esta lista se añade la información correspondiente a los servicios. Lst-Servicios
En esta parte se manda a una vista previa a la impresión. Btn-CmdPrint
IF ! USED("graJica'í) RETURN
ENDIF SELECT grafica REPORT FORM Rep-TipSer PREVIEW
Salir del dialogo. 0 Cmdclosel THISFORM. RELEASE
IMPORTE.
En este dialogo se piden y almacenan los datos respectivos al importe y se permite el establecimiento de la fecha. El tipo de cambio se toma de la tabla setup y los datos se almacenan en la tabla de costos desde aquí mismo. Al establecer la fecha se deshabilita la opción de futuras modificaciones. 0 Form (Dlg-Impo)
0 Init Parameters Pos-Reg Public Pos Set Date British Set Century On Pos = PosReg Select '%ostos" Go Pos
0 UnLoad Release Pos
Contenedor de las respectivas tablas a manipular. 0 Data Environment costos Setup
En el Interactivechange se hace la actualización del moto en dólares. 0 Txt-MonMex ThisForm. Txt - Mon USA. Value = This. Value /Setup. PS-TipCam
En el Interactivechange se hace la actualización del moto en pesos. Txt-MonUsa
ThisForm. Txt-MonMex. Value = This. Value * Setup. PS-TipCam
En esta parte se hace la captura de la fecha y número de factura, por default se ofrece l a fecha del sistema.
Btn-Fecha ThisForm. Txt NumFac. Enabled = . T. ThisForm. TxtFecha. Enabled = . T. ThisForm. Txt-Fecha. Value = DateTimeO ThisForm. TxtFecha.SetFocus ThisForm. Refresh
Aquí se mandan los datos del buffer a la tabla. BtnAcepta
Replace MC FecHor With ThisForm. Txt-Fecha. Value Replace MC-TipCam With Setup. PS-TipCam =TableUpdale() ThisForm. Release
En caso de cancelar, ser revierten las modificaciones en la tabla. 0 Btn-Cancela = TA BL ERE VERT(: T.) ThisForm. Release
MANUALES.
En esta parte se hace la captura de los manuales, se almacena la clave y la descripción del mismo. 0 Form (DLG-MANL)
0 Init LOCAL nHisCve IF NUEVO THEN
SELECT MANUALES SET ORDER TO 1 Go Bott nHisCve = manuales. dm clave ThisForm. Txt Clave. Enabled = . t. ThisForm. Txt-Clave. - Value = nHisCve +I
ThisForm. Txt Clave. Enabled = . F. GONum MaLl ThisForG Txt-Clave. Value ThisForm. TxtDescri. Value ThisForm. Mem-Msg. Value
ELSE
= Manuales. Dm-clave = Manuales. Dm-Descri
= Manuales. Dm-Texto ENDIF
If nNivOpe >3
EndIF ThisForm. Refresh
ThisForm. Btn - Aceptar. Enabled = . F.
En esta parte se da de alta un nuevo registro o tan solo se modifica según la opción pedida. 0 Btn-Aceptar SELE MANUALES SET ORDER TO 1 IF NUEVO THEN
APPEND BLANK REPLACE dm clave WITH ThisForm. Txt-Clave. value REPLACE dm-descri WITH ThisForm. Txt Descri. value REPLACE dm-Texto WITH ThisForm Mem-Msg. value REPLACE dmIClvUsu WITH cClvOpe REplace dm-FeHoMo WITH DATETIME() =Table Update(: T.) thisform. refresh NUEVO = .T. ThisForm. Txt Clave. Enabled = . T. ThisForm. TxcClave. Value = ThisForm. Txt-Clave.value + 1 ThisForm. Txt-Descri. value = space(3.5) ThisForrnMem-Msg. value = l r
ThisForm. Txt-Clave. setfocus
GO Num-Man1 REPLACE dm descri WITH ThisForm. Txt-Descri.value REPLACE dmzTexto WITH ThisFormMem-Msg. value REPLACE dm-ClvUsu WITH cClvOpe REplace dm - FeHoMo SKIP
ELSE
WITH DATETIME()
if eo f i go top
endif Num Man1 = recnoo ThisForm. Txt Clave. Enabled = .F. ThisForm. TxtClave. Value thisForm. Txt Descri. value thisForm. Mem msg. value ThisForm. Txt Descrisetfocus NUEVO = .F.-
= manuales. dm-clave = manuales.dmdescri
= manuales. dm-texto
ENDIF =Tu ble Update (. T.) thi5lfoi-m. refresh
Cerrar el dialogo.
Btn-Salir THISFORM RELEASE
ALARMA.
En este dialogo se atiende la alarma que su tiempo de atención ha llegado. 0 Form(D1g - MeMaLa)
0 Init LOCAL dVal PUBLIC cFoIExp, mTexto SET PROCEDURE TO C:\INFOWARE\UTILFRA.PRG dVal = aAlarma(1) SELECT "PENYALA " SET ORDER TO "APLICA" GO TOP ?? CHR(7) ?? CHR(7) SEEK dVal IF .NOT. EOF()
THISFORA txt Folio. Value = PENYALA. MA FOLIO THISFORM MEM- Tarea. Value = PENYALA.Mi - MENSAJ
THISFORM Btn IrExpe.SETFOCUS THISFORM. REFRESH
ELSE
ENDIF WAIT WINDOWS "NO SE ENCONTRO EL FECHA/HR:"
A. . L
Aquí se manda al operador al expediente en el folio correspondiente. Btn-IrExpe
LOCAL dVal dVal = aAlarma(1) IF MESSAGEBOX("A1 seleccionar esta opción se activará el expediente"+ ;
thisform. txt f olio. value +chr (I 3) i- chr (I 3) + ; "Es importante conocer que desactivará la alarma actual y quedará
'I el movimiento con tu clave: "+cClvOpe+" "+chr(l3)+ ; "¿Desea continuar....?': 4+32, "IMPORTANTE'V = 6
registrado "+ ;
SELECT "PENYALA " SET ORDER TO 1 SEEK dVal IF FOUND()
REPLACE PENYALA.MA USUDES WITH cClvOpe REPLACE PENYALAMA-FEHRDE - WITH DATETIME~
ENDIF CAFEAC(dVa1, 4)
DO FORM dlg-Expe WITH .F., PENYALA.MA-FOLIO THISFORM. RELEASE
ENDIF RETURN
Posponer la atención de la alarma. 0 Btn-Pospon LOCAL dVal U'Vul = uAlarma(1) CAFEAC(dVa1, O) THISFORM. RELEASE RETURN
MENSAGE DEL DIA.
Este dialogo solo tiene como función presentar el texto del mensaje, no permitir la edición del mismo. 0 Form (Dlg-Msg)
0 Init SELECT "SETUP" THISFORM. Mem-Mensag. Value = SETUP. PS - MSG THISFORM. Btn-A cepta. SETFOCUS THISFORM. REFRESH
0 Btn-Salir Do mn-main. mpr thisform. release
MUNICIPIO.
Se muestra la información con la posibilidad de modificar los datos, los parámetros especifican que operación se hace y a que clave de nunicipio, se hace como en todo un almacenamiento en buffer optimista por registro. Por medio de la relación de las claves de país, estados y ciudades se obtiene al único municipio con un clave especifica.
0 Form (Dlg-Ciu)
0 Init PARAMETERS nOpl, nNumMun LOCAL nVal PUBLIC nOp nOp = nOpl nVul= O SET MULTILOCKS ON
SET REPROCESS TO 30 SECONDS SELECT "ESTADOS" SET FILTER TO KS PAIS = nClvPai
SET FILTER TO KD PAIS = nClvPai .AND. KD - ESTADO = nClvEdo
SET ORDER TO '%lave" IF nOp != 1
SEEK nNumMun IF FOUND()
SELECT W U D A D ~ ~
SELECT WKJNICIP~
THISFORM. txt-Clave. Value = nNumMun THISFORM. txt Descri. Value = MUNICIP. KMDESCRI THISFORM. tx<ClvPai. Value = MUNICIP. KM-PAIS THISFORM. txt ClvEdo. Value = MUNICIP. KM ESTADO THISFORM. txtClvCiu. Value = MUNICIP. KMCIUDAD THISFORM. txt-DesPai. Value = PAISES. KP DXSCRI THISFORM. txcDesEdo. Value = ESTADOS. KS DESCRI THISFORM. txtDesCiu. Value = CIUDAD. KD - DESCRI
ENDIF THISFORM. txt - Clave. Enabled = . F.
GO BOTTOM nVal = KM-CLAVE THISFORM.txt Clave. Value = nVal+ 1 THISFORM. txtDescri. Value = SPACE(20) THISFORM. txtClvPai. Value = nCIvPai THISFORM. txtClvEdo. Value = nClvEdo THISFORM. txtClvCiu. Value = nClvCiu THISFORM. txcDesPai. Value = cNomPai THISFORM. txcDesEdo. Value = cNomEdo THISFORM txtDesCiu. - Value = cNomCiu
ELSE
ENDIF RETURN
Contenedor de las respectivas tablas a manipular. 0 Data Environment Pais Estado Ciudad Municipio
Si el operador decide guardar las modificaciones, entonces se actualiza la tabla, vaciándole el buffer optimista por registro sobre ella.
BtnAcepta =CURSORSETPROP(lBUFFERING ', 3, 'MUNICIPY SELECT MUNICIP
SET ORDER TO '%lave" IF MESSAGEBOX("Estan los datos correctos'' 4+32+256, '!A TENCION'Y = 7
ELSE THISFORM txt-Clave. SETFOCUS
GO TOP SEEK THISFORM. txt-Clave. Value IF FOUND()
IFnOp = I
"+STR(THISFORM txt-Clave. Value), : =MESSAGEBOX("Ya existe una Municipio con Número:
0+32, "PRECA UCION'í) THISFORM txt - ClaveSETFOCUS
REPLACE KM DESCRI WITH THISFORM txt Descri. Value REPLACE KM-PAIS WITH THISFORM txt ¿%Psi. Value R EPLA CE KM- ESTA DO WITH THISFORM2xt-ClvEdo. Value REPLACE KMICIUDAD WITH THISFORM txt-ClvCiu. Value = TABLE UPDA TE() SET ORDER TO "nombre" THISFORM. Releaseo
ELSE
ENDIF
IFnOp = I ELSE
APPEND BLANK REPLACE KM - CLA VE WITH THISFORM. txt-Clave. Value
REPLACE KM DESCRI WITH THISFORM txt Descri. Value REPLACE KM-PAIS WITH THISFORM txt EvPai. Value REPLACE KM-ESTADO WITH THISFORMTxt ClvEdo. Value REPLACE KM-CIUDAD WITH THISFORM t x t - ClvCiu. Value
SET ORDER TO "nombre" THISFORM. Release ()
=MESSAGEBOXrNo existe un Municipio con Número: "+STR(THISFORM. txt Clave. Value), ;
THISFORM txt-Clave. SETFOCUS
=TABLE UPDATE 0
ELSE
o +32, "PR E C A ~ C I O N ~ ~
ENDIF ENDIF
ENDIF RETURN
El operador puede abortar l a operación, en este caso se revierten los cambios. Btn-Cancela
IF CURSORGETPROP(lbuffering~ != I
=TABLEREVERT() ENDIF SELECT "ESTADOS" SET FILTER TO
SELECT "CIUDAD" SET FILTER TO
SELECT "MUNICIP" SET ORDER TO "nombre" THISFORM. release()
NUEVO MENSAGE DEL DIA.
En este dialogo se permite la alta del nuevo mensaje a mostrar a todos los usuarios. 0 Form (Dlg-NuMs)
0 Init Select 'Setup" Go Top
BtnAceptar = Table Update() thisform. release
0 Btn Cancelar = Tableievert(. T) thisform. release
PAISES.
Manipulación de los datos de la tabla de países. 0 Form (Dlg-Paise)
0 Init PARAMETERS nOpl, nNumPai LOCAL nVal PUBLIC nOp nOp =nOpl nVal= O CLOSE DATABASES SET MULTILOCKS ON SET REPROCESS TO 30 SECONDS SELECT "PAISES" SET ORDER TO "CLA VE"
IFnOp != I SEEK nNumPai IF FOUND() THISFORM. txt Clave. Value = nNumPai THISFORM txt-Descri. - Value = PAISES. KP-DESCRl
ENDIF THISFORM. txt - Clave. Enabled = .F.
GO BOTTOM n Val = KP-CLA VE THISFORM.txt-Clave. Value = nV.1 + I THISFORM txt-Descri. Value = SPACE(20) ENDIF RETURN
ELSE
0 BtnAceptar =CURSORSETPROP('BUFFERING ', 3, 'PAISES? SELECT PAISES SET ORDER TO '%LA VE" IF MESSAGEBOX("Estan los datos correctos", 3+32+256, '2TENCION'Y = 7 THISFORM txt - Clave. SETFOCUS
ELSE GO TOP SEEK THISFORM. txt - Clave. Value IF FOUND() IFnOp = 1 =MESSAGEBOX("Ya existe un Pais con Número: "+STR(THISFORM txt - Clave. Value), :
THISFORM. txt - Clave. SETFOCUS ELSE REPLACE KP DESCRI WITH THISFORM txt - Descri. Value
O+ 32, "PRECA UCION'Y
=TABLE UPDATE^ SET ORDER TO 'T\rOMBRE" THISFORM. Release0
ENDIF ELSE IFnOp = I APPEND BLANK REPLACE KP CLA VE WITH THISFORM.txt Clave. Value REPLACE KPIDESCRI WITH THISFORM t; - Descri. Value = TABLEUPDATE0
THISFORM. Release () ELSE =MESSAGEBOX("No existe un Pais con Numero: "+STR(THISFORM.txt-Clave. Value), ;
SET ORDER TO "NOMBRE"
0+32, "PRECA UCION'Y
THISFORM, txt - Clave.SETFOCUS ENDIF ENDIF ENDIF RETURN
En caso de cancelar se revierten los cambios en caso de haberlos. 0 Btn-Cancelar IF CURSORGETPROP('bufferingí) != I
ENDIF SET ORDER TO "NOMBRE" THISFORM. releaseo
= TA BLERE VER T o
PENDIENTES Y ALARMAS.
Se dan de alta los pendientes y alarmas así como la des activación de los mismos. Se hacen una carga de buffer optimista por registro el cual se vacía sobre la tabla. 0 Form(D1g-PenAla)
0 Init PARAMETERS nOpl, nNuCoRe PUBLIC nOp nOp = nOpl CLOSE DATABASES SET MULTILOCKS ON SET REPROCESS TO 30 SECONDS SELECT "PENYALA " SET ORDER TO I GO TOP IF nOp != 1
DO WHILE .NOT. EOFO IF MA - CONSEC = nNuCoRe
THISFORM.txt-Folio. Value = cExped THISFORM. txt-Fe HrAc. Value = PENYA LA. MA-FEHRA C THISFORM. txt UsuAct. Vulue = PENYALA. MA USUACT THISFORM txtConsec. Value = PENYALA. MA-CONSEC THISFORM. txcNo UsAc. Value = USUARIOS. KÜ - NOMUSU
IF !empty(PENYALA.MA-USUDES) THISFORM. Btn - Desact. Enabled = . F
ENDIF IF PENYALAMA PEDALA = . T.
ELSE THISFORM. chk - Alarma. Value = 1
THISFORM.chk - Alarma. Value = O ENDIF THISFORM.txt FeHrAp. Value = PENYALA. MA FEHRAP THISFORM t x t UsuDes. Value = PENYALA. M A -USUDES THISFORM txtFeHrDe. Value = PENYALA.MA- FEHRDE THISFORM Mem - Mensaj. Value = PENYALA.MA-MENSAJ EXIT
ENDIF SKIP
ENDDO IF THISFORM chk Alarma. Value = 1
THISFORMyShp Alarma. BackStyle = 1 THISFORM txt-FeHrAp. Enabled = . T.
THISFORM.Shp Alarma. BackStyle = O THISFORM. txt - FeHrAp. Enabled = . F.
ELSE
ENDIF THISFORM. refresh
THISFORM. Btn-Desact. Enabled = , F. THISFORM. txt Folio. Value = cExped THISFORM txCConsec. Value = cNumCon + 1 THISFORM. txt-UsuAct. Value = cClvOpe THISFORM.txt - No UsAc. Value = cNomOpe
ELSE
ENDIF If nNivOpe = 3 .OR. nNivOpe = 5
ThisForm.Btn Acepta. Enabled = .F. ThisForm. BtnDesact. - Enabled = . F.
EndIF ThisForm. Refresh RETURN
0 DataEnviromont PenY Ala Usuarios
Se aceptan los cambios, vaciando el buffer sobre l a tabla. BtnAcepta
= C URSORSE TP ROP('B UFFER ING ', 3, 'PENYA LA y SELECT PENYALA SET ORDER TO I IF MESSAGEBOX('Estan los datos correctos", 4+32+256, "A TENCION'í) = 7
ELSE THISFORM.Chk - AlarmaSETFOCUS
IFnOp = I APPEND BLANK REPLACE MA-FOLIO WITH THISFORM. txt folio. Value
REPLACE M A FEHRAC WITH DATETIME0
IF THISFORMTChk Alarma. Value = I REPLACE MA-USUACT WITH cc lv ípe
REPLACE PEDALA WITH. T. REPLACE MAIFEHRAP WITH THISFORM. txt - FeHrAp. Value CAFEACVHISFORM. txt-FeHrAp. Value, 2)
WAIT WINDOWS 'Se actualizaron las alarmas" TIMEOUT 1
REPLACE MA - PEDALA WITH. F.
&& ACTUALIZA LAS ALARMAS
ELSE
ENDIF REPLACE MA MENSAJ WITH THISFORM.mem Mensaj. Value REPLACE MA-CONSEC - WITH THISFORM txt - Consec. Value
REPLACE MA - USUACT WITH cClvOpe ELSE
IF THISFORM Chk Alarma. Value = I IF MA - PEDALA = , F.
CAFEAC(THISF0RM. txt-FeHrAp. Value, 2) && A CTUA L IZA LAS A LA RMAS
ENDIF REPLACE MA PEDALA WITH. T. REPLACE MA-FEHRAP - WITH THISFORM txt - FeHrAp. Value
REPLACE M A PEDALA WITH. F. ELSE
REPLACE MA-FEHRAP - WITH CTOT(I / : : y ENDIF REPLACE A&-MENSAJ WITH THISFORM. mem-Mensaj. Value
ENDIF =TABLEUPDATE() THISFORM Release0
ENDIF RETURN
Se desactiva la alarma mediante una marca y se registran los datos correspondientes de l a desactivación.
BtnDesact SELECT "PENYALA " SET ORDER TO I THISFORM. txt UsuDes. Value = cClvOpe THISFORM txt-No UsDe. Value = cNomOpe THISFORM txLFeHrDe. Value = DATETIME0
REPLACE MA USUDES WITH cClvOpe REPLACE MA-FEHRDE - WITH THISFORM. txt - FeHrDe. Value
THISFORM REFRESH
CAFEAC(THISF0RM. txt-FeHrAp. Value, 1) RETURN
AI cancelar se revierten las modificaciones. Btn-Cancela
IF CURSORGETPROP('bufferingí) != 1
ENDIF this form. release
= TA BLERE VERT()
PROVEEDORES.
En este dialogo se realizan los movimientos con la tabla de proveedores. Puede manejarse para iniciar en el primer registro o se puede ir al registro con clave de proveedor clave, el tipo de la ventana también viene especificada dentro de los parámetros esto es mediante el catálogo. Se hace un manejo de buffer optimista por registro.
Form (Dlg-Prov)
Init PARAMETERS Clave, tipo, Fol Public Folio Folio = Fol If tipo = I
EndIf Select "Proveed" Set Order To "Clave" Go Top
ThisForm. WindowType = I
If ESfO ThisForm. Btn Inicio. Enabled = . F. ThisForm. BtnAnteri. Enabled = . F. ThisForm. Btn Siguie. Enabled = . F. ThisForm. BtnIUltimo. Enabled = . F. ThisForm. Btn Busca. Enabled = . F. ThisForm. BtnIBorra. Enabled = . F. ThisForm. Btn - Edita. Enabled = . F.
If Clave > O
EndIF
Else
Seek Clave
EndIF If nNivOpe != 3 .AND. nNivOpe != 1
ThisForm. Btn Nuevo. Enabled = . F. ThisForm. BtnIEdita. Enabled = . F. ThisForm. BtnBorra. Enabled = . F.
EndIF ThisForm. Re fresh
0 Load Public NewReg Pro Act = . T. set Delete On
0 UnLoad Pro - Act = . F.
Contenedor de las respectivas tablas a manipular. 0 Data Environment ServSerq Pais Estados Ciudad Minicip Proveed
Lleva el cursor al inicio de la tabla. 0 Btn-Inicio Go Top ThisForm. Refresh ThisForm. Datos. Dat-Gen. Txt-Pais. Refresh ThisForm. Datos. Dat-Gen. Txt-Estado. Refresh ThisForm. Datos. Dat-Gen. Txt-Ciudad. Refresh ThisForm. Datos. Dat-Gen. Txt-Munici. Refiesh
Lleva el cursor uno atrás de la tabla. 0 Btn-Anterior If !BOF() Then
Skip -1 Endlf ThisForm. Refresh ThisForm. Datos. Dat-Gen. Txt Pais. Refresh ThisForm. Datos. Dat-Gen. TxCEstado. Refresh ThisForm. Datos. Dat-Gen. Txt-Ciudad. Refresh ThisForm. Datos. Dat-Gen. Txt-Munici. Refresh
Lleva el cursor uno adelante de la tabla. 0 Btn-Sigiente Skip If EOFO Then
Skip -I EndIf ThisForm. Refresh ThisForm. Datos. Dat-Gen. TxtPais. ReJi.esh ThisForm. Datos. Dat-Gen. Txt - Estado. Refresh
ThisForm. Datos. Dat-Gen. Txt-Ciudad. Refresh ThisForm. Datos. Dat-Gen. Txt-Munici. Refresh
Lleva el cursor al final de la tabla. 0 Btn-Ultimo Go Bottom This Form. Refresh ThisForm. Datos. Dat-Gen. Txt-Pais. Refresh ThisForm. Datos. Dat-Gen. Txt-Estado. Refresh ThisForm. Datos. Dat-Gen. Txt-Ciudad. Refresh ThisForm. Datos. Dat-Gen. Txt-Munici. Refresh
La busque se realiza mediante un dialogo se selección de índice. 0 BtnBusca Public PoRePr PoRePr = RecNoO DO FORM DlgBuPr Go Top Go PoRePr This Form. Re fresh
Al dar uno de alta, se hace la búsqueda de la siguiente clave. Se habilitan y deshabilitan los botones correspondiente, como son los múltiples movimientos de la tabla.
BtnNuevo New Reg = RecNoO ThisForm. Btn Nuevo. Visible = . F. ThisForm. Btn-Edita. Visible = . F. ThisForm. BtnAcepta. Visible = . T. ThisForm. Btn-Cancel. Visible = . T. ThisForm. BtnIInicio. Enabled = , F. ThisForm. Btn Anteri. Enabled = . F. ThisForm. Btn-Siguie. Enabled = .F. ThisForm.Btn~Ultimo.Enabled = .F. ThisForm. BtnBusca. Enabled = . F. ThisForm. Btn Borra. Enabled = .F. ThisForm. BtnIEdita. Enabled = . F. ThisForm. Btn - Salir. Enabled = . F. Thisform. Datos. Dat - Gen. Txt - CvePro. ControlSource = ""
Select "Proveed" Local Clave Clave = O Go Top DO WHILE . T.
Clave = Max(Clave,MV - CvePro) W O f O
EXIT
Else
EndIF Skip
ENDDO Clave = Clave -t 1 ThisForm. Datos. Dat-Gen. Txt-CvePro. Enabled = . T. ThisForm. Datos. Dat-Gen. Txt-CvePro. Value = Clave *ThisForm. Datos. Dat-Gen. Com-Pais. Value = I36 ThisForm. Datos. Dat-Gen. Txt-CvePro. SetFocus ThisForm. Refresh
Se aceptan los cambios hechos durante la captura de los datos y se actualiza el estado de los botones. 0 Btn-Acepta =Table Update(: T.) ThisForm. Btn Nuevo. Visible = . T. ThisForm. Btn-Edita. Visible = . T. ThisForm. Btn-Acepta. Visible = . F. ThisForm. Btn-Cancel. Visible = .F. Store RecNoO-To Pos Count to NR Go Pos I fNR = O Then
ThisForm. Btn-Inicio. Enabled = . F. ThisForm. Btn Anteri.Enabled = .F. ThisForm. Btn-Siguie. Enabled = . F. ThisForm. Btn -Ultimo. Enabled = . F. ThisForm. Btn- Busca. Enabled = . F. ThisForm. Btn-Borra. Enabled = . F. ThisFovm. Btn- - Edita. Enabled = . F.
Else ThisForm. Btn-Inicio. Enabled = . T. ThisForm. Btn Anteri. Enabled = . T. ThisForm. Btn-Siguie. Enabled = . T. ThisForm. Btn-Ultimo. Enabled = . T. ThisForm. Btn- Busca. Enabled = . T. ThisForm. Btn-Borra. Enabled = . T. ThisForm. BtnIEdita. Enabled = . T.
EndIf ThisForm. Btn-Salir. Enabled = . T. P ADProv(: F.) ThisForm. Datos. Dat Gen. Txt CvePro. Enabled = . F. Thisform. Datos. Dat-¿3en. Txt-?vePro. ControlSource = 'proveed. mv-cvepro " This Form. Refresh
La edición se realiza mediante la abilitación y deshabilitación de botones correspondientes al igual que en una alta.
0 BtnEdita ThisForm. Btn Nuevo. Visible = .F. ThisForm. Btn-Edita. Visible = . F. ThisForm. BtnAcepta. Visible = . T ThisForm. Btn Cancel. Visible = . T. ThisForm. Btn-Inicio. Enabled = .F. ThisForm. BtnAnteri. Enabled = .F. ThisForm. BtnSiguie. Enabled = . F. ThisForm. Btn-Ultimo. Enabled = . F. ThisForm. BtnBusca. Enabled = . F. ThisForm. Btn-Borra. Enabled = . F. ThisForm. B t n d i t a . Enabled = . F. ThisForm. BtnSalir. Enabled = . F. P ADProv( TJ ThisForm. Datos. Dat - Gen. Txt - CvePro. Enabled = .F. ThisForm. Refresh NewReg = O
Se revierten los cambios realizados por el operador, se pide confirmación y se realiza una reversión de tabla. 0 Btn-Cancel
Res = MessageBox("¿ Esta seguro de revertir los cambio?': 4+32) If Res = 7
Return EndIf If Ne w-Reg=O
= TABLERE VER T( T.) = Table Update 0
Delete Go Top
Else
EndIF ThisForm. Btn Nuevo. Visible = . T. ThisForm. Btn-Edita. Visible = . T. ThisForm. BtnAcepta. Visible = , F. ThisForm. Btn-Cancel. Visible = .F. Store RecNo()To Pos Count to NR IfNR O Then
If New - Reg>O Then
Else Go NewReg
Go Pos EndIf
EndIf If NR = O Then
ThisForm. Btn Inicio. Enabled = . F. ThisForm. BtnAnteri. Enabled = .F. ThisForm. Btn Siguie. Enabled = .F. ThisForm. BtnIUltimo. Enabled = .F. ThisForm. BtnBusca. Enabled = .F. ThisForm. BtnBorra. Enabled = . F. ThisForm. Btn-Edita. Enabled = . F.
ThisForm. Btn-Inicio. Enabled = . T. ThisForm. Btn Anteri. Enabled = . T. ThisForm. BtnISiguie. Enabled = . T. ThisForm. Btn Ultimo. Enabled = . T. ThisForm. BtnBusca. Enabled = . T. ThisForm. BtnBorra. Enabled = . T. ThisForm. Btn-Edita. Enabled = . T.
Else
EndIf ThisForm. Btn Salir. Enabled = . T. P ADProvC FJ ThisForm. Datos. Dat-Gen. Txt-CvePro. Enabled = . F. Thisform. Datos. Dat - Gen. Txt - CvePro. ControlSource = '8roveed.mv - cvepro " ThisForm. Refresh
Eliminación del registro actualmente visualizado, mediante una confirmación se procede a marcar el registro. 0 Btn Eliminar
ResDeFMESSAGEBOX('Esta seguro de eliniar el registro? ', 4+32, "Proveedores '7 IfResDel=6 Then
Delete Go Top If E o ! ?
ThisForm. Btn Inicio. Enabled = . F. ThisForm. BtnAnteri. Enabled = . F. ThisForm. BtnSiguie. Enabled = . F. ThisForm. Btn-Ultimo. Enabled = . F. ThisForm. BtnBusca. Enabled = . F. ThisForm. BtnBorra. Enabled = . F. ThisForm. Btn-Edita. - Enabled = . F.
EndIf EndZf This Form. Refresh
Salir del dialogo. 0 Btn-Salir thisform. release
PROVEEDORES POR GEOGRAFIA.
En esta parte se presentan a los proveedores por localización geográfica. Mediante SQL se crea la tabla temporal donde se liga piases, estados, ciudades y municipios con la tabla de proveedores, para mostrar a los datos con la descripción geográfica por descripción. 0 Form (Dlg-Provl)
0 Init PARAMETERS nNivell, nTipSer PUBLIC nNivel set safety off set multilock on SET DELETE ON nNivel = nNivell
IF nNivel> I DO CASE CASE nNivel = 2
THISFORM Caption = "Proveedores del País: "+cNomPai
IF !EMPTY(nTipSer) SELECT proveed. mv-cvepro, proveed. mv-nom bre,
estados. ks-descri, ciudad. kd-descri; FROM proveed, paises, estados, ciudad, tisexpro ; WHERE proveed. mvqais = paises. @-clave AND
proveed, mvstatus, paises. kp - descri, ;
proveed. mvestado = estados. ks-clave ; AND proveed. mv-ciudad = ciudad. kd clave; AND paises. kpclave = estados. b p a & AND paises. kp-clave
AND estados. ks clave = ciudad. kd-estado ; AND proveed. mi j a i s = nClvPai ; AND proveed.mv - cvepro = tisexpro.dp - clvpro AND
= ciudad.kdjais ;
tisexpro.dpclvser = nTipSer ; INTO DBFpaso ; ORDER BY mv - cvepro
SELECT proveed. mvcvepro, proveed. mv-nom bre,
estados. ks descri, ciudad. kd descri; FROM proveed, Fakes, estados, ciudad; WHERE proveed.mvqais =paises. kp - clave AND
ELSE
proveed. mvstatus, paises.@ - descri, ;
proveed. mv-estado = estados. ksclave ; AND proveed.mv ciudad = ciudad. kd clave; AND paises.@-c¡ave = estados. k s q & AND paises. @-clave
= ciudad. kdqais ;
AND estadoxks - clave = ciudad.M - estado ; AND proveed. mvqais = nClvPai ;
INTO DBF paso ; ORDER BY mv - cvepro
ENDIF
thisform. Gr-Provl. recordsource = 'baso"
CASE nNivel = 3 THISFORM Caption = "Proveedores del País: "+ ;
RTRIM(cNomPai) + ", Estado: 'I+ R TRIM(cNomEdo)
IF !EMPTY(nTipSer) SELECTproveed. mv - cvepro, proveed. mv-nombre,
estados. ks-descri, ciudad. M-descri; FROM proveed, paises, estados, ciudad, tisexpro; WHERE proveed.mvpais =paises.@ - clave AND
proveed.mv - status, paises. kpdescri, ;
proveed. mv - estado = estados. ks-clave ; AND proveed. mv ciudad = ciudad. kd clave; AND paises. kp - clave = estados. ksqais AND paises. kp-clave
AND estados. ks clave = ciudad. kd estado ; AND proveed.miqais = nClvPai A" proveed.mv-estado =
AND proveed. mvcvepro = tisexpro.dp-clvpro AND
= ciudad.kdgais ;
nClvEdo;
tisexpro. dpclvser = nTipSer ; INTO DBFpaso ; ORDER BY mv - cvepro
SELECT proveed. mv - cvepro, proveed. mv - nombre,
estados. ks descri, ciudad. M-descri; FROM proveed, Fakes, estados, ciudad; WHERE proveed. mvqais = paises. kp - clave AND
ELSE
proveed. mv - status, paises.@ - descri, :
proveed. mvestado = estados. ksclave ; AND proveed. mv ciudad = ciudad. kd clave; AND paises. kpc¡ave = estados.ksqí& AND paises. kp - clave
AND estados. ks - clave = ciudad. kd estado ; AND proveed. mvqais = nClvPai A" proveed. mv - estado =
= ciudad. kdpais ;
nClvEdo; INTO DBF paso ; ORDER BY mv-cvepro
ENDIF
thisform. GrProvl . recordsource = "paso
CASE nNivel = 4 THISFORM. Caption = "Proveedores del País: ' I+ ;
RTRIM(cNomPai) + ': Estado: "+RTRIM(cNomEdo) + : Ciudad: "+RTRIM(cNomCiu)
IF ! EMP TY(n TipSer) SELECT proveed. mv-cvepro, proveed. mv-nom bre,
estados. ks-descri, ciudad. kd descri; FROM proveed, paises, estados, ciidad, tisexpro; WHERE proveed.mvjais = paises. kpclave AND
proveed. mv - status, paises. kp-descri, ;
proveed. mv - estado = estados.ks-clave ; AND proveed. mv-ciudad = ciudad. kd-clave; AND paises. kpclave = estados. ksgais AND paises. kp-cluve
AND estad0s.h-clave = ciudad. kd-estado ; AND proveed. m v j a i s = nClvPai AND proveed. mv-estado =
AND proveed. mv-ciudad = nClvCiu; AND proveed. mv-cvepro = tisexpro. dpclvpro AND
= ciudad. kdqais ;
nClvEdo;
tisexpro.dp - clvser = nTipSer ; INTO DBF paso ; ORDER BY mv-cvepro
SELECT proveed. mv-cvepro, proveed. mv-nom bre,
estados. ks descri, ciudad. M-descri; FROM proveed, paises, estados, ciudad; WHERE proveed.mvgais = paises.@-clave AND
ELSE
proveed. mv - status, paises. kp-descri, ;
proveed. mv - estado = estados. ksclave ; AND proveed.mvciudad = ciudad. kdcluve; AND paises. kp-clave = estados. ksgais AND paises. kp-clave
AND estad0s.h clave = ciudad.M-estado : AND proveed.mGgais = nClvPai AND proveed.mv-estado =
AND proveed. mv-ciudad = nClvCiu;
= ciudad. kdqais ;
nClvEdo;
INTO DBFpaso ; ORDER BY mv-cvepro
ENDIF
thisform. Gr - Provl .recordsource = "pasofr
CASE nNivel = 5
THISFORM. Caption = "Proveedores del Pais: ''+ ;
", Ciudad: "+ RTRIM(cNomCiu) -t ; RTRIM(cNomPai) +'I , Estado: "+RTRIM(cNomEdo) + ;
", Municipio: "+RTRIM(cNomMun)
IF !EMPTY(n TipSer) SELECT proveed. mv-cvepro, proveed. mv-nombre,
estados. ks descri, ciudad. kd-descri; FROM proveed, jaises, estados, ciudad, municip, tisexpro; WHERE proveed. mvqais = paises. kp-clave AND
proveed. mv-status, paises. kp-descri, ;
proveed. mv-estado = estados. hc l ave ;
proveed. mv-mpio = municip.h-clave ;
= ciudad. kdqais ;
estados. ks-clave = ciudad. kd-estado ;
ciudad. kdclave = municip. kmciudad ;
nClvEdo;
= nClvMun;
tisexpro.dp - clvser = nTipSer ;
AND proveed.mv-ciudad = ciudad.kd-clave AND
AND paises. kp - clave = estados. ksgais AND paises. kp-clave
AND paises. kp - clave = municip. kmqais AND
AND estados.ks - clave = municip. km-estado AND
AND proveed. mvqais = nClvPai AND proveed.mv-estado =
AND proveed. mvciudad = nClvCiu AND proveed. mv-mpio
AND proveed. mv-cvepro = tisexpro. dp-clvpro AND
INTO DBFpaso ; ORDER BY mv-cvepro
SELECTproveed. mv-cvepro, proveed. mv - nombre,
estadoxks descri, ciudad. kz-descri; FROM proveed, jaises, estados, ciudad, municip; WHERE proveed. mvqais = paises. kp-clave AND
ELSE
proveed.mv-status, paises. kp - descri, :
proveed. mvestado = estados. h-clave ;
proveed. mv-mpio = municip. km clave ;
= ciudad.kzqais ;
estados. ks - clave = ciudad. kd - estado ;
ciudad. kd-clave = municip. km-ciudad ;
nClvEdo;
AND proveed. mv - ciudad = ciudad. kd-clave AND
AND paises. kp - clave = estados. ksqais AND paises. kp-clave
AND paises. kp - clave = municip. kmgais AND
AND estados. ks-clave = municip. kmestado AND
AND proveed.mvqais = nClvPai AND proveed. mv-estado =
AND proveed. mv - ciudad = nClvCiu AND proveed. mv - mpio = nClvMun;
INTO DBF paso ; ORDER BY mv - cvepro
ENDIF
thisform. Gr - Provl. recordsource = "paso"
ENDCASE
THISFORM Caption = "Proveedores" ELSE
IF !EMPTY(nTipSer) SELECT proveed. mv-cvepro, proveed. mvnombre, proveed. mv-status,
paises. kp-descri, ; estados. ks-descri, ciudad. kd-descri;
FROM proveed, paises, estados, ciudad, tisexpro; WHERE proveed.mvqais = paises. kpclave AND proveed.mv - estado =
estados. ks-clave ; AND proveed. mv ciudad = ciudad. kd clave; AND paises. @-clave = estados. ksp& AND paises. kp - clave =
AND estados. ks - clave = ciudad. kd estado ; AND proveed. mv-cvepro = tisexpro. dp-clvpro AND
ciudad. kdqais ;
tisexpro.dpclvser = nTipSer ; INTO DBF paso ; ORDER BY mv-cvepro
SELECT proveed. mv-cvepro, proveed. mv-nom bre, proveed. mv-status, ELSE
paises. @-descri, ; estados. ks descri, ciudad. kd-descri;
FROM proveed, paises, estados, ciudad; WHERE proveed. mvqais = paises. kp-clave AND proveed.mv - estado =
estados. ks-clave ; AND proveed. mv ciudad = ciudad. kd clave; AND paises. kp - clave = estados. k s g & AND paises. @-clave =
AND estados. ks - clave = ciudad. kd-estado : ciudad. kdpais ;
INTO DBFpaso ; ORDER BY mv-cvepro
ENDIF
thisform. Gr-Provl.recordsource = 'jpaso'' ENDIF
=cursorsetprop('buffering', 5, 'paso 7
Cierra el dialogo y destruir la tabla de paso. Btn-Salir
select paso close table delete file Paso.dbj' THISFORM Release
TOTAL DE EXPEDIENTES.
Se muestran los reportes estratégicos según la cláusula creada mediante loas opciones elegidas por el operador. 0 Form(ReEsCt)
0 Init SET DELETE ON SET DATE TO british SET CENTURY ON
0 Load Public nCla nCla = O Al revisar cada una de las opciones esta permitirá pasar a definir los rangos para la búsqueda. Las opciones son las siguientes:
Chk-FecHor THISFORM. Txt Feclni. VALUE = DATETIME0 &&"22/01/1998 01:44:22 PM" THISFORM. TxcFecFin. VALUE = DATETIME0 &&"26/01/1998 10:08:41 AM" Local Estado
I f This. Value = 1 Estado = .T nCla = nCla + 1 ThisForm. Btn - Reporte. Enabled = . T.
ThisForm. Txt FecIni. Value = '"' ThisForm. TxtFecFin. - Value = '"' Estado = . F. nCla = nCla - 1 I f ncla=O
EndIf
Else
ThisForm. Btn - Reporte. Enabled = . F.
EndIf
ThisForm. Txt - Fechi. Enabled = Estado
ThisForm. Txt FecFin. Enabled = Estado ThisForm. Chkstatus. Enabled = Estado ThisForm. Chk Caso. Enabled = Estado ThisForm. ChkIGeo. Enabled = Estado
ThisForm. Txt FecIni.SetFocus ThisForm. Txt-FecIni. - Refresh
0 Chk-Status Local Estado
If This. Value = 1 Estado = .T. nCla = nCla -+ I ThisForm. Btn - Reporte. Enabled = . T.
ThisForm. Chk Activo. Value = O ThisForm. Chk-Financial. Value = O ThisForm. Chk-Cerrado. - Value = O Estado = .F. nCla = nCla - I
Else
I f ncla=O ThisForm. Btn - Reporte. Enabled = . F.
EndIf EndIf
ThisForm. Chk Activo. Enabled = Estado ThisForm. Chk-Financial. Enabled = Estado ThisForm. Chk-Cerrado. - Enabled = Estado
ThisForm. Chk Activo. SetFocus ThisForm. ChkActivo. - Refresh
Chk-Caso Local Estado
If This. Value = I Estado = .T. ThisForm. Btn Reporte. Enabled = . T. ncla = ncla F 1
ThisForm. Chk Auto. Value = O ThisForm. Chk-Medico. Value = O ThisForm. ChkLegal. Value = O ThisForm.Chk-Hogar. Value = O ThisForm. Chk-Info. - Value = O
Else
REPORTE DE COSTOS.
Aquí se manejan los reportes de cheques, estos son manipulados de la misma forma que todos los reportes anteriores.
Form(Rep-Cost)
0 Init Public nCla ncla = O
Tablas a manipular. 0 DtatEnviroment costos
0 Chk-Nombre Local Estado
I f This. Value = I Estado = .T. nCla = nCla + I ThisForm. Btn Reporte. Enabled = . T. ThisForm. BtnArchivo. - Enabled = . T.
ThisForm. Txt - Nombre. Value = ""
Estado = .F. nCla = nCla - 1 If nCla=O
Else
ThisForm. Btn Reporte. Enabled = . F. ThisForm. BtnArchivo. - Enabled = .F.
EndIf End f
ThisForm. Txt Nombre. Enabled = Estado ThisForm. TxcNombre.SetFocus ThisForm. Txt - Nombre. Refresh
Chk-Clave Locul Estado
If This. Value = 1 Estado = .T. nCla = nCla + 1 ThisForm. Btn Reporte. Enabled = . T. ThisForm. BtnArchivo. - Enabled = . T.
nCla = nCla - I Else
I f nCla = O ThisForm. Btn-Reporte. Enabled = . F. ThisForm. Btn-Archivo. Enabled = , F.
EndIf ThisForm. Txt-ClaIni. Value = ""
ThisForm. Txt-ClaFin. Value = '"' EndIf
ThisForm. Txt ClaIni. Enabled = Estado ThisForm. T x t - ClaFin. Enabled = Estado
ThisForm. Txt ClaIni.SetFocus ThisForm. TxcClaIni. Refresh
0 Chk-Status Local Estado
IfThis. Value = 1 Estado = .T. nClu = nCla f 1 ThisForm. &-Reporte. Enabled = . T. ThisForm. Btn - Archivo. Enabled = . T.
nCla = nCla - 1 I f nCla=O
Else
ThisForm.Btn Reporte.Enabled = .F. ThisForm. BtnArchivo.Enabled - = . F.
EndIf ThisForm. Opt - Status. Value = I Estado = .F.
EndlJ'
ThisForm. Opt Status. Optionl. Enabled = Estado ThisForm. Optstatus. - Option2. Enabled = Estado
ThisForm. Opt Status. Optionl .SetFocus This Form. Op f - Stat us. Refr es h
Así mismo se cuenta con la posibilidad de exportar a formato Excel, para esto depende del botón presionado por el operador. Mediante una variable se va construyendo la cláusula par filtrar la tabla, obteniendo el reporte.
Btn-Archivo set Safes off Local Cla-Clave, Cla-Status, Cla-Nombre, Cla - FecHor, Clasula
Local Clv-Ini, Clv - Fin
IF ThisForm.Chk-Clave. Value = 1 í'lv h i =.fStrZero(ThisForm. Txt-Clalni. Value, 7) Clv-Fin = .fStrZero(ThisForm. Txt-ClaFin. Value, 7) Cia-í'lave = "MC - ClvPro >=i"+CIv - Ini+"'.AND. MC - ClvPro <= '"+ C h i n +""'
END%
IF THISFORM.Chk-Status. VALUE = 1 IF THISFORM. Opt-Status. Value = 1 Cla Status = 'MC-Pagado'+ = f ! T. '
Cla Status = 'MCPagudo' f = + l. F. ' ELSE ENDIF
ENDIF
IF ThisForm.Chk Nombre. Value = 1 Cla Nombre = "Upper(MC-NomPro) = "I f Upper (ThisForm. Txt-Nombre. Value) + "'"
ENDIF
Clausula = vfl
IF ThisForm. Chk-Clave. Value = 1
EndIF Clausula = "(" + CIa-Clave f '?'I
IF THISFORM, Chk-Status. VALUE = 1 IF ThisForm. Chk-Clave. Value = 1
Clau.sula = Clausula i- 'I .AND. EndIf Cluusula = Clausula + "(,, f Cla - Status f '7"
EndIf IF ThisForm.Chk Nombre. Value = 1
C'lausula = Clausula i- 'I .AND. I'
Clausula = Clausula f "(,' + Cla-Nombre + '9''
IF ThisForm. Ck-Clave. Value = 1 . OR. ThisForm. Chk-status. Value = I
EndIf
EndIf
Select Tostos" Set Filter To &Clausula Go Top If E(?fO
=MessageBox("'El reporte esta en blanco '! 48)
NomArch=GETFILE('XLS'í "Salvar reporte en:'? If !Empty(NomArch)
Else
COPY TO &NomArch ;
FIELDS MC - ClvPro, MC-NomPro, MC-TipAsi, MC-ImpMex, MC - Pagado, MC-Folio; TYPE XLS
Clear ThisForm. Refiesh =MessageBox("'El reporte se ha creado con exito '9
EndIf EndIF
Set Filter To
0 Btn-Reporte Locul Cla-Clave, Cla-Status, Cla-Nombre, C l a e c H o r , Clasula Local Clv-hi, Clv-Fin
IF ThisForm.Chk Clave. Value = 1 Clv Ini = JStrZ&-o(ThisForm. Txt-ClaIni. Value, 7) Clv-Fin = fStrZero(ThisForm. Txt-ClaFin. Value, 7) Cla-Clave = "MC - ClvPro > ='r'+Clv - Ini+ 'I' .AND. MC - ClvPro = '"+ Clv-Fin + ""'
ENDIF
IF THISFORM. Chk-Status. VALUE = 1 IF THISFORM, Opt-Status. Value = 1 Cla Status = 'MC-Pagado'+ ' = ' f '. T. '
Cla-Status = 'MC - Pagado'+ ' = ' f '. F. ELSE
ENDIF ENDIF
IF ThisForm. Chk Nombre, Value = I c'la Nombre = "Upper(MC-NomPro) = '" + Upper(ThisForm. Txt - Nombre. Value) t '""
ENDS
Clausula = ""
IF ThisForm.Chk Clave. Value = 1
EndIF Clausuia = ''0' 7 Cla - Clave + ' y f '
IF THISFORM.Chk-Status. VALUE = 1 IF ThisForm.Chk-Clave. Value = 1
í'lausula = Clausula f " .AND. '' EndIj' Clausula = Clausula t "ylf Cla - Status f 'í,"
Endlf IF ThisForm. Chk-Nombre. Value = 1
IF ThisForm. Chk-Clave. Value = I . OR. ThisForm. Chk-status. Value = 1
Clausula = Clausula + " .AND. "
C'lausulu = Cluusulu f ''(1' + Clu - Nombre f '7'' Endlf
EndIf
Select "Costos" Set Filter To &Cluusulu
Go Top ?f EOfO
=MessugeBox("El reporte esta en blanco': 48)
REPORT FORM Rep - Cost For &Cluusulu PREVIEW Else
EndIF
Set Filter To
Cerrar ThisForm. Release
REPORTE DE EXPEDIENTES.
En este dialogo se realizan los reportes de los expedientes, se hace una recopilación de las condiciones elegidas por el operador para crear la cláusula del reporte, la cual es almacenada en una variable. 0 Form(Rep-Exped)
Load Public nCla nClu = O
Tablas a manipular. DtatEnviroment
Exped Paises Estados Ciudad Municip
En cada una de las posible elecciones, el operador primero debe revisar la opción y posteriormente definir sus rangos, esto es para poder darnos cuenta que opciones a analizar. Esto es en cada una de las posibles opciones como se ha visto en el resto de los reportes. 0 Chk-Folio Local Estado
I f This. Value = I Estado = .T. nCla = nCla + 1 ThisForm. BtnReporte. Enabled = . T. ThisForm. Btn-Archivo. Enabled = . T.
ThisForm. Txt-FolIni. Value = ""
ThisForm. Txt-FolFin. Value = ""
Estado = .F. nCla = nCla - 1 I f ncla = O
Else
ThisForm. BtnReporte. Enabled = . F. ThisForm. Btn-Archivo. Enabled = . F.
EndIf EndIf
ThisForm. Txt-FolIni. Enabled = Estado ThisForm. Txt-FolFin. Enabled = Estado
ThisForm. Txt FolIni.SetFocus ThisForm. TxcFolIni. ReJYesh
0Chk Nombre Local Estado
I f This. Value = I Estado = .T nCla = nClu +- 1 ThisForm. BtnReporte.Enabled = . T. ThisForm. Btn - Archivo. Enabled = . T.
ThisForm. Txt-Nombre. Value = ""
ThisForm. Txt-Apl. Value = '"' ThisForm. Txt - Ap2. Value = ""
Estado = .F. nCIa = nCla - 1 I f ncla=O
Else
ThisForm. Btn Reporte. Enabled = . F. ThisForm. BtnArchivo. - Enabled = . F.
EndIf EndIf
ThisForm. Txt Nombre. Enabled = Estado ThisForm. TxcApl . Enabled = Estado ThisForm. Txt-Ap2. - Enabled = Estado
ThisForm. Txt Nombre. SetFocus ThisForm. TxCNombre. Refresh
0 Chk-Fecha Local Estado
I f This. Value = 1 Estado = .T. nCla = nCla i- 1 ThisForm. Btn Reporte. Enabled = . T. ThisForm. BtnArchivo. - Enabled = . T.
ThisForm. Txt Feclni. Value = "" ThisForm. TxcFecFin. - Value = ""
Estado = .F. nClu = nCla - 1 If ncla = O
Else
ThisForm. Btn Reporte. Enabled = . F. ThisForm. BtnArchivo. - Enabled = . F.
EndIf Endrf
ThisForm. Txt Feclni. Enabled = Estado ThisForm. Txt-FecFin. - Enabled = Estado
ThisForm. Txt FecIni.SetFocus ThisForm. TxtFecIni. - Refresh
O Chk Fecha Local Estado
Ij'This. Value = 1 Estado = . T. nCla = nCla i- 1 ThisForm. Btn Reporte. Enabled = . T. ThisForm. BtnArchivo. - Enabled = , T.
ThisForm. Chk Activo. Value = O ThisForm. Chk-Financial. Value = O ThisForm. Chk-Cerrado. - Value = O Estado = .F. nCla = nCla - 1
I' ncla=O ThisForm. Btn Reporte. Enabled = . F. ThisForm. Btn-Archivo. - Enabled = . F.
Else
EndIf End?'
ThisForm. ChkActivo. Enabled = Estado ThisForm. Chk-Financial. Enabled = Estado ThisForm. Chk-Cerrado. Enabled = Estado
ThisForm. Chk-Activo. SetFocus ThisForm. ChkActivo. Refresh
0 Chk-Status Local Estado
If This. Value = 1 Estado = .T. nCla = nCla + 1 ThisForm. Btn Reporte. Enabled = . T. ThisForm. BtnArchivo. - Enabled = . T.
ThisForm. Chk Activo. Value = O ThisForm. Chk-Financial. Value = O ThisForm. Chk-Cerrado. - Value = O Estudo = .F. nCla = nCla - 1 If ncla=O ThisForm. Btn Reporte. Enabled = . F. ThisForm. BtnArchivo. - Enabled = . F.
Else
EndIf EndIf
ThisForm. ChkActivo. Enabled = Estado ThisForm. Chk-Financial. Enabled = Estado ThisForm. Chk-Cerrado. Enabled = Estado
ThisForm. Chk Activo. SetFocus ThisForm. ChkActivo. - Refresh
0 Chk-Caso Local Estado
If This. Value = 1 Estado = . T. ThisForm. Btn Reporte. Enabled = . T. ThisForm. BtnArchivo. Enabled = . T. nCla = nCla + I
ThisForm. Chk Auto. Value = O ThisForm. Chk-Medico. - Value = O
Else
ThisForm.Chk Legal. Value = O ThisForm. ChkIHogar. Value = O ThisForm. Chk-Info. Value = O Estado = .F. nCla = nCla - 1 If ncla =O
ThisForm. Btn Reporte. Enabled = . F. ThisForm. BtnArchivo. - Enabled = .F.
EndIf EndIf
ThisFornz. Chk Auto. Enabled = Estado ThisForm. Chk-Medico. Enabled = Estado ThisForm. ChkLegul. Enabled = Estado ThisForm. Chk-Hogar. Enabled = Estado ThisForm. Chk-Info. - Enabled = Estado
ThisForm. Chk Auto. SetFocus ThisForm. ChkAuto. - Refresh
Chk-Geo Local Estado
If This. Value = 1 Estado = . T. Select "Paises" Set Filter To ThisForm. Gr - Pais. RecordSource = "Paises"
If ThisForm. Lst Pais. ListCount>O Else
nClu = nCla -I If ncla=O
ThisForm. Btn Reporte. Enabled = . F. ThisForm. BtnArchivo. - Enabled = , F.
Endlf EndIF
ThisForm. Gr Pais. RecordSource = l'"
ThisForm. L s t Pais. clear ThisForm. G r s t a d o . RecordSource = 'lr'
ThisForm. L s t Estado. clear ThisForm. G r s t a d o . Refresh ThisForm. GrICiudad. RecordSource = ""
ThisForm. Lst Ciudad. clear ThisForm. GrCiudad. Refresh ThisForm. Gr-Municipio. RecordSource = ""
ThisForm. LsF - Municipio. clear
ThisForm. Gr-Municipio. Rej-esh Estado = .F.
EndIf
ThisForm. Gr - Pais. Enabled = Estado
ThisForm. Gr - Pais. SetFocus Go Top ThisForm. Gr - Pais. Refresh
En cada una de la lista para la selección geográfica, mediante un doble click se manda la selección del grid, a la lista correspondiente, al seleccionar más de un elemento de un grid, éste quitará los posibles candidatos de los grids de jerarquía más baja, es decir si el operador selecciona dos piases el contenido de los grids de estados desaparecerá, y así sucesivamente con estados y ciudades y con ciudades y municipios. Al dar un doble click en alguna de las listas, se eliminara el elemento en el que se ejecuto dicha operación.
0 Gr-Pais Local Item Item = AIITrimCfStrZero(Paises. KP-Clave, 3)) -t " " + AlITrim(Paises. KPDescri)
ThisForm. Lst-Pais. Addltem (Itern)
nCla = nCla + I ThisForm. Btn Reporte. Enabled = . T. ThisForm. BtnArchivo. - Enabled = . T.
ThisForm. Gr - Estado. RecordSource = "Estados"
If ThisForm. Lst Pais. ListCount=l Select "Estado<" Sei Filter To Estados. KS Pais = Val(ThisForm. Lst - Pais. List(1)) ThisForm. G r s t a d o . Enabled = . T. Go Top ThisForm. Gr - Estado. Refresh
Se 1ect"Estados" Set Filter To KS Clave = O ThisForm. Lst-Eitado. Clear ThisForm. Gr Estado. Enabled = . F. ThisForm. &Estado. - Refresh
Else
Se le ct "Ciudad" Set Filter To Ciudad.KD Clave = O ThisForm. Lst Ciudad. Clear ThisForm. GrCiudad. - Enabled = .F.
ThisForm. Gr - Ciudad. Refresh
Se1ect"Municip" Set Filter To Municip. KM-Clave = O ThisForm. Lst Municipio. Clear ThisForm. Gr -Municipio. Enabled = . F. ThisForm. Gr-Municipio. - Refresh
EndIf'
0 Gr-Estado Local Item Item = AllTrim(fStrZero(Estados. KS-Clave, 3)) + 'I I' + AlITrim(Estados. KS - Descri) ThisForm. Lst-Estado. AddItem(Item)
ThisForm. Gr - Ciudad. RecordSource = "Ciudad"
If ThisForm. Lst Estado.ListCount=I Select "Ciudad" Set Filter To KDPais = Val(ThisForm. Lst-Pais. List(1)) .AND. KD-Estado =
ThisForm. Gr - Ciudad Enabled = . T. Go Top ThisForm. Gr - Ciudad. Refresh
Se1ect"Ciudad" Set Filter To Ciudad KD Clave = O ThisForm. Lst Ciudad. CGar ThisForm. GrCiudad. Enabled = . F. ThisForm. Gr-Ciudad. - Refresh
Val(ThisForm. Lst-Estado. List(1))
Else
Se1ect"Municip" Set Filter To Municip. KM-Clave = O ThisForm. Lst Municipio. Clear ThisForm. Gr -Municipio. Enabled = .F. ThisForm. Gr-Municipio. - Refresh
EndIf
Gr-Ciudad Local Item Item = AllTrim@-Zero(Ciudad. KD-Clave, 3)) f 'I I' f AllTrim(Ciudad. KDDescri) ThisForm. Lst-Ciudad. AddItem(Item)
ThisForm. Gr - Municipio. RecordSource = "Municip "
If ThisForm.Lst Ciudad. ListCount=l Select flMunicGfr Set Filter To KM Pais = Val(ThisForm.Lst-Pais.List(1)) .AND. KM Estado =
ThisForm. Gr Municipio. Enabled = . T. ThisForm. Gr-Municipio. - SetFocus Go Top ThisForm. Gr - Municipio. Refresh
Se1ect"Municip" Set Filter To Municip. KM Clave = O ThisForm. Lst Municipio. Clear ThisForm. Gr -Municipio. Enabled = .F. ThisForm. Gr-Municipio. - Refresh
Val(ThisForm. Lst Estado.List(1)) .AND. KM - Ciudad = Val (ThisFormLst - Ciudad. List(1))
Else
EndIf
Gr-Municipio Local Item Item = AllTrim@YtrZero(Municip. KM-Clave, 3)) f Ir I' f AIlTrim(Municip. KM-Descri) ThisForm. Lst - Municipio. AddItem(Item)
Lst-Pais This. Removeltem (This. Listlndex)
nCla = nCla - I If ncla=O
ThisForm. Btn Reporte. Enabled = . F. ThisForm. BtnArchivo. - Enabled = .F.
Endlf
If This. ListCount=I Select "Estados" Set Filter To Estados. KS-Pais = Val(ThisForm. Lst-Pais. List(1)) ThisForm. Gr - Estado. Enabled = . T. Go Top ThisForm. Gr - Estado. Refresh
Se1ect"Estados" Set Filter To KS-Clave = O ThisForm. Lst Estado. Clear ThisForm. GrEstado. Enabled = . F. This Form. GrEstado. - Refresh
Else
Select '%iudad" Set Filter To Ciudad. KD Clave = O ThisForm. Lst - Ciudad. CGar
ThisForm. Gr Ciudad. Enabled = . F. ThisForm. GrICiudad. Refresh
Se1ect"Municip" Set Filter To Municip. KM Clave = O ThisForm. Lst Municipio. clear ThisForm. GrIMunicipio. Enabled = . F. This Form, Gr-Municipio. Refiesh
EndIf
0 Lst-Estado This. Removeltem (This. Listlndex) If This. ListCount=l
Select '%iudad" Set Filter To KDPais = Val(ThisForm. LstPais. List(1)) .AND. KD-Estado =
ThisForm. Gr - Ciudad. Enabled = . T. Go Top ThisForm. Gr - Ciudad. Refresh
Select "Ciudad" Set Filter To Ciudad. KD Clave = O ThisForm. Lst Ciudad. Clear ThisForm. Gr -Ciudad. Enabled = . F. This Form. Gr-Ciudad. - Refresh
Vu1 (ThisForm. Lst-Estado. List(1))
Else
Se1ect"Municip" Set Filter To Municip. KM Clave = O ThisForm. Lst Municipio. ¿Year ThisForm. Gr -Municipio. Enabled = . F: ThisForm. Gr-Municipio. - Refresh
EndIf
0 Lst Municipio This. Remove Item (Th is. L istlndex)
If This. List Count = 1 Select "Municip" Set Filter To KM Pais = Val(ThisForm.Lst Pais.List(1)) .AND. KM Estado =
ThisForm. Gr Gnicipio. Enabled = . T. ThisForm. Gr-Municipio. - SetFocus Go Top ThisForm. Gr - Municipio. Refresh
Se Iect"A4unicip"
Val(ThisForm. Lst Estado. List(1)) .AND. KMICiudad = VuI(ThisFormLst-Ciudad. List(1))
Else
Set Filter To Municip. KM Clave = O ThisForm. Lst Municipio. clear ThisForm. GrIMunicipio. Enabled = .F. ThisForm. Gr - Municipio. Refresh
EndIf
Lst-Ciudad This. Removeítem (This. Listlndex)
A continuación se presentan los comandos para la generación del código, como se menciono anteriormente, se hace el análisis de las opciones definidas por el usuario para la generación de la cláusula, mediante la cual posteriormente se hace el filtro. Para estos reportes se trabajan también la exportación a archivo Excel y también se permite la vista preliminar.
Btn-Archivo set Sajety Off
Local Folíni, FolFin Local FecIni, FecFin Local Pos, Cla Fol, Cla-Fec, Cla - Geo, Cla - Sta, Cla-Cas, Cla-Nom, Clausula Local NomArch Res
Follni = ThisForm. Txt-Follni. Value FolFin = ThisForm. Txt-FolFin. Value
Feclni = ThisForm. Txt Feclni. Value FecFin = ThisForm. Tx; - FecFin. Value
Select "Exped" Do Case
Case ThisForm. Opt Orden. Value = 1
Case ThisForm. Opt Orden. Value = 2
Case ThisForm. Opt Orden. Value = 3
Case ThisForm. Opt Orden. Value = 4
Case ThisForm. Opt Orden. Value = 5
Set Order To "FoliS"
Set Order To "FecHor "
Set Order To "Statk"
Set Order To "Tip,6xp"
Set Order To "Pai&i" En K ' A se
If'ThisForm.Chk Folio. Value = 1
EndIF Cla Fol = ~ ~ M É Folio > = 'U + Follni + "'.AND. ME Folio < = "I + FolFin + 'lr" - -
If ThisForm. Chk Nombre. Value = I
Alltrim(UPPER(ThisForm. Txt-Nombre. Value)) + "' .AND. 'I
AIltri&(UPPER(T&Forrn. Txt-Apl. Value)) + "' .AND. "
Cla-Nom = "A&-im(UPPER(ME NomCli)) = "' +
Cla Nom = CIa Nom + r'Alltrim(UPPER(ME-AplCli)) = '" +
c'lu Nom = Clu-Nom + "Alltrim(UPPER(ME - Ap2Cli)) = 'I' + Allti-im(UPPER(ThisForm. Txt - Ap2. Vulue)) + ""' EndIF
I f ThisForm. Chk Fecha. Vulue = 1
TTOD(ME - FecHor) <= {'I + DToC(FecFin) + '/" EndlF
Clu-Fec = "Tl%D(ME-FecHor) >= {I' + DToC(FecIni) + '7 .1 Ii !l.
If ThisForm.Chk - Geo. Vulue = 1 Clu-Geo = "" FOR Pos = 1 TO ThisForm. Lst - Puis. Listcount If Pos> I
Clu-Geo = CIu-Geo f " . OR. EndIf Clu Geo = Clu Geo + "Exped.ME-PuiAsi = 'I +
All Trim(Str (Vul(ThisForm. Lst-Puis. List(Pos)))) ENDFOR If ThisForm. Lst Estado. Listcount > O Clu Geo = ClG-Geo + ".AND. (" FOR Pos = 1 TO ThisForm.Lst - Estudo.ListCount
IfPos>l Cla Geo = Clu Geo + 'I .OR. 'I - -
Endrf Cla Geo = Clu Geo + "Exped.ME-EdoAsi = 'I +
ENDFOR Clu Geo = Clu - Geo + 'y''
Al 1 Tr im(Str (Vu1 (This For rn. Lst-Estado. List(Pos))))
E n d E I f ThisForm. Lst Ciudad. ListCount
c'la Geo = Cl; Geo + ".AND. (" FOR Pos = 1 TO ThisForm. Lst - Ciudud. ListCount
O
I f Pos> 1 Clu - Geo = Clu - Geo + ' l . OR. I'
Endrf Cla Geo = Clu Geo + "ExpedME-CiuAsi = +
All Trim(Str(Vul(Tt&Forrn. Lst - Ciudad. List(Pos)))) ENDFOR Clu Geo = Clu-Geo + '7"
End@ I f ThisForm. Lst Municipio. Listcount > O
Clu Geo = ClG-Geo + ".AND. (" FOR Pos = I TO ThisForm. Lst-Municipio. Listcount
IfPos>l Clu - Geo = Clu - Geo + ' I . OR. 'I
Endrf
Cla Geo = Cla Geo + "ExpedME MunAsi = " + All Tr im(Str (Val (ThisForm. Lst - Municipio. L ist(Pos))))
ENDFOR Cla Geo = Cla-Geo + '7''
EndIF EndIF
If ThisForm. Chk - Status. Value = I Cia Sta = '11'
If ThisForm. ChkActivo. Value = I
E n d E If ThisForm. Chk Financial. Value = I If ThisForm. Chk - Activo. Value = 1
EndIF Cla Sta = Cla - Sta + "Exped.ME - Status = %inuncial"'
Cla Sta = Cla - Sta + "Exped.ME-Status = 'Activo"'
Cla-Sta = Cla - Sta + 'I .OR. I'
EndIp If ThisForm. Chk Cerrado. Value = I If ThisForm. Chi-Activo. Value = 1 . OR. ThisForm. Chk Financial. Value = 1
EndIF Cla Sta = Cla - Sta + "Exped.ME-Stutus = %errado"'
Cla - Sta = Cla-Sta + " . OR: "
EndIp EndIF
If ThisForm.Chk - Caso. Value = I C'la Cas = 111'
!fT;isForm. Chk-Auto. Value = I
End&' If ThisForm. Chk Medico. Value = I If ThisForm. Chi-Auto. Value = 1
EndIF
Cla Cas = Cla - Cas f "Exped.ME-TipExp = 'A"'
Cla Cas = Cla Cas f ' I .OR. I' - -
C'la Cas = Cla - Cas + "Exped.ME - TipExp = 'B"' End& If ThisForm. Chk Legal. Value = I If ThisForm. C h i - Auto. Value = 1 . OR. ThisForm. Chk Medico. Value = I
EndIF Cia Cas = Cla Cas + " . GR. " - -
Cla Cas = Cla Cas -+ "Exped.ME-TipExp = %'" - E n d E If ThisForm. Chk-Hogar. Value = I If ThisForm. ChkAuto. Value = 1 . OR. ThisForm. Chk-Medico. Value = I . OR.
ThisForm. Chk - Legal. Value = I Cia Cas = Cla-Cas + " . OR. Ir -
EndlF Cla Cas = Cla - Cas i- "Exped.ME - TipExp = 'D"'
EndiF If ThisForm. Chk-Info. Value = 1
I f ThisForm.Chk Auto. Vulue = I .OR. ThisForm.Chk Medico. Value = I . OR. ThisForm. Chk-Legil. Value = I . OR. ThisForm. Chk Hoiar. Value = 1
Cla - Cas = Cla-Cas q". OR. " EndIF Cla Cas = Cla - Cas t "ExpedME - TipExp = 'E"'
E n d k EndIF
Clausula = "I'
If ThisForm.Chk Folio. Vulue = I Clausula = "("+ Cla - Fol + ' I ) "
EndlF
If ThisForm. Chk Nombre. Value = 1 Clausula = "('-+ Cla - Nom i- ' I ) "
EndlF
If ThisForm. Chk Fecha. Value = I If ThisForm. Chk Caso. Value = I
EndIf Clausula = Cla&da + " .AND. "
Cluusula = Clausula + "(1' + Cla-Fec + ',)'I
EndIf I f ThisForm. Chk Status. Value = I
qThisForm.Chk - Caso. Value = I .OR. ThisForm.Chk - Fecha. Value = 1
Endlf Clausula = Clausula + " .AND. "
Clausula = Clausula + "(11 + ClaSta + ',)I'
EndIf I f ThisForm. Chk-Geo. Value = I
ThisForm. Chk Sta&s. Value = I I f ThisForm. Chk Caso. Value = I . OR. ThisForm. Chk - Fecha. Value = I . OR.
Clausula =?lausula + '' .AND. "
Clausula = Clausula + "(l' + Cla-Geo + '7" Endlf
EndIf
I f ThisForm. Chk-Caso. Value = I
ThisForm.Chk-Gei. Value = 1 rf ThisForm. Chk Fecha. Value = I . OR. ThisForm. Chk Status. Vulue = 1 . OR. -
Cluusula = Clausula + ".AND. " Endif
Clausula = Clausula + "(" + Cla-Cas + rí," Endrf
Select "Exped" Set Filter To &Clausula Go Top If EOfO
=MessageBox("El reporte esta en blanco ", 48)
NomArch =GETFILE("XLS", "Salvar reporte en: 'í, If ! Empty(NomArch)
Else
COPY TO &NomArch ; FIELDS ME Folio, ME NomCli,ME Apl Cli,ME-Ap2Cli,ME FecHor, ME Status, ; ME Contra,%E - T@ExF,ME - PaiAscME - EdoAsi, ME - CiuAsi,ME - MunAsir TYPE XLS
Clear ThisForm. Refresh =MessageBox("El reporte se ha creado con exit0 '3
EndIF EndIF
Es exactamente lo mismo que el commando anterior, pero con la diferencia de que no hay exportación, solo vista preliminar. ~ B t n Reporte Local-FolIni, FolFin Local Feclni, FecFin Local Pos, Cla Fol, Cla - Fec, Cla - Geo, Cla - Sta, Cla-Cas, Cla - Nom, Clausula Local NornArch, Res
Follni = ThisForm. Txt Follni. Value FolFin = ThisForm. Tx; - FolFin. Value
Feclni = ThisForm. Txt-FecIni. Value FecFin = ThisForm. Txt - FecFin. Value
Select "Exped" Do Case
Case ThisForm. Opt-Orden. Value = I
Case ThisForm. @-Orden. Value = 2
Case ThisForm. Opt-Orden. Value = 3
Case ThisForm. Opt-Orden. Value = 4
Set Order To "Folio"
Set Order To "FecHor"
Set Order To "Status"
Set Order To "TipExp"
Case ThisForm. Opt Orden. Value = 5 Set Order To "Pai&i"
Case ThisForm. Opt Orden. Value = 6
Case ThisForm. Opt Orden. Value = 7
Case ThisForm.Opt Orden. Value = 8
Set Order To WomCli"
Set Order To "Aplc'li"
Set Order To "Ap2¿'li" EndCA se
I f ThisForm. Chk Folio. Value = 1 Cla Fol = "ME Folio >= "' + FolIni + "'.AND. ME Folio <= "' + FolFin + ''''' - -
EndIF
I f ThisForm.Chk Nombre. Value = 1
Alltrim(UPPER(ThisF0rm. Txt Nombre. Value)) + "I .AND. "
Alltrim(UPPER(ThisForm. Txt-Apl. Value)) + ''I .AND. I'
Alltrim (UPPER (ThisForm. Txt-Ap2. Value)) + "'" EndlF
Cla Nom = "A&rim(UPPER(ME NomCli)) = "' +
Cla-Nom = Cla-Nom + "Al&im(UPPER(ME - AplCli)) = "' +
Cla Nom = Cla Nom + "Alltrim(UPPER(ME-Ap2Cli)) = Ir' +
If ThisForm.Chk Fecha. Value = 1
TTOD(ME-FecHor) EndIF
C~la-Fec = "TT?OD(ME-FecHor) >= {'I + DToC(FecIni) + '7 .AND. = {'I + DToC(FecFin) + '7 I'
IfThisForm.Chk - Geo. Value = 1 Cla-Geo = "" FOR Pos = 1 TO ThisForm. Lst Pais. ListCount -
IfPos>l Cla Geo = Cla Geo + ".OR. I' - -
EndIf Cla Geo = Cla Geo f "Exped.ME PaiAsi = I' +
All Trim(Str(Va1 ( T i s Form. Lst - Pais. List (Pos)))) ENDFOR I f ThisForm. Lst Estado. ListCount O
Cla-Ceo = Cl; Geo + ".AND. ('I FOR Pos = 1 TO ThisForm. Lst - Estado. Listcount
IfPos>l Cla Geo = Cla-Geo + ' I . OR. 'I -
EndIf
Cla Geo = Cla Geo + "Exped.ME-EdoAsi = " +
ENDFOR Clu Geo = Cla - Geo + 'y"
AllTrim(Str(VaE(T&sForm. Lst - Estado. List(Pos))))
End@ If ThisForm. Lst-Ciudad. Listcount O
Cla Geo = Cla Geo + ".AND. ('I
FOR Pos = 1 TO ThisForm. Lst-Ciudad. Listcount I f P O S H
Cla Geo = Cla Geo + ".OR. '' - - Endrf
Cla Geo = Cla Geo + "Exped.ME_CiuAsi = It +
ENDFOR Cla Geo = Cla - Geo + 'y"
All Tr im(Str (Val @'&Form. Lst - Ciudad. List(Pos))))
End% If ThisForm. Lst-Municipio. ListCount O Cla Geo = Cla Geo + ".AND. (l' FOR Pos = I TO ThisForm. Lst-Municipio. Listcount
IfPos>l Cla Geo = Clu-Geo + 'I .OR. 'I -
Endrf Clu Geo = Cla Geo + "Exped. ME-MunAsi = " +
AllTrim(Str(Val(T&sForm.Lst - Municipio.List(Pos)))) ENDFOR C1-Geo = Cla - Geo + '7''
EndIF EndIF
If ThisForm. Chk - Status. Value = I Cla Sta = '"I
If ThisForm. Chk Activo. Value = 1
EndIF If ThisForm.Chk Financial. Value = 1 If ThisForm. Chk - Activo. Value = 1
EndIF Cla Sta = Clu - Sta + "ExpedME - Status = %Inuncial"'
Cla-Sta = Clu-%tu + "ExpedME - Status = 'Activo"'
Cia - Sta = Cla-Sta + ' I . OR. I'
End@ IfThisForm.Chk Cerrado. Value = I If ThisForm. Chk - Activo. Value = I . OR. ThisForm. Chk Financial. Value = 1
EndIF Clu Stu = Cla - Sta + "Exped.ME - Status = %errado"'
Cla-sta = cla-sta + ' I . OR: 1'
End@ EndIF
íf ThisForm. Chk-Caso. Value = 1 Cla-Cas = '11'
If ThisForm. Chk Auto. Value = 1
EndE If ThisForm. Chk Medico. Value = 1 If ThisForm. Chk - Auto. Value = 1
EndIF Cla Cas = Cla - Cas + "ExpedME - TipExp = 'B"'
U a Cas = Cla-Cas - + "ExpedME - TipExp = 'A"'
Cia - Cas = Cla - Cas + I' .OR.
EndE If ThisForm. Chk Legal. Value = 1 If ThisForrn.Chk - Auto. Value = 1 .OR. ThisForm.Chk Medico. Value = 1
EndIF Cla Cas = Cla - Cas + "Exped.ME-TipExp = 'C"'
Cia - Cas = Cla - Cas + 'I .GR. I'
End@ If ThisForm. Chk Hogar. Value = 1 If ThisForm.Chk Auto. Value = 1 .OR. ThisForm.Chk - Medico. Value = 1 .OR.
ThisForm. Chk - LegGI, Value = 1 Cla-Cas = Cla - Cas + " . OR. "
EndIF Cla Cas = Cla - Cas + "ExpedME - TipExp = ID"'
EndIF If ThisForm.Chk Info. Value = 1 If ThisForm.Chk Auto. Value = 1 .OR. ThisForm.Chk Medico. Value = 1 .OR.
ThisForm. Chk - Legil. Value = 1 .OR. ThisForrn.Chk-Hoiar. Value = 1 Cla-Cas = Cla - Cas + ' I . OR. "
EndIF Cla Cas = Cla Cas + "Exped.ME-TipExp = 'E"' -
Endf i EndIF
Clausula =
If ThisForm. Chk Folio. Value = 1 Clausula = "(,'-+ Cla - Fol + '9''
EndIF
If ThisForm.Chk Nombre. Value = 1 Clausula = "("+ Cla - Nom +- '9"
EndIF
If ThisForm.Chk Fecha. Value = I WThisForm. CG-Caso. Value = 1
Clausula = Clausula + I' .AND. 'I
Endrf Cluusula = Clausula + "('I + Cla - Fec + 'y"
EndIf !f ThisForm. Chk-Status. Value = 1
I f ThisForm. Chk Caso. Value = I . OR. ThisForm. Chk-Fecha. Value = I
EndJ. Clausula = Cla&da +- 'I .AND. "
Clausula = Clausula + )I(" + Cla - Sta + 'y', Endrf I f ThisForm. Chk-Geo. Value = 1
ThisForm. Chk-Sta&s. Value = 1 If ThisForm. Chk Caso. Value = 1 . OR. ThisForm. Chk - Fecha. Value = 1 . OR.
Clausula = Clausula + " .AND. "
Clausula = Clausula + "(,' + Cla-Geo + 'y'' EndIf
EndIf
IfThisForm.Chk Caso. Value = 1
ThisForm. Chk Geo. Value = I If ThisForm. C%-Fecha. Value = I . OR. ThisForm. Chk-Status. Value = 1 . OR.
Clausula =¿3ausula t " .AND. " EndIf Clausula = Clausula +- "(,' + Cla - Cas + '9''
EndIf
Select "Exped" Set Filter To &Clausula Go Top m ? f O
=MessageBox("El reporte esta en blanco ", 48)
REPORT FORM Rep - Expe PREVIEW Else
EndIF
Return
Salir del dialogo Btn-Cerrar
ThisForm. Release
REPORTE DE PROVEEDORES.
En este dialogo se realizan los reportes de los proveedores, se hace una recopilación de las condiciones elegidas por el operador para crear la cláusula del reporte, la cual es almacenada en una variable.
Form(Rep-Provee)
0 h i t Public nCla nCla = O Set Decimal to O
Tablas a manipular. DtatEnviroment
Provee Paises Es tad0 s Ciudad Municip
En cada una de las posible elecciones, el operador primero debe revisar la opción y posteriormente definir sus rangos, esto es para poder darnos cuenta que opciones a analizar. Esto es en cada una de las posibles opciones como se ha visto en el resto de los reportes. ~ C h k Provee Local Estado
If This. Value = I Estado = .T Thisform. Txt ProIni. Value = O Thisform. TxCProIni. InputMask = '999999' This form. TxcProfin. InputMask = '999999' Thisform. Txt Profin. Value = O nCla = n ~ l a q I ThisForm. Btn Reporte. Enabled = . T. ThisForm. BtnArchivo. - Enabled = . T.
ThisForm. Txt Prohi. Value = "" ThisForm. TxtProFin. - Value = "" Estado = .F. nCla = nCla - I If ncla=O
Else
ThisForm. Btn Reporte. Enabled = . F. ThisForm. BtnArchivo. - Enabled = .F.
EndIf EndIf
ThisForm. Txt ProFin.Enabled = Estado ThisForm. Txt-ProIni. Enabled = Estudo ThisForm. Txt-Pro Ini.SetFocus ThisForm. Refresh
Chk-Status If This. Value = I
ThisForm. opcStutus. OpcStutl. Enabled = . T. ThisForm. opcStutus. OpcStut2. Enabled = . T. ThisForm.opcStatus. VALUE = 1 nCla = nCla f I ThisForm. Btn Reporte. Enabled = . T. ThisForm. BtnArchivo. - Enabled = . T.
nCla = nCla - I If ncla=O
ELSE
ThisForm.Btn Reporte. Enabled = .F. ThisForm. BtnArchivo. - Enabled = , F.
EndIf ThisForm. opcStatus. OpcStatl. Enabled = . F. ThisForm. opcStatus. OpcStat2. Enabled = . F. ThisForm.opcStatus. VALUE = O
EndIf
Chk-Convenio !f This. Vulue = 1
ThisForm. OpcConvenio. OpcConveniol. Enabled = . T. ThisForm. OpcConvenio. OpcConvenio2. Enabled = . T. ThisForm. OpcConvenio. VALUE = I nCla = nCla t I ThisForm. Btn Reporte. Enabled = . T. ThisForm. BtnArchivo. - Enabled = . T.
nCla = nCla - I lf ncla=O
ELSE
ThisForm. BtnReporte. Enabled = . F. ThisForm. Btn - Archivo. Enabled = . F.
EndIf ThisForm. OpcConvenio. OpcConveniol. Enabled = .F. ThisForm. OpcConvenio. OpcConvenio2. Enabled = . F. ThisForm. OpcConvenio. VALUE = O
Endlf
Chk-NiSer Local Estado
IfThixValue = 1 Estado = .T. ThisForm. Chk-NA. Enabled = Estado ThisForm. Chk NB. Enabled = Estado ThisForm. Chk-NC. Enabled = Estado nClu = nCla + I ThisForm. Btn Reporte. Enabled = . T. ThisForm. BtnArchivo. - Enabled = . T.
ThisForm. Chk NA. Enabled = Estado ThisForm. Chk-NB. Enabled = Estado ThisForm. Chk-NC. Enabled = Estado
Else
ThisForm. Chk-NA. VALUE = O ThisForm. Chk-NB. VALUE = O ThisForm. Chk-NC. - VALUE = O Estado = .F. nCla = nCla - I If ncla=O
ThisForm. Btn Reporte. Enabled = . F. ThisForm. BtnArchivo. - Enabled = . F.
EndIf EndIf ThisForm. Chk NA.setfocus ThisForm. c h k j a . Refiesh
Chk-NivUso Local Estado
If This. Value = I Estado = . T. nCla = nCla + I ThisForm. Btn Reporte. Enabled = . T. ThisForm. BtnArchivo. - Enabled = . T.
nCla = nCla - I I f ncla=O
Else
ThisForm. Btn Reporte. Enabled = . F. ThisForm. BtnArchivo. - Enabled = .F.
EndIf ThisForm.Chk NUI. VALUE ThisForm. ChkNU2. VALUE ThisForm. ChkNU3. - VALUE Estado = .F.
EndIf
= O = O = o
ThisForm. Chk - NUI. Enabled = Estado
ThisForm. Chk NU2. Enabled = Estado ThisForm. ChkNU3. - Enabled = Estado
ThisForm.Chk NU1.setfocus ThisForm.chknU1. Refresh
Chk-RanUso Local Estado
IfThis.Value = 1 Estado = . T. Thisform. Txt-Usolni. blue = O Thisform. Txt Usolni. InputMask = '999999' Thisjorm. Txt-Usofin. Value = O Thisform. T x t Usofin. InputMask = '999999' nCla = nCla-+ I ThisForm. Btn Reporte. Enabled = . T. ThisForm. BtnArchivo. - Enabled = . T.
nCla = nCla - 1 íf nclu = O
Else
ThisForm. Btn Reporte. Enabled = , F. ThisForm. BtnArchivo. - Enabled = . F.
EndIf ThisForm. Txt UsoIni. Value = "" ThisForm. T x t - UsoFin. Value = ""
Estado = .F. EndIf
ThisForm. Txt UsoIni. Enabled = Estado ThisForm. T x t - UsoFin. Enabled = Estado
ThisForm. Txt UsoIni. SetFocus ThisForm. T x t - Usolni. Refresh
Chk-Geo Local Estado
If This. Value = 1 Estado = . T. Select "Paises" Set Filter To ThisForm. @-Pais. Recordsource = "Paises "
If ThisForrn. Lst Pais.ListCount>O Else
nCla = ncla -7
If ncla=O ThisForm. Btn Reporte. Enabled = . F. ThisForm. BtnArchivo. - Enabled = . F.
EndIf EndlF ThisForm.Gr-Pais. RecordSource = "" ThisForm. Lst Pais, clear ThisForm. G r s t a d o . RecordSource = '"' ThisForm. L s t Estado. clear ThisForm. G r s t a d o . Refresh ThisForm. GrICiudad. RecordSource = '"' ThisForm. Lst Ciudad. clear ThisForm. GrCiudad. Refresh ThisForm. Gr-Municipio. RecordSource = ""
ThisForm. L s t Municipio. clear ThisForm. Gr - -Municipio. Refresh Estado = .F.
Endrf
ThisForm. Gr - Pais. Enabled = Estado
ThisForm. Gr-Pais. SetFocus Go Top ThisForm. Gr - Pais. Refresh
En cada una de la lista para la selección geográfica, mediante un doble click se manda la selección del grid, a la lista correspondiente, al seleccionar más de un elemento de un grid, éste quitará los posibles candidatos de los grids de jerarquía más baja, es decir si el operador selecciona dos piases el contenido de los grids de estados desaparecerá, y así sucesivamente con estados y ciudades y con ciudades y municipios. AI dar un doble click en alguna de las listas, se eliminara el elemento en el que se ejecuto dicha operación.
Gr-Pais Local Item Item = AIITrim@trZero(Paises. KP - Clave,3)) + 'I " + AIITrim(Paises. KP-Descri)
ThisForm. Lst - Pais.AddItem(Item)
nCla = nCla + 1 ThisForm. Btn Reporte. Enabled = . T, ThisForm. BtnArchivo. - Enabled = . T
ThisForm. Gr - Estado. RecordSource = "Estados"
If ThisForm. Lst Pais. ListCount=l Select "Estados "
Set Filter To Estados. KS Pais = Val(ThisForm. Lst - Pais. List(1)) ThisForm.Gr-Estado. Enahled = . T. Go Top ThisForm. Gr - Estado. Refresh
Select "Estados" Set Filter To KS Clave = O ThisForm. Lst-Eitado. Clear ThisForm.Gr Estado. Enabled = . F. ThisForm. Gr-Estado. - Refresh
Else
Se1ect"Ciudad" Set Filter To Ciudad. KD Clave = O ThisForm. Lst-Ciudad. Clear ThisForm. Gr Ciudad. Enabled = . F. ThisForm. Gr-Ciudad. - Refresh
Se1ect"Municip" Set Filter To Municip. KM Clave = O ThisForm. Lst Municipio. clear ThisForm. Gr-Municipio. Enabled = .F. ThisForm. Gr-Municipio. - Refresh
EndIf
Gr-Estado Local Item Item = AIITrim@trZero(Estados. KS-Clave,3)) + ThisForm. Lst - Estado.AddItem(Item)
' I + AIITrim(Estados. KS - Descri)
ThisForm. Gr - Ciudad, Recordsource = '%iudad"
If ThisForm. Lst Estado.ListCount=l Select "Ciudad" Set Filter To KD Pais = Val(ThisForm. Lst-Pais. List(1)) .AND. KD - Estado =
ThisForm. Gr - Ciudad. Enabled = . T. Go Top ThisForm. Gr - Ciudad. Refresh
Select 'Ciudad" Set Filter To Ciudad. KD Clave = O ThisForm. Lst Ciudad. Clear ThisForm. GrCiudad. Enabled = . F. Th isForm. Gr-Ciudad. - Refresh
VuI(ThisForm. Lst Estado. List(1))
Else
Set Filter To Municip. KM Clave = O ThisForm. Lst Municipio. clear ThisForm. GrzMunicipio. Enabled = . F. ThisForm. Gr - Municipio. Refresh
Endrf
Gr-Ciudad Local Item Item = AllTrimCfStrZero(Ciudad. KD_Clave,3)) + 'I " + AllTrim(Ciudad. KD-Descri) ThisForm. Lst - Ciudad. AddItem(Item)
ThisForm. Gr - Municipio. RecordSource = "Municip "
If ThisForm. Lst-Ciudad. ListCount=l Select "Municip" Set Filter To KM Pais = Val(ThisForm.Lst-Pais.List(1)) .AND. KM Estado =
ThisForm. Gr Municipio. Enabled = . T. ThisForm. Gr-Municipio. - SetFocus Go Top ThisForm. Gr-Municipio. Refresh
Se1ect"Municip" Set Filter To Municip. KM Clave = O Th isForm. Lst Municipio. clear ThisForm. Gr -Municipio. Enabled = . F. ThisForm. Gr-Municipio. - Refresh
Val(ThisForm. Lst Estado. List(])) .AND. KM-Ciudad = Val(ThisFormLst-Ciudad. List(1))
Else
EndIf
0 Gr-Municipio Local Item Item = AllTrimCfStrZero(Municip. KM Clave, 3)) + Ir ' I + AllTrim(Municip. KMDescri) ThisForm. Lst - Municipio. AddItem(Item)
Lst-Pais This. Removeltem (This. Listlndex)
nCla = nCla - I If ncla=0
ThisForm. BtnReporte. Enabled = . F. ThisForm. Btn - Archivo. Enabled = . F.
EndIf '
rf This. L istCo unt = I Select "Estados"
Set Filter To Estados. KS Pais = Val(ThisForm. Lst-Pais. List(1)) ThisForm. Gr - Estado. Enabled = . T Go Top ThisForm. Gr - Estado. Refresh
Se1ect"Estados" Set Filter To KS Clave = O ThisForm. Lst-Eytado. Clear ThisForm. Gr Estado. Enabled = . F. ThisForm. G r s t a d o . - Refresh
Else
Select '%iudad" Set Filter To Ciudad. KD Clave = O ThisForm. Lst-Ciudad. Clear ThisForm. Gr Ciudad. Enabled = . F. This Form. Gr-Ciudad. - Refiesh
Se1ect"Municip" Set Filter To Municip. KM-Clave = O ThisForm. Lst-Municipio. Clear ThisForm. Gr Municipio. Enabled = .F. ThisForm. GrIMunicipio. Refresh
EndIf
0 Lst-Estado This. Removeltem (This. Listlndex) I f This. ListCount=l
Select "Ciudad" Set Filter To KD Pais = Val(ThisFovm.Lst-Pais.List(1)) .AND. KD-Estado =
ThisForm. Gr - Ciudad. Enabled = . T. Go Top ThisForm. Gr - Ciudad. Refresh
Select '%iudud" Set Filter To Ciudad.KD Clave = O ThisForm. Lst Ciudad. Clear ThisForm. Gr -Ciudad. Enabled = .F. This Form. Gr-Ciudad. - Refresh
Val(ThisForm. Lst2stado. List(1))
Else
Select"Municiprr Set Filter To Municip. KM Clave = O ThisForm. Lst Municipio. clear ThisForm. Gr -Municipio. Enabled = . F, ThisForm. Gr-Municipio. - Refresh
EndlJ'
0 Lst-Municipio This. Removeltem (This. Listlndex)
If This. List Co unt = 1 Select "Municip I' Set Filter To KM Pais = Val(ThisForm. Lst-Pais.List(l)) .AND. KM-Estado =
ThisForm. Gr Municipio. Enabled = . T. ThisForm. Gr-Municipio. - SetFocus Go Top ThisForm. Gr - Municipio. Refresh
Select"A4unicip" Set Filter To MunicipKM Clave = O ThisForm. Lst Municipio. clear ThisForm. Gr-Municipio. Enabled = . F. ThisForm. Gr-Municipio. - Refresh
Val(ThisForm. Lsí Estado.List(1)) .AND. KM-Ciudad = Val(ThisForm. Lst-Ciudad. List(1))
Else
EndIf
0 Lst Ciudad This. Removeítem (This. Listíndex)
A continuación se presentan los comandos para la generación del código, como se menciono anteriormente, se hace el análisis de las opciones definidas por el usuario para la generación de la cláusula, mediante la cual posteriormente se hace el filtro. Para estos reportes se trabajan también la exportación a archivo Excel y también se permite la vista preliminar. 0 BtnArchivo LOCAL cProveed, cEstatus Local Cla-NivUso, Cla - NivSer, Cla - Run Uso, Cla-Geo, Cla-Serv, Pos, Clasula Local NomArch
Select "Proveed" Do Case
Case ThisForm. Opt-Orden. Value = I
Case ThisForm. Opt-Orden. Value = 2
Case ThisForm. Opt Orden. Value = 3
Case ThisForm. Opt Orden. Value = 4
Case ThisForm. Opt-Orden. Value = 5
Case ThisForm. Opt - Orden. Value = 6
Set Order To '%LA VE "
Set Order To "MVSTATUS"
Set Order To "W'CONV"
Set Order TO W ~ V ~ N I V E L ~ ~
Sel Order To "MV-NIUSO"
Set Order To 'ízrlV HIST"
Set Order To "MVSERVO" - Case ThisForm. Opt Orden. Value = 7
EndCase
IF ThisForm. Chk - Proveed. Value = 1
"mv CvePro < = "+ STR(THISF0RM Txt - ProFin. VALUE) cProveed = "mv CvePro = "+STR(THISFORM. Txt - ProIni. VALUE) +".and."+
ENDIF
IF THISFORM CHK ESTATUS. VALUE = 1 IF THISFORM OpcStatus. Value = 1
ELSE
ENDIF
cEstatus = 'UPPER(alltrim(mv - status))'+ = + 'UPPER("'uctivo'y)'
cEstatus = 'UPPER(alltrim(mv - status))'+ = + 'UPPER("inactivo'í) '
ENDIF
IF THISFORM Chk Convenio. VALUE = 1 I F THISFORM O&Convenio. Value = 1 bConvenio = 'mv - conv't = t- '.F.'
ELSE Konvenio = 'mv - conv't I = -t ! T.
ENDIF ENDIF
IF THISFORM. Chk - NiSer. VALUE = 1 Cia NivSer = ""
If ThisForm. Chk-NA. Value = 1
End# If ThisForm. Chk-NB. Value = 1
Cla NivSer = Cla - NivSer + "Proveed.MV - Nivel = 'A"'
If ThisForm. Chk - NA. Value = I
EndIf Cla NivSer = Cla - NivSer + "ProveedMV - Nivel = 'B"'
Cla-NivSer = Cla - NivSer t ' I , OR. 'I
End@
If ThisForm. Chk-NC. Value = 1 If ThisForm. Chk - NA. Value = I . OR. ThisForm. Chk-NB. Value = 1
Endrf Cla NivSer = Cla - NivSer + "ProveedMV - Nivel = 'C"'
Cia - NivSer = Cla - NivSer + I' .OR. I'
En@ ENDIF
IF THISFORM.Chk - NivUso. VALUE = 1
Cla NivUso = l"'
!f ThisForm. Chk N u l . Value = 1
End@ If ThisForm.Chk NU2. Value = 1
Cla NivUso = ?la - NivUso + "Proveed.MV - NiUso = I"
I f ThisForm. C h k N U l . Value = 1
EndIf Clu NivUso = Cla - NivUso + "Proveed.MV - NiUso = 2"
Cla - NivUso = Cla-NivUso i- I' .OR. 'I
En& If ThisForm. Chk NU3. Value = I If ThisForm. Chi-NUl. Value = 1 . OR. ThisForm. ChkNU2. Value = 1
EndIf Cla NivUso = Cla - NivUso + "Proveed.MV - NiUso = 3"
Cla - NivUso = Cla-NivUso + 'l. OR.
Endf ENDIF
IF ThisForm. Chk - RanUso. Value = 1
AIITrim(Str(ThisFORA4. Txt Usolni. VALUE)) + I' .AND."+ "Proveed MV - HistS AllTrim(Str(THISFORA4. Tx? - UsoFin. VALUE)) ENDIF
II Clu-Run Uso - - "Proveed MY-HistS >= + = 'I +
Local Cla-Geo If ThisForm.Chk-Geo. Value = 1
Cla Geo = 1'11
FOR Pos = 1 TO ThisForm. Lst - Pais. Listcount If Pos> 1
Cla-Geo - - Cla-Geo + "Proveed MV PAis -
Cla-Geo = Cla-Ceo + I' .OR. I'
EndIf I1 + -
- A I1 Tr im (Str (Val (ThisForm. Lst-Pais. List (Pos))))
ENDFOR If ThisForm. Lst Estado. ListCount O
Cla-Geo = CIa Geo + ".AND. (I' FOR Pos = I TO ThisForm. Lst-Estado. Listcount
IfPos>l Cla - Geo = Cla - Geo + .OR. 'I
EndIf I1 + - Cia Geo - Cia Geo + "Proveed. MV Estado -
ENDFOR Clu-Geo = Cla - Geo + ',)'I
- -
A I1 Tr im(Str (val (ThisForm. LsT-Estado. List (Pos))))
EndIF If ThisForm. Lst - Ciudad.ListCount O
Clu-Geo = Cla Geo + ' I .AND. (" FOR Pos = 1 TO ThisForm. Lst - Ciudad. ListCount
IfPos>l Cla-Geo = Cla-Geo t " .OR. "
II + EndIj" - C'lu-Geo - Cia Geo + "Proveed. MV Ciudad -
- -
A I1 Tr im(Sir (Val (ThisForm. Lst - Ciudad. List(Pos)))) ENDFOR Cla Geo = Cla-Geo + 'y"
Endfi If ThisForm. Lst Municipio. ListCount C'Ia-Geo = Cl; Geo + ".AND. c' FOR Pos = 1 TO ThisForm. Lst - Municipio. ListCount
O
If Pos> 1 Cla - Geo = Cla - Geo + ".OR. I'
Endrf It + - Clu-Geo - Cia Geo + "Proveed. MV Muni - -
- A l l Trim(Str (Vu1 (ThisForm. Lst - Municipio. List(P0.s))))
ENDFOR Cla Geo = Cla - Geo -t 'y"
E n d E EndlF
If ThisForm. Chk - Serv. Value = 1 Cia Serv = ' ' I '
FOR Pos = 1 TO ThisForm. Lst-Servicio. ListCount If Pos>l
íilu Serv - - Cla-Serv + "Proveed. MV Servo - II + Cla - Sen, = Cla - Serv + '' .OR. ' I
EndIf -
- AIITrim(Str(VuI(ThisForm. Lst - Servicio. List(Pos))))
EndIF ENDFOR
Clausula =
If ThisForm. Chk Proveed. Value = 1 Clausula = "(,'-+ cProveed + '7"
EndIF
If ThisForm. Chk-Estatus. Value = I I f ThisForm. Chk - Proveed. Value = 1
Clausula = Clausulu + ".AND. " EndIf Clausula = Clausula + 'I(,, + cEstatus + '7''
EndIf
I f ThisForm. Chk-Convenio. Value = I I f ThisForm. Chk Proveed. Value = I . OR. ThisForm. Chk - Estatus. Value = 1
EndIf Clausula = Cla~sula + ".AND. 'I
Clausula = Clausula + "(11 i- Konvenio i- '9" EndI,
I f ThisForm. Chk NiSer. Value = 1
ThisForm.Chk Convenio. Value = 1 If ThisForm.Chk Proveed. Value = 1 .OR. ThisForm.Chk - Estatus. Value = I ,OR.
CIausula =CIUUSUIU i- .AND. EndIf
Clausula = Clausula -I- 'I(,, + Cla-NivSer i- '7" EndIf
If ThisForm.Chk NivUso. Value = I
ThisForm. Chk Convenio. Value = I . OR. ThisForm. Chk-NiSer. Value = I If ThisForm. Chk-Proveed. Value = I . OR. ThisForm. Chk Estatus. Value = I .OR.
CIUUSUIU =Clausula + .AND. EndIf Clausula = Clausula + "(11 + Cla - NivUso + '9"
EndIf
I f ThisForm. Chk RanUso. Value = I If ThisForm.Chk - Proveed. Value = 1 .OR. ThisForm.Chk Estatus. Value = I .OR.
ThisForm.Chk Convenio. Value = 1 .OR. ThisForm. Chk - ÑiSer. Value = 1 .OR. ThisForm. Chk-NivUso. Value = I
CIausula =Clausuia + .AND. EndIf Clausula = Clausula + 'I(, + Cla-RanUso + '7"
Endrf
!f ThisForm.Chk Geo. Value = I I f ThisForm.Chk Proveed. Value = I .OR. ThisForm.Chk Estatus. Value = 1 .OR.
ThisForm. Chk Conienio. Value = I . OR. ThisForm. Chk Niser. Value = I . OR. ThisFoi-m.ChkINivUso. Value = 1 .OR. ThisForm.Chk - RanUsorValue = I
Clausula = Clausula + 'I .AND. EndIf Clausula = Clausula + "(,' + Cla-Geo + '9"
EndIf
I f ThisForm. Chk Serv. Value = I I f ThisForm. Chk Proveed. Value = I . OR. ThisForm. Chk-Estatus. Value = I . OR.
ThisForm. Chk-Convenio. Value = I . OR. ThisForm. Chk - NiSer. Value = I . OR.
ThisForm. Chk NivUso. Value = I . OR. ThisForm. Chk - RanUso. Value = I . OR. ThisForm. Chk-Geo. Value = 1
Clausula = C I ~ ~ S U ~ U + rl .AND. EndIf Clausula = Clausula + "(,' + Cla - Serv + '7"
EndIf
Select "Proveed" Set Filter To &Clausula Go Top !fE?fO
=MessageBox("'El reporte esta en blanco ", 48)
NomArch=GETFILE('XLS'', 'Salvar reporte en: '7 Else
lj' !Empty(NomArch) COPY TO &NomArch ; FIELDS MV - CvePro, MV - RazSoc, mv - servo, mv-status, mv - conv,mv - nivel, mv - niuso, ; mv hists, mvqais, mv - estado,mv - ciudad, mv - mpio; TYPE XLS
Clear ThisForm. Refresh =MessageBox("El reporte se ha creado con exito'y
EndIF EndIF
Es exactamente lo mismo que el comando anterior, pero con la diferencia de que no hay exportación, solo vista preliminar,
Btn-Reporte LOCAL cProveed, cEstatus Local Cla - NivUso, Cla - NivSer, Cla - Ran Uso, Cla-Geo, Cla-Serv, Pos, Clasula
Select "Proveed" Do Case
Case ThisForm.Opt Orden. Value = I
Case ThisForm. Opt Orden. Value = 2
Case ThisForm. Opt- Orden. Value = 3
Case ThisForm. Optorden. Value = 4
Case ThisForm. Opt-Orden. Value = 5
Case ThisForm. OPT - Orden. Value = 6
Set Order To "CLiVE"
Set Order To "MVSTATUS"
Set Order To "MVCONV"
Set Order To "MV-NIVEL"
Set Order To "MY NIUSO"
Sei Order To "MV HIST"
Set Order To "MV-SERVO" Case ThisForm. OpcOrden. Value = 7
EndCase
IF ThisForm. Chk - Proveed. Value = 1
''mv CvePro cProveed = "mv-CvePro > ="+STR(THIsFoRM. Txt - Prolni. VALUE) +".and."+
= It+ STR(THISF0RM. Txt - ProFin. VALUE) ENDIF
IF THISFORM. CHK ESTA TUS. VALUE = 1 IF THISFORM Op&latus. Value = 1
ELSE
ENDIF
cEstatus = 'UPPER(alltrim(mv - status))'+ ' = + 'UPPER(>'activo 'í) '
cEstatus = 'UPPER(alltrim(mv-status)) '+ = ' + 'UPPER("inactivo'7'
ENDIF
IF THISFORMChk Convenio. VALUE = 1 IF THISFORM. OpcConvenio. Value = 1
bConvenio = 'mv - conv'+ ' = ' + !F. ' ELSE bConvenio = 'mv - conv'+ = ' + '. í? '
ENDIF ENDIF
IF THISFORM. Chk - NiSer. VALUE = 1 Cla-NivSer = ""
If ThisForm. Chk NA. Value = 1
Endf íf ThisForm. Chk-NB. Value = 1
Cla NivSer = Ca - NivSer + "ProveedMV-Nivel= 'A"'
If'ThisForm. Chk - NA. Value = 1
EndIf Cla NivSer = Cla - NivSer + "Proveed.MV - Nivel = 'B"'
Cia - NivSer = Cla - NivSer + " .OR. "
E n d v
If ThisForm. Chk NC. Value = 1 If ThisForm. Chz-NA. Value = 1 . OR. ThisForm. Chk NB. Value = 1
E n d v Cla-NivSer = Chi-NivSer + "Proveed. MV - Nivel = 'C'"
Cla - NivSer = Cla-NivSer 7 " . OR. It
Endlf ENDIF
IF THISFORM.Chk - NivUso. VALUE = 1 Cia NivUso = ""
I f ThisForm. Chk NU1. Value = I
End@ If ThisForm. Chk NU2. Value = I
Cla NivUso = ?la - NivUso + "ProveedMV - NiUso = 1"
If ThisForm.Chk - Nul . Value = I
E n d v Clu NivUso = Cla - NivUso + "Proveed.MV - NiUso = 2"
Cia - NivUso = Cla-NivUso + ' l . OR. 'I
EndF If ThisForm.Chk NU3. Value = 1 If ThisForm. Chk - Nul . Value = 1 . OR. ThisForm. Chk NU2. Value = I
EndIf Cla NivUso = Cla - NivUso + "Proveed.MV - NiUso = 3"
Cia - NivUso = Cla-NivUso +It. OR. "
End@ ENDIF
IF ThisForm. Chk - RanUso. Value = I
AllTr&(Str(ThisFORM Txt UsoIni. VALUE)) + " .AND."+ "Proveed.MV - HistS <= " + AllTrim(Str(THISFORM. Tx7-UsoFin. VALUE)) ENDIF
II Cia RanUso - - "Proveed. MV-HistS >= +
Local Cla-Geo If ThisForm.Chk - Geo. Value = 1
Cla Ceo = ""
FOR Pos = I TO ThisForm. Lst-Pais. ListCount If Pos> 1
Clu-Ceo - Cia Geo + "Proveed. MV PAis -
Cla - Geo = Cla - Geo + 'I .OR. " EndIf
It + - -
-
AlITrim (Str (Val(ThisForm. Lst - Pais. List(Pos)))) ENDFOR If ThisForm. Lst Estado. ListCount Cla-Geo = Cli-Geo + I' .AND. FOR Pos = 1 TO ThisForm. Lst-Estado. ListCount
O
IfPos> 1
Endlf Cla - Geo = Cla-Geo + ".OR. r'
I! + - Cla-Ge o - Cla Geo + "Proveed. MV Estado - - -
A I1 Tr im (Str (Val (ThisForm. LsT-Estado. List (Pos)))) ENDFOR Cla-Geo = Cla - Geo + '7''
EndIF If ThisForm. Lst - Ciudad. Listcount O
Cla-Geo = Clu Geo + ".AND. ('I
FOR Pos = 1 TO ThisForm. Lst - Ciudad. Listcount lfPos> I
Clu Geo = Clu Geo + Ir. OR. 'I - -
Endlf Cla-Geo - Clu Geo + "Proveed. W Ciudad - I1 + -
- -
All Trim (Str (val (This Form. L.yT-Ciudud. List (Pos)))) ENDFOR Clu Geo = Cla - Ceo + 'y''
EndIF If ThisForm. Lst Municipio. Listcount > O
Cla-Geo = C l a G e o + 'I .AND. (" FOR Pos = I TO ThisForm. Lst - Municipio. Listcount
I f Pos> 1
Endlf Clu Geo = Clu Geo f ' I . OR. - -
II + - Cla-Geo - - Clu Geo + "Proveed. MV-Muni -
AIITrim(Str(Vul(ThisForm. Lst - Municipio. List(P0.s)))) ENDFOR Cla Geo = Clu-Geo f 'í,"
End$ EndIF
If ThisForm. Chk-Serv. Vulue = I Clu Serv = ""
FOR Pos = 1 TO ThisForm. Lst-Servicio. Listcount If Pos> I
Clu Serv - Clu-e rv + "Proveed. MV Servo -
Clu-Serv = CIu Serv f I' .OR. I' - Endrf
II + - -
-
All Tr im(Str (Vu1 (Th is Form. Lst - Servicio. List (Pos))))
EndIF ENDFOR
Cluu.sulu = ) ' I1
If ThisForm. Chk Proveed. Vulue = 1 Cluusulu = "(,'-+ cProveed f 'í,"
EndIF
If ThisForm. Chk Estatus. Vulue = 1 If ThisForm. CG-Proveed, Value = I
Cluusulu = Cluusulu f " .AND. 'I
EndIf
Clausula = Clausula f "(,' + cEstatus + '7'' E n d r
I f ThisForm. Chk Convenio. Value = I If ThisForm. Chk Proveed. Value = I . OR. ThisForm. Chk-Estatus. Value = I
EndIf Clausula = claisuia + .AND.
Clausula = Clausula t "('I + bConvenio + '7" EndIf
If ThisForm. Chk NiSer. Value = I
ThisForm. Chk Convenio. Value = I If ThisForm.Chk Proveed. Value = I .OR. ThisForm.Chk - Estatus. Value = 1 .OR.
Clausula =?lausula + 'I .AND. 'I
Clausula = Clausula -I- Ir(" f Cla-NivSer + '7" EndIf
EndIf
If ThisForm. Chk NivUso. Value = I
ThisForm.Chk Convenio. Value = 1 .OR. ThisForm.Chk - NiSer. Falue = I If ThisForm. Chk Proveed. Value = I .OR. ThisForm.Chk Estatus. Value = I .OR.
Clausu/a =Ciausula + .AND. EndIf Clausula = Clausula + "(11 + Cla - NivUso t '7''
EndIf
If ThisForm. Chk RanUso. Value = I If ThisForm.Chk Proveed. Value = I .OR. ThisForm. Chk Estatus. Value = I .OR.
ThisForm. Chk Convenio. Value = I . OR. ThisForm. Chk - ÑiSer. Value = I . OR. ThisForm.Chk-NivUso. Value = I
Clausula =?lausula + ' I .AND. EndIf Clausula = Clausula f "(11 + Cla-RanUso f '7"
EndIf
If ThisForm.Chk Geo. Value = I If ThisForm.¿%k - Proveed. Value = I .OR. ThisForm.Chk Estatus. Value = I .OR.
ThisForm.Chk-Convenio. Value = I . OR. ThisForm. Chk %Ser. Value = I . OR. ThisForm. Chk NivUso. Value = 1 . OR. ThisForm. Chk - RanUso%zlue = 1
Clausula =?lausula f " .AND. I'
EndIf Clausula = Clausula + "(" + Cla - Geo + 'í,"
EndIf
I f ThisForm. Chk Serv. Value = I if ThisForm. C'h-Proveed. Value = I . OR. ThisForm. Chk-Estatus. Value = I . OR.
ThisForm.Chk Convenio. Value = I .OR. ThisForm.Chk NiSer. Value = I .OR. - -
ThisForm. Chk NivUso. Value = I . OR. ThisForm. Chk - RanUso. Value = I . OR. ThisForm. Chk-Geo. Value = I
Clausula =?lausula + I' .AND. r'
EndIf Clausula = Clausula + "(1' + Cla - Serv + '7"
EndIf
Select "Proveed" Set Filter To &Clausula Go Top If ESfO
=MessageBox("EI reporte esta en blanco ': 48)
*REPORT FORMREP PROVFor &Clausula PREVIEW Else
REPORTFORMREP - PROVPREVIEW EndIF
Btn-Cerrar ThisForm. Release
REPORTE RESIDENCIA -+ ASISTENCIA.
En este dialogo se realizan los reportes de los expedientes considerando solo, localización geográfica de ligar de asistencia y residencia, se hace una recopilación de las condiciones elegidas por el operador para crear la cláusula del reporte, la cual es almacenada en una variable.
FORM(Rep-Reas)
Tablas a manipular. DtatEnviroment
Exped Paises Estados Ciudad Municip
Chk-Geo Local Estado
If This. Value = I Estado = . T. Select "Paises" Set Filter To ThisForm. Gr - Puis. Recordsource = "Paises"
If ThisForm. Lst - Pais. Listcount> O Else
nCla = nCla - I If ncla=O
ThisForm. Btn Reporte. Enabled = .F. ThisForm. BtnArchivo. - Enabled = .F.
EndIf EndlF
ThisForm. Gr Pais. Recordsource = ""
ThisForm. L s t Pais. clear ThisForm. &Estado. Recordsource = ""
ThisForm. Lst Estado. clear ThisForm. G r s t a d o . Refresh ThisForm. Gr-Ciudad. Recordsource = ""
ThisForm. L s t Ciudad. clear ThisForm. GrCiudad. Refresh ThisForm. Gr-Municipio. RecordSource = ""
ThisForm. L s t Municipio. clear ThisForm. Gr - -Municipio. Refresh Estado = .F.
EndIf
ThisForm. Gr - Pais. Enabled = Estado
ThisForm. Gr - Pais. SetFocus Go Top ThisForm. Gr - Pais. Refresh
En cada una de la lista para la selección geográfica, mediante un doble click se manda la selección del grid, a la lista correspondiente, al seleccionar más de un elemento de un grid, éste quitará los posibles candidatos de los grids de jerarquía más baja, es decir si el operador selecciona dos piases el contenido de los grids de estados desaparecerá, y así sucesivamente con estados y ciudades y con ciudades y municipios. Al dar un doble click en alguna de las listas, se eliminara el elemento en el que se ejecuto dicha operación.
Gr-Pais Local Item Item = All TrimGfSrZero(Paises. KP-Clave, 3)) -+ 'I I' -+ AllTrim(Paises. KPDescri)
ThisForm. Lst - Pais.AddItem(Item)
nCla = nCla + 1 ThisForm. Btn Reporte. Enabled = . T. ThisForm. BtnArchivo. - Enabled = . T.
ThisForm. Gr-Estado. RecordSource = "Estados"
If ThisForm. Lst - Pais. ListCount=l
Select "Estados" Set Filter To Estados. KS Pais = Val (ThisForm. Lst - Pais. List(1)) ThisForm. Gr - Estado. Enabled = . T. Go Top ThisForm. Gr - Estado. Refresh
Se1ect"Estados" Set Filter To KS-Clave = O ThisForm. Lst Estado. Clear ThisForm. G r s t a d o . Enabled = .F. ThisForm. Gr-Estado. - Refresh
Else
Se1ect"Ciudad" Set Filter To Ciudad.KD Clave = O ThisForm. Lst Ciudad. CGar ThisForm. GrCiudad. Enabled = . F. ThisForm. Gr-Ciudad. - Refresh
Se1ect"Municip" Set Filter To Municip. KM-Clave = O ThisForm. Lst Municipio. Clear ThisForm. Gr -Municipio. Enabled = . F. This Form. Gr-Municipio. - Refresh
Endlf
0 Gr-Estado Local Item Item = AllTrimCfStrZero(Estados. KS_Clave,3)) + " " + AIlTrim(Estados. KSDescri) ThisForm. Lst - Estado.AddItem(Item)
ThisForm. Gr-Ciudad. RecordSource = "Ciudad"
If ThisForm. Lst Estado. ListCount=l Select "Ciudad" Set Filter To KD Pais = Val(ThisForm.Lst - Pais.List(1)) .AND. KD - Estado =
ThisForm.Gr - Ciudad. Enabled = . T. Go Top ThisForm. Gr - Ciudad. Refresh
Se1ect"Ciudad" Set Filter To Ciudad. KD Clave = O This Form. Lst Ciudad. CLar ThisForm.GrCiudad.Enab1ed = .F. ThisForm. Gr-Ciudad. - Refvesh
Val (ThisForm. Lst-Estado. L ist(1))
Else
Se1ect"Municip r' Set Filter To Municip. KM-Clave = O ThisForm. Lst Municipio. Clear ThisForm. Gr-Municipio. Enabled = .F. ThisForrn. Gr-Municipio. - Refresh
EndIf
0 Gr-Ciudad Local Item Item = AllTrimCfStrZero(Ciudad. KD Clave, 3)) + " " + AllTrim(Ciudud. KDDescri) ThisForm. Lst - Ciudad. AddItem(Item7
ThisForm. Gr - Municipio. RecordSource = "Municip "
If ThisForm. Lst Ciudad. ListCount=l ,Telect "Municip Set Filter To KM Pais = Val(ThisForm. LstPais. List(1)) .AND. KM Estado =
ThisForm. Gr Municipio. Enabled = . T. ThisForm. Gr-Municipio. - SetFocus Go Top ThisForm. Gr - Municipio. Refresh
Se1ect"Municip" Set Filter To Municip. KM-Clave = O ThisForm. Lst Municipio. Clear ThisForm. Gr-Municipio. Enabled = .F. ThisForm. Gr-Municipio. - Refresh
Val(ThisForm. Lst Estado. List(1)) .AND. KM-Ciudad = Val(ThisFormLstCiudad. List(1))
Else
Endf
0 Gr Municipio LocalItem Item = AllTrim@trZero(Municip. KM-Clave,3)) + 'I I' + AIlTrim(Municip. KM-Descri) ThisForm. Lst-Municipio. AddItem (Item)
0 Lst-Pais This. Removeltem (This. Listlndex)
nCla = nCla - 1 If nclu=O
ThisForm. Btn Reporte. Enabled = .F. ThisForm. BtnArchivo. - Enabled = . F.
EndIf
If This. Listcount =I Select "Estados" Set Filter To Estados. KS Pais = Val(ThisForm. Lst-Pais. List(1)) ThisForm. Gr - Estado. Enabled = . T. Go Top ThisForm.Gr - Estado.Refresh
Select "Estados" Set Filter To KS-Clave = O
Else
ThisForm. Lst Estado. Clear ThisForm.GrEstado.Enab1ed = . F. ThisForm. Gr-Estado. - Refresh
Select "Ciudad" Set Filter To Ciudad. KD Clave = O ThisForm. Lst Ciudad. Clear ThisForm. GrCiudad. Enabled = . F. ThisForm. Gr-Ciudad. - Refresh
Se1ect"Municip" Set Filter To Municip. KM Clave = O ThisForm. Lst Municipio. clear ThisForm. Gr -Municipio. Enabled = . F. ThisForm. Gr-Municipio. - Refresh
Endf
Lst-Estado This. RemoveItem(This. Listlndex) lf This. ListCount=l
Select "Ciudad" Set Filter To KDPais = Val(ThisForm. Lst-Pais. List(1)) .AND. KD - Estado =
ThisForm. Gr - Ciudad. Enabled = . T. Go Top ThisForm. Gr - Ciudad. Refiesh
Select '%iudad" Set Filter To Ciudad. KD Clave = O ThisForm. Lst Ciudad. Clear ThisForm. GrCiudad. Enabled = . F. ThisForm. Gr-Ciudad. - Refresh
Val(ThisForm. Lst-Estado. List(1))
Else
Select "Municip Set Filter To Municip.KM Clave = O ThisForm. Lst Municipio. clear ThisForm. Gr-Municipio. Enabled = .F. ThisForm. GrIMunicipio.Refresh
EndIf
0 Lst-Municipio This. Removeltem(This. Listlndex)
If This. Li.stCount=l Select "Municip"
Set Filter To KM Pais = Val(ThisForm. LstPais. List(1)) .AND. KM-Estado =
ThisForm.Gr A&nicipio.EnabEed = . T. ThisForm. Gr-Municipio. - SetFocus Go Top ThisForm. Gr - Municipio. Refresh
Se1ect"Municip" Set Filter To Municip. KM Clave = O ThisForm. Lst Municipio. Clear ThisForm. Gr -Municipio. Enabled = .F. ThisForm. Gr-Municipio. - Refresh
Val(ThisForm. Lst %tado.List(l)) .AND. KM - Ciudad = Val(ThisForm. Lst - Ciudad.List(1))
Else
EndIf
0 Lst-Ciudad This. Removeltem (This. Listlndex)
0 Chk-GeoAsi Local Estado
IfThis. Value = I Estado = .T. Select "Paises" Set Filter To ThisForm. Gr - PaiAsi. RecordSource = "Paises"
If ThisForm. Lst PaiAsi. ListCount>O Else
ncla = ncla -i If ncla=O
ThisForm. Btn-Reporte. Enabled = .F. ThisForm. Btn - Archivo. Enabled = .F.
Endlf EndIF
ThisForm. Gr PaiAsi. RecordSource = ""
ThisForm. L s t PaiAsi.clear ThisForm. Gr -EdoAsi. RecordSource = ""
ThisForm. Ls f EdoAsi. clear ThisForm. Gr -EdoAsi. Refresh ThisForm. Gr-CiuAsi. RecordSource = ""
ThisForm. L s t CiuAsi.clear This Form. GrCiuAsi. Refresh ThisForm. Gr-MunAsi. RecordSource = ""
ThisForm. L s t MunAsi. clear ThisForm. G r u n A s i . - Refresh Estado = . F.
EndlJ'
ThisForm. Gr - PaiAsi. Enabled = Estado
ThisForm. Gr - PaiAsi. SetFocus Go Top
ThisForm. Refresh
Gr-PaiAsi Local Item Item = AIITrimGfStrZero(Paises.KP - Clave,3)) t " I' t A
This Form. LstPaiAsi. AddItem(Item)
nClu = nCla + I ThisForm. Btn Reporte. Enabled = . T. ThisForm. BtnArchivo. - Enabled = . T.
ThisForm. Gr-EdoAsi. RecordSource = "Estados"
If ThisForm. Lst PaiAsi.ListCount=l Select "Estado<"
'Trim(Paises.
Set Filter To KS Pais = Val(ThisForm.Lst - PaiAsi.List(1)) ThisForm. Gr - EdoAsi. Enabled = . T. Go Top ThisForm. GrEdoAsi. Refresh
Se1ect"Estados" Set Filter To KS Clave = O ThisForm. Lst EdoAsi. Clear ThisForm. Gr -EdoAsi. Enabled = . F. ThisForm. Gr-EdoAsi. - Refresh
Else
Select "Ciudad" Set Filter To KD Clave = O ThisForm. Lst CiLAsi. Clear ThisForm. GrCiuAsi. Enabled = .F. This Form. Gr-CiuAsi. - Refresh
Select "Municip 'I Set Filter To MunicipKM Clave = O ThisForm. Lst-MunAsi. Cle& ThisForm. Gr MunAsi. Enabled = , F. ThisForm. GrIMunAsi. Refresh
EndIf
P - Descri)
0 Chk-EdoAsi Local Item Item = AllTrim(fltrZero(Estados. KS-Clave, 3)) + 'I 'I + AIITrim(Estados. KS - Descri) ThisForm. Lst - EdoAsi. AddItem(Item)
ThisForm. Gr - CiuAsi. RecordSource = "Ciudad"
If ThisForm. Lst EdoAsi. ListCount=l Select "Ciudad" Set Filter To KD Pais = Val(ThisForm. Lst-PaiAsi. List(1)) .AND. KD-Estado =
ThisForm. Gr - CiuAsi. Enabled = . T. Go Top ThisForm. Gr-CiuAsi. Refiesh
Select '%iudad"
Val(ThisForm. Lst-%doAsi. List(1))
Else
0 Gr-CiuAsi Local Item Item = AllTrimCfStrZero(Ciudad. KD_Clave,3)) + I' I r + AIlTrim(Ciudad. KDDescri) ThisForm. Lst - CiuAsi. AddItem (Item)
ThisForm. Gr - MunAsi. RecordSource = ríMUnic@'r
If ThisForm. Lst-CiuAsi. ListCount=l Select 'íZIIunicip" Set Filter To KM Pais = Val(ThisForm.LstPaiAsi.List(1)) .AND. KM-Estado =
ThisForm. Gr-MunAsi. Enabled = . T. ThisForm. Gr-MunAsi. SetFocus Go Top ThisForm. Gr - MunAsi. Refiesh
Select "Municip" Set Filter To Municip. KM-Clave = O ThisForm. Lst MunAsi. Clear ThisForm. GrIMunAsi. Enabled = . F. ThisForm. Gr - MunAsi. Refresh
Val(ThisForm. Lst-2doAsi. List(1)) .AND. KM-Ciudad = Val(ThisForm. Lst - CiuAsi. List(1))
Else
EndIf
0Gr MunAsi Local item hem = AllTrim&YtrZero(Munic@. KM Clave,3)) + 'I
This Form. Lst-MunAsi. Addltem(Item)- + AIITrim(Municip. KM-Descri)
Lis-PaiAsi
This. Removeltem (This. ListIndex)
nCla = nCla - I If ncla=O
ThisForm. Btn-Reporte. Enabled = . F. ThisForm. Btn-Archivo. Enabled = . F.
EndIf
If This.ListCount=I Select "Estados" Set Filter To KS-Pais = Val(ThisForm. Lst-PaiAsi. List(1)) ThisForm. Gr-EdoAsi. Enabled = . T. Go Top ThisForm. Gr-EdoAsi. Refresh
Se1ect"Estados" Sei Filter To KS-Clave = O ThisForm. Lst-EdoAsi. Clear ThisForm.Gr-EdoAsi.Enabled = . F. ThisForm. Gr - EdoAsi. Refresh
Else
Select "Ciudad" Set Filter To Ciudad. KD-Clave = O ThisForm. Lst-CiuAsi. Clear ThisForm. Gr-CiuAsi. Enabled = . F. ThisForm. Gr - CiuAsi. Refiesh
Se1ect"Municip" Set Filter To Municip. KM-Clave = O ThisForm. Lst MunAsi. Clear ThisForm. G r u n A s i . Enabled = .F. ThisForm. Gr-MunAsi. - Repesh
Endlf
Lis-EdoAsi This. RemoveItem(This. ListIndex) If This. ListCount=l
Se 1 ect "Ciudad" Set Filter To KD Pais = Val(ThisForm. Lst - PaiAsi, List(1)) .AND. KD-Estado =
ThisForm. Gr - CTuAsi. Enabled = . T. Go Top This Form. Gr-CiuAsi. Refresh
Se1ect"Ciudad" Set Filter To Ciudad. KD Clave = O ThisForm. Lst-CiuAsi. Clear
Val(ThisForm. Lst EdoAsi. List(1))
Else
ThisForm. Gr CiuAsi. Enabled = . F. ThisForm. Gr-CiuAsi. - Refiesh
Select "Municip Ir Set Filter To Municip. KM Clave = O ThisForm. Lst MunAsi. Clear ThisForm. GrIMunAsi. Enabled = .F. ThisForm. Gr - MunAsi. Refresh
Endlf
Lis-CiuAsi This. Removeltem (This. ListIndex)
[ f This. ListCount=l Select "Municip " Set Filter To KM Pais = Val(ThisForm. LstPaiAsi.List(1)) .AND. KM-Estado =
ThisForm. Gr G n A s i . Enabled = . T. ThisForm. Gr-MunAsi. - SetFocus Go Top ThisForm. Gr - MunAsi. Refresh
Select"A4unicip" Set Filter To Municip. KM Clave = O ThisForm. Lst MunAsi. Clear ThisForm. G r u n A s i . Enabled = . F. ThisForm. Gr-MunAsi. - Refiesh
Val(ThisForm. Lst EdoAsi. List(])) .AND. KA4-Ciudad = Val (ThisForm. Lst-CiuAsi. List(]))
Else
EndIf'
Lis-MunAsi This. Removeltem (This. ListIndex)
A continuación se presentan los comandos para la generación del código, como se menciono anteriormente, se hace el análisis de las opciones definidas por el usuario para la generación de la cláusula, mediante la cual posteriormente se hace el filtro. Para estos reportes se trabajan también la exportación a archivo Excel y también se permite la vista preliminar.
Btn Archivo Set s~&?ty OFF
Local Pos, Cla Geo, Cla Asi, Clausula
Local NomArch Local VPR, VER, VCR, VMR, VPA, VEA, VCA, VMA
Select "Exped"
Clu Geo = "PR.KP - Cluve=Exped.ME - PaiRes .AND. ER.KS - Clave=Exped.ME-EdoRes
CR. KD - Cluve=Exped.ME - CiuRes .AND. MR.KM - Cluve=ExpedME-MunRes" .AND.;
If ThisForrn.Chk - Geo. Value = I Cia Geo = ""
FOR Pos = 1 TO ThisForm.Lst - Pais.ListCount IfPos> 1
Clu - Geo = Clu-Geo + 'I .OR. 'I
EndIf VPR = AIITrim(Str(Vul(ThisForm. Lst Puis. List(Pos)))) Clu Geo = Clu - Geo + "Exped.ME-f%Res = 'I + VPR
ENDFOR I f ThisForrn. Lst Estudo.ListCount > O Cla Geo = ClhGeo + ".AND. r' FOR Pos = 1 TO ThisForm. Lst - Estado. ListCount
I f Pos> 1 Clu - Geo = Clu-Geo + 'l. OR. I'
Endrf VER = AllTrirn(Str(Vul(ThisForm. Lst Estado. List(Pos)))) Clu - Geo = Cla - Geo + "Exped.ME-%doRes = 'I + VER
ENDFOR Clu Geo = Clu-Geo + 'y"
End@ If ThisForrn. Lst Ciudud. ListCount
Clu Geo = CIa Geo + ".AND. ('I
FOR Pos = I TO ThisForm. Lst - Ciudud. ListCount
O
rfPos>l Clu - Geo = Clu - Geo + 'l. OR. ' I
EndIf VCR = All Trim (Str(Vul(ThisForm. Lst Ciudud. L ist(Pos))))
Cla - Geo = Clu - Geo + "Exped.ME-?iuRes = " + VCR ENDFOR Clu Geo = Clu - Geo + 'y''
EndIF If ThisForrn. Lst-Municipio. ListCount O
Clu-Geo = Cla Geo + ".AND. FOR Pos = 1 TO ThisForm. Lst - Municipio. Listcount
IfPos> I Clu - Geo = Clu-Geo + 'I .OR. 'I
EndIf VMR = AllTrirn(Str(Vul(ThisForrn. Lst Municipio. List(Pos))))
Clu - Geo = Cla - Geo + "Exped.MEIMunRes = I' + VMR ENDFOR Clu-Geo = Clu - Geo + '9''
EndlF EndIF
Clu Asi = "PA. KP-Clave =Exped ME - PaiAsi .AND. EA. KS - Clave =Exped ME - EdoAsi .AND. ;
CA. KD - Clave = Exped. ME - CiuAsi .AND. MA. KM - Clave =Exped ME - MunAsi "
If ThisForm. Chk - GeoAsi. Value = 1 Clu Asi = "I'
FOR Pos = I TO ThisForm.Lst - PaiAsi.ListCount If Pos> I
Clu Asi = Clu Asi + 'l. OR. ' I
EndIf VPA = AllTrim(Str(Vul(ThisForm. Lst PaiAsi. List(Pos)))) Clu Asi = Clu - Asi + "Exped.ME-Pa&i = I' + VPA
- -
ENDFOR If ThisForm. Lst EdoAsi. Listcount > O Clu Asi = CluAs i + " .AND. (" FOR Pos = I TO ThisForm. Lst-EdoAsi. Listcount
IfPos>l Clu Asi = Clu Asi + 'I .OR. - -
EndIf VEA = AIITrim(Str(Val(ThisForm. Lst EdoAsi. List(Pos))))
Clu - Asi = Cla - Asi + "Exped ME-EdoAsi = " f VEA ENDFOR Clu Asi = Cla Asi + 'Y" CluAs i = CluAs i - + 'I .AND. (EA.KS - Puis=PA.KP - Clave)"
End@ If ThisForm. Lst CiuAsi. Listcount
Clu Asi = ClaAsi + " .AND. r' FOR Pos = 1 TO ThisForm. Lst - CiuAsi. Listcount
O
IfPos>l Cla - Asi = ClaAsi + ' I . OR. 'I
Endrf VCA = AIlTrim(Str(Vul(ThisForm. Lst CiuAsi. List(Pos))))
Clu - Asi = Cla - Asi f "ExpedME-&Asi = " + VCA ENDFOR Clu Asi = Clu Asi + '7" CluAs i = ClaAsi + .AND. (CA.KD - Pais=PA.KP - Clave) .AND.
(CA. KD Estado =%A. KS - Clave)" EndIF- If ThisForm. Lst MunAsi. Listcount O
Clu Asi = CluAs i + 'I .AND. FOR Pos = 1 TO ThisForm. Lst - MunAsi. Listcount
IfPos> I Clu Asi = Clu-Asi + ' I . OR. I' -
EndIf VMA = All Trim (Str (Val (Th is Form, Ls f-MunA s i. List (Pos))))
ClaAs i = Cla - Asi + "ExpedME - MunAsi = 'I + VMA ENDFOR ClaAs i = Cla Asi + 'í," Cla Así = ClaAsi + 'I .AND.(MA.KM Pais=PA.KP Clave) .AND.
(MA. K% Estado =EA. KS-Clave) .AND. (MA. KM - Ciudad=CA. KD-Clave) "
EndIF EndIF -
Cla Geo = Cla Geo f ".AND. PR.KP Clave=ER.KS Pais .AND.
.AND: ER. KS-ClavezCR. KD-Estado .AND. ER. KS-Clave=MR. KM-Estado;
.AND. CR.KD Clave=MR.KM Ciudad" + ".AND." + : "Exped.ME PaiRes=PR.KP CTave .AND. Exped. ME EdoRes=ER.KS Clave .AND.: Exped. MECiuRes - =CR. KD-Clave - .AND. Exped. ME-MunRes=MR. - K% - Clave"
PR. KP Clave=CR. KD Pais .AND. PR. KP Clave=MR.kM-Pais;
Cia Asi = Cla Asi + ".AND. PA.KP Clave=EA.KS Puis .AND. PA. K p Clave =FA. KD Puis .AND. PAYKP CIuve=MA. KM Pais;
.AND. EA. KS C l a v e k A . KD Estado .AND, EA, KS Clave =MA. KM - Estado:
.AND. CA. KD-Clave=MA. KMCiudad" + ".AND. "+ ; "Exped.ME PaiAsi=PA.KP Clave .AND. ExpedME EdoAsi=EA. KS Clave .AND.;
Exped. ME - &Asi=CA. KD - clave .AND. Exped.ME - %unAsi=MA. KMClave " Clausula = 'I"
Clausula = Clausula + "("' + Cla-Geo + '9'' Clausula = Clausula + Clausula = Clausula + If(" f Cla - Asi + '9''
.AND. 'I
Select Exped. ME Folio, Exped. ME NomCli, Exped. ME-Apl Cli, Exped.ME-Ap2Cli, PR. KP Descr: ER. KS Descri, CR. KD Descri, MR. KM Descri, ; PA. KPDescri, EA. KSDescri, CA. KDDescri, MA. KMDescri; -
From Paises PR, Estados ER, Ciudad CR, Municip MR,;
Where &Clausula; TO CURSOR PASO
Paises PA, Estados EA, Ciudad CA, Municip MA, Exped;
SELECT PASO Go Top
!f ESfO =MessageBox("El reporte esta en blanco 'I, 48)
NomArch = GE TFILE ("XLS ", "Salvar reporte en: 'í, Else
IF !EMPTY(NomArch) COPY TO &NomArch TYPE XLS
=MessageBox("El reporte se ha creado con exit0 'í,
=MessageBox("Proceso canceladolí) ELSE
ENDIF
EndIF
Clear ThisForm. Refresh
Es exactamente lo mismo que el comando anterior, pero con la diferencia de que no hay exportación, solo vista preliminar. 0Btn Reporte Set Sa& OFF
Local Pos, Cla Geo, Cla-Asi, Clausula Local VPR, VER, VCR, VMR, VPA, VEA, VCA, VMA
Select "Exped"
Cla-Geo = "PR. KP - Clave=Exped. ME-PaiRes .AND. ER. KS - Clave=Exped. ME - EdoRes .AND. ;
CR. KD-Clave = Exped. ME-CiuRes .AND. MR. KM - Clave = Exped. ME-MunRes "
If ThisForm. Chk - Geo. Value = I Cla-Geo = ""
FOR Pos = 1 TO ThisForm. Lst-Pais. ListCount IfPos> I
Cla-Geo = Cla-Geo + 'l. OR. " Endlf VPR = All Trim (í'tr (Val (This Form. Lst Pais. List (Pos)))) Cla Geo = Cla - Geo t "Exped.ME - PaiRes = 'I + VPR
ENDFOR If ThisForm. Lst Estado. ListCount O
C'la Geo = Cl; Geo + I' .AND. (" FOR Pos = I TO ThisForm. Lst-Estado. ListCount
If Pos> 1 Cla-Geo = Cla - Geo + 'l. OR. "
Endrf VER = AllTrim(Str(Val(ThisForm. Lst Estado. List(Pos)))) Cla - Geo = Cla - Geo + "Exped.ME - ZdoRes = 'I + VER
ENDFOR Cla-Geo = Cla - Ceo + '9''
EndIF If ThisForm.Lst-Ciudad. ListCount O Cka Geo = Cla Ceo + ".AND. (" FOR Pos = I TO ThisForm. Lst - Ciudad. ListCount
IfPos> I Cla - Geo = Cla-Geo + ' I . OR. I'
Endrf VCR = AIITrim(Str(Val(ThisForm. Lst Ciudad. List(P0.s))))
Clu - Geo = Clu - Geo + "Exped.ME¿'iuRes = 'I + VCR ENDFOR Clu-Geo = Clu - Geo + '7"
EndIF I f ThisForm. Lst Municipio. Listcount > O Clu Geo = C l i Geo f ".AND. (l' FOR Pos = 1 TO ThisForm. Lst - Municipio. ListCount
rfPos>I Clu - Geo = Clu-Geo f ' I . OR. ''
EndIf VMR = AlITrim(Str(Vul(ThisForm. Lst Municipio. List(Pos))))
Clu-Geo = Clu - Geo f "Exped.MEIMunRes = " + VMR ENDFOR Clu-Geo = Clu - Geo + '7"
EndIF EndIF
Cla Asi = "PA. KP - Cluve=Exped. ME - PaiAsi .AND. EA. KS-Cluve=Exped. ME-EdoAsi .AND. ;
C'A. KD-Cluve=ExpedME - CiuAsi .AND. MA. KM-Clave=Exped.ME - MunAsi ''
If ThisForm. Chk - GeoAsi. Value = 1 Clu-Asi = ""
FOR Pos = 1 TO ThisForm.Lst - PuiAsi.ListCount If Pos> I
Clu Asi = Clu-Asi + " . OR. " Endrf VPA = AIITrim(Str(Val(ThisForm. Lst PuiAsi. List(Pos)))) CIu Asi = Cla - Asi + 'ExpedME - Pu&i = " f VPA
-
ENDFOR rf ThisForm. Lst EdoAsi. Listcount Clu Asi = ClaAs i + I' .AND. (" FOR Pos = 1 TO ThisForm.Lst - EdoAsi.ListCount
O
IfPos>I Clu Asi = ClaAsi + 'I .OR. " -
Endlf VEA = AllTrim(Str(Vul(ThisForm. Lst EdoAsi. List(Pos))))
Cla - Asi = Cla - Asi + "Exped.ME - EdoAsi = " + VEA ENDFOR Clu-Asi = Clu Asi f '7'' Cla-Asi = ClaAs i + " .AND. (EA.KSPuis=PA. KP-Clave)"
EndIF If ThisForm. Lst CiuAsi. Listcount Cla Asi = CluIAsi + " .AND. (" FOÜ Pos = I TO ThisForm. Lst - CiuAsi. Listcount
O
lfPos>l Cla - Asi = Cla - Asi + ' I . OR. I r
Endlf VCA = All Trim (Str (val (ThisForm. Lst-CiuAsi. List(Pos))))
Cla - Asi = Cla - Asi + "Exped.ME - CiuAsi = " + VCA ENDFOR Cla Asi = Cla Asi + 'Y" CluIAsi = ClaAs i + 'I .AND. (CA.KD - Pais=PA.KP - Clave) .AND.
(CA. KD Estado-%A. KS - Clave) " EndIF- [f ThisForm. Lst MunAsi. ListCount Cla-Asi = ClaAs i + I' .AND. (" FOR Pos = 1 TO ThisForm. Lst - MunAsi. ListCount
O
Ij"Pos>I Cla Asi = Cla - Asi + ".OR. 'I -
Endlf V M = All Trim (Str (Val(ThisForm. Lst-MunAsi. L &(Pos))))
CIa - Asi = C1a - Asi + "ExpedME-MunAsi = I' + VMA ENDFOR Clu Asi = Cla-Asi + 'Y'' ClaAs i = Cla-Asi + 'I .AND.(MA.KM Pais=PA.KP Clave) .AND.
(MA. K% Estado=EA. KS - Clave) .AND. (MA. KM-Ciudad=CA. KD-Clave) "
EndIF EndIF -
c'lu Geo = Cla Geo + ''.AND. PR.KP Clave=ER.KS Pais .AND.
.AND. ER. KS Clave-CR. KD Estado .AND. ER. KS ClaG=MR. KM - Estado;
.AND. CR.KD Clave=MR.G Ciudad" + ".AND. "+ ; "Exped.ME PaiRes=PR.KP C?me .AND. Exped.ME EdoRes=ER. KS Clave .AND.; Exped. ME ¿?iuRes=CR. KDClave .AND. Exped ME -MunRes=MR. K k - Clave" Cia Asi = ¿?la Asi + '',AND;PA.KP Clave=EA.KS puis .AND.
PA. K?-Cluve =EA. KDPais .AND. PATKP Clave =MA. KM Pais; .AND. EA. KS Clave =CA. KD Estado .AND. EA. KS ClaG =MA. KM - Estado; .AND. CA. KD-Clave =MA. Kh? Ciudad" + 'l. AND. "+ ; "Exped.ME-PGiAsi=PA. KP-CGve .AND. Exped.ME-EdoAsi=EA. KS Clave .AND.; Exped. ME-CiuAsi=CA.KD - Clave .AND. Exped,ME - MunAsi=MA. K k - Clave"
PR.K? Cluve=CR.KD Pais .AND. PR.KP Clave=MR.kM Pais;
Clausula = ""
Clausula = Clausula + "(1' + Cla - Geo + '7" Clausula = Clausula + I' .AND. Clausula = Clausula + "(,' + ClaAs i + '9''
Select Exped. ME Folio, Exped. ME NomCli, Exped.ME Apl Cli, Exped.ME-Ap2Cli, PR. KP De&, ER. KS Descri, CR. KD-Descri, MR. KM-Descri, ; PA. KP-Descri, - EA. KSDescri, - CA. KD-Descri, MA. KM - Descri;
From Paises PR, Estados ER, Ciudad CR, Municip MR,;
Where &Clausula; Into DBF C: \TMP - ReAs;
Paises PA, Estados EA, Ciudad CA, Municip MA, Exped;
Go Top !f ESfO
=MessageBox("El reporte esta en blanco", 48)
*REPORT FORM Rep-ReAs FOR &Clausula PREVIEW REPORT FORMRep - ReAs PREVIEW *Browse
Else
EndIf
Return
0 BtnCerrar ThisForm. Release
MENU
A continuación se presenta el código correspondiente al menú del sistema, éste cuenta con un código en su setup y en todos los diversos ítems de cada sub-menu como sigue.
CODIGO DE M E N U ( s e t u p > ON ERROR DO ERRMSG WITH ERROR(), MESSAGE()
0 ASISTENCIA
Expedientes Detalle Do Form Dlg Expe With . T., " .T. = Presentación desde el inicio de la tabla "" = No buscar ningún folio Lista do Form Cut-Expe
Do Form Cat PenAla Pendientes y alarmas
Proveedores Detalle O = No buscar ninguna clave O = No poner en forma modal Lista O = No buscar ninguna clave- O = No poner en forma modal
Do Form Dlg - ConExp With "Totul" "Total" = Permitir un acceso total a la tabla, modificar, eliminar, etc.
Do Form Cat-Pais With . í? .T. = Permitir manejo de proveedores.
Do Form Cut-Mnls with cClvOpe CClvOpe = Colocar el cursor en esta clave del catálogo
Do Form Cut Cont With. T. .T. = Permitir-acceso completo a la tabla.
Do Form Dig-Prov With O,O
Do Form Cut Prov With ", O, O
Contactos
Localización de proveedores
Manual de procedimientos
Contratos
0 CATALOGOS Localización geográfica
Do Form Cat-Pais With . F. .F. = Permitir acceso total a la tabla, sin proveedores
Do Form Cat-SeRe
Do Form Cat-Cont With .F. .F. = No permitir acceso total a la tabla.
Do Form CatAuto
Tipo de servicios
Contratos
Marcas de autos
0 CONTABILIDAD costos
Por Proveedor DO FORM Dlg-CoChPr WITH 2 2 = Mandar a cortos.
DO FORM Dlg-CoChEx WITH 2 2 = Mandar a cortos.
DO FORM Cat-Cost WITH O, O O = No se manda nada. (ni folio no clave de prov.) O = No aplica.
Por Expediente
Todos
Cheque Por Proveedor
DO FORM Dlg-CoChPr WITH I I = Mandar a cheques.
DO FORM Dlg-CoChEx WITH 1 2 = Mandar a cheques.
DO FORM Cat-Cheq WITH O, O O = No se manda nada. (ni folio no clave de prov.) O = No aplica.
Por Expediente
Todos
Reportes costos
Cheque Do Form Rep - Cost
Do Form RepCheq
REPORTES Generales
Expedientes
do form rep-expe
do form repqrov
DO FORM repreas.scx
Do Form Rep Cat With 1 1 = Llamada ;paises
Do Form Rep-Cat With 2 2 = Llamada a Estados
Do Form Rep-Cat With 3 3 = Llamada a ciudades
Do Form Rep-Cat With 4 4 = Llamada a Municipio
Do Form Rep-Cat With 5 5 = Llamada a contratos
Do Form Rep-Cat With 6 6 = Llamada a servicios
Do Form Rep-Cat With 7 7 = Llamada a autos
Proveedores
Geográfico
Paises
Estados
Ciudades
Municipios
Contratos
Tipos de servicios
Autos
Estratégicos Total de casos y porcentaje de crecimiento
do form dlg ReEsCT Totales por tipo deServicio
do form dlg ReEsTS Porcentaje de participación y totales x tipo de cto.
do form dlg-ReEsTCo
UTILERIAS Usuarios
Mensaje a usuarios
Tipo de cambio
Depuración de información
Generador de índices
Alarmas
Do Form Cat-Usu
Do Form Dlg-NuMs
Do Form Dlg-TpCmb
Do Form Dep-lnf
Do Form G e n n d
DO FORM dlg-aAlarma
DO FORM dlg-about Acerca de ...
SALIR
ResSal=MESSAGEBOX(íEsta seguro de salir? ', Jt-32, '%Asistencia')) I f Re.sSal=ó Then
Quit EndIf
PROGRAMAS
MENSAGES DE ERROR.
ErrMensage
PARAMETER NumErr, TxtMsg
DO CASE C'ASE NumErr = 1585
=MESSAGEBíIX("Otro usuario esta modijicando la tabla"+chr(l3) + ; "Intente más tarde", O+ 64, "Mensaje del Sistema '7
ENDCASE RETURN
PREPARECION DE ALARMAS.
PREPALA
SELECT 99 USE PENYALA
SET ORDER TO 2
GO TOP
DO WHILE !EMPTY(PENYALA.MA - FEHRAP) ENDDO
ESTADO DE OBJETOS PARA CONTACTOS.
P-ADCont
PROCEDURE P A DCont PARAMETER Estado - Screen. ActiveForm. Datos. Dat Gen. Txt-Nombre. Enabled = Estado - Screen. ActiveForm. Datos. DatGen. Corn-Pais. Enabled = Estado - Screen. ActiveForm. Datos. DatGen. Corn-Estado. Enabled = Estado - Screen. ActiveForm. Datos. DatGen. - Com-Ciudad. Enabled = Estado
- Screen. ActiveForm. Datos. Dat Gen. Com-Munici. Enabled = Estado - Screen. ActiveForm. Datos. DatGen. Txt-Calle. Enabled = Estado - Screen. ActiveForm. Datos. DatGen. Txt-Entre. Enabled = Estado - Screen. A ctiveForm. Datos. DacGen. Txt-Colon. Enabled = Estado - Screen.Active Form. Datos. Dat Gen. Txt RazSoc. Enabled = Estado - Screen. A ctiveForm. Datos. DatIGen. TxCRespon. Enabled = Estado - Screen. ActiveForm. Datos. Dat Gen. Txt-Espes. Enabled = Estado - Screen.ActiveForm. Datos. DatGen. TxtRFC. Enabled = Estado - Screen. A ctiveForm. Datos. DaCGen. Txt-Tell. Enabled = Estado
Screen.ActiveForm. Datos. Dat Gen. Txt Lada. Enabled = Estado - -Screen. ActiveForm. Datos. DacGen. TxcCodPos. Enabled = Estado
- Screen. ActiveForm. Datos. Dat-Com. Txt-Celu. Enabled = Estado - Screen. ActiveForm. Datos. Dat Com. Txt-Fax. Enabled = Estado - Screen.ActiveForm. Datos. DaCCom. Txt-Radio. Enabled = Estado - Screen. ActiveForm. Datos. Dat Com. Txt-ClvRad. Enabled = Estado - Screen. Active Form. Datos. DatCom. Mem Observ. Enabled = Estado
Screen.ActiveForm. Datos. DacCom. ComITipSer. Enabled = Estado ENDPROC
ESTADO DE OBJETOS PARA EXPEDIENTES.
PROCEDURE P ADExpe PARAMETER Estado - Screen.ActiveForm. Datos. Dat Lla. Txt NomLla. Enabled = Estado - Screen.ActiveForm. Datos. Dut-Llu. TxcAPLla. Enabled = Estado - Screen.ActiveForm. Datos. DutLIu. TxcAMLlu. Enabled = Estado - Screen.ActiveForm. Datos. Dut-Llu. Com PaiLla. Enabled = Estado - Screen.ActiveForm. Datos. Dut-Llu. C o m d o L l a . Enabled = Estado - Screen.ActiveForm. Datos. Dut-Llu. Com-CiuLla. Enabled = Estado - Screen.ActiveForm. Datos. Dut-Llu. Com-MunLla. Enabled = Estado - Screen.A ctiveForm. Datos. Dut-Llu. Txt TelLla. Enabled = Estado - Screen. ActiveForm. Datos. Dut-Llu. - Me&-MotLla. Enabled = Estado
- Screen.ActiveForm. Datos. Dat Asis. Txt NomAsi. Enabled = Estado - Screen. ActiveForm. Datos. Dat-Asis. TxtAPAsi. Enabled = Estado - Screen.ActiveForm. Datos. Dat-Asis. Tx fAMAsi. Enabled = Estado - Screen.ActiveForm. Datos. DatAsis. Txt EdaAsi. Enabled = Estado - Screen. ActiveForm. Datos. Dat-Asis. O p l SexAsi. Enabled = Estado - Screen. ActiveForm. Datos. DatAsis. TxtIDirAsi. Enabled = Estado - Screen.ActiveForrn. Datos. Dat-Asis. Corn-PaiAsi. Enabled = Estado - Screen. ActiveForm. Datos. Dat-Asis. Corn-EdoAsi. Enabled = Estado - Screen. ActiveForm. Datos. DaCAsis. Com-CiuAsi. Enabled = Estado
- Screen.ActiveForm. Datos. Dat Asis. Com MunAsi. Enabled = Estado __ Screen.ActiveForm. Datos. DatAsis. Txt TelAsi. Enabled = Estado - Screen. ActiveForm. Datos. DatAsis. TxtITe2Asi. Enabled = Estado - Screen.ActiveForm. Datos. DacAsis. Txt FaxAsi. Enabled = Estado - Screen.ActiveForm. Datos. Dat Asis. TxtRadAsi. Enabled = Estado - Screen. A ctiveForm. Datos. DacAsis. Tx<ClRuAs. Enabled = Estado - Screen. ActiveForm. Datos. Dat - Asis. Opt-StaAsi. Enabled = Estado
- Screen. ActiveForm. Datos. Dat Client. TxtDirCli. Enabled = Estado - Screen. ActiveForm. Datos. DacClient. Com-PaiCli. Enabled = Estado - Screen.ActiveForm. Datos. Dat Client. Com EdoCli. Enabled = Estado - Screen.ActiveForm. Datos. DatClient. Com-CiuC'li. Enabled = Estado - Screen. ActiveForrn. Datos. Da; Client. ComIMunCli. Enabled = Estado - Screen. ActiveForm. Datos. Dat-Client. Txt-Te1 Cli. Enabled = Estado - Screen.ActiveForm. Datos. DatClient. Txt TeLCli. Enabled = Estado - Screen.ActiveForm. Datos. DaCClient. TxFFaxCli. Enahled = Estado - Screen.ActiveForm. Datos. Dat Client. TxtRadCli. Enabled = Estado - Screen. ActiveForm. Datos. DacCEient. Tx~CIKUCI. Enabled = Estado
-Screen. - ActiveForm. Datos. Dat-Client, Txt AseCli. Enabled = Estado - Screen. ActiveForm. Datos. Dat-Client. TxFIdeCli. Enabled = Estado - Screen.ActiveForm. Datos. DatClient. TxtFeSaCI. Enabled = Estado - Screen.ActiveForrn. Datos. DatClient. TxcFeReCI. Enabled = Estado - Screen.ActiveForm. Datos. DatClient. Txt ViInCI. Enabled = Estado .- Screen. ActiveForm. Datos. DatClient. T x c V$Cl. Enabled = Estado - Screen.ActiveForm. Datos. DutClient. Txt InsCli. Enabled = Estado
Screen.ActiveForm. Datos. Dat Client. Com ConCli. Enabled = Estado
Screen.ActiveForm. Datos. DatClient. - Com - ExpCli. Enabled = Estado ENDPROC
ESTADO DE OBJETOS PARA PROVEEDORES.
P-ADProv
PROCEDURE P ADProv PARAMETER Estado - 5creen.ActiveForm. Datos. Dat-Gen. Txt-CodPos. Enabled = Estado - Screen.ActiveForm. Datos. Dat Gen. Txt Nombre. Enabled = Estado - Screen.ActiveForm. Datos. DatIGen. ComPais. Enabled = Estado - Screen. ActiveForm. Datos. Dat Gen. Com Estado. Enabled = Estado - Screen. ActiveForm. Datos. D a t Gen. Com-Ciudad. Enabled = Estado - Screen. ActiveForm. Datos. DatGen. Com-Munici. Enabled = Estado -Screen. ActiveForm. Datos. DatIGen. Txt-?alle. Enabled = Estado - Screen.ActiveForm. Datos. Dat-Gen. Txt-Entre. Enabled = Estado - Screen. ActiveForm. Datos. Dat-Gen. Txt-Colon. Enabled = Estado - Screen.ActiveForm. Datos. Dat - Gen. Txt - RazSoc. Enabled = Estado
- Screen. ActiveForm. Datos. Dat-Gen. Txt Respon. Enabled = Estado - Screen. ActiveForrn. Datos. Dat Gen. TxtEspes. Enabled = Estado - Screen.ActiveForm. Datos. DaCGen. Txt-RFC. Enabled = Estado - Screen. ActiveForm. Datos. Dat-Gen. Op fStatus. Enabled = Estado - Screen. ActiveForm. Datos. Dat Gen. Txt Tell. Enabled = Estado - Screen.ActiveForm. Datos. DatGen. Txt-Lada. Enabled = Estado - Screen. ActiveForm. Datos. DatGen. - TxtCodPos. - Enabled = Estado
- iScreen.ActiveForm. Dutos. Dat Com. Txt ResCiv. Enabled = Estado - Screen.ActiveForm. Datos. DatCom. Chk Conven. Enabled = Estado Screen.ActiveForm. Datos. D a c o m . Txt - FirPor. Enabled = Estado .AND.
Proveed. MV Conv - Screen.Ac7iveForm. Datos. Dat-Corn. Txt-Tel2. Enabled = Estado - Screen. ActiveForm. Datos. Dat-Corn. Txt Te13. Enabled = Estado - Screen. ActiveForrn. Datos. Dat-Com. TxtITel4. Enabled = Estado - Screen.ActiveForm. Datos. Dat-Corn. Txt-Tel.5. Enabled = Estado - Screen. ActiveForrn. Datos. Dat Corn. Txt Tel6. Enabled = Estado - Screen.ActiveForm. Datos. DatCom. TxtCelu. Enabled = Estado - Screen. ActiveForm. Datos. DatCorn. T~FFUX. Enabled = Estado - Screen. ActiveForm. Datos. DatCorn. TxCRadio. Enabled = Estado - Screen. ActiveForrn. Datos. DatCorn. Txt ClvRad. Enabled = Estado - Screen. ActiveForm. Datos. DatCom. Op f Nivel. Enabled = Estado - Screen.ActiveForm. Datos. DatCom. Opt Uso. Enabled = Estado Screen. ActiveForm. Datos. DatCom. - Mem - Observ. Enabled = Estado
EEDPROC
PROGRAMA PRINCIPAL.
SisAsis Set Procedure To c:\infoware\UtilFra.PRG Set Sufity OJf Set Century On Set Delete on Set Date To British *set path to \ WULIO\SisAsis\Datos *set default to \ VULIO\SisAsis\Datos set path to \SisAsis\Datos set default to \SisAsis\Datos
Set SysMenu OFF Set Exclusive off
- Screen. caption = "Sistema de Administración y Control de Servicios Integra Asistencia Ver. 1.0" - Screen. Windowstate = 2 - Screen.lcon = '%dromOl. ico I'
- Screen. Closable = . F.
.- SCREEN. PICTURE = '\SISASIS\INTEGRA3. BMP'
Public Pai - Act, Cont - Act, Auto-Act, ColAct, Usu - Act, SeRe - Act, Con-Act Pais Act = .F. Con; Act = . F. TiAsAct = . F. Auto-Act = . F. Col Act = .F. Usu- Act = . F. SeRe Act = .F.
SCREEN. ICON = '\SISASIS\LOGO. BMP'
Con - Act = .F.
Public Exp Act, Pro - Act, LiEx-Act, LiPrAct Exp-Act = TF, Prov Act = .F. LiExAct = .F. LiPrÁct = . F. P U B z K cClvOpe, cNom Ope, nNivOpe PUBLIC A R M Y aAlarma(1) Do Form Dlg - Clv Read Event
VARIOS.
*-- -- --- - - --- - - - - -____- ____-___ - -____-___ - -- ----------------- * FUNCION Fsrtzeroo a la izquierda * * *
FUNCTIONJSrZero(n Valor, nSpace)
//Regresa una cadena de caracteres con ceros
para llenar la logitud predeterminada parameters n Valor : numero a convertir a caracter
nSpace : longitud a regresar *****
LOCAL cText, i cTexí = ALLTRIM(STR(nVa1or))
IF LEN(cTex0 nSpace FOR i = LEN(cText) TO nSpace-1
cText = "0"ScText NEXT
ENDIF
RETURN cText ENDFUNC
*-- - - _- -- --- - _--- -- _-- ------- ______-___ __-______---____-_-___ * FUNCION Salta() izquierda * *
FUNCTION Salta(n Valor) LOCAL nValRet, cNomDlg
//Regresa una cadena de caracteres con ceros a la
para llenar la logitud predeterminada parameters nValor : nuevo valor de la opcion correspondiente
*****
nValRet = 2
IF TYPE(" SCREENActiveForm'í) = "O" DO CASE CASE nValor = I
ENDCASE nValRet = IIF(UPPER( - SCREEN.ActiveForm.Name) = "DLG - CATAGE': 1 , 2)
ENDIF
RETURN nValRet
*--- - - --- - ----- ---- -------_--- REFRES~AR------_--------------------------------- PROCEDURE ReExLl - Screen. ActiveForm. Datos. DatLla. Txt-PaiLla. Refresh - Screen. ActiveForm. Datos. DatLla. Txt-EdoLla. Refresh - Screen.ActiveForm. Datos. Dat Lla. Txt CiuLla. Refresh
Screen.ActiveForm. Datos. DutLlu. - Txt-MunLla. - Refresh EÑDPROC
PROCEDURE ReExAs - Screen.ActiveForm. Datos. Dat Asis. Txt PaiAsi. Refresh - Screen. ActiveForm. Datos. Dat-Asis. Txt-EdoAsi. Refresh - Screen.ActiveForm. Datos. DatAsis. TxtCiuAsi. Refresh
Screen. ActiveForm. Datos. Dat-Asis. - TxCMunAsi. - Refresh EÑDPROC
PROCEDURE ReExCl - Screen.ActiveForm. Datos. Dat Client. Txt PaiCli. Refresh - Screen. ActiveForm. Datos. Dat-Client. TxCEdoCli. Refresh - Screen.ActiveForm. Datos. DatClient. Txt CiuCli. Refresh - Screen. ActiveForm. Datos. DatClient. TxtMunCli. Refresh - Screen. ActiveForm. Datos. DatClient. TxtConCli. Refresh
Screen. ActiveForm. Datos. DatClient. - Txt-ExpCli. - Refresh EÑDPROC
PROCEDURE ReExCa - Screen. ActiveForm. Datos. Dat Caso. Txt SerCA. Refresh - Screen. ActiveForm. Datos. Dat-Caso. - TxcAutCA. - Refresh
- Screen. ActiveForm. Datos. Dat-Caso. TxtAutCL. Refresh Screen.ActiveForm. Datos. Dat-Caso. Txt-SerCH. Refresh
EÑDPROC *-- -- -_ ---- - - ----- - --- --- ---- --- ............................. * FUNCION CafeAc() * alarmas * * nAccion : I Se elimina * O Se reacomoda *
FUNCTION CaFeAc(dValor, nAccion)
// Reordena las salidas de las
parameters dValor : El dato a reordenar o eliminar
2 Para ingresar una nueva alarma *****
LOCAL nLonArr, nNewTim, cFolio, cUsuAct, dFeHrAc, dFeHrAp LOCAL IPenAla, mkfensaj, nlonsec, nIntSeg, n Val, chase
nIntSeg = 600 cBase =ALIAS()
SELECT "PENYALA " SET ORDER TO "APLICA"
SEEK dValor
IF FOUND() IF nAccion = O
cFolio = MAFOLIO cUsuAct = M-USUACT dFeHrAc = MA FEHRAC dFeHrAp = MAIFEHRAP IPenAla = M PEDALA mMensaj = MZ-MENSAJ nConsec = MA-CONSEC
DELETE RECORD RECNO()
APPEND BLANK REPLACE MA FOLIO WITH cFolio REPLACE MA-USUACT WITH cUsuAct REPLACE MA-FEHRAC WITH dFeHrAc REPLACE MIFEHRAP WITH dFeHrAp + nIntSeg REPLACE MA PEDALA WITH IPenAla REPLACE MA-MENSAJ WITH mMensaj REPLACE MA-CONSEC - WITH nConsec
ENDIF
WAIT WINDO WS 'IN0 se encontro FechdHr. ' I
ELSE
ENDIF
nLonArr = ALEN(uA1arma)
DO CASE CASE nAccion = O
=ADEL(uAlarmu, 1)
I F nLonArr > I
ENDIF DIMENSION uAlarma(nL0nArr- I)
nNewTim = dVulor + nIntSeg
FOR I = I TO nLonArr-1
IF uAlarma(i) = nNewTim DIMENSION uAlurmu(nLonArr) =AINS(uAlurma, i ) uAlurma(i) = nNewTim EXIT
ENDIF
NEXT
IF i > = nLonArr DIMENSION uAlurmu(nLonArr) uAlurmu(nLonArr) = nNew Tim
ENDIF
CASE nAccion = I .OR. nAccion = 4 n Vu1 = /IF( nAccion = I , ASCAN(aAlarmu, dVulor), 1)
IF nVal != O =ADEL(uAlarma, nVal)
IFnLonArr = 1
ELSE
ENDIF
aAlurma(1) = " "
DIMENSION aAlarmu(nL0nArr- I)
ENDIF
CASE nAccion = 2
IF !empíy(áAlurma(l)) WAIT WINDOWS "uAlurma(1) NO ESTA VACIO"
DIMENSION aAlarma(nLonArr+ 1)
FOR i = 1 TO nLonArr IF aAlarma(i) = dValor
WAIT WINDOWS 9: ="+STR(I) =AINS(aAlarma, i) aAlarma(i) = dValor
I F i = l WAIT WIND0 WS "VOY A CAMBIAR EL TIEMPO I
nFer = (dValor - DATETIME()) "1000 dlg alarma. Tiempo. interval = 1 O0 dlg-alarma. TXT MSG. CAPTION = "NO SE PUEDE" WATT WIND0 W? STR(nFer) dlg alarma. REFRESH dlg-alarma. - SETFOCUS
ENDIF
EXIT ENDIF
NEXT
IF i > = (nLonArr+l)
ENDIF
aAlarma(1) = dValor DO FORM DLG-ALARMA
aAlarma(nLonArri-1) = dValor
ELSE
ENDIF
ENDCASE
SELECT 99 USE
SELECT &Base RETURN
CONECTIVIDAD DE BASE DE DATOS EN RED.
En esta sección se presenta como el sistema es capaz ~i llevar a cabo el registro de la petición de servicios que hace un asegurado que sufre un percance, así como el operador del sistema atiende dicho caso con apoyo de la administración computalizada.
ASESOR DE PROYECTO. ING. JOEL JIMENEZ CRUZ.
EQUIPO. GUTIERREZ JIMENEZ FELIPE. JUAREZ CID JULIO CESAR. VAZQUEZ CERON MARIA DE LOURDES. ZARATE CASTILLEJOS GASPAR.
El sistema de administración y control de asistencia tiene como función optimizar el servicio ofrecido por la aseguradora para sus clientes.
A continuación se hace una descripción de cómo se tiene planeada la utilización del sistema en casos reales.
La aseguradora cuenta con diversos contratos a los cuales se les han designado un junto de servicios. Todos los asegurados firma y pagan por un o unos contratos que deseen obtener de los ofrecidos por la aseguradora, a cambio del goce de los servicios involucrados.
Inicialmente la aseguradora establece un contrato con múltiples proveedores (personas o compañías que ofrecen servicios como grúa, mecánico, plomero, médico, entre muchos otros) en diversas partes de la república y en algunas partes fueras del país también.
Establecimiento de contrato de servicios
Ofrecen servicio Aseguradora Pide servicio para sus ciieiit
Ofrecen servicio
Establecimiento de contrato de servicios
Inicio de contrato Aseguradora t--+ Proveedor
El aceptar trabajar con un proveedor involucra establecer un contrato que define modo y cuotas de pago y garantía de atender a los asegurados.
Previamente se debe almacenar la información pertinente en catálogos, esto significa que debe hacer un estudio del área geográfica para el ingreso de los países, estados, ciudades y municipios, en los que se ofrecerá los servicios de seguro. De esta forma se puede definir la localización geográfica de cada uno de los proveedores.
1
El método de atención para asegurados se da que cuando un cliente sufre un percance ya sea en su automóvil, hogar, requiera de alguna información, de un abogado o sele presente un problema médico, entonces dicho asegurado pedirá los servicios que requiera mediante una llamada telefónica a la aseguradora.
descripción del problema y dando los datos
I Aseguradora I
El asegurado pide asistencia
Posteriormente la aseguradora llamará al proveedor más cercano al lugar del percance para enviarlo en ayuda del cliente. Así mismo también se le hace una explicación del problema que sufre el asegurado.
1 Aseguradora I I
- Explica la situacibn y manda que se valla en ayda del asegurado
en ayuda del asegurado
La aseguradora envía a un proveedor a solventar el problema del asegurado
El proveedor se va en auxilio del asegurado y le resuelve el problema y pide la firma del asegurado para comprobación de la realización del servicio, el cual presentará el proveedor a la compañía de seguros para el cobro de sus honorarios.
Posteriormente la compañía de seguros se pone en contacto con el asegurado para la comprobación del desempeño eficaz del proveedor. Para esto se lleva una bitacora de cada caso de cada proveedor para futuras selecciones.
2
En caso de que no se cuente con un proveedor para solucionar el problema el mismo asegurado busca quien le solucione su problema, a la persona o compañía que soluciona el problema se le llama contacto y se anexa al expediente, posteriormente el contacto se pone en contacto con la compañía de seguros para que le solventen el pago de sus honorarios, la compañía almacena todos los datos del contacto así como una bitácora del desempeño del mismo. Este contacto si da un buen servicio posteriormente puede pasar ha ser un proveedor de servicios para la compañía de seguros.
En caso de no encontrar proveedores, entonces se hace uso de un contacto
Solución del problema vía contacto (en caso de encontrar al proveedor adecuado)
Dentro de todo este esquema de atención a asegurados, los operadores del sistema juegan un papel muy importante ya que son los que toman la decisión del cómo es el procedimiento para la atención al cliente en problemas, toman la decisión a cual proveedor elegir, donde buscarlo, establecer cuotas con contactos y pedir y capturar adecuadamente toda la información necesaria para la realización del caso.
Así mismo los gerentes deben definir estratégicamente países, estados, ciudades y municipio para ingresarlos a los catálogos, definir rangos de acceso para los diversos usuarios autorizados, definición del tipo de cambio (establecimiento del valor del dólar con la moneda nacional).
El personal correspondiente a la contabilidad se encargará de la revisión de los multiples pagos solicitados por los operadores para los proveedores y asi como la solicitud de cheques en caso de que esto proceda.
3
Dentro de todo esto el área de sistema se encarga de la regeneración de índices así como la depuración de información cuando se considere necesaria y la realización de los respaldos, esto se da cuando la información no se ha ordenado adecuadamente, dando lugar a una reindxación en las áreas afectadas o una liberación de espacio de la base de datos quitando los registros marcados para eliminación, dando lugar a una mayor rapidez de proceso en el sistema.
4