Download FINAL PAD con impresora fiscal

Document related concepts

Controlador de impresora wikipedia , lookup

Windows 1.0 wikipedia , lookup

Emulador de terminal wikipedia , lookup

EXE wikipedia , lookup

SheepShaver wikipedia , lookup

Transcript
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
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.
El sistema no opera en forma adecuada
La metodología del software utilizada no sea la
más conveniente.
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.
Tiempo en el desarrollo del proyecto.
Cambio o modificación en los requerimientos.
Problemas
financieros:
presupuesto.
reducción
Se realizará un estudio minucioso, de manera de
escoger una metodología de desarrollo de
software estándar.
del
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.
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
o
o
Administra Perfiles
Administra Seguridad de la BD
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
o
o


Clipper
FoxPro para DOS
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.