PROYE TO FINAL DE PROGRAMA IÓN DE APLI A …jsdelacruz.16mb.com/materialpad/finales/FINAL PAD con...

18
PROYECTO FINAL DE PROGRAMACIÓN DE APLICACIONES DISTRIBUIDAS Profesor: De la Cruz, José Alumno: Amenta, Augusto Luciano

Transcript of PROYE TO FINAL DE PROGRAMA IÓN DE APLI A …jsdelacruz.16mb.com/materialpad/finales/FINAL PAD con...

PROYECTO FINAL DE PROGRAMACIÓN DE

APLICACIONES DISTRIBUIDAS

Profesor: De la Cruz, José

Alumno: Amenta, Augusto Luciano

Modelo de la Base de Datos (Adjuntado)

En la base de datos también se encuentra una tabla llamada “Secuencia”, no tiene relación con

ninguna otra, el objetivo q tiene esa tabla es funcionar como contador para los tipos de ventas

q se realizan en el sistema, ya que llevara de forma secuenciada el número de venta que

corresponda.

Marco teórico del Modelo elegido.

REDACCIÓN DE LA PROPUESTA. El sistema que se debe desarrollar es para un negocio llamado: “Librería Papel” que

comercializa la venta de diferentes artículos escolares.

La finalidad de éste proyecto es la creación de un modelo que sirva como base para la

automatización del sistema informático de la librería.

Actualmente todas las operaciones se realizan en forma manual, por lo que sería

propicio desarrollar un sistema de gestión para éste negocio, de modo que su manejo

sea más rápido y efectivo.

Disciplina Gestión de Proyecto

Objetivos:

Optimizar el proceso de venta.

Registrar la venta en forma rápida y correcta.

Realizar consultas de las ventas.

Registrar movimientos (ABM) en Clientes.

Registrar movimientos (ABM) en Empleado

Registrar movimientos (ABM) en Productos.

Controlar el Stock de los productos

Registrar Movimientos (ABM) en proveedores

Reportes en general.

Optimizar el proceso de la compras de productos

Liquidación de sueldo.

Plan de Proyecto de Software

Ámbito del Sistema

El sistema “Librería Papel” tendrá como función principal la venta de productos y a partir de

éste evento se generan nuevas operaciones como el manejo de clientes, stock, empleados,

proveedores, productos, compra de productos y liquidación de sueldo.

El Sistema Operativo que se utilizará es Windows en las versiones: XP o superior

El Lenguaje de Programación será C# con un Motor de Bases de Datos SQL Server.

El sistema permitirá la generación de diversos informes para tener un control minucioso y

tomar decisiones en forma correcta y rápida que mejorarán sin duda la administración del

negocio.

BENEFICIOS QUE DEBERÁ BRINDAR EL SISTEMA

El mayor de los beneficios será evitar los errores que se puedan cometer por las registraciones

que se llevan a cabo en forma manual y todo lo que ello conlleva: información errónea y a

destiempo, por lo cual es imposible tomar decisiones.

RESTRICCIONES DEL PROYECTO:

Económicas: El producto final del proyecto es un Sistema realizado en el lenguaje C# y su motor de Bases de datos SQL Server, y las herramientas que utilizaremos de desarrollo son IDE Visual Studio.

Operativas: Como el sistema es nuevo se deberá capacitar al personal para el uso del

mismo. Ésta restricción no ocasionará inconvenientes dado que es un sistema simple e

intuitivo.

Análisis de Riesgos.

Riesgo Estrategia para minimizar los riesgos

El sistema no opera en forma adecuada

Se utiliza una interfaz de fácil navegación de modo que pueda ser operado por personal carente de experiencia o con un mínimo de conocimiento sobre el mismo.

La metodología del software utilizada no sea la más conveniente.

Se realizará un estudio minucioso, de manera de escoger una metodología de desarrollo de software estándar.

Tiempo en el desarrollo del proyecto.

Con una planificación del proyecto bien definida se podrá cumplir con el plazo acordado; y en caso de ser necesario se cuenta con personal capacitado adicional al planificado.

Cambio o modificación en los requerimientos.

El relevamiento de la información se realizará con alta precisión en forma detallada y efectiva de modo que estén cubiertas todas las expectativas.

Problemas financieros: reducción del presupuesto.

