Exemplo n.º 1
0
        private void btnCorte_Click(object sender, EventArgs e)
        {
            //crear corte x
            //se hace el corte x desde el ultimo corte que se haya hecho
            // int idUsuario = 2;//checar como meter al usuario por ahora solo es caja

            DataSet1TableAdapters.obtenerCorteXTableAdapter ocxta = new Paleteria.DataSet1TableAdapters.obtenerCorteXTableAdapter();
            DataTable dtCorte = ocxta.GetData(idUsuario, null);

            if (dtCorte.Rows.Count == 0)
            {
                MessageBox.Show("No existen datos para el corte", "Alerta");
                return;
            }
            try
            {
                int      idCorte      = (int)dtCorte.Rows[0]["idCorteX"];
                DateTime fecha        = (DateTime)dtCorte.Rows[0]["fecha"];
                decimal  totalVenta   = (decimal)dtCorte.Rows[0]["totalVenta"];
                decimal  totalRetiros = (decimal)dtCorte.Rows[0]["totalRetiros"];
                decimal  granTotal    = (decimal)dtCorte.Rows[0]["GranTotal"];
                DateTime fechaInicio  = (DateTime)dtCorte.Rows[0]["fechaInicio"];
                DateTime fechaFin     = (DateTime)dtCorte.Rows[0]["fechaFin"];
                decimal  inicialCaja  = (decimal)dtCorte.Rows[0]["inicialCaja"];

                DataSet1TableAdapters.QueriesTableAdapter qta = new Paleteria.DataSet1TableAdapters.QueriesTableAdapter();
                qta.meterCorteXDetalle(idUsuario, idCorte);

                string impresora     = qta.obtenerParametro("nombreImpresora");
                string nombreEmpresa = qta.obtenerParametro("nombreEmpresa");
                string leyenda       = qta.obtenerParametro("leyenda");
                string nombreUsuario = qta.obtenerNombreUsuario(idUsuario);
                Ticket tick          = new Ticket();
                if (!(tick.PrinterExists(impresora)))
                {
                    MessageBox.Show("La impresora no esta conectada", "Error");
                    return;
                }
                tick.AddHeaderLine(nombreEmpresa);



                tick.AddHeaderLine("Corte de Caja X ");

                tick.AddHeaderLine("Usuario: " + nombreUsuario);

                tick.AddHeaderLine("-------------------------");
                tick.AddHeaderLine("Hora Inicio: " + fechaInicio.ToString());

                tick.AddHeaderLine("-------------------------");
                tick.AddHeaderLine("Hora Fin: " + fechaFin.ToString());

                tick.AddHeaderLine("-------------------------");
                tick.AddHeaderLine("Inicial Caja: " + inicialCaja);

                tick.AddHeaderLine("-------------------------");
                tick.AddHeaderLine("Total Venta: " + totalVenta);

                tick.AddHeaderLine("-------------------------");
                tick.AddHeaderLine("Total Retiros: " + totalRetiros);

                tick.AddHeaderLine("-------------------------");
                tick.AddHeaderLine("Gran Total: " + granTotal);

                tick.AddFooterLine("Fecha: " + DateTime.Now.ToShortDateString());
                tick.AddFooterLine("Hora: " + DateTime.Now.ToShortTimeString());


                tick.AddFooterLine(leyenda);
                tick.PrintTicket(impresora);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }
        }
Exemplo n.º 2
0
        private void ImprimirTicket(int idVenta, decimal?pago, decimal?cambio)
        {
            try
            {
                DataSet1TableAdapters.QueriesTableAdapter               qta   = new Paleteria.DataSet1TableAdapters.QueriesTableAdapter();
                DataSet1TableAdapters.SP_tabla_ventaTableAdapter        tvta  = new Paleteria.DataSet1TableAdapters.SP_tabla_ventaTableAdapter();
                DataSet1TableAdapters.SP_tabla_ventaDetalleTableAdapter tvdta = new Paleteria.DataSet1TableAdapters.SP_tabla_ventaDetalleTableAdapter();

                string impresora     = qta.obtenerParametro("nombreImpresora");
                string nombreEmpresa = qta.obtenerParametro("nombreEmpresa");
                string sucursal      = qta.obtenerParametro("sucursal");
                string telefono      = qta.obtenerParametro("telefono");
                string leyenda       = qta.obtenerParametro("leyenda");
                string nombreUsuario = qta.obtenerNombreUsuario(idUsuario);
                string turno         = lblTurno.Text;

                DataTable venta        = tvta.GetData("F", idVenta, null, null);
                DataTable ventaDetalle = tvdta.GetData("F", null, null, null, null, idVenta);

                //crea la estructura del ticket
                Ticket tick = new Ticket();
                if (!(tick.PrinterExists(impresora)))
                {
                    MessageBox.Show("La impresora no esta conectada", "Error");
                    return;
                }

                tick.AddHeaderLine(nombreEmpresa);
                tick.AddHeaderLine(sucursal);
                tick.AddHeaderLine("Tel: " + telefono);

                tick.AddHeaderLine("Fecha: " + venta.Rows[0]["fechaHora"].ToString());

                tick.AddHeaderLine("Vendedor: " + qta.obtenerNombreUsuario(int.Parse(venta.Rows[0]["idUsuario"].ToString())).ToString());
                tick.AddHeaderLine("-------TURNO: " + turno + "---------");

                tick.AddHeaderLine("-------------------------");
                tick.AddHeaderLine("Cantidad Producto        ");
                tick.AddHeaderLine("   Precio        Subtotal");
                tick.AddHeaderLine("-------------------------");


                foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    //hacer que el producto no se imprima completo ya que solo son 25 caracteres por linea
                    // vamos a dejar 20 para el nombre y 5 para a cantidad
                    //por ahora lo hace con el grid que ya esta dibujado
                    decimal subtotal = decimal.Parse(row.Cells[2].Value.ToString()) * decimal.Parse(row.Cells[3].Value.ToString());
                    string  linea1   = row.Cells[2].Value.ToString() + "  " + row.Cells[1].Value.ToString();
                    string  linea2   = "   " + row.Cells[3].Value.ToString() + "        " + subtotal.ToString();

                    tick.AddHeaderLine(linea1);
                    tick.AddHeaderLine(linea2);
                }

                tick.AddHeaderLine("-------------------------");
                tick.AddHeaderLine("TOTAL: " + total);
                tick.AddHeaderLine("SU PAGO: " + pagot);
                tick.AddHeaderLine("SU CAMBIO: " + cambio);

                NumLetra numletra = new NumLetra();
                tick.AddFooterLine(numletra.Convertir(total.ToString(), false));
                tick.AddFooterLine(leyenda);
                tick.PrintTicket(impresora);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }
        }