Documente Academic
Documente Profesional
Documente Cultură
Estudiante
Mara Eulalia Gutirrez Tuapante
Tutor
Ing. Pablo Tamayo
Cuenca Ecuador
Diciembre 2011
CERTIFICADO DE AUTORA
CERTIFICADO DE RESPONSABILIDAD
Yo, Ing. Pablo Tamayo, certifico que la seora Mara Eulalia Gutirrez
Tuapante con C.I, N. 010495243-7 realiz la presente tesis con el ttulo
Desarrollo de un sistema para el control de entradas y salidas de un
producto mediante tecnologa mvil en empresas comerciales, y que es
autor intelectual del mismo, que es original, autntico y personal.
______________________________
Ing. Pablo Tamayo
CERTIFICA:
___________________________
Ing. Pablo Tamayo
DIRECTOR DE TESIS
___________________________
Mara Eulalia Gutirrez Tuapante
AGRADECIMIENTO
DEDICATORIA
TABLA DE CONTENIDO
Pg.
CAPITULO I
1.
INTRODUCCIN
1.2.1 Antecedentes
1.3.1 Causa
1.3.2 Efectos
1.4 Sistematizacin
1.4.1
Diagnostico
1.4.2
Pronostico.
1.4.3
1.5 Objetivos
1.5.1
Objetivo general
1.5.2
Objetivos especficos
1.6 Justificacin
1.6.1
Justificacin Terica
1.6.2
Justificacin Prctica
1.6.3
Justificacin Metodolgica
1.7.1
Factibilidad Tcnica
1.7.2
Factibilidad Operativa
1.7.3
Factibilidad Econmica
CAPITULO II
2.
MARCO DE REFERENCIA
10
10
10
2.1.2
10
Empresas Comerciales
2.1.3
10
2.1.4
11
2.1.5
Tecnologa Inalmbrica
12
13
2.1.6
Red Inalmbrica
13
2.1.7
13
2.1.8
Dispositivos mviles
14
14
2.1.8.2Pocket PC
17
2.1.8.3Handheld PC
18
2.1.8.4Tablet PC
18
2.1.8.5Smartphone
19
2.1.8.6Telfonos celulares
20
2.1.9
20
2.1.9.1Windows Mobile
20
2.1.9.2Symbian
21
2.1.9.3Palm OS
23
2.1.9.4Android
24
24
2.1.10.1 J2ME
24
25
29
31
32
32
2.1.13.2 Oracle
32
2.1.13.3 MySQL
33
2.1.13.4 PostgreSQL
34
35
CAPITULO III
3.
3.1.
METODOLOGA
Metodologa de Investigacin
36
36
10
3.1.1
Tipo de Investigacin
36
3.1.2
Mtodos
36
3.1.3
Tcnicas
37
3.2.
3.2.1
38
38
39
40
3.3.
42
Tecnologa
3.3.1
3.3.1.1
42
43
3.3.2
45
3.3.3
Software de Desarrollo
45
46
3.3.4
47
3.3.5
50
3.3.6
51
51
datos
53
CAPITULO IV
4.
DESARROLLO
54
54
54
55
4.3.1
Interfaces de usuario
55
4.3.2
Interfaces hardware
55
4.3.3
Interfaces software
56
56
4.4.1
56
Fase de Inicio
56
58
11
58
59
4.4.2
Fase de Elaboracin
62
62
63
4.4.2.1.1.1
63
4.4.2.1.1.2
64
4.4.2.1.1.3
65
4.4.2.1.1.4
66
4.4.2.1.1.5
67
4.4.2.1.1.6
68
69
81
4.4.2.2.1
81
4.4.2.2.2
82
4.4.2.2.3
83
4.4.2.2.4
84
85
4.4.2.3.1
85
4.4.2.3.2
85
4.4.2.3.3
86
86
4.4.2.4.1
86
4.4.2.4.2
Diccionario de clases
87
4.4.2.4.3
Diagrama de Clases
88
4.4.2.4.4
Diagrama de Secuencia
89
89
90
91
4.4.2.4.5
92
Diagrama de Estado
92
92
12
93
4.4.2.4.6
94
Diseo de Interfaces
94
94
95
95
96
96
97
97
98
4.4.2.4.6.10
98
4.4.2.4.6.11
99
4.4.2.5 Implementacin
99
4.4.2.5.1
Creacin de tablas
99
4.4.2.5.2
100
4.4.3
Fase de Construccin
102
102
103
103
CAPITULO IV
5.
CONCLUSIONES Y RECOMENDACIONES
106
5.1 Conclusiones
106
5.2 Recomendaciones
106
BIBLIOGRAFA
107
ANEXOS
108
13
11
16
17
18
19
19
Figura 10.
21
22
22
23
24
25
29
31
40
Figura 19.
Operativos Mviles
Figura 20.
43
Operativos Mviles
44
47
48
49
53
55
57
14
58
62
63
64
65
66
67
67
81
82
83
84
85
85
86
86
87
88
89
90
91
92
92
93
94
94
95
95
96
96
97
15
97
98
98
99
99
100
100
100
101
101
101
102
103
104
104
105
16
RESUMEN
17
SUMMARY
The present thesis theme is to resolve the trouble that the enterprise "Orellana"
has right now, as they dont have any software for the inventory control process
because when you do it by hand you can make a lot of mistakes and can miss
information.
Our proposal is a new effective choice for this problem, which solves effectively
all the problems that the enterprise has right now.
The solution to improve the control of the inventory of cellar, is development
software that makes this process trustful, using actual technology, like the
personal digital assistance (PDAs), that will access in real time and wireless to
the database of the application, registering immediately the required information
to maintain the inventory of cellar of the company correctly.
18
1. INTRODUCCIN
Hoy en da, la informtica en red se ha convertido en un factor importante en la
vida de una empresa la razn principal implica la cantidad de informacin que
actualmente se maneja, hace que el tratamiento automtico de la informacin
sea realmente til y necesario.
En la actualidad los sistemas de informacin estn basados en computadoras
que son objetos de gran consideracin en la toma de decisiones oportunas,
confiables y efectivas en cuanto a tcnicas de planificacin, programacin y
administracin con el fin de garantizar su xito, limitar el riesgo y reducir costos
y aumentar las ganancias.
Debido a esta razn, nace la idea de automatizar el control de entradas y
salidas de los productos de una empresa; cabe mencionar el vertiginoso
avance de las telecomunicaciones y el progreso que han experimentado las
ciencias informticas que permiten entrar al moderno mundo de la tecnologa, y
ser ms competitivos.
Mediante el anlisis de las tcnicas de investigacin nos identifica claramente
falencias que afectan el funcionamiento de la empresa, situacin que se ha
hecho evidente en la forma como se ejecuta el proceso de control de entrada y
salida de un artculo.
19
20
21
1.4 Sistematizacin
1.4.1 Diagnostico
Mediante la investigacin que se ha realizado dentro de la Distribuidora
Orellana se ha determinado el siguiente diagnstico.
Esta empresa viene trabajando hace 6 aos atrs, Su objetivo es la compra y
venta de productos terminados, actualmente maneja sus procesos de forma
manual, su visin es poder controlar sus procesos mediante un sistema
automatizado que le permita agilizar sus actividades.
En este momento la empresa maneja el proceso de entrada mediante una hoja
de Excel y en cuanto al proceso de salida lo realiza de forma manual, es decir
este control es registro en una hoja de papel, para luego realizar la descarga
del inventario. Esos controles actualmente no mantienen datos actuales y
conlleva a no tener una informacin oportuna.
1.4.2 Pronostico.
Una empresa al no utilizar un sistema informtico, que le ayude a controlar
la
22
que
tono y entrar
Con
han
este
23
1.6 Justificacin
1.5.1 Justificacin Terica
El software elegido a desarrollar previa la obtencin del ttulo de Ingeniera de
Sistemas se debe a los avances tecnolgicos y adems porque existen muchos
empresas comerciales que no cuentan con un sistema que les permita manejar
sus principales actividades de una manera eficaz y eficiente, dentro de nuestro
pas muchas organizaciones ya disponen de un software que controle sus
productos, siendo este una gran ayuda para el profesional de esta rama.
La realizacin de este software se lo realizara Microsoft Visual Studio 2008
herramientas de actualidad y con una base de datos SQL Server C.E, estas
herramientas facilitaran el mejor desarrollo de programas. Con el fin de
solucionar el control de productos de una empresa.
El desarrollo del sistema permite plasmar cada uno de los conocimientos
adquiridos en clases y de esta manera tambin adquirir nuevos conocimientos
a travs de la investigacin.
1.5.2 Justificacin Prctica
El presente tema de tesis tiene como objetivo el resolver la problemtica que
afronta actualmente la Distribuidora Orellana, el cual no dispone de ningn tipo
de automatizacin en los procesos de Control de Entrada y Salida de sus
productos, ya que al realizarlo de forma manual est propenso a que se
cometan muchos errores y prdidas de informacin.
24
25
26
Hardware
Cantidad
Descripcin
Costo
Pocket PC
350
350$
Costo
Costo
350
Software
Gastos de operacin (Gastos de
200
papelera, impresin de
documentos, energa electica, otros
gastos)
Costo total de implementacin
550$
27
2. MARCO DE REFERENCIA
2.1 Marco Conceptual
2.1.1 Definicin de Empresa
La empresa es la organizacin econmico-social en la que el capital, el trabajo
y la direccin planifican y coordinan para realizar una produccin socialmente
til, de acuerdo con las exigencias de la sociedad que nos rodea.
El objetivo de una empresa es de satisfacer las necesidades del mercado
mediante la utilizacin de recursos materiales y humanos. Se encarga, por
tanto, de la organizacin de los factores de produccin, capital y trabajo.
2.1.2 Empresas Comerciales
Estas empresas son aquellos intermediarios entre el productor y el consumidor,
su funcin principal es la compra y venta de productos terminados y sus
canales de distribucin son los mercados mayoristas, minoristas o detallistas y
los comisionistas.
2.1.3 Definicin de Sistema Informtico
Un sistema informtico, es el conjunto de elementos interconectados para el
procedimiento de la informacin, en el cual se incluyen elementos fsicos
hardware y elementos lgicos como el software. Dentro del hardware estn los
procesadores, memoria, sistemas de almacenamiento externo, etc. Y dentro
del software incluye al sistema operativo, firmware, aplicaciones, y los sistemas
de gestin de bases de datos.
28
29
30
31
Pocket PC: es un ordenador de bolsillo, tambin llamado PDA (Personal Digital Assistant)
32
PalmOS de Sony.
33
34
2.1.8.2 Pocket PC
Una Pocket PC es un dispositivo que brinda al usuario las funciones ms
comunes de un computador, diseado para ocupar el mnimo espacio y ser
fcilmente transportable que ejecuta el sistema operativo Windows CE de
Microsoft entre otros, el cual le proporciona capacidades similares a los PC de
escritorio. Entre sus principales funciones son:
Organizador de tareas, permite organizar y recordar tareas pendientes
Bloc de notas, se puede almacenar cualquier tipo de nota.
Hoja de clculo y editor de texto, da la facilidad de realizar cualquier tipo
de informe desde este dispositivo.
Permite reproducir archivos de audio y video
Acceso a Internet, se puede almacenar correo electrnico y correr
aplicaciones mviles desde este dispositivo.
Este no posee teclado, en su lugar posee un lpiz digital llamado stylus. De
igual manera que el PDA este tiene acceso mediante las redes de telefona
celular a Internet y a las aplicaciones mviles.
35
2.1.8.3 Handheld PC
Sus caractersticas son similares que un PDA y un Pocket PC, su diferencia
est en sus caractersticas fsicas ya que estos poseen una pantalla ms
grande y tienen incorporado un teclado. Estos dispositivos son ideales al
momento de redactar cualquier tipo de informes gracias a su teclado y su
software de edicin de texto y hoja de clculo. A diferencia de los dispositivos
anteriores este posee un mdem el cual permite el acceso a Internet mediante
la lnea telefnica convencional.
36
Wi-Fi, por
802.11: es un estndar internacional que define las caractersticas de una red de rea local inalmbrica
37
38
Windows Mobile, permite una fcil conexin a una gran variedad de redes
inalmbricas, detecta automticamente las redes Wi-Fi y se conecta de forma
sencilla a ellas y a las redes de rea personal a travs de Bluetooth.
Los lenguajes de programacin que se pueden utilizar mediante Visual Studio
para desarrollar una aplicacin son; C#, C++, J#, JScript o ASP .Net.
39
40
para
la
administracin
de
informacin
personal
(calendario,
41
2.1.9.4 Android
Android es el sistema operativo de Google, y est basado en el ncleo Linux,
diseado originalmente para dispositivos mviles, tales como telfonos
inteligentes, pero que posteriormente se expandi su desarrollo para soportar
otros dispositivos tales como tablet, reproductores MP3, netbook, PC, entre
otros. Es a cdigo abierto y existen de aplicaciones gratis.
42
GPRs (General Packet Radio Service) oservicio general de paquetes va radio es una extensin del
Sistema Global para Comunicaciones Mviles.
43
Los servicios Web XML son un conjunto de aplicaciones o de tecnologas con capacidad para
interoperar en la Web.
44
45
46
47
48
ActiveSync es la aplicacin que nos permitir conectar nuestro Pocket PC con la computadora de
escritorio para intercambiar informacin entre ambos dispositivos.
49
50
51
52
53
3. METODOLOGA
3.1. Metodologa de Investigacin
3.1.1 Tipo de Investigacin
El tipo de investigacin que se empleara en este proyecto es aplicada, debido a
que se utilizara conocimientos existentes para aplicarlos a la solucin de un
problema o necesidad en un corto tiempo.
Conjuntamente se empleara una investigacin descriptiva, ya que ste describe
las situaciones y eventos, es decir cmo se manifiesta el fenmeno a
investigar. Esta investigacin es importante para el proyecto puesto que nos
ayudar a tener en cuenta cuales son las necesidades ms prioritarias para la
mejora del sistema actual.
3.1.2 Mtodos
Se utilizar el Mtodo Inductivo, debido a que partiremos de la investigacin de
las actividades desarrolladas dentro de la Empresa, para luego partir de la
informacin obtenida, se puedan organizar los datos en forma de procesos
establecidos.
Mediante este mtodo se lograra la recoleccin de informacin de manera
independiente de varias fuentes, para luego realizar un estudio e investigacin
exhaustiva de los puntos que estn relacionados
54
3.1.3 Tcnicas
La tcnica que se implementara es la entrevista, con la cual se recaudar
informacin precisa de las actividades o procesos de que realizan en cuanto al
manejo de datos y las actividades que se desarrollan dentro de la empresa.
Con el fin de conocer ms a fondo el funcionamiento del control de entrada y
salida del producto de bodega de la empresa.
Preguntas de la entrevista
1. Cmo se manejan los procedimientos de control de entrada y salida del
producto de la empresa?
2. El tiempo de respuesta acerca de los productos del inventario de bodega
es rpida y eficaz
3. La venta de sus productos lo hace mediante vendedores?
4. Utiliza algn Sistema en red para el ingreso y salida de sus productos?
5. Conoce usted acerca de los Sistemas de control de entrada y salida de
productos con tecnologa mvil?
6. Usted se interesara en adquirir un sistema utilizando la tecnologa
mvil?
Conclusiones de la entrevista:
Durante la entrevista se pudo recabar la informacin necesaria, con respecto al
volumen de actividad que se presenta dentro de la empresa es muy buena, el
manejo de los registro se lleva mediante hojas de Excel, los datos que son
manipulados es el cdigo del producto, el nombre del producto, cantidad en
55
56
57
58
59
60
3.3.1.1
Tipo de ncleo
Android
BlackBerry
S60
Cupcake
OS 4.7
Edition
WebOS
Mobile 6.5
Linux
Propietario
Symbian
Linux
Windows CE
Nada
BlackBerry
Exchange,
Exchange
Exchange,
Tecnologas
inalmbricas
GSM, WiFi
GSM,
CDMA, WiFi
5th Palm
Windows
Domino,
Domino,
BlackBerry
BlackBerry
GSM, WiFi
GSM,
GSM, CDMA,
Figura 19. Comparacion de los detalles basicos entre los Sistemas Operativos Mviles
61
Notificacin
Android
BlackBerry OS
S60 5th
Cupcake
4.7
Edition
Bandeja
Pop-up, fondo
Pop-up
Palm WebOS
Windows
Mobile 6.5
Bandeja
Bandeja, popup
Administracin de
BES, BIS
contactos
Exchange,
Synergy
Exchange,
Domino,
Domino,
BlackBerry,
BlackBerry,
iSync
ActiveSync
Multitasking
Copiar / pegar
Ecosistema / Soporte
Amazon
iTunes sin
Ovi
Amazon
Windows Media
multimedia
DRM
Player
Bsqueda global
No
No
No
Actualizacin de firmware
OTA
Tethered, OTA
Tethered, OTA
Desconocido
Tethered, OTA
WebKit
Propietario
WebKit
WebKit
Internet
Explorer
Tethering (mdem)
S (no oficial)
Bluetooth estreo
62
63
64
Existe una gran ventaja al trabajar con la plataforma .NET ya que se puede
acceder a toda la gama de equipos mviles en el mercado, ya sea con
aplicaciones online o aplicaciones ejecutables.
65
66
67
68
69
70
Soporte de transacciones
Si
Si
Si
Si
Escalabilidad, estabilidad
Si
Si
No
No
Si
No
Si
No
Si
No
Si
No
SI
No
No
No
SI
No
SI
No
No
SI
No
No
SI
No
No
No
y seguridad.
Soporta procedimientos
almacenados.
Permite realizar Vistas,
Triggers
Posee un entorno grfico
de administracin, que
permite el uso de
comandos DDL y DML
grficamente.
Permite trabajar en modo
cliente-servidor
Su soporte
multiplataforma
Posee un entorno grfico
de administracin, que
permite el uso de
comandos DDL y DML
grficamente.
Figura 24. Matriz comparativa de gestores de base de datos
71
4. DESARROLLO
El sistema de Control de Entradas y Salidas, responde a la necesidad que
tienen, las empresas comerciales de crear un sistema que automatice el control
de inventario de bodega, brindando de esta manera un servicio de calidad e
innovador. Este sistema ha sido diseado pensando en el usuario, ya que su
acceso y navegacin ser de fcil comprensin y manejo, el sistema
presentara mensajes de error y de ayuda entendibles cuando fuese necesario,
para resolver problemas.
4.1 Perspectiva del sistema
La idea fundamental de este sistema es proveer facilidades a los encargados
de inventarios de bodega de la empresa, automatizando los procesos de
entrada y salida de los producto, para tener una reduccin de tiempo
considerable comparada con la forma manual de llevar inventarios. Nuestro
futuro sistema interactuar con una base de datos que almacenar a todas las
sucursales o almacenes para realizar los respectivos traspasos de productos,
con este proceso se dar de baja a los productos del inventario.
4.2 Restricciones del sistema de entrada y salida
El sistema de entrada y salida de productos tendr las siguientes restricciones:
No poder operar en un sistema abierto a cualquier plataforma, como por
ejemplo en Linux, ya que fue especialmente ideado para que funcione
en Windows.
72
Mouse y Teclado.
Ingresos de datos
Salida de datos
Monitor
73
Herramientas de desarrollo
Para Documentar
Microsoft Word.
74
rpida y eficiente no surge de recin, sino desde que existen las empresas que
manejan grandes cantidades de informacin y el servicio al cliente es parte
esencial de la empresa, es por ello que se plantea el desarrollo de un sistema
de control de entradas y salidas de productos utilizando tecnologa PDA.
Con esto nos ayudara a tener una informacin rpida, segura y que ayude a la
gerencia en la toma de decisiones para lograr ser ms productivos.
75
CASO DE USO
Mantenimiento de Usuarios
Administrador
Mantenimiento de Productos
Mantenimiento de Bodegas
Mantenimiento de Proveedores
Bodeguero
76
IRQ N 1
Mantenimiento de Usuarios
Actor
Administrador
Descripcin
Datos Especficos
Importancia
Alta
Comentario
IRQ N 2
Mantenimiento de Productos
Actor
Administrador
Descripcin
Datos Especficos
Cdigo
Nombre del producto
Stock
Importancia
Alta
Comentario
77
IRQ N 3
Mantenimiento de Bodegas
Actor
Administrador
Descripcin
Datos Especficos
Cdigo
Nombre del bodega
Importancia
Alta
Comentario
IRQ N 4
Mantenimiento de Proveedores
Actor
Administrador
Descripcin
Datos Especficos
Importancia
Alta
Comentario
78
IRQ N 5
Actor
Bodeguero
Descripcin
Datos Especficos
Fecha
Usuario
Bodega
Proveedor
Producto
Importancia
Alta
Comentario
IRQ N 5
Actor
Bodeguero
Descripcin
Datos Especficos
Fecha
Usuario
Bodega
Observacin
Producto
Importancia
Alta
Comentario
79
Identificador y nombre
Actores
Administrador y Bodeguero
Diagrama
detallado
80
Caso de uso # 1
Identificador y nombre
Actores
Control de Usuarios
Administrador
Diagrama
Control de Usuarios
detallado
Registra Nuevo
Usuario
Modifica Usuario
Elimina Usuario
Administrador
81
4.4.2.1.1.2
Caso de uso # 2
Identificador y nombre
Actores
Control de Bodegas
Administrador
Diagrama
Control de Bodegas
detallado
Registra Nueva
Bodega
Modifica Bodega
Elimina Bodega
Administrador
82
4.4.2.1.1.3
Caso de uso # 3
Identificador y nombre
Actores
Control de Productos
Administrador
Diagrama
Control de Productos
detallado
Registra Nueva
Producto
Modifica Producto
Elimina Producto
Administrador
83
4.4.2.1.1.4
Caso de uso # 4
Identificador y nombre
Actores
Control de Proveedor
Administrador
Diagrama
detallado
84
4.4.2.1.1.5
Caso de uso # 5
Identificador y nombre
Actores
Bodeguero
Diagrama
detallado
Ingresa al menu
Ingreso de Productos
Selecciona el
proveedor
Selecciona el
producto
Bodeguero
Selecciona la
cantidad
extends
Actualiza el Stock
Consultar
85
4.4.2.1.1.6
Caso de uso # 6
Identificador y nombre
Actores
Bodeguero
Diagrama
detallado
86
Iniciar sesin
Objetivo
Precondicin
Sistema
1. Inicia cuando el
2. El sistema despliega
usuario pide
funcionalidad para
iniciar sesin.
3. El usuario, ingresa el
usuario y la contrasea.
datos
5. El sistema consulta la
existencia del usuario en
la base de datos
6. El sistema despliega la
interfaz grfica para dicho
usuario.
87
Caso de uso # 1
Nombre
Objetivo
Actor
Administrador
Precondicin
Sistema
1. El usuario a
2. El sistema valida si el
ingresado como
administrador al sistema
nivel de accesibilidad de
administrador
3. El usuario pide
4. El sistema despliega la
funcionalidad a registrar
nuevo usuario
usuario
88
Caso de uso # 1
Nombre
Modificar usuario
Objetivo
Actor
Administrador
Precondicin
Sistema
1. El usuario a
2. El sistema valida si el
ingresado como
administrador al sistema
nivel de accesibilidad de
administrador
3. El usuario selecciona
4. El sistema despliega
Modificar Usuario
5. El usuario selecciona
datos entrantes.
89
Caso de uso # 1
Nombre
Eliminar usuario
Objetivo
Actores
Precondicin
Administrador
Conexin a la base de datos satisfactoria
Haber iniciado sesin un Administrador
Usuario
Sistema
1. El usuario a
2. El sistema valida si el
ingresado como
administrador al sistema
nivel de accesibilidad de
administrador
3. El usuario selecciona
4. El sistema despliega
Eliminar Usuario
5. El usuario selecciona
el usuario a eliminar
entrante.
7. El sistema actualiza la
base de datos
90
Objetivo
Actor
Administrador
Precondicin
Sistema
1. El usuario a
2. El sistema valida si el
ingresado como
administrador al sistema
nivel de accesibilidad de
administrador
3. El usuario pide
4. El sistema despliega la
funcionalidad a crear
nueva bodega
campos de la nueva
usuario
91
Caso de uso # 2
Nombre
Modificar Bodega
Objetivo
Actor
Administrador
Precondicin
Sistema
1. El usuario a
2. El sistema valida si el
ingresado como
administrador al sistema
nivel de accesibilidad de
administrador
3. El usuario selecciona
4. El sistema despliega
Modificar Bodega
5. El usuario selecciona
los campos de la
datos entrantes.
92
Objetivo
Actor
Precondicin
Administrador
Conexin a la base de datos satisfactoria
Haber iniciado sesin un Administrador
Usuario
Sistema
1. El usuario a
2. El sistema valida si el
ingresado como
administrador al sistema
nivel de accesibilidad de
administrador
3. El usuario pide
4. El sistema despliega la
funcionalidad a crear
nueva producto
registrar un nueva
producto
usuario
93
Caso de uso # 3
Nombre
Modificar producto
Objetivo
Actor
Administrador
Precondicin
Sistema
1. El usuario a
2. El sistema valida si el
ingresado como
administrador al sistema
nivel de accesibilidad de
administrador
3. El usuario selecciona
4. El sistema despliega
Modificar producto
5. El usuario selecciona
datos entrantes.
94
Caso de uso # 3
Nombre
Eliminar producto
Objetivo
Actores
Precondicin
Administrador
Conexin a la base de datos satisfactoria
Haber iniciado sesin un Administrador
Usuario
Sistema
1. El usuario a
2. El sistema valida si el
ingresado como
administrador al sistema
nivel de accesibilidad de
administrador
3. El usuario selecciona
4. El sistema despliega
Eliminar producto
5. El usuario selecciona
el producto a eliminar
entrante.
7. El sistema actualiza la
base de datos
95
96
97
Objetivo
Actores
Bodeguero
Precondicin
Usuario
Sistema
2. El sistema despliega
se han realizado en el
da
mediante la fecha de
ingreso o egreso del
producto.
3. El usuario ingresa la
4. El sistema consulta en
existencia de dichos
productos
3. El sistema despliega
una interfaz grfica
mostrando la lista de
productos actualizada.
98
Usuario
Usuario no existe
Si
Conectar a la Base de Datos del Sistema
Acceso al Sistema
99
No
Retorna
Si
Ingresa Datos
Si
100
No
Retorna
Si
Ingresa Datos
Si
101
Consulta de movimientos
Valida la fecha
Realiza la consulta en la BD
Muestra Informacin
102
1. Ingresar al sistema
Interfaz
Usuario
Sistema
5. Inicio de Secion
4. Verificacin
Usuario del Sistema
3. Conexin
Base de Datos
1. Ingresar al sistema
2. Ingreso de Datos
Interfaz
Bodeguero
4. Guarda
3. Conexin
Base de Datos
103
1. Ingresar al sistema
2. Ingreso de Datos
Interfaz
Bodeguero
3. Conexin
Base de Datos
104
CLASE
DESCRIPCIN
Bodega
Usuaridat
Rol
Proveedor
Producto
MovimientoC
Consulta Filtrada
105
MovimientoC
Bodega
-codigo
-descripcion
+Eliminar()
+Insertar()
+LlenarBodega()
+Modificar()
+ObtieneBodega()
-Bodcod
-Fecha
-Observacion
-Tipo
-UsuCod
+Insertar()
+LlenarMoviC()
+ObtieneMovxNum()
+ObtieneUltimo()
Consulta Filtrada
Usuario
-clave
-codigo
-descripcion
-rol
+Eliminar()
+Insertar()
+LlenarUsuario()
+Modificar()
+ObtieneUsuario()
+ConsultaDetalle()
+ConsultaKardex()
+ConsultaxFechas()
Proveedor
-codigo
-direccion
-nombre
-ruc
-telefono
+Eliminar()
+Insertar()
+LlenarProveedor()
+Modificar()
+ObtieneProveedor()
Producto
-descripcion
-stock
+ActualizaStock()
+Eliminar()
+Insertar()
+LlenarProducto()
+Modificar()
+ObtieneProducto()
Rol
-codigo
-descripcin
+Eliminar()
+Insertar()
+LlenarRol()
+Modificar()
+ObtieneRol()
106
Conexion BD
1. Ingresar Usuario
2. Solicita contrasea
3. Ingresa Contrasea
4. Set_Usuario
5. Set_contrasea
6. Comparar contrasea
7. Inicia Secin
8. Muestra Inicio de Secin
107
108
4.4.2.4.4.2
Interface Usuario
Menu Principal
Movimiento Entrada
Bodeguero
1. Inicia secion
2. Ingresa Usuario y Contrasea
12. Aceptar
13. Salir
109
4.4.2.4.4.3
Interface Usuario
Menu Principal
Movimiento Salida
Bodeguero
1. Inicia secion
2. Ingresa Usuario y Contrasea
3. Validacin de los datos
12. Aceptar
13. Salir
110
Volver a entrar
Comparar contrasea
(contrasea incorrecta)
En reposo
Se introduce la
contrasea
Comparando
Comparar contrasea
(contrasea correcta)
Activacin
correcta
Seleccionando
4.4.2.4.5.2
Ingreso de nuevos
producto a bodega
Bodeguero
Verifica
Modulo Productos
Actualiza el stock
Sistema
Fin
111
4.4.2.4.5.3
Bodeguero
Recibe
Solicitud de salida
Inventario
Descarga de Productos
Sistema
Actualiza el stock
Fin
112
4.4.2.4.6.2
113
4.4.2.4.6.3
Mantenimiento de Proveedores
4.4.2.4.6.4
Mantenimiento de Bodega
114
4.4.2.4.6.5
Mantenimiento de Usuarios
4.4.2.4.6.6
Mantenimiento de Productos
115
4.4.2.4.6.7
4.4.2.4.6.8
Entrada de Mercadera
116
4.4.2.4.6.9
Salida de Mercadera
117
Creacin de tablas
Tabla Bodega
118
Tabla Productos
119
120
4.4.2.5.2
121
Entrada de productos
Accin
Resultado
xito
si
Se despliega correctamente
si
si
como bodeguero
2
Seleccionar entrada de
productos
accin.
4
5
Carga de productos
Grabar el movimiento
si
Se ejecuta correctamente y
si
122
Caso de Prueba
Salida de productos
Accin
Resultado
xito
si
Se despliega correctamente
si
si
como bodeguero
2
accin.
4
5
Carga de productos
Grabar el movimiento
si
Se ejecut correctamente y
si
Caso de Prueba
Accin
Resultado
xito
Seleccionar la opcin
Se despliega correctamente
si
si
de movimiento
correctamente.
Seleccionar la opcin
Consulta de movimientos
si
Consultar
4
5
Ver detalle
Selecciona Salir
si
si
bodeguero.
Figura 73. Caso de Prueba Consulta de los movimientos
123
Caso de Prueba
Accin
Resultado
xito
Se despliega correctamente
si
Selecciona la fecha y el
si
correctamente.
Seleccionar la opcin
Consultar
Selecciona Salir
de los productos
3
5
bodeguero.
Figura 74. Caso de Prueba Kardex de los productos
si
si
124
5. CONCLUSIONES Y RECOMENDACIONES
5.1 Conclusiones
La utilizacin de un sistema automatizado mediante un dispositivo mvil
brindar soluciones efectivas al proceso de entrada y traslado de
productos, logrando as dar un servicio eficiente y de calidad a sus
clientes.
Acortar el tiempo de bsqueda, acceso y abastecimiento de productos
requeridos en almacn.
Informacin precisa y confiable
Con la utilizacin de la tecnologa mvil se logra optimizar el tiempo en
el proceso de gestin de entrada y traslado, as como tambin la
reduccin en cuanto a gastos de tiles de oficina como la utilizacin de
papel.
La portabilidad de un dispositivo mvil hace que los usuarios puedan
manejarlos en todo momento y lugar ya que este dispositivo tiene casi el
mismo tamao que un telfono celular.
5.2 Recomendaciones
Se recomienda fomentar la utilizacin de la tecnologa de dispositivos
mviles en un mayor porcentaje, dentro del sector industrial y
comercial de nuestra ciudad as como tambin a nivel nacional.
Se recomienda capacitar a los usuarios en cuanto a las aplicaciones
en tecnologa mvil.
125
BIBLIOGRAFA
http://es.wikipedia.org/wiki/Comunicaci%C3%B3n_inal%C3%A1mbric
a
[2]
Wikipedia
(sf)
consultado
el
02.sep.2011
Copiado
de:
http://es.wikipedia.org/wiki/Proceso_Unificado_de_Rational
-
[3]
Wikipedia
(sf)
consultado
el
02.sep.2011
Copiado
de:
http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado
-
http://es.wikipedia.org/wiki/Microsoft_SQL_Server
126
ANEXOS
MANUAL DE USUARIO
INTRODUCCIN
El manual del sistema de entrada y salida, permite visualizar de manera
perceptible su entorno grfico y su operatividad, ya que en l se explica
detalladamente los pasos que deben seguir para el manejo general de las
estructuras de las pantallas, as como las funciones de los iconos bsicos.
Por consiguiente, el usuario obtendr informacin valiosa para el manejo de las
herramientas que le permitirn aprovechar las bondades que le ofrece el
Sistema.
Entre las bondades que ofrece el Sistema, se pueden citar las siguientes:
Es amigable y de fcil manejo, ya que queda a conveniencia del usuario
utilizar desde el emulador o mediante un dispositivo mvil.
Facilita la gestin de manejo y control de procesos del inventario, a
travs de los procesos de entrada y salida.
Contiene mensajes en caso que el usuario ingrese alguna informacin
mal.
127
Ingreso al sistema
El sistema de Entrada y Salida cuenta con tres tipos de usuarios. Para realizar
los mantenimientos del sistema se ingresara como Administrador. Para
acceder al sistema es necesario tener un nombre del usuario y contrasea.
128
Mantenimiento de Proveedores
La aplicacin permite crear, modificar y eliminar un proveedor del sistema
Nuevo Proveedores
Al seleccionar Nuevo se abre una pantalla mostrandomos los campos que se
debe llenar (Nombre, Direccion, Telefono, RUC), luego de llenar estos datos,
hacemos clik en Grabar y nos visualiza un mensaje que el producto a sido
creado y si no queremos guardar damos clik en Cerrar y nos regresaremos al
mantenimiento de proveedores.
129
Modificar Proveedores
Al seleccionar Modificar se abre una pantalla mostrandomos los campos que
deseemos cambiar (Nombre, Direccion, Telefono, RUC), luego de modificar los
datos, hacemos clik en Grabar y nos visualiza un mensaje que el producto a
sido modificado, presionamos ok y regresa al mantenimiento del proveedores y
si no queremos guardar los cambios damos clik en Cerrar y nos regresaremos
al mantenimiento de proveedores.
Eliminar Proveedores
Al seleccionar Eliminar se abre una pantalla mostrandomos los campos de lo
que vamos a eliminar (Nombre, Direccion, Telefono, RUC), hacemos clik en
Eliminar y nos visualiza un mensaje Realmente desea Eliminar, si damos clik
en Si se eliminara automaticamente y regresa al mantenimiento del
proveedores y si no queremos eliminar damos clik en No y nos regresaremos
al mantenimiento de proveedores.
130
Mantenimiento de Bodega
La aplicacin permite crear, modificar y eliminar una bodega del sistema
Nuevo Bodega
Al seleccionar Nuevo se abre una pantalla mostrandomos el campo que se
debe llenar (Descripcin), luego de llenar ese dato, hacemos clik en Grabar y
nos visualiza un mensaje que el producto a sido creado y si no queremos
guardar damos clik en Cerrar y nos regresaremos al mantenimiento de bodega.
131
Modificar Bodega
Al seleccionar Modificar se abre una pantalla mostrando el campo a cambiar
cambiar (Descripcin), luego de modificar el dato, hacemos clik en Grabar y
nos visualiza un mensaje que el producto a sido modificado, presionamos ok y
regresa al mantenimiento del bodega y si no queremos guardar los cambios
damos clik en Cerrar y nos regresaremos al mantenimiento de bodega.
132
Eliminar Bodega
Al seleccionar Eliminar se abre una pantalla mostrandomos el campo que
vamos a eliminar (Descripcin), hacemos clik en Eliminar nos visualiza un
mensaje Realmente desea Eliminar, si damos clik en Si se eliminara
automaticamente y regresa al mantenimiento del producto y si no queremos
eliminar damos clik en Cerrar y nos regresaremos al mantenimiento de
bodega.
Mantenimiento de Usuarios
La aplicacin permite crear, modificar y eliminar un usuario del sistema
133
Nuevo Usuario
Al seleccionar Nuevo se abre una pantalla mostrandomos los campos que se
debe llenar (Descripcin, Rol, Clave), luego de llenar estos datos, hacemos clik
en Grabar si deseamos que se guarde la informacin y no damos clik en
Cerrar y nos regresaremos al mantenimiento de usuarios.
Modificar Usuario
Al seleccionar Modificar se abre una pantalla mostrandomos los campos que
deseemos cambiar (Descripcin, Rol, Clave), luego de modificar los datos,
hacemos clik en Grabar si deseamos que se guarde la informacin y no damos
clik en Cerrar y nos regresaremos al mantenimiento de usuarios.
134
Eliminar Usuario
Al seleccionar Eliminar se abre una pantalla mostrandomos los campos de lo
que deseemos eliminar (Descripcin, Rol, Clave), al dar clik en Eliminar nos
muestra un mensaje, si estamos seguros que deseamos elimar la informacin
si estamos seguros damos clik en Si y se elimian el dato y si damos clik en No
regresaremos al mantenimiento de usuarios.
135
Mantenimiento de Productos
La aplicacin permite crear, modificar y eliminar un producto del sistema
Nuevo Productos
Al seleccionar Nuevo se abre una pantalla mostrandomos los campos que se
debe llenar (Descripcin, Stock), luego de llenar estos datos, hacemos clik en
Grabar y nos visualiza un mensaje que el producto a sido creado y si no
queremos guardar damos clik en Cerrar y nos regresaremos al mantenimiento
de productos.
136
Modificar Productos
Al seleccionar Modificar se abre una pantalla mostrandomos los campos que
deseemos cambiar (Descripcin, Rol, Clave), luego de modificar los datos,
hacemos clik en Grabar y nos visualiza un mensaje que el producto a sido
modificado, presionamos ok y regresa al mantenimiento del producto y si no
queremos guardar los cambios damos clik en Cerrar y nos regresaremos al
mantenimiento de productos.
Eliminar Productos
Al seleccionar Eliminar se abre una pantalla mostrandomos los campos de lo
que vamos a eliminar (Descripcin, Rol, Clave), hacemos clik en Eliminar y
nos visualiza un mensaje Realmente desea Eliminar, si damos clik en Si se
eliminara automaticamente y regresa al mantenimiento del producto y si no
queremos eliminar damos clik en Cerrar y nos regresaremos al mantenimiento
de productos.
137
138
Entrada de Mercadera
Luego de haber ingresado como usuario Bodeguero, tiene la opcin de realizar
este movimiento de entrada, para esta accin se debe registrar los campos
solicitados (Fecha, Usuario, Proveedor, Bodega, Observacin), luego de llenar
esta informacin, hacemos clik en Grabar, no aparece un mensaje movimiento
registrado se procede a solicitar la mercadera, damos clik en ok y se carga la
lista de los productos en el cual nos aparece le stock actual de los mismos, el
usuario debe colocar la cantidad que va a ingresar al sistema, luego de esto
damos clik en Grabar y nos muestra un mensaje Producto Grabado y damos
clik en ok y seguimos cargando los productos, si ya no se quiere damos clik en
Salir.
Salida de Mercadera
Esta opcin realizar este movimiento de salida del producto, para registrar la
salida se debe registrar los campos solicitados (Fecha, Usuario, Proveedor,
Bodega, Observacin), luego de llenar esta informacin, hacemos clik en
139
140
Kardex de Producto
El usuario podr consultar el historial de cada uno de los productos, para ello
debe ingresar la fecha desde y hasta, el nombre del producto y dar clik en
Consulta, y en seguida nos muestra los movimientos que ha tenido el
producto. Si se desea salir damos clik en Salir y regresamos al men principal
del bodeguero.
141
142
Mantenimiento de Roles
La aplicacin permite crear, modificar y eliminar los roles del sistema
Nuevo Rol
Al seleccionar Nuevo se abre una pantalla mostrandomos el campo que se
debe llenar (Descripcin), luego de llenar ese dato, hacemos clik en Grabar y
nos visualiza un mensaje Rol Creado, damos clik en ok y regresamos al
mantenimiento de roles y si no queremos guardar damos clik en Cerrar y nos
regresaremos al mantenimiento de roles.
Modificar Rol
Al seleccionar Modificar se abre una pantalla mostrando el campo a cambiar
cambiar (Descripcin), luego de modificar el dato, hacemos clik en Grabar y
143
Eliminar Rol
Al seleccionar Eliminar se abre una pantalla mostrandomos el campo que
vamos a eliminar (Descripcin), hacemos clik en Eliminar nos visualiza un
mensaje Realmente desea Eliminar, si damos clik en Si se eliminara
automaticamente y regresa al mantenimiento del roles y si no queremos
eliminar damos clik en Cerrar y nos regresaremos al mantenimiento de roles.
144
Atentamente
_______________________________
Ing. Miriam Almache
145
AUTORIZACIN DE EMPASTADO
Atentamente
_______________________________
Ing. Henry Crdova
146
Atentamente
_______________________________
Ing. Max Ziga
147
Manual de Programacin
Podremos revisar en nuestro trabajo que est desarrollado con la tcnica de
programacin orientada a objetos, para eso hemos creado una para cada tipo
de movimiento, es decir, tenemos clases como: Bodega, Consulta Filtrada,
MovimientoC, producto, etc.
A continuacin revisaremos las mismas donde detallamos el cdigo fuente:
148
{
conn.Open();
string sql = @"select * FROM Bodega";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return dat;
}
publicstaticstring Insertar(string Descripcion)
{
TesisBD_ESDataSet.BodegaDataTable dat =
newTesisBD_ESDataSet.BodegaDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Insert into Bodega(Descripcion)values('" + Descripcion + "')";
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return"OK";
}
publicstaticstring Modificar(int Codigo, string Descripcion)
{
TesisBD_ESDataSet.BodegaDataTable dat =
newTesisBD_ESDataSet.BodegaDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
149
string sql = @"Update Bodega Set Descripcion ='" + Descripcion + "' Where
Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
publicstaticstring Eliminar(int Codigo)
{
TesisBD_ESDataSet.BodegaDataTable dat =
newTesisBD_ESDataSet.BodegaDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Delete from Bodega Where Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
publicstaticstring ObtieneBodega(int Codigo)
{
string Descripcion;
System.Data.SqlServerCe.SqlCeConnection cn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
TesisBD_ESDataSet.BodegaDataTable dat =
newTesisBD_ESDataSet.BodegaDataTable();
SqlCeCommand cmd = newSqlCeCommand();
cmd.Connection = cn;
150
151
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
conn.Open();
string sql = @"select * FROM MoviC";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return dat;
}
publicstaticstring Insertar(string Tipo, DateTime Fecha, int UsuCod, int BodCod,
string Observacion, int Estado, int Proveedor)
{
TesisBD_ESDataSet.ProductoDataTable dat =
newTesisBD_ESDataSet.ProductoDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string LaFecha;
LaFecha = Fecha.ToString("MM/dd/yyyy hh:mm");
string sql = @"Insert into MoviC(Tipo, Fecha, UsuCod, BodCod, Observacion,
Estado, PrvCod)values('" + Tipo + "','" + LaFecha + "', " + UsuCod + ", " +
BodCod + ", '" + Observacion + "', 1, " + Proveedor + ")";
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return"OK";
}
publicstaticstring Insertar(string Tipo, DateTime Fecha, int UsuCod, int BodCod,
string Observacion, int Estado)
{
152
TesisBD_ESDataSet.ProductoDataTable dat =
newTesisBD_ESDataSet.ProductoDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string LaFecha;
LaFecha = Fecha.ToString("MM/dd/yyyy hh:mm");
string sql = @"Insert into MoviC(Tipo, Fecha, UsuCod, BodCod, Observacion,
Estado, PrvCod)values('" + Tipo + "','" + LaFecha + "', " + UsuCod + ", " +
BodCod + ", '" + Observacion + "', 1, 0)";
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return"OK";
}
publicstaticMovimientoC ObtieneMovxNum(int NumMov)
{
MovimientoC MC = newMovimientoC();
System.Data.SqlServerCe.SqlCeConnection cn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
TesisBD_ESDataSet.MoviCDataTable dat =
newTesisBD_ESDataSet.MoviCDataTable();
SqlCeCommand cmd = newSqlCeCommand();
cmd.Connection = cn;
string sql = @"Select * from MoviC where Numero = " + NumMov;
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
cn.Open();
SqlCeDataReader reader = cmd.ExecuteReader();
do
{
reader.Read();
153
MC.Tipo = reader.GetString(1).Trim();
MC.Fecha = reader.GetDateTime(2);
MC.UsuCod = reader.GetInt32(3);
MC.Bodcod = reader.GetInt32(4);
MC.Observacion = reader.GetString(5);
MC.PrvCod = reader.GetInt32(6);
} while (reader.NextResult());
reader.Close();
cn.Close();
return MC;
}
publicstaticint ObtieneUltimo()
{
int Numero;
System.Data.SqlServerCe.SqlCeConnection cn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
TesisBD_ESDataSet.MoviCDataTable dat =
newTesisBD_ESDataSet.MoviCDataTable();
SqlCeCommand cmd = newSqlCeCommand();
cmd.Connection = cn;
string sql = @"Select * from MoviC order by Numero Desc";
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
cn.Open();
SqlCeDataReader reader = cmd.ExecuteReader();
reader.Read();
Numero = reader.GetInt32(0);
return Numero;
}
}
}
CLASE CONSULTAFILTRADA
using System;
using System.Linq;
154
using System.Collections.Generic;
using System.Text;
using System.Data.SqlServerCe;
namespace Tesis_ES_Movil
{
classConsultaFiltrada
{
publicstaticTesisBD_ESDataSet.MoviCDataTable ConsultaxFechas(DateTime
desde, DateTime hasta, string Consultar)
{
string tipo;
if (Consultar == "Entrada")
tipo = "E";
else
tipo = "S";
TesisBD_ESDataSet.MoviCDataTable dt =
newTesisBD_ESDataSet.MoviCDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"select * FROM MoviC where fecha >= '"+
desde.ToString("MM/dd/yyyy")+ " 00:00:01' and fecha <= '"+
hasta.ToString("MM/dd/yyyy")+ " 23:59:59' and tipo = @tipo";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.Parameters.AddWithValue("@tipo", tipo);
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dt);
}
return dt;
}
publicstaticTesisBD_ESDataSet.MoviDDataTable ConsultaDetalle(int NumMov)
{
TesisBD_ESDataSet.MoviDDataTable dat =
newTesisBD_ESDataSet.MoviDDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
155
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"select MoviD.Secuencia, MoviD.MoDCantidad, MoviD.ProCod,
Producto.Descripcion FROM MoviD
inner join Producto
on MoviD.ProCod = Producto.codigo and Numero = @NumMov ";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.Parameters.AddWithValue("@NumMov", NumMov);
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
}
return dat;
}
publicstaticTesisBD_ESDataSet.MoviDDataTable ConsultaKardex(DateTime
desde, DateTime hasta, int CodPro)
{
TesisBD_ESDataSet.MoviDDataTable dt =
newTesisBD_ESDataSet.MoviDDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"select * FROM MoviD
where MoDfecha >= '"+desde.ToString("MM/dd/yyyy")+ " 00:00:01'
and MoDfecha <= '"+ hasta.ToString("MM/dd/yyyy")+ " 23:59:59' and ProCod =
@CodPro Order By Orden";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.Parameters.AddWithValue("@CodPro", CodPro);
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dt);
}
return dt;
}
156
}
CLASE PRODUCTO
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlServerCe;
using System.Data;
namespace Tesis_ES_Movil.Productos
{
classProducto
{
publicstring Descripcion;
publicint Stock;
publicstaticTesisBD_ESDataSet.ProductoDataTable llenarProducto()
{
TesisBD_ESDataSet.ProductoDataTable dat =
newTesisBD_ESDataSet.ProductoDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
conn.Open();
string sql = @"select * FROM Producto";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return dat;
}
publicstaticstring Insertar(string Descripcion)
{
TesisBD_ESDataSet.ProductoDataTable dat =
newTesisBD_ESDataSet.ProductoDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
157
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Insert into Producto(Descripcion, Stock)values('" + Descripcion +
"', 0)";
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return"OK";
}
publicstaticstring Modificar(int Codigo, string Descripcion)
{
TesisBD_ESDataSet.ProductoDataTable dat =
newTesisBD_ESDataSet.ProductoDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Update Producto Set Descripcion ='" + Descripcion + "' Where
Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
publicstaticstring Eliminar(int Codigo)
{
TesisBD_ESDataSet.ProductoDataTable dat =
newTesisBD_ESDataSet.ProductoDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
158
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Delete from Producto Where Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
publicstaticProducto ObtieneProducto(int Codigo)
{
Producto MiProducto = newProducto();
System.Data.SqlServerCe.SqlCeConnection cn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
TesisBD_ESDataSet.ProductoDataTable dat =
newTesisBD_ESDataSet.ProductoDataTable();
SqlCeCommand cmd = newSqlCeCommand();
cmd.Connection = cn;
string sql = @"Select * from Producto where Codigo = " + Codigo;
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
cn.Open();
SqlCeDataReader reader = cmd.ExecuteReader();
do
{
reader.Read();
MiProducto.Descripcion = reader.GetString(1).Trim();
MiProducto.Stock = reader.GetInt32(2);
} while (reader.NextResult());
reader.Close();
cn.Close();
return MiProducto;
}
159
160
}
CLASE PROVEEDOR
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlServerCe;
using System.Data;
namespace Tesis_ES_Movil.Proveedores
{
publicclassProveedor
{
publicint Codigo;
publicstring Nombre;
publicstring Direccion;
publicstring Telefono;
publicstring Ruc;
publicstaticTesisBD_ESDataSet.ProveedorDataTable llenarProveedor()
{
TesisBD_ESDataSet.ProveedorDataTable dat =
newTesisBD_ESDataSet.ProveedorDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
conn.Open();
string sql = @"select * FROM Proveedor";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return dat;
}
publicstaticstring Insertar(string Nombre, string Direccion, string Telefono, string
Ruc)
{
161
TesisBD_ESDataSet.ProveedorDataTable dat =
newTesisBD_ESDataSet.ProveedorDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Insert into Proveedor(Nombre, Direccion, Telefono, Ruc)values('"
+ Nombre + "','" + Direccion + "','" + Telefono + "','" + Ruc + "' )";
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return"OK";
}
publicstaticstring Modificar(int Codigo, string Nombre, string Direccion, string
Telefono, string Ruc)
{
TesisBD_ESDataSet.ProveedorDataTable dat =
newTesisBD_ESDataSet.ProveedorDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Update Proveedor Set Nombre ='" + Nombre + "', Direccion='" +
Direccion + "', Telefono='"+Telefono + "', Ruc='"+Ruc+"' Where Codigo=" +
Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
publicstaticstring Eliminar(int Codigo)
162
{
TesisBD_ESDataSet.ProveedorDataTable dat =
newTesisBD_ESDataSet.ProveedorDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Delete from Proveedor Where Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
publicstaticProveedor ObtieneProveedor(int Codigo)
{
Proveedor MiProveedor = newProveedor();
System.Data.SqlServerCe.SqlCeConnection cn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
TesisBD_ESDataSet.ProveedorDataTable dat =
newTesisBD_ESDataSet.ProveedorDataTable();
SqlCeCommand cmd = newSqlCeCommand();
cmd.Connection = cn;
string sql = @"Select * from Proveedor where Codigo = " + Codigo;
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
cn.Open();
SqlCeDataReader reader = cmd.ExecuteReader();
do
{
reader.Read();
MiProveedor.Nombre = reader.GetString(1).Trim();
MiProveedor.Direccion = reader.GetString(2).Trim();
MiProveedor.Telefono = reader.GetString(3).Trim();
MiProveedor.Ruc
= reader.GetString(4).Trim();
} while (reader.NextResult());
163
reader.Close();
cn.Close();
return MiProveedor;
}
//
}
}
CLASE ROL
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlServerCe;
using System.Data;
namespace Tesis_ES_Movil
{
publicclassRol
{
publicstaticTesisBD_ESDataSet.RolDataTable llenarRol()
{
TesisBD_ESDataSet.RolDataTable dat =
newTesisBD_ESDataSet.RolDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
conn.Open();
string sql = @"select * FROM Rol";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
164
return dat;
}
publicstaticstring Insertar(string Descripcion)
{
TesisBD_ESDataSet.RolDataTable dat =
newTesisBD_ESDataSet.RolDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Insert into Rol(Descripcion)values('"+Descripcion+"')";
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return"OK";
}
publicstaticstring Modificar(int Codigo, string Descripcion)
{
TesisBD_ESDataSet.RolDataTable dat =
newTesisBD_ESDataSet.RolDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Update Rol Set Descripcion ='" + Descripcion + "' Where
Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
165
166
reader.Close();
cn.Close();
return Descripcion;
}
}
}
CLASE USUARIO
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlServerCe;
using System.Data;
namespace Tesis_ES_Movil.Usuarios
{
publicclassUsuario
{
publicint Codigo;
publicstring Descripcion;
publicint Rol;
publicstring Clave;
publicstaticTesisBD_ESDataSet.UsuarioDataTable llenarUsuario()
{
TesisBD_ESDataSet.UsuarioDataTable dat =
newTesisBD_ESDataSet.UsuarioDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
conn.Open();
string sql = @"select * FROM Usuario";
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return dat;
167
}
publicstaticstring Insertar(string Descripcion, int CodRol, string Clave)
{
TesisBD_ESDataSet.UsuarioDataTable dat =
newTesisBD_ESDataSet.UsuarioDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Insert into Usuario(Nombre, Rol, Clave)values('" + Descripcion +
"',"+CodRol+",'" + Clave + "' )";
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
conn.Close();
}
return"OK";
}
publicstaticstring Modificar(int Codigo, string Descripcion, int CodRol, string
Clave)
{
TesisBD_ESDataSet.UsuarioDataTable dat =
newTesisBD_ESDataSet.UsuarioDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Update Usuario Set Nombre ='" + Descripcion + "', Rol="+
CodRol +", Clave = '"+ Clave +"' Where Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
168
}
publicstaticstring Eliminar(int Codigo)
{
TesisBD_ESDataSet.UsuarioDataTable dat =
newTesisBD_ESDataSet.UsuarioDataTable();
System.Data.SqlServerCe.SqlCeConnection conn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
{
string sql = @"Delete from Usuario Where Codigo=" + Codigo;
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd =
conn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
conn.Close();
}
return"OK";
}
publicstaticUsuario ObtieneUsuario(int Codigo)
{
Usuario MiUsuario = newUsuario();
System.Data.SqlServerCe.SqlCeConnection cn = new
System.Data.SqlServerCe.SqlCeConnection(
("Data Source=" +
(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflectio
n.Assembly.GetExecutingAssembly().GetName().CodeBase),
"TesisBD_ES.sdf") + ";Max Database Size=2047")));
TesisBD_ESDataSet.UsuarioDataTable dat =
newTesisBD_ESDataSet.UsuarioDataTable();
SqlCeCommand cmd = newSqlCeCommand();
cmd.Connection = cn;
string sql = @"Select * from Usuario where Codigo = " + Codigo;
cmd.CommandText = sql;
SqlCeDataAdapter da = newSqlCeDataAdapter(cmd);
da.Fill(dat);
cn.Open();
SqlCeDataReader reader = cmd.ExecuteReader();
do
{
reader.Read();
MiUsuario.Descripcion = reader.GetString(1).Trim();
MiUsuario.Rol = reader.GetInt32(2);
169
MiUsuario.Clave = reader.GetString(3);
} while (reader.NextResult());
reader.Close();
cn.Close();
return MiUsuario;
}
}
}
ORGANIZACIN
Debemos ser organizados en nuestra programacin para poder realizar
modificaciones al mismo sin tener que perderse entre tantos objetos, para esto
usamos carpetas que nos sirven para agrupar determinados temas de nuestro
proyecto, de esta forma:
170
Como vemos tenemos una grilla donde se cargar los productos, y a su vez
tenemos 3 acciones ms, como es crear un productos con el botn NUEVO,
modificar los datos de algn producto que seleccionemos en la grilla o tambin
eliminarlo si se necesita. Para Modificar o Eliminar debemos seleccionar la fila
en la grilla y de ah dar clic en el botn respectivo.
Una vez q presiones una accin el sistema me enviar a una pantalla donde se
realizar dicha accin, en este caso la pantalla Producto:
171
OBJETOS UTILIZADOS.
A continuacin listaremos los objetos utilizados para la elaboracin del
programa.
Formulario
Botones de comando
Labels y TextBox
DateTimePicker
ComboBox
172
MenuForm
DataGrid
DataSets
Enlaces a la BD
Adaptadores
Base de Datos