Brindar a nuestro cliente un informe con todos los beneficios que le otorgaría un sistema informático, en el que las respuestas serán rápidas y efectivas.

Requisitos de Hardware y Software:

* SISTEMAS OPERATIVOS SOPORTADOS:

Windows XP Professional SP1 o superior

Windows XP Home

Windows Server 2003

Windows Vista

Windows Seven

Windows 8 u 8.1

Windows 10

* MEMORIA RAM REQUERIDA:

512 MB o superior (sin tener en cuenta la memoria requerida por el Sistema

Operativo)

* ESPACIO EN DISCO RIGIDO: 70 MB de espacio libre.

Disciplina de requisitos

Visión General del Documento:

En los siguientes puntos se realizará una descripción general de los requerimientos y

funciones tenidos en cuenta para la realización del proyecto así como las características de

los usuarios que interactúan con el sistema y las limitaciones que se encontraron para llevar

a cabo el mismo.

Funciones del Producto

Registrar Operaciones o Ventas Nuevas. o ABM de Proveedores o ABM de Clientes. o ABM de Empleados. o ABM de Productos. o Compras de Productos o Liquidación de Sueldo

Reportes Generales o Listado de Ventas. o Listado de Clientes. o Listado de Productos. o Listado de Proveedores o Listado de Empleados. o Listado de Compras o Listado de Sueldos

Seguridad o Administra Perfiles o Administra Seguridad de la BD o Administra Usuario

Atributos del Sistema

Usabilidad: el Sistema será dinámico y fácilmente compresible, destacando el soporte en Línea durante todo el proceso de uso. También presentará interfaces visuales amigables, en el ingreso de datos de las Interfaces Internas, y el usuario será guiado mediante mensajes de advertencia sobre los posibles errores.

Fiabilidad: El sistema será utilizado por el personal designado a tales funciones y en caso de fallas, el Sistema será capaz de recuperar la Información que ha sido guardada recientemente.

Mantenibilidad: al estar desarrollado como una Aplicación de Escritorio de forma modular, las correcciones son de fácil implementación permitiendo también realizar actualizaciones, mejoras e implementar nuevos Módulos para satisfacer nuevos requisitos.

Portabilidad: El sistema estará realizado en el lenguaje C# y como motor de Bases de datos SQL Server y las herramientas que utilizaremos en el desarrollo son Visual Studio.

Seguridad: las interfaces internas brindarán el Login de Usuarios. Estos Usuarios son aquellas personas autorizadas a realizar operaciones bien definidas.

REGISTRAR LAS VENTAS E

IMPRIMIRLAS EN UNA

IMPRESORA FISCAL

Este sistema de ventas podrá ser usado con una impresora fiscal, lo q usaremos en este caso

será un emulador de las impresoras fiscales y drivers del tipo de impresora que necesitaremos

para que funcione correctamente nuestro programa.

EMULADOR FISCAL

Descripción General

El emulador fiscal es un programa para Windows que permite emular impresoras fiscales y visualizar los comandos que se envían a la impresora fiscal desde el programa de facturación. El programa emula la mayoría de las impresoras fiscales Epson y Hasar. Las impresoras fiscales NCR2008 y Olivetti Arjet-20 al ser compatibles con la Hasar H320, pueden ser emuladas utilizando la emulación para Hasar H320.

Impresoras Fiscales Emuladas:

A continuación se detalla la lista de impresoras fiscales emuladas por el programa. En general, el programa emula únicamente las impresoras fiscales de la Argentina y Venezuela.

Impresoras Fiscales Epson (Argentina) o De Ticket ( TM200F, TM300F, TM2000,TM2002,TM300, TMU-950,

TMU220AF,etc) o De Formulario Continuo ( LX300F, LX300F+, FX880F)

Impresoras Fiscales Epson (Venezuela) o De Ticket o De Formulario Continuo

Impresoras Fiscales Hasar (Argentina) o De Ticket ( H615, H715, PR4F, PR5F, H930, H951,H441F) o De Formulario ( H320, H321, H322, H330,H1120) o Laser ( PL8F, PL-9F,PL-23F)

Impresoras NCR (NCR2008, NCR3140) (Argentina) o NCR2008 y NCR3140

Impresoras Samsung Bixolon (Argentina) o SRP-250 o SRP-270

Podemos descargar el emulador desde la siguiente página:

http://www.impresoras-fiscales.com.ar/emulador.htm

Requerimientos Técnicos:

Sistema Operativo o Windows 2000 o Windows XP (32 y 64 bits) o Windows 2003 (32 y 64 bits) o Windows 2008 (32 y 64 bits) o Windows Vista (32 y 64 bits) o Windows 7 (32 y 64 bits)

Instalación o Deberá instalar el software como Administrador.

Notas de Instalación en Windows Vista y Windows 7 con UAC (*) activado

Al instalar el emulador fiscal, deberá ejecutar el archivo de instalación como Administrador. Luego de la instalación, cualquier usuario puede usar el emulador fiscal.

Al instalar el programa, Windows Security mostrara una ventana emergente y pedirá permiso para instalar el driver de la característica del puerto virtual: en tal

caso, deberá permitir su instalación para que el puerto virtual funcione correctamente..

(*) User Account Control

Registración: Puede comprar la licencia con depósito bancario o tarjeta de crédito: mándenos

un correo electrónico usando el formulario de contacto y le enviaremos las instrucciones por

e-mail.

Formulario de Contacto: http://www.impresoras-fiscales.com.ar/soporte.html

Modo de funcionamiento:

El emulador fiscal emula la impresora fiscal y también el puerto serie, de tal forma que no es necesario tener un puerto serie en la computadora de pruebas, ni usar cables, o, tener otra computadora dedicada para el emulador fiscal. El emulador fiscal y el programa de facturación puede ejecutarse en la misma computadora. El emulador fiscal crea un puerto serie virtual. Una vez creado el puerto serie virtual desde el emulador, deberá activar el emulador y usar el mismo puerto desde su programa para comunicarse con el emulador fiscal y enviarle comandos.

7. Configuración de la impresora a emular: Se puede configurar el modelo de la impresora, la velocidad, etc., usando la opción Terminal Preferencias, desde el menú del Emulador Fiscal. Al ejecutar este comando, aparece una ventana donde se puede configurar la velocidad, paridad, etc... Y el modelo de la impresora fiscal.

Puerto o Puerto serie (COM1, COM2, etc.). Si usa la opción Crear Puerto Serie Virtual,

este es el puerto virtual que el emulador creará cuando active el programa.

Velocidad o Velocidad de comunicación con la impresora fiscal

Impresora Fiscal: o Marca y Modelo de Impresora fiscal a Emular

Control de Flujo:( o Emulador configura automáticamente esta característica pero puede

cambiarla si fuera necesario o Impresoras Epson, Samsung, NCR en modo Epson: DTR/DSR o Impresoras Hasar, y otras Impresoras: None

Puerto Virtual: o Si su computadora no tiene puertos series, puede crear un puerto serie virtual

seleccionando esta opción para la comunicación entre el emulador fiscal y su programa. Luego podrá usar el mismo puerto virtual en su sistema y el emulador fiscal y enviar los comandos directamente. Deberá usar el mismo puerto tanto en el emulador como en su aplicativo. Si elige esta opción deberá asegurarse que el puerto serie virtual no sea el mismo que un puerto COM preexistente en su computadora.

La velocidad debe coincidir con la velocidad a la cual se abre el puerto serie desde su programa de facturación. Para cambiar la configuración del puerto haga clic en Aceptar

Puede guardar la configuración del emulador en un archivo y recuperarla nuevamente con la opción Archivo - Guardar desde el menú principal. Para recuperar una configuración previamente guardada, con el comando Archivo - Abrir e ingrese el nombre del archivo de configuración.

Activación del emulador fiscal: Una vez configurado el emulador fiscal, se debe abrir el puerto para que el emulador reciba los comandos con el comando Puerto -> Abrir del menú principal. Para cerrar el puerto se ejecuta nuevamente Puerto -> Abrir

A partir de ese momento todos los comandos que se envíen desde la PC del programa de facturación se recibirán por el emulador y serán visualizados en la ventana principal.

DRIVERS

En este Sistema usaremos drivers OCX Fiscales de Epson.

El driver fiscal es un archivo en formato binario que permite al programa que lo utiliza comunicarse con la impresora fiscal con el propósito de imprimir documentos fiscales, no fiscales y enviarle comandos de control. El Driver puede estar implementado como una biblioteca o librería (dll) o un módulo ejecutable. El Driver permite establecer un canal bidireccional de comunicación entre el programa de facturación y la impresora fiscal. El medio puede ser a través del puerto serie y por una red TCP/IP. En los casos en que el Driver este implementado como una librería de funciones fiscales, puede ser integrada directamente al lenguaje de programación.. En este caso todas las funciones son visibles globalmente, desde cualquier punto del programa. Estas funciones fiscales permiten administrar el puerto de comunicaciones, enviarle comandos a la impresora fiscal y recuperar los campos de la respuesta de la impresora fiscal como por ejemplo, el nro.

de comprobante emitido, montos netos, monto de los impuestos, etc. Estas funciones son standard, siendo las mismas para cualquier lenguaje de programación y sistema operativo, lo cual facilita el mantenimiento y migración del código hacia diversos lenguajes y sistemas operativos.

Para programas en VisualFoxPro, el Driver esta compilado como una librería FLL y para FoxPro para DOS, como un archivo PLB. Este archivo se carga en tiempo de ejecución (runtime) usando la función SET LIBRARY. Las funciones fiscales son visibles como funciones globales desde cualquier modulo del programa.

En lo que respecta a lenguajes Visuales como VisualBasic, Delphi, el Driver esta implementado como un Activex y siendo la interfase fiscal. Se puede utilizar el Driver en diferentes formas, por ejemplo, creando una referencia en el proyecto, insertándolo directamente en un formulario / WinForm, y también usando la función CreateObject.

Para aplicaciones para la Web, el driver puede usarse perfectamente en páginas ASP como un componente de servidor.

Para programas en PHP el Driver esta implementado como una extensión de PHP.

Lenguajes y Sistemas Operativos soportados

Los Drivers son desarrollados cumpliendo con las especificaciones del fabricante de la impresora fiscal y está disponible para los siguientes sistemas operativos y lenguajes de programación.

DOS o Clipper o FoxPro para DOS o RM Cobol, Pascal, QBasic

Windows o ASP y ASP.NET o Borland C++, Visual C++ o Cobol, etc o Delphi, VisualBasic, o FoxPro 2.6 para Windows o Harbour y xHarbour o JAVA para Windows o PHP o PowerBuilder o VisualFoxPro o Visual Studio .NET

Unix o HP-UNIX o Linux

Drivers, Java para Linux, PHP o OpenServer o Solaris y OpenSolaris

Driver, Java, PHP

Puede descargar el driver que necesitamos de la siguiente página:

http://www.impresoras-fiscales.com.ar/argentina.html

Los drivers tienen una fecha de expiración y una limitación en que el texto fiscal se imprime con una leyenda fija. Los archivos de instalación incluyen ejemplos y el manual de programación. Cualquier duda que tenga o si no encuentra el Driver para su sistema operativo y lenguaje, por favor envíenos un email.

Después del período de evaluación ha expirado, usted puede optar por comprar el producto y actualizar la licencia de evaluación a una licencia de pleno desarrollo.

Para obtener, redistribuir y/o usar la versión completa del driver, necesitará adquirir la licencia correspondiente. Para solicitar más información sobre licenciamiento y costos, por favor envíenos un email usando el formulario de contacto.

Formulario de Contacto: http://www.impresoras-fiscales.com.ar/soporte.html

Descargaremos el primer driver que sale en la página mencionada:

1. Impresoras Fiscales Epson, NCR 3140 y Samsung Bixolon (de Argentina )

1.1 Impresoras Fiscales Epson, NCR, Samsung Bixolon de Ticket

Contiene los siguientes modelos:

TM-300AF TM-2000AF,TM-2000AF+ TM-2002AF+ TMU-220AF/TMU-220AFII TMU-950F NCR3140 ( en Modo Epson) Samsung Bixolon SRP-250DF, SRP-270F

Seleccionamos el Driver Activex /OCX Fiscal/.NET (VBasic, Delphi, .NET, PowerBuilder...) y luego lo instalamos.

Pueden Descargar El Emulador Fiscal y el OCX Fiscal de Epson desde el siguiente link:

https://drive.google.com/open?id=0B48yZB9RzVVccTNiX08tcGFaaUE

AGREGAR COMPONENTE DE

IMPRESORA FISCAL A

VISUAL STUDIO

Una vez instalado los drivers y el emulador, descargamos el ejemplo de venta realizado para

trabajar en él, lo descargamos del siguiente link:

https://drive.google.com/open?id=0B48yZB9RzVVcU29BUVNmZlVrSVE

Nota: El usuario del empleado por defecto es “admin” y la contraseña es “123456”

El Ejemplo viene con un archivo .bak que debemos restaurar en la base de datos de SQL Server

(ya sea 2012 o 2014), para que funcione correctamente. Una vez realizado esto abrimos el

ejemplo con el Visual Studio (2012, 2013 o 2015), y nos vamos a “herramientas”, “elegir

elementos del cuadro de herramientas”

Nos vamos a la pestaña “Componentes COM” y buscamos el

“EPSON_Impresora_Fiscal.PrinterFiscal”, lo tildamos y le damos a aceptar. Con esto ya

tenemos nuestro componente de Epson en visual Studio para poder usarlo

Al componente agregado lo arrastramos (como cualquier otro componente) hacia nuestro

proyecto para poder utilizarlo. Se nos agregara el componente Epson a la ventana y dos

referencias a nuestra capa.

Después de hacer los pasos anteriores Correctamente, nos vamos al botón “guardar” de la

ventana de Ventas, y en la función de ImprimirTicket() que se realiza después de guardar la

venta, usamos las funciones y le pasamos los parámetros que necesita la impresora fiscal.

AxePrinterFiscal1.PortNumber: Numero de Puerto que usamos para la impresora

AxePrinterFiscal1.BaudRate: Numero de Baudios (Velocidad)

AxePrinterFiscal1.OpenTicket: Apertura Del Ticket

AxePrinterFiscal1.SendTicketItem: Pasar los parámetros (POR REFERENCIA) que necesita

por cada ítem el ticket, les pasamos el nombre del artículo, la cantidad, el precio, el iva que

tiene, los bultos e impuesto interno. También le pasamos el parámetro de tipo de venta, que

en todos los casos es una “M” ya que esa letra hace referencia a que es una venta, si fuera una

“m” estaría haciendo referencia a que es una reversión, “R” es un monto que se agrega al

retorno de lo que se vende, “r” es reintegro. Lo de bultos es siempre “0” porque no se vende

por bultos, es solo por cantidad.

AxePrinterFiscal1.GetInvoiceSubTotal: Para mostrar el subtotal. La referencia a Printer “P”

es para que imprima el subtotal, si coloco una “N” entonces no mostrare el subtotal. Para la

referencia al Texto no hay nada definido, solo agregue el texto “SUB” para que reciba algo.

AxePrinterFiscal1.SendTicketPayment: Se envían los parámetros para la forma de pago. La

referencia a pago es “EFECTIVO” , es la forma de pago que se hará, usaremos solo esta ya que

es la única que tenemos en el sistema, podría saber también “DEBITO”, “TARJETA”,

“CHEQUE”, le pasamos el monto total (el vuelto es calculado por la impresora, no hay

necesidad de pasarle parámetro), la referencia de Descripción es “T” porque es una forma de

pago, podría ser una “t” que significa una reversión del pago, si es “D” es un descuento, si es

una “R” es un recargo

AxePrinterFiscal1.CloseTicket: Cierre de Ticket

Tenemos el sistema listo, procedemos a abrir el emulador, por defecto emulara la impresora

EPSON TMU220AF/AF II. Abrimos nuestra configuración general que está en la carpeta

descargada del proyecto (el archivo se llama Librería_Papel, es de tipo Fisem Document).

Iniciamos la emulación de la impresora fiscal. Ejecutamos nuestro proyecto, lo cargamos con

artículos, y generamos una venta, los resultados deben ser así:

Vemos que el emulador funciona correctamente ya que las operaciones se realizaron

satisfactoriamente sin ningún error

Y este es nuestro resultado final, la salida impresa.

Los datos de la cabecera (RAZON SOCIAL, CUIT, II BB, INICIO ACT, etc) lo podemos modificar

desde la barra de herramientas en la opción “Memoria Fiscal” ->”Datos de Inicialización”

Y ahí modificamos nuestros datos de inicialización, que serán la cabecera del ticket.