private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { //formato para alinear los nuimeros a la derecha StringFormat formato = new StringFormat(); formato.Alignment = StringAlignment.Far; //formato.LineAlignment = StringAlignment.Far; //obtener la cadena del total a pagar string TotalPagarLetras = new TextFunctions().enletras(Total.ToString()); //validar boleta o factura #region Boleta if (Convert.ToInt16(CboTipoComprobante.SelectedValue) == 1)//es boleta { int sum = 0; sum += 12; e.Graphics.DrawString(lblCliente.Text, txtNumPedido.Font, Brushes.Black, 70 + AppSettings.BoletaEjeX, 156 + AppSettings.BoletaEjeY); //cliente if (lblDireccion.Text.Length >= 30) { e.Graphics.DrawString(lblDireccion.Text.Substring(0, 29), txtNumPedido.Font, Brushes.Black, 80 + AppSettings.BoletaEjeX, 186 + AppSettings.BoletaEjeY); //direccion larga } else { e.Graphics.DrawString(lblDireccion.Text, txtNumPedido.Font, Brushes.Black, 80 + AppSettings.BoletaEjeX, 186 + AppSettings.BoletaEjeY); //direccion corta } //e.Graphics.DrawString(null, txtNumPedido.Font, Brushes.Black, 40 + AppSettings.BoletaEjeX, 166 + AppSettings.BoletaEjeY); //canasta e.Graphics.DrawString(lblDocumento.Text, txtNumPedido.Font, Brushes.Black, 326 + AppSettings.BoletaEjeX, 186 + AppSettings.BoletaEjeY); //ruc o DNI e.Graphics.DrawString(DateTime.Now.Date.ToString().Substring(0, 10), txtNumPedido.Font, Brushes.Black, 240 + AppSettings.BoletaEjeX, 136 + AppSettings.BoletaEjeY); //dia e.Graphics.DrawString(NumComprobante.Substring(2), txtNumPedido.Font, Brushes.Black, 260 + AppSettings.BoletaEjeX, 117 + AppSettings.BoletaEjeY); //numero de comprobante int Suma = 238; foreach (DataRow Dr in dsPedido.Tables["detallePedido"].Rows) { e.Graphics.DrawString(Convert.ToDecimal(Dr["Cantidad"]).ToString("#,##0.00") + " " + "KG", txtNumPedido.Font, Brushes.Black, 65 + AppSettings.BoletaEjeX, Suma + AppSettings.BoletaEjeY, formato); //cantidad + UM e.Graphics.DrawString(Dr["NomProducto"].ToString(), txtNumPedido.Font, Brushes.Black, 75 + AppSettings.BoletaEjeX, Suma + AppSettings.BoletaEjeY); //descripcion o producto e.Graphics.DrawString(Convert.ToDecimal(Dr["PrecioUnitario"]).ToString("#,##0.00"), txtNumPedido.Font, Brushes.Black, 320 + AppSettings.BoletaEjeX, Suma + AppSettings.BoletaEjeY, formato); //precio unitario e.Graphics.DrawString(Convert.ToDecimal(Dr["Importe"]).ToString("#,##0.00"), txtNumPedido.Font, Brushes.Black, 380 + AppSettings.BoletaEjeX, Suma + AppSettings.BoletaEjeY, formato); //valor de venta Suma += 14; } e.Graphics.DrawString(lblTotPagar.Text, txtNumPedido.Font, Brushes.Black, 370 + AppSettings.BoletaEjeX, 450 + AppSettings.BoletaEjeY, formato); //total e.Graphics.DrawString(TotalPagarLetras, txtNumPedido.Font, Brushes.Black, 45 + AppSettings.BoletaEjeX, 424 + AppSettings.BoletaEjeY); //tatal pagar en letras } #endregion #region Factura else if (Convert.ToInt16(CboTipoComprobante.SelectedValue) == 2)//es factura { int sum = 0; sum += 12; e.Graphics.DrawString(lblCliente.Text, txtNumPedido.Font, Brushes.Black, 90 + AppSettings.FacturaEjeX, 117 + AppSettings.FacturaEjeY); //cliente //e.Graphics.DrawString(useCliente2.txtDireccion.Text, TxtPrecio.Font, Brushes.Black, 90 + AppSettings.FacturaEjeX, 157 + AppSettings.FacturaEjeY); //direccion if (lblDireccion.Text.Length >= 95) { e.Graphics.DrawString(lblDireccion.Text.Substring(0, 94), txtNumPedido.Font, Brushes.Black, 90 + AppSettings.FacturaEjeX, 157 + AppSettings.FacturaEjeY); //direccion } else { e.Graphics.DrawString(lblDireccion.Text, txtNumPedido.Font, Brushes.Black, 90 + AppSettings.FacturaEjeX, 157 + AppSettings.FacturaEjeY); //direccion } e.Graphics.DrawString(lblDocumento.Text, txtNumPedido.Font, Brushes.Black, 90 + AppSettings.FacturaEjeX, 182 + AppSettings.FacturaEjeY); //ruc o DNI e.Graphics.DrawString(DateTime.Now.Day.ToString(), txtNumPedido.Font, Brushes.Black, 570 + AppSettings.FacturaEjeX, 182 + AppSettings.FacturaEjeY); //dia e.Graphics.DrawString(DateTime.Now.ToString("MMMM"), txtNumPedido.Font, Brushes.Black, 650 + AppSettings.FacturaEjeX, 182 + AppSettings.FacturaEjeY); //mes e.Graphics.DrawString(DateTime.Now.Year.ToString().Substring(2), txtNumPedido.Font, Brushes.Black, 805 + AppSettings.FacturaEjeX, 182 + AppSettings.FacturaEjeY); //año e.Graphics.DrawString(NumComprobante.Substring(2), txtNumPedido.Font, Brushes.Black, 690 + AppSettings.FacturaEjeX, 147 + AppSettings.FacturaEjeY); //numero de comprobante int Suma = 230; foreach (DataRow Dr in dsPedido.Tables["detallePedido"].Rows) { e.Graphics.DrawString(Convert.ToDecimal(Dr["Cantidad"]).ToString("#,##0.00") + " " + "KG", txtNumPedido.Font, Brushes.Black, 80 + AppSettings.FacturaEjeX, Suma + AppSettings.FacturaEjeY, formato); //cantidad + UM e.Graphics.DrawString(Dr["NomProducto"].ToString(), txtNumPedido.Font, Brushes.Black, 110 + AppSettings.FacturaEjeX, Suma + AppSettings.FacturaEjeY); //descripcion o producto e.Graphics.DrawString(Convert.ToDecimal(Dr["PrecioUnitario"]).ToString("#,##0.00"), txtNumPedido.Font, Brushes.Black, 665 + AppSettings.FacturaEjeX, Suma + AppSettings.FacturaEjeY, formato); //precio unitario e.Graphics.DrawString(Convert.ToDecimal(Dr["Importe"]).ToString("#,##0.00"), txtNumPedido.Font, Brushes.Black, 790 + AppSettings.FacturaEjeX, Suma + AppSettings.FacturaEjeY, formato); //valor de venta Suma += 14; } e.Graphics.DrawString(lblSubTotal.Text, txtNumPedido.Font, Brushes.Black, 790 + AppSettings.FacturaEjeX, 427 + AppSettings.FacturaEjeY, formato); //subtotal e.Graphics.DrawString(lblIGV.Text, txtNumPedido.Font, Brushes.Black, 790 + AppSettings.FacturaEjeX, 447 + AppSettings.FacturaEjeY, formato); //igv e.Graphics.DrawString(lblTotPagar.Text, txtNumPedido.Font, Brushes.Black, 790 + AppSettings.FacturaEjeX, 477 + AppSettings.FacturaEjeY, formato); //total e.Graphics.DrawString(DateTime.Now.Day.ToString(), txtNumPedido.Font, Brushes.Black, 405 + AppSettings.FacturaEjeX, 457 + AppSettings.FacturaEjeY); //dia pie e.Graphics.DrawString(DateTime.Now.ToString("MMMM"), txtNumPedido.Font, Brushes.Black, 465 + AppSettings.FacturaEjeX, 457 + AppSettings.FacturaEjeY); //mes pie e.Graphics.DrawString(DateTime.Now.Year.ToString().Substring(2), txtNumPedido.Font, Brushes.Black, 545 + AppSettings.FacturaEjeX, 457 + AppSettings.FacturaEjeY); //año pie e.Graphics.DrawString(TotalPagarLetras, txtNumPedido.Font, Brushes.Black, 90 + AppSettings.FacturaEjeX, 407 + AppSettings.FacturaEjeY); //total pagar en letras } #endregion #region ticketera if (Convert.ToInt16(CboTipoComprobante.SelectedValue) == 3)//es ticket { //obtener datos de la empresa DataView DV = new DataView(Dtempresas); //string EmpresaID = "IH"; DV.RowFilter = "EmpresaID = '" + "GH" + "'"; string NomEmpresa = DV[0]["NomEmpresa"].ToString(); string RUC = DV[0]["RUC"].ToString(); string SerieEticketera; string NroAutorizacion; //SerieEticketera = CboSerieGuia.Columns["SerieEticketera"].Value.ToString(); //NroAutorizacion = CboSerieGuia.Columns["NroAutorizacion"].Value.ToString(); DataView dv1 = new DataView(DtserieGuias, "EmpresaID = '" + "GH" + "' and TipoDocumento = " + CboTipoComprobante.SelectedValue.ToString() + " and Serie = '" + cbSerie.SelectedValue.ToString() + "'", "", DataViewRowState.CurrentRows); SerieEticketera = dv1[0]["SerieEticketera"].ToString(); NroAutorizacion = dv1[0]["NroAutorizacion"].ToString(); //cambiar el nombre de las columnas dsPedido.Tables["detallePedido"].Columns["NomProducto"].ColumnName = "Alias"; string Formatoticket = ObjCL_Venta.FormatoTicketBoleta(NomEmpresa, AppSettings.NomSede, NumComprobante.Substring(2), "Ticket Nro: ", dsPedido.Tables["detallePedido"], RUC, AppSettings.Usuario, Total, NomCaja, SerieEticketera, NroAutorizacion, TotalPagarLetras, lblCliente.Text, lblDocumento.Text, lblDireccion.Text, "", true, FECHA_IMPRESION, Total, 0, null, Total); e.Graphics.DrawString(Formatoticket, txtNumPedido.Font, Brushes.Black, 0, 0); //total pagar en letras } #endregion }