• Viernes 11 de Octubre de 2024, 08:22

Autor Tema:  Emitir Tique-Factura (Comprobante "A") en Visual Studio con C#  (Leído 3007 veces)

greinoso

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Emitir Tique-Factura (Comprobante "A") en Visual Studio con C#
« en: Lunes 2 de Mayo de 2016, 21:05 »
0
Hola Gente! Soy de Argentina y los contacto en busca de resolver un problema que se me presentó. Estoy desarrollando una aplicación en Visual Studio con C#. La misma permite la facturación de ventas de un determinado comercio implementando una controladora fiscal EPSON TM-U220 AFII. Dichos comprobantes de pago, pueden ser de dos tipos:
-Tique (o Comprobante B a algún Consumidor Final), o
-Tique-Factura (o Comprobante A a algún Responsable Inscripto)
La cuestión a tener en cuenta, es que los precios unitarios de cada artículo que comercializa el dueño del comercio YA TIENEN INCLUIDO EL IVA.
Suponiendo el siguiente ejemplo de una Venta Total de $75,00 debería poder obtener ambos comprobantes (A y/o B). Los cuales entiendo que deberían tener la siguiente forma cada uno de ellos:

1) COMPROBANTE "B" (o Tique)

---------------------------------------------------------------
Encabezado de Tique (Datos del Comercio)

A Consumidor Final
P:V: Nro.: 0001
Nro. T.                                            xxxxxxxx
Fecha xx/xx/xx                         Hora: xx:xx:xx

50,0000 x 1,5000
ARTICULO1                                            75,00

TOTAL                                                   75,00
Su pago                                                75,00
Su vuelto                                               0,00
---------------------------------------------------------------


2) COMPROBANTE "A" (o Tique-Factura)


---------------------------------------------------------------
Encabezado de Tique-Factura (Datos del Comercio)

---------------------------------------------------------------
TIQUE FACTURA A                     Nro. T. xxxx-xxxxxxxx
                                                       Fecha xx/xx/xx
                                                       Hora: xx:xx:xx
---------------------------------------------------------------
Datos del Comprador
IVA Responsable Inscripto
---------------------------------------------------------------
Cant./Precio Unit. / Descripcion
---------------------------------------------------------------
50.000x1.50
ARTICULO1                               (21.00)            75,00

NETO SIN IVA                                                 61,98                     

SUBTOT. IVA 21.00%                                        61,98                     
IVA  21.00%                                                   13,02                     

TOTAL de Ventas:                                            75,00

Suma de sus pagos                                         75,00
Su vuelto                                                        0,00
---------------------------------------------------------------



Dado que el Tique "B" lo obtengo tal cual lo necesito... La pregunta es: ¿Cómo pasar los valores de la venta para obtener un Tique-Factura "A" como el mencionado en el ejemplo (recuerden que los artículos ya poseen el IVA incorporado en sus Precios Unitarios)?

Yo lo he intentado con el siguiente código:


Código: [Seleccionar]
            string iva = "2100";
            string venta = "M";
            string bultos = "0";
            string parametroVacio = "";
            string incremetoTasa = "1050";
            string ImpuestosInternos = "0";
            string printer = "P";
            string texto = "SUB";
            string pago = "PAGO";
            string articulo = "ARTICULO1";
            string cantidad = "50000";
            string precioUnitario = "150";
            axPrinterFiscal2.PortNumber = 1; //El numero de puerto al cual se encuentra conectada la Controladora Fiscal
            axPrinterFiscal2.BaudRate = "9600";

            axPrinterFiscal2.SendInvoiceItem(ref articulo, ref cantidad, ref precioUnitario, ref iva, ref venta, ref bultos, ref bultos, ref parametroVacio, ref parametroVacio, ref parametroVacio, ref incremetoTasa, ref ImpuestosInternos);
            axPrinterFiscal2.GetInvoiceSubtotal(ref printer);
            double divisor=1.21;
            calculoMonto = ((Convert.ToDouble(cantidad) / 1000) * (Convert.ToDouble(precioUnitario) / 100));
            double netoIVA = calculoMonto / divisor;

            string monto = netoIVA.ToString();
            axPrinterFiscal2.SendInvoicePayment(ref pago, ref monto, ref tipoDocumentoFiscal);
            axPrinterFiscal2.CloseInvoice(ref tipoDocumentoFiscal, ref letraFactura, ref parametroVacio);


Pero con ello, obtengo la siguiente salida:

http://s2.subirimagenes.com/otros/previo/thump_9575026ejemo-tiquefactura.jpg

Por lo que NO consigo que el Total de la Venta siga siendo $75,00 (ya que la función agrega el 21% a ese total de 75, en lugar de simplemente discriminarlo) y que, además, me discrimine el valor del IVA (Neto de IVA: 61,98) tal y como lo expreso en el Punto 2.

Desde ya, agradezco cualquier opinión y/o sugerencia... Saludos a todos!

chargoy

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re:Emitir Tique-Factura (Comprobante "A") en Visual Studio con C#
« Respuesta #1 en: Viernes 6 de Mayo de 2016, 18:53 »
0
Hola greinoso

Por lo que puedo ver de forma rápida es que ocupas ref en los métodos y envias cada dato por separado, seria conveniente que utilices un objeto donde almacenar toda esa información (u objetos dependiendo cuantos estén involucrados) y enviar esos objetos al método.

Y también observo que utilizas ref en los métodos, esto sirve para enviar un valor como referencia osea que si el mpetodo cambia algo a la variable esta se ve reflejado fuera del método, tal vez tu problema radica desde ahí (para que tu en cada método apliques el IVA o no lo apliques).

Espero te sea de utilidad.