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 }
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; } }