Пример #1
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
                }
            }
        }
        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
        }
Пример #3
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;
            }
        }