////*******************************************************************************
        ///NOMBRE DE LA FUNCIÓN:
        ///DESCRIPCIÓN:
        ///PARAMETROS:
        ///CREO:       MARIA CHANTAL ORIGEL SEGURA
        ///FECHA_CREO:
        ///MODIFICO:
        ///FECHA_MODIFICO:
        ///CAUSA_MODIFICACIÓN:
        ///*******************************************************************************
        private void Imprimir_Ticket(Cls_Mdl_Ventas Reporte_Datos, List <Cls_Mdl_Ventas> Detalles, DataTable Parametros)
        {
            try
            {
                CrearTicket ticket = new CrearTicket();
                //ticket.Imprimir_Logo();
                ticket.TextoIzquierda(" ");
                ticket.TextoCentro("CAFETERIA");
                //ticket.TextoCentro("'NEUROLOGOS'");
                if (Parametros.Rows.Count > 0)
                {
                    //ticket.TextoCentro("" + Parametros.Rows[0]["Domicilio"]);
                    //ticket.TextoCentro("" + Parametros.Rows[0]["RFC"]);
                    //ticket.TextoCentro("TEL." + Parametros.Rows[0]["Telefono"]);
                }
                ticket.TextoIzquierda(" ");
                ticket.TextoDerecha("Folio: " + Reporte_Datos.Folio);
                ticket.TextoIzquierda(" ");
                ticket.TextoIzquierda("Fecha:" + Reporte_Datos.Fecha + "     " + Reporte_Datos.Dia);
                ticket.TextoIzquierda("");
                //ticket.TextoIzquierda("Cliente:" + Reporte_Datos.Cliente);
                //ticket.TextoIzquierda("");
                ticket.EncabezadoVenta();
                ticket.lineasGuio();
                var Cont = Detalles.Count();

                for (var i = 0; i < Cont; i++)
                {
                    ticket.AgregaArticulo(System.Convert.ToDecimal(Detalles[i].Cantidad.ToString()), Detalles[i].Descripcion.ToString(), System.Convert.ToDecimal(Detalles[i].Precio.ToString()), System.Convert.ToDecimal(Detalles[i].Importe.ToString()));
                }

                ticket.lineasIgual();
                ticket.AgregarTotales("          Subtotal : $ ", System.Convert.ToDecimal(Reporte_Datos.Subtotal));
                ticket.AgregarTotales("          IVA  : $ ", System.Convert.ToDecimal(Reporte_Datos.IVA));
                ticket.TextoIzquierda(" ");
                ticket.AgregarTotales("          TOTAL       : $ ", System.Convert.ToDecimal(Reporte_Datos.Total));
                ticket.TextoIzquierda(" ");
                ticket.TextoIzquierda("Este ticket forma parte de la factura");
                ticket.TextoIzquierda("global del dia ");
                ticket.TextoIzquierda(" ");
                ticket.TextoCentro("GRACIAS POR SU COMPRA");
                ticket.TextoCentro("VUELVA PRONTO");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.TextoIzquierda("");
                ticket.CortaTicket();
                ticket.ImprimirTicket("" + Parametros.Rows[0]["Impresora"]);
            }
            catch (Exception ex)
            {
                //throw new Exception(ex.Message);
            }
        }
Beispiel #2
0
        public static void Tkt(int idVenta, List <Entidades.ListaProductoVenta> listaProducto)
        {
            CrearTicket ticket = new CrearTicket();

            //if (venta.Comprobante.Cae_afip != null && venta.Comprobante.Cae_afip != "")
            //ticket.Encabezado(venta.Comprobante.Numero_comprobante, true);
            if (idVenta > 0)
            {
                ticket.Encabezado(Convert.ToString(idVenta), false);
            }
            //else
            //    ticket.Encabezado(venta.IdVenta.ToString(), false);
            foreach (var item in listaProducto)
            {
                double ProductoMontoTotal = Convert.ToDouble(item.Cantidad * item.PrecioVenta);
                ticket.AgregaArticulo(item.NombreProducto, item.Cantidad, Convert.ToDouble(item.PrecioVenta), ProductoMontoTotal);
            }
            //if (venta.Comprobante.Cae_afip != null && venta.Comprobante.Cae_afip != "")
            //ticket.AgregaTotales(venta.Total, venta.Comprobante.Cae_afip, venta.Comprobante.Fecha_vto_cae_afip.Value.ToShortDateString());

            //ticket.AgregaTotales(Convert.ToDouble(listaProductos[0].PrecioVentaFinal), null, null);
            //else
            ticket.AgregaTotales(Convert.ToDouble(listaProductos[0].PrecioVentaFinal), null, null);
        }
        ////*******************************************************************************
        ///NOMBRE DE LA FUNCIÓN:
        ///DESCRIPCIÓN:
        ///PARAMETROS:
        ///CREO:       MARIA CHANTAL ORIGEL SEGURA
        ///FECHA_CREO:
        ///MODIFICO:
        ///FECHA_MODIFICO:
        ///CAUSA_MODIFICACIÓN:
        ///*******************************************************************************
        private void Imprimir_Ticket(Cls_Mdl_Ventas Reporte_Datos, List <Cls_Mdl_Ventas> Detalles, List <Cls_Mdl_Ventas> Cajas, DataTable Parametros)
        {
            try
            {
                for (int j = 0; j < 2; j++)
                {
                    CrearTicket ticket = new CrearTicket();
                    //ticket.Imprimir_Logo();
                    ticket.TextoIzquierda(" ");
                    ticket.TextoCentro("JITOMATES");
                    ticket.TextoCentro("'RIO GRANDE'");
                    if (Parametros.Rows.Count > 0)
                    {
                        //ticket.TextoCentro("" + Parametros.Rows[0]["Domicilio"]);
                        //ticket.TextoCentro("" + Parametros.Rows[0]["RFC"]);
                        //ticket.TextoCentro("TEL." + Parametros.Rows[0]["Telefono"]);
                    }
                    ticket.TextoIzquierda(" ");
                    ticket.TextoDerecha("Folio: " + Reporte_Datos.Folio);
                    ticket.TextoIzquierda(" ");
                    ticket.TextoIzquierda("Fecha:" + Reporte_Datos.Fecha + "     " + Reporte_Datos.Dia);
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("Cliente:" + Reporte_Datos.Cliente);
                    ticket.TextoIzquierda("");
                    ticket.EncabezadoVenta();
                    ticket.lineasGuio();
                    var Cont = Detalles.Count();

                    for (var i = 0; i < Cont; i++)
                    {
                        ticket.AgregaArticulo(System.Convert.ToDecimal(Detalles[i].Cantidad.ToString()), Detalles[i].Descripcion.ToString(), System.Convert.ToDecimal(Detalles[i].Costo_Unitario.ToString()), System.Convert.ToDecimal(Detalles[i].Importe.ToString()));
                    }

                    ticket.lineasIgual();
                    //ticket.AgregarTotales("          Subtotal : $ ", System.Convert.ToDecimal(Reporte_Datos.Subtotal));
                    //ticket.AgregarTotales("          IVA  : $ ", System.Convert.ToDecimal(Reporte_Datos.Precio_IVA));
                    ticket.TextoIzquierda(" ");
                    ticket.AgregarTotales("          TOTAL       : $ ", System.Convert.ToDecimal(Reporte_Datos.Total_Vendido));
                    ticket.TextoIzquierda(" ");
                    ticket.TextoIzquierda("Este ticket forma parte de la factura");
                    ticket.TextoIzquierda("global del dia ");
                    ticket.TextoIzquierda(" ");
                    ticket.TextoCentro("GRACIAS POR SU COMPRA");
                    ticket.TextoCentro("VUELVA PRONTO");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("");
                    ticket.CortaTicket();
                    ticket.ImprimirTicket("" + Parametros.Rows[0]["Impresora"]);

                    if (Cajas.Count > 0)
                    {
                        CrearTicket ticket_caja = new CrearTicket();
                        //ticket.Imprimir_Logo();
                        ticket_caja.TextoIzquierda(" ");
                        ticket_caja.TextoCentro("JITOMATES");
                        ticket_caja.TextoCentro("'RIO GRANDE'");
                        if (Parametros.Rows.Count > 0)
                        {
                            //ticket_caja.TextoCentro("" + Parametros.Rows[0]["Domicilio"]);
                            //ticket_caja.TextoCentro("" + Parametros.Rows[0]["RFC"]);
                            //ticket_caja.TextoCentro("TEL." + Parametros.Rows[0]["Telefono"]);
                        }
                        ticket_caja.TextoIzquierda(" ");
                        ticket_caja.TextoDerecha("Folio: " + Reporte_Datos.Folio);
                        ticket_caja.TextoIzquierda(" ");
                        ticket_caja.TextoIzquierda("Fecha:" + Reporte_Datos.Fecha + "     " + Reporte_Datos.Dia);
                        ticket_caja.TextoIzquierda("");
                        ticket_caja.TextoIzquierda("Cliente:" + Reporte_Datos.Cliente);
                        ticket_caja.TextoIzquierda("");
                        ticket_caja.EncabezadoVenta_cajas();
                        ticket_caja.lineasGuio();
                        var Con = Cajas.Count();

                        for (var i = 0; i < Con; i++)
                        {
                            ticket_caja.AgregaArticulo_Caja(System.Convert.ToDecimal(Cajas[i].Cajas_Cantidad.ToString()), Cajas[i].Cajas_Descripcion.ToString());
                        }

                        ticket_caja.lineasIgual();
                        //ticket_caja.AgregarTotales("          Subtotal : $ ", System.Convert.ToDecimal(Reporte_Datos.Subtotal));
                        //ticket_caja.AgregarTotales("          IVA  : $ ", System.Convert.ToDecimal(Reporte_Datos.Precio_IVA));
                        ticket_caja.TextoIzquierda(" ");
                        ticket_caja.AgregarTotales("          IMPORTE QUE DEJA       : $ ", System.Convert.ToDecimal(Reporte_Datos.Importe_Cajas));
                        ticket_caja.TextoIzquierda(" ");
                        ticket_caja.TextoCentro("VUELVA PRONTO");
                        ticket_caja.TextoIzquierda("");
                        ticket_caja.TextoIzquierda("");
                        ticket_caja.TextoIzquierda("");
                        ticket_caja.TextoIzquierda("");
                        ticket_caja.TextoIzquierda("");
                        ticket_caja.CortaTicket();
                        ticket_caja.ImprimirTicket("" + Parametros.Rows[0]["Impresora"]);
                    }
                }
            }
            catch (Exception ex)
            {
                //throw new Exception(ex.Message);
            }
        }
        private void Imprimirfact()
        {
            //Creamos una instancia d ela clase CrearTicket
            CrearTicket ticket = new CrearTicket();

            //Ya podemos usar todos sus metodos
            ticket.AbreCajon();//Para abrir el cajon de dinero.


            DateTime FECHA = Convert.ToDateTime(em.Fecha);
            int      tamañoencabezado = 0, tamañoPie = 0, cantItems = 0;

            //De aqui en adelante pueden formar su ticket a su gusto... Les muestro un ejemplo

            //Datos de la cabecera del Ticket.

            //c.DatosCliente()
            if (Program.BoolAutorizadoImprimir)
            {
                ticket.TextoCentro("EMPRESA: " + Program.nombreempresa);
                ticket.TextoCentro("RUC: " + Program.rucempresa);
                ticket.TextoIzquierda(Program.direccionempresa);
                ticket.TextoIzquierda("Valido: " + FECHA.ToShortDateString() + " Hasta: " + FECHA.Date.AddYears(1).ToShortDateString());
                ticket.TextoIzquierda("Clave: 4530000");
            }
            else if (Program.BoolPreimpresa)
            {
                //TAMANOENCABEZADOFACTURA-TAMANOPIEFACTURA-NUMEROITEMS
                String   PreimpresaDatos = Program.DatosPreimpresa;
                string[] Preimpresa      = PreimpresaDatos.Split('-');
                tamañoencabezado = Convert.ToInt32(Preimpresa[0]);
                tamañoPie        = Convert.ToInt32(Preimpresa[1]);
                cantItems        = Convert.ToInt32(Preimpresa[2]);
                //((tamañoencabezado * 2) + 1) ---> 2 = 1cm son dos lineas --- 1 = para completar el centimetro
                for (int i = 1; i <= ((tamañoencabezado * 2) + 1); i++)
                {
                    ticket.TextoCentro("");
                }
            }


            ticket.TextoIzquierda("        Factura: " + int.Parse(txtSucursal.Text).ToString("D3") + "-" + int.Parse(txtCaja.Text).ToString("D3") + "-" + int.Parse(txtNumFact.Text).ToString("D9"));
            ticket.TextoIzquierda("         Informacion del Consumidor");//Es el mio por si me quieren contactar ...
            ticket.TextoIzquierda("RUC: " + em.Identificacion);
            ticket.TextoIzquierda("Cliente: " + em.NombresCliente);
            ticket.TextoIzquierda("Facturado: " + em.NombreUsuario);
            ticket.TextoIzquierda("Fecha: " + em.Fecha + "          " + em.Hora);

            if (detapago[0] != "0" && detapago[1] != "0" && detapago[2] != "0")
            {
                ticket.TextoIzquierda("Tipo de pago: Efectivo - Cheque - T. Credito");
            }
            else
            {
                if (detapago[1] != "0" && detapago[2] != "0")
                {
                    ticket.TextoIzquierda("Tipo de pago: Cheque - T. Credito");
                }
                else
                {
                    if (detapago[2] != "0" && detapago[0] != "0")
                    {
                        ticket.TextoIzquierda("Tipo de pago: Efectivo - T. Credito");
                    }
                    else
                    {
                        if (detapago[0] != "0" && detapago[1] != "0")
                        {
                            ticket.TextoIzquierda("Tipo de pago: Efectivo - Cheque");
                        }
                        else
                        {
                            if (detapago[0] != "0")
                            {
                                ticket.TextoIzquierda("Tipo de pago: Efectivo");
                            }
                            else
                            {
                                if (detapago[1] != "0")
                                {
                                    ticket.TextoIzquierda("Tipo de pago: Cheque");
                                }
                                else
                                {
                                    if (detapago[2] != "0")
                                    {
                                        ticket.TextoIzquierda("Tipo de pago: T. Credito");
                                    }
                                }
                            }
                        }
                    }
                }
            }

            //ticket.TextoIzquierda("Forma de pago: " + pago);
            ticket.lineasAsteriscos();

            //Articulos a vender.
            ticket.EncabezadoVenta();//NOMBRE DEL ARTICULO, CANT, PRECIO, IMPORTE
            ticket.lineasAsteriscos();
            double ivasuma = 0.0f, subtotal = 0.0f, subtotaconiva = 0.0f, totaapagar = 0.0f, Subtotaltotalpago = 0.0f;

            //Si tiene una DataGridView donde estan sus articulos a vender pueden usar esta manera para agregarlos al ticket.
            for (int i = 0; i < p.Count; i++)//dgvLista es el nombre del datagridview
            {
                double total = 0.0f, iva = 0.0f;
                total = p[i].Preciopublico_sin_iva * p[i].Cantidad;
                if (p[i].Iva == 12)
                {
                    iva     = ((p[i].Preciopublico_sin_iva * p[i].Cantidad) * p[i].Iva) / 100;
                    ivasuma = iva;
                    ticket.AgregaArticulo("*" + p[i].Nombreproducto, p[i].Cantidad,
                                          Convert.ToSingle(p[i].Preciopublico_sin_iva).ToString("#####0.00"), total.ToString("#####0.00"));
                    //subtotaconiva += total + iva;
                    subtotaconiva += p[i].Preciopublico_sin_iva;
                }
                else
                {
                    ticket.AgregaArticulo(" " + p[i].Nombreproducto, p[i].Cantidad,
                                          Convert.ToSingle(p[i].Preciopublico_sin_iva).ToString("#####0.00"), Convert.ToSingle(total).ToString("#####0.00"));
                    subtotal += total;
                }
                Subtotaltotalpago += total;
                totaapagar        += total + iva;
            }

            ticket.lineasAsteriscos();
            //Resumen de la venta. Sólo son ejemplos
            //Resumen de la venta. Sólo son ejemplos
            ticket.AgregarTotales("SUBTOTAL 0% ", subtotal);
            ticket.AgregarTotales("SUBTOTAL 12% ", subtotaconiva);
            ticket.AgregarTotales("Descuento", Convert.ToDouble(detapago[3]));
            ticket.AgregarTotales("Iva 12%  ", Convert.ToDouble(detapago[4]));
            ticket.AgregarTotales("Total a pagar", totaapagar);

            if (detapago[0] != "0" && detapago[1] != "0" && detapago[2] != "0")
            {
                ticket.TextoIzquierda("Efectivo:  $" + detapago[0]);
                ticket.TextoIzquierda("Cheque:    $" + detapago[1]);
                ticket.TextoIzquierda("T. Credito $: " + detapago[2]);
                ticket.TextoIzquierda("Recibido: $" + Convert.ToSingle(detapago[5]).ToString("#####0.00") + " Cambio: $" + Convert.ToSingle(detapago[6]).ToString("#####0.00"));
            }
            else
            {
                if (detapago[1] != "0" && detapago[2] != "0")
                {
                    //ticket.TextoIzquierda("Cheque:  $" + txtEfectivo.Text);
                    ticket.TextoIzquierda("Cheque:    $" + detapago[1]);
                    ticket.TextoIzquierda("T. Credito $: " + detapago[2]);
                    ticket.TextoIzquierda("Recibido: $" + Convert.ToSingle(detapago[5]).ToString("#####0.00") + " Cambio: $" + Convert.ToSingle(detapago[6]).ToString("#####0.00"));
                }
                else
                {
                    if (detapago[2] != "0" && detapago[0] != "0")
                    {
                        ticket.TextoIzquierda("Efectivo:  $" + detapago[0]);
                        //ticket.TextoIzquierda("Cheque:    $" + txtCheque.Text);
                        ticket.TextoIzquierda("T. Credito $: " + detapago[2]);
                        ticket.TextoIzquierda("Recibido: $" + Convert.ToSingle(detapago[5]).ToString("#####0.00") + " Cambio: $" + Convert.ToSingle(detapago[6]).ToString("#####0.00"));
                    }
                    else
                    {
                        if (detapago[0] != "0" && detapago[1] != "0")
                        {
                            ticket.TextoIzquierda("Efectivo:  $" + detapago[0]);
                            ticket.TextoIzquierda("Cheque:    $" + detapago[1]);
                            // ticket.TextoIzquierda("T. Credito $: " + txtCredito.Text);
                            ticket.TextoIzquierda("Recibido: $" + Convert.ToSingle(detapago[5]).ToString("#####0.00") + " Cambio: $" + Convert.ToSingle(detapago[6]).ToString("#####0.00"));
                        }
                        else
                        {
                            if (detapago[0] != "0")
                            {
                                ticket.TextoIzquierda("Efectivo:  $" + detapago[0]);
                                ticket.TextoIzquierda("Recibido: $" + Convert.ToSingle(detapago[5]).ToString("#####0.00") + " Cambio: $" + Convert.ToSingle(detapago[6]).ToString("#####0.00"));
                            }
                            else
                            {
                                if (detapago[1] != "0")
                                {
                                    ticket.TextoIzquierda("Cheque:    $" + detapago[1]);
                                    ticket.TextoIzquierda("Recibido: $" + Convert.ToSingle(detapago[5]).ToString("#####0.00") + " Cambio: $" + Convert.ToSingle(detapago[6]).ToString("#####0.00"));
                                }
                                else
                                {
                                    if (detapago[2] != "0")
                                    {
                                        ticket.TextoIzquierda("T. Credito $: " + detapago[2]);
                                        ticket.TextoIzquierda("Recibido: $" + Convert.ToSingle(detapago[5]).ToString("#####0.00") + " Cambio: $" + Convert.ToSingle(detapago[6]).ToString("#####0.00"));
                                    }
                                }
                            }
                        }
                    }
                }
            }



            ticket.TextoIzquierda("");
            ticket.TextoIzquierda("ARTICULOS VENDIDOS: " + p.Count);
            ticket.TextoIzquierda("");
            if (Program.BoolAutorizadoImprimir)
            {
                String   PIEFA = Program.piefactura;
                string[] PIES  = PIEFA.Split('\n');
                ticket.TextoCentro(PIES[0]);
                ticket.TextoCentro(PIES[1]);
                ticket.TextoCentro(PIES[2]);
                ticket.TextoCentro(PIES[3]);
            }
            ticket.TextoCentro("¡GRACIAS POR SU COMPRA!");
            ticket.CortaTicket();
            String ruta = @"\\AIRCONTROL\BodegaPedido";

            ticket.ImprimirTicket(ruta);
            //ticket.ImprimirTicket("Generic / Text Only");//Nombre de la impresora ticketera
        }
        private async void MethodGuardarVenta()
        {
            await Task.Factory.StartNew(() =>
            {
                try
                {
                    ESGR_Venta.CuentasXML = MethodCuentasXML();
                    ESGR_Venta.DetalleXML = MethodDetalleXML();
                    new BSGR_Venta().TransVenta(ESGR_Venta);

                    if (OpcionGuardado == "VR")
                    {
                        var CollectionMSGR_PedidoDetalle = new BSGR_PedidoDetalle().GetCollectionPedidoDetalle(ESGR_Venta.ESGR_Pedido);
                        #region REALIZA IMPRESION

                        CrearTicket ticket = new CrearTicket();
                        ticket.TextoCentro(SGRVariables.ESGR_Usuario.ESGR_Empresa.RazonSocial);
                        ticket.TextoIzquierda("RUC:   " + SGRVariables.ESGR_Usuario.ESGR_Empresa.Ruc);
                        ticket.TextoIzquierda("DIREC: " + SGRVariables.ESGR_Usuario.ESGR_Empresa.DireccionFiscal);
                        ticket.TextoIzquierda("TELEF: " + SGRVariables.ESGR_Usuario.ESGR_Empresa.Telefono);
                        ticket.TextoIzquierda("");
                        ticket.lineasIgual();
                        ticket.TextoIzquierda("");
                        ticket.TextoDerecha("Ticket #001-" + ESGR_Venta.ESGR_Pedido.IdPedido.ToString("00000#"));
                        ticket.TextoIzquierda(SGRVariables.ESGR_Usuario.ESGR_Perfil.NombrePerfil + ": " + SGRVariables.ESGR_Usuario.IdUsuario + " " + SGRVariables.ESGR_Usuario.Nombres);
                        ticket.TextoExtremos("Fecha: " + DateTime.Now.ToShortDateString(), "Hora: " + DateTime.Now.ToShortTimeString());
                        ticket.TextoExtremos("Mesa: " + ESGR_Venta.ESGR_Pedido.Identificador, "Personas: " + ESGR_Venta.ESGR_Pedido.Cubierto);
                        ticket.TextoIzquierda("");
                        ticket.lineasIgual();
                        ticket.TextoIzquierda("");
                        //Articulos a vender.
                        ticket.EncabezadoVenta();//NOMBRE DEL ARTICULO, CANT, PRECIO, IMPORTE
                        ticket.lineasGuion();
                        foreach (var item in CollectionMSGR_PedidoDetalle)
                        {
                            ticket.AgregaArticulo(item.ESGR_Producto.Producto, (int)item.Cantidad, (decimal)item.ESGR_Producto.Precio, ((int)item.Cantidad * (decimal)item.ESGR_Producto.Precio));
                        }
                        ticket.lineasGuion();
                        decimal Total = CollectionMSGR_PedidoDetalle.Sum(x => ((int)x.Cantidad * (decimal)x.ESGR_Producto.Precio));
                        ticket.AgregarTotales("         TOTAL S/", Total);
                        ticket.TextoIzquierda("");
                        ticket.TextoIzquierda("Razon Social:");
                        ticket.lineasSubGuion();
                        ticket.lineasSubGuion();
                        ticket.TextoIzquierda("RUC:");
                        ticket.lineasSubGuion();
                        ticket.TextoIzquierda("Direccion:");
                        ticket.lineasSubGuion();
                        ticket.lineasSubGuion();
                        ticket.TextoIzquierda("");
                        ticket.TextoCentro("¡ GRACIAS POR SU PREFERENCIA !");
                        ticket.TextoIzquierda("ESTE NO ES UN COMPROBANTE FISCAL CANJEAR POR BOLETA O FACTURA");

                        if (SGRVariables.NotificacionPreCuenta != null && SGRVariables.NotificacionPreCuenta.Trim().Length != 0)
                        {
                            ticket.TextoIzquierda("");
                            ticket.lineasAsteriscos();
                            ticket.TextoIzquierda("");
                            ticket.TextoIzquierda(SGRVariables.NotificacionPreCuenta);
                            ticket.TextoIzquierda("");
                        }

                        ticket.ImprimirTicket(SGRVariables.ImpresoraCaja);

                        #endregion
                    }

                    CmpMessageBox.Show(SGRMessage.AdministratorVenta, SGRMessageContent.ContentSaveOK, CmpButton.Aceptar, () => Volver(null));
                }
                catch (Exception ex)
                {
                    CmpMessageBox.Show(SGRMessage.AdministratorVenta, ex.Message, CmpButton.Aceptar);
                }
            });
        }
Beispiel #6
0
        private void CrearTicket()
        {
            //Creamos una instancia d ela clase CrearTicket
            CrearTicket ticket;

            //NECESITO UN METODO QUE ME RECUPERE FILA Y COLUMA SEGUN EL ID DEL ASIENTO, TIPO DE BOLETO ETC..
            for (int i = 0; i < total_asientos; i++)
            {
                ticket = new CrearTicket();
                decimal precio_bol = 0;
                string  tipo_bol   = "";
                string  fila       = "";
                string  columna    = "";
                asientos.RecupDatos(com, i);
                int id = asientos.id_boleto[i];
                foreach (var x in det.getDetalles_Compra(id, com))
                {
                    tipo_bol = x.tipo_bol_nom;
                    fila     = x.fila;
                    columna  = x.columna;

                    if (tipo_bol == "Niño" || tipo_bol == "Adulto (Mayor 60)")
                    {
                        precio_bol = 30M + asientos.prec_sala;
                    }
                    else if (tipo_bol == "Adulto")
                    {
                        precio_bol = 40M + asientos.prec_sala;
                    }


                    #region BoletosImprimir
                    //Ya podemos usar todos sus metodos
                    ticket.AbreCajon();//Para abrir el cajon de dinero.

                    //De aqui en adelante pueden formar su ticket a su gusto... Les muestro un ejemplo

                    //Datos de la cabecera del Ticket.
                    ticket.TextoCentro("CINEXCESO");
                    ticket.TextoIzquierda("EXPEDIDO EN: LOCAL PRINCIPAL");
                    ticket.TextoIzquierda("DIREC: DIRECCION DE LA EMPRESA");
                    ticket.TextoIzquierda("TELEF: 4530000");
                    ticket.TextoIzquierda("R.F.C: XXXXXXXXX-XX");
                    ticket.TextoIzquierda("EMAIL: [email protected]");//Es el mio por si me quieren contactar ...
                    ticket.TextoIzquierda("");
                    ticket.TextoExtremos("Caja # 1", "Ticket # 002-00000" + i + "" + "0" + "0");
                    ticket.lineasAsteriscos();

                    //Sub cabecera.
                    ticket.TextoIzquierda("");
                    ticket.TextoIzquierda("ATENDIÓ: ALAN JOSÉ COLLI TUN");
                    ticket.TextoIzquierda("CLIENTE: PUBLICO EN GENERAL");
                    ticket.TextoIzquierda("");
                    ticket.TextoExtremos("FECHA: " + DateTime.Now.ToShortDateString(), "HORA: " + DateTime.Now.ToShortTimeString());
                    ticket.lineasAsteriscos();

                    //Articulos a vender.
                    ticket.EncabezadoVenta();//NOMBRE DEL ARTICULO, CANT, PRECIO, IMPORTE

                    ticket.AgregaArticulo(fun.nombre_peli, fun.NUM_SALA.ToString(), fun.Hora_ini, precio_bol);
                    ticket.TextoIzquierda("Asiento: " + fila + "" + columna);
                    ticket.TextoIzquierda("Sala: " + "" + fun.NUM_SALA + "");
                    ticket.TextoIzquierda(tipo_bol);
                    ticket.lineasIgual();

                    //Resumen de la venta. Sólo son ejemplos
                    ticket.AgregarTotales("         SUBTOTAL......$", precio_bol);
                    ticket.AgregarTotales("         TOTAL NETO....$", TOT);//La M indica que es un decimal en C#
                    ticket.TextoIzquierda("");
                    ticket.AgregarTotales("         EFECTIVO......$", pago_cli);
                    ticket.AgregarTotales("         CAMBIO........$", CAMBIO);
                    //Texto final del Ticket.
                    ticket.TextoIzquierda("");
                    ticket.TextoCentro("¡DISFRUTE LA FUNCIÓN!");
                    ticket.CortaTicket();
                    ticket.GuardarTicket(i);
                    //ticket.ImprimirTicket("Microsoft XPS Document Writer");//Nombre de la impresora ticketera
                    #endregion
                }
            }
        }
Beispiel #7
0
        private void button2_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(txtTicket.Text))
            {
                CrearTicket ticket = new CrearTicket();

                ConexBD cn1 = new ConexBD();
                cn1.Conectar();

                ticket.TextoCentro("LAVANDERIA SAN ISIDRO S.A");
                ticket.TextoIzquierda("");
                MySqlCommand _comando1 = new MySqlCommand(String.Format(
                                                              "SELECT o.idOrden,c.dniCliente,c.nombreCliente,o.fechaCreado,o.fechaEntrega, o.totalOrden,o.descuento,(l.total-o.`totalOrden`) dscto ,o.aplicaDscto,l.cantidad,l.precio,l.descripcion,l.total,l.colorPrenda,l.marca,l.defecto,p.pago1,p.pago2,u.direccion,u.telefono,u.impresora,p.tipoPago1,o.express,o.delivery FROM Orden o INNER JOIN Cliente c ON o.idCliente=c.idCliente INNER JOIN Pago p ON o.idOrden=p.idOrden INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN usuario u ON u.id=o.idUsuario WHERE o.idOrden={0}", txtTicket.Text), cn1.ObtenerConexion());
                ConexBD cn2 = new ConexBD();
                cn2.Conectar();
                MySqlCommand _comando = new MySqlCommand(String.Format(
                                                             "SELECT o.idOrden,c.dniCliente,c.nombreCliente,o.fechaCreado,o.fechaEntrega, o.totalOrden,l.cantidad,l.precio,l.descuento,l.descripcion,l.total,l.colorPrenda,l.marca,l.defecto,p.pago1,p.pago2,u.direccion,u.telefono,u.impresora,p.tipoPago1,o.garantia,o.express,o.delivery FROM Orden o INNER JOIN Cliente c ON o.idCliente=c.idCliente INNER JOIN Pago p ON o.idOrden=p.idOrden INNER JOIN OrdenLinea l ON o.idOrden=l.idOrden INNER JOIN usuario u ON u.id=o.idUsuario WHERE o.idOrden={0}", txtTicket.Text), cn2.ObtenerConexion());
                MySqlDataReader _reader1 = _comando1.ExecuteReader();
                MySqlDataReader _reader  = _comando.ExecuteReader();
                _reader1.Read();
                ticket.TextoIzquierda("DIRECCION: " + _reader1.GetString(18).ToUpper());
                ticket.TextoIzquierda("HORARIO: LUNES A VIERNES DE 8:00AM");
                ticket.TextoIzquierda(" A 8:00PM Y SABADO DE 8:00AM A 7:00PM");
                ticket.TextoIzquierda("TELEF: " + _reader1.GetString(19));
                ticket.TextoIzquierda("WEB:LAVANDERIASANISIDRO.COM");
                ticket.lineasIgual();
                ticket.TextoIzquierda("CLIENTE: " + _reader1.GetString(2).ToUpper());
                if (!_reader1.GetString(1).Equals(""))
                {
                    ticket.TextoIzquierda("DNI: " + _reader1.GetString(1));
                }
                ticket.TextoIzquierda("FECHA DE ORDEN: " + _reader1.GetString(3));
                ticket.TextoIzquierda("FECHA DE ENTREGA: " + _reader1.GetString(4).Substring(0, 10));
                ticket.TextoExtremos("NRO DE ORDEN:", "Ticket # " + _reader1.GetString(0));

                ticket.lineasAsteriscos();
                ticket.EncabezadoVenta();
                ticket.lineasAsteriscos();
                decimal totalSinDescuento = 0;
                decimal cargoVisa         = 0;

                if (_reader1.GetDecimal(21) == 1)
                {
                    cargoVisa = 5;
                }
                while (_reader.Read())
                {
                    ticket.AgregaArticulo(_reader.GetString(9), _reader.GetDecimal(6), _reader.GetDecimal(7), _reader.GetDecimal(10));
                    if (!_reader.GetString(11).Equals("") || !_reader.GetString(12).Equals("") || !_reader.GetString(13).Equals(""))
                    {
                        ticket.TextoExtremos(_reader.GetString(11) + " " + _reader.GetString(12), _reader.GetString(13));
                    }
                    if (_reader1.GetDecimal(8) > 0 && _reader.GetDecimal(8) > 0)
                    {
                        ticket.TextoExtremos("PROM DSCTO -" + _reader1.GetDecimal(6) + "%  ", " - " + (Decimal.Round(Decimal.Round((Convert.ToDecimal(_reader.GetDecimal(10))), 2) * _reader1.GetDecimal(6) / 100, 2)));
                    }
                    totalSinDescuento += _reader.GetDecimal(10);
                    ticket.lineasGuio();
                }

                ticket.lineasAsteriscos();

                if (_reader1.GetDecimal(6) > 0)
                {
                    if (_reader1.GetDecimal(8) > 0)
                    {
                        ticket.AgregarTotales("            TOTAL..........S/.", _reader.GetDecimal(14));
                    }
                    else
                    {
                        ticket.AgregarTotales("            TOTAL..........S/.", totalSinDescuento);
                    }

                    //  ticket.AgregarTotales("            DESCUENTO.." + (_reader1.GetDecimal(6) - cargoVisa) + "%.", (totalSinDescuento - _reader1.GetDecimal(5)));
                }
                else
                {
                    if (_reader1.GetDecimal(23) > 0)
                    {
                        ticket.TextoDerecha("              SERVICIO DELIVERY");
                    }
                    if (_reader1.GetDecimal(22) > 0)
                    {
                        ticket.TextoDerecha("              SERVICIO EXPRESS 50% +");
                    }
                    ticket.AgregarTotales("            TOTAL..........S/.", _reader.GetDecimal(5));
                }



                ticket.AgregarTotales("            A CUENTA.......S/.", _reader.GetDecimal(14));//La M indica que es un decimal en C#
                ticket.AgregarTotales("            SALDO..........S/.", _reader.GetDecimal(15));
                ticket.TextoIzquierda("");
                if (_reader.GetInt32(19) == 1)
                {
                    ticket.TextoCentro("Prendas sin garantía");
                }
                ticket.TextoCentro("¡GRACIAS POR SU PREFERENCIA!");
                ticket.CortaTicket();
                ticket.ImprimirTicket(_reader1.GetString(20));

                _comando.Connection.Close();
                _comando1.Connection.Close();
                cn1.cerrarConexion();
                cn2.cerrarConexion();
            }
            else
            {
                MessageBox.Show("Debe ingresar un Numero de Orden", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #8
0
        public void ImprimirTicket(string nombreNegocio, string direccion, string telefono, ref int numeroTickt, ref int numeroDetalle, ref List <DetallePedido> lista, string atencion, string nombreCliente)
        {
            //Creamos una instancia d ela clase CrearTicket
            CrearTicket ticket = new CrearTicket();

            //Ya podemos usar todos sus metodos
            ticket.AbreCajon();//Para abrir el cajon de dinero.

            //De aqui en adelante pueden formar su ticket a su gusto... Les muestro un ejemplo

            //Datos de la cabecera del Ticket.
            ticket.TextoCentro(nombreNegocio);
            ticket.TextoIzquierda("EXPEDIDO EN: LOCAL PRINCIPAL");
            ticket.TextoIzquierda("DIREC: " + direccion);
            ticket.TextoIzquierda("TELEF: " + telefono);
            //ticket.TextoIzquierda("R.F.C: XXXXXXXXX-XX");
            //ticket.TextoIzquierda("EMAIL: [email protected]");//Es el mio por si me quieren contactar ...
            ticket.TextoIzquierda("");
            ticket.TextoExtremos("Caja # 1", "Ticket # " + numeroTickt.ToString("D3") + "-" + numeroDetalle.ToString("D7"));
            ticket.lineasAsteriscos();

            //Sub cabecera.
            ticket.TextoIzquierda("");
            ticket.TextoIzquierda("ATENDIÓ: " + atencion);      // + nombreEmpleado meter variable
            ticket.TextoIzquierda("CLIENTE: " + nombreCliente); // + nombreCliente meter variable
            ticket.TextoIzquierda("");
            ticket.TextoExtremos("FECHA: " + DateTime.Now.ToShortDateString(), "HORA: " + DateTime.Now.ToShortTimeString());
            ticket.lineasAsteriscos();

            //Articulos a vender.
            ticket.EncabezadoVenta();//NOMBRE DEL ARTICULO, CANT, PRECIO, IMPORTE
            ticket.lineasAsteriscos();
            //Si tiene una DataGridView donde estan sus articulos a vender pueden usar esta manera para agregarlos al ticket.
            //foreach (DataGridViewRow fila in dgvLista.Rows)//dgvLista es el nombre del datagridview
            //{
            //ticket.AgregaArticulo(fila.Cells[2].Value.ToString(), int.Parse(fila.Cells[5].Value.ToString()),
            //decimal.Parse(fila.Cells[4].Value.ToString()), decimal.Parse(fila.Cells[6].Value.ToString()));
            //}
            foreach (DetallePedido item in lista)
            {
                ticket.AgregaArticulo(item.variedad, item.cantidad, item.precio, item.precio / item.cantidad);
            }
            //ticket.AgregaArticulo("Este es un nombre largo del articulo, para mostrar como se bajan las lineas", 1, 30, 30);
            ticket.lineasIgual();

            //Resumen de la venta. Sólo son ejemplos
            //ticket.AgregarTotales("         SUBTOTAL......$", 100);
            //ticket.AgregarTotales("         IVA...........$", 10.04M);//La M indica que es un decimal en C#
            ticket.AgregarTotales("         TOTAL.........$", lista.AsEnumerable().Sum(o => o.precio));
            ticket.TextoIzquierda("");
            // ticket.AgregarTotales("         EFECTIVO......$", 200);
            // ticket.AgregarTotales("         CAMBIO........$", 0);

            //Texto final del Ticket.
            //ticket.TextoIzquierda("");
            //ticket.TextoIzquierda("ARTÍCULOS VENDIDOS: 3");
            ticket.TextoIzquierda("");
            ticket.TextoCentro("¡GRACIAS POR SU COMPRA!");
            ticket.CortaTicket();
            ticket.ImprimirTicket("Microsoft XPS Document Writer");//Nombre de la impresora ticketera

            if (numeroDetalle <= 9999999)
            {
                numeroDetalle++;
            }
            else if (numeroTickt <= 999)
            {
                numeroTickt++;
                numeroDetalle = 1;
            }
            else
            {
                numeroTickt   = 1;
                numeroDetalle = 1;
            }
        }
Beispiel #9
0
        public static void Tkt(int idVenta, List <Entidades.ListaProductoVenta> listaProducto)
        {
            CrearTicket ticket = new CrearTicket();

            if (VentaConDescuento == true)
            {
                //if (venta.Comprobante.Cae_afip != null && venta.Comprobante.Cae_afip != "")
                //ticket.Encabezado(venta.Comprobante.Numero_comprobante, true);
                if (idVenta > 0)
                {
                    ticket.Encabezado(Convert.ToString(idVenta), false);
                }
                //else
                //    ticket.Encabezado(venta.IdVenta.ToString(), false);
                foreach (var item in listaProducto)
                {
                    double ProductoMontoTotal = Convert.ToDouble(item.Cantidad * item.PrecioVenta);
                    ticket.AgregaArticulo(item.NombreProducto, item.Cantidad, Convert.ToDouble(item.PrecioVenta), ProductoMontoTotal);
                }
                if (listaOfertasStatic.Count > 0)
                {
                    foreach (var item in listaOfertasStatic)
                    {
                        ticket.AgregarDescuentos(item.Descripcion, null, Convert.ToDouble(item.MontoDescuento), null);
                    }
                }
                if (Bonificaciones == true)
                {
                    ticket.AgregarDescuentos("BONIFICACION APLICADA", null, Convert.ToDouble(MontoBonificacion), null);
                }

                //if (venta.Comprobante.Cae_afip != null && venta.Comprobante.Cae_afip != "")
                //ticket.AgregaTotales(venta.Total, venta.Comprobante.Cae_afip, venta.Comprobante.Fecha_vto_cae_afip.Value.ToShortDateString());

                //ticket.AgregaTotales(Convert.ToDouble(listaProductos[0].PrecioVentaFinal), null, null);
                //else
                ticket.AgregaTotales(Convert.ToDouble(listaProductos[0].PrecioVentaFinal), null, null);
            }
            else
            {
                //if (venta.Comprobante.Cae_afip != null && venta.Comprobante.Cae_afip != "")
                //ticket.Encabezado(venta.Comprobante.Numero_comprobante, true);
                if (idVenta > 0)
                {
                    ticket.Encabezado(Convert.ToString(idVenta), false);
                }
                //else
                //    ticket.Encabezado(venta.IdVenta.ToString(), false);
                foreach (var item in listaProducto)
                {
                    double ProductoMontoTotal = Convert.ToDouble(item.Cantidad * item.PrecioVenta);
                    ticket.AgregaArticulo(item.NombreProducto, item.Cantidad, Convert.ToDouble(item.PrecioVenta), ProductoMontoTotal);
                }
                if (Bonificaciones == true)
                {
                    ticket.AgregarDescuentos("BONIFICACION APLICADA", null, Convert.ToDouble(MontoBonificacion), null);
                }
                //if (venta.Comprobante.Cae_afip != null && venta.Comprobante.Cae_afip != "")
                //ticket.AgregaTotales(venta.Total, venta.Comprobante.Cae_afip, venta.Comprobante.Fecha_vto_cae_afip.Value.ToShortDateString());

                //ticket.AgregaTotales(Convert.ToDouble(listaProductos[0].PrecioVentaFinal), null, null);
                //else
                ticket.AgregaTotales(Convert.ToDouble(listaProductos[0].PrecioVentaFinal), null, null);
            }
            Bonificaciones = false;
        }
Beispiel #10
0
        public override void Save()
        {
            bs.EndEdit();
            bsDoc.EndEdit();
            try
            {
                decimal total = 0;
                for (int i = 0; i <= dtDoc_Inv.Rows.Count - 1; i++) //no se puede con foreach por que al remover algunas filas daña las colas.
                {
                    DataRow drDIN = dtDoc_Inv.Rows[i];
                    if (!drDIN.HasVersion(DataRowVersion.Original) && drDIN["idInv"].Equals(DBNull.Value))
                    {
                        dtDoc_Inv.Rows.Remove(drDIN);
                        continue;
                    }
                    int     idInv    = TryInt(drDIN["idInv"]);
                    DataRow drInv    = dtInv.Rows.Find(idInv);
                    decimal cantidad = TryDec(drDIN["Cantidad"]);

                    decimal ExistenciaOri = TryDec(ExecuteScalar("SELECT Existencia FROM Inv WHERE idInv = " + gsql(idInv)));
                    decimal existenciaFut = ExistenciaOri - (cantidad - (drDIN.HasVersion(DataRowVersion.Original) ? TryDec(drDIN["Cantidad", DataRowVersion.Original]) : 0));
                    if (existenciaFut < 0)
                    {
                        ShowMsg("Uno o varios productos alcanzará un saldo negativo... corrígelo.", "Existencia Negativa", "error");
                        return;
                    }
                    else
                    {
                        drInv["Existencia"] = existenciaFut;
                    }
                    total += TryDec(drDIN["CostoT"]);;
                }

                dtDoc.Rows[0]["Total"] = total;

                if (chkPS.Checked)
                {
                    DataRow drDNI = null;
                    if (dtDNI.Rows.Count == 0)
                    {
                        drDNI             = dtDNI.NewRow();
                        drDNI["Cantidad"] = total;
                        drDNI["Saldo"]    = total - TryDec(txtAbono.Text);
                        dtDNI.Rows.Add(drDNI);
                    }
                    else
                    {
                        drDNI             = dtDNI.Rows[0];
                        drDNI["Cantidad"] = total;
                        drDNI["Saldo"]    = TryDec(versionOriginal(drDNI, "Saldo")) - TryDec(txtAbono.Text);
                    }
                }

                Update(ds);
                MessageBox.Show("Grabación Exitosa", "Información", MessageBoxButtons.OK);



                CrearTicket impresion = new CrearTicket();
                impresion.TextoIzquierda(" ");
                impresion.TextoCentro("Factura de Venta");
                impresion.TextoIzquierda(" ");
                impresion.TextoExtremos("FECHA : " + dtpFechaDoc.Text, "HORA : " + DateTime.Now.Hour.ToString());
                impresion.TextoIzquierda(" ");
                impresion.EncabezadoVenta();
                impresion.lineasGuio();

                foreach (DataRow dr in dtDoc_Inv.Rows)
                {
                    string  articulo = TryStr(dtProducto.Select("idProducto = " + gsql(dr["_idProducto"]))[0]["nomProducto"]) + " " + TryStr(dtCualidad.Select("idCualidad = " + gsql(dr["_idCualidad"]))[0]["nomCualidad"]) + " " + TryStr(dtTalla.Select("idTalla = " + gsql(dr["_idTalla"]))[0]["nomTalla"]);
                    int     cantidad = TryInt(dr["Cantidad"]);
                    decimal precio = TryDec(dr["CostoT"]), importe = 0;
                    impresion.AgregaArticulo(articulo, cantidad, precio, importe);
                }

                impresion.lineasIgual();
                impresion.AgregarTotales("          TOTAL         : $ ", total);
                //impresion.CortaTicket();

                impresion.ImprimirTicket("Enviar a OneNote 16");
                //impresion.ImprimirTicket("Microsoft Print to PDF");
                ds.Clear();
                New();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }