PDF Reporte 2.0.N
Ir a la navegación
Ir a la búsqueda
PDF Reporte
Using
using FlexiPyme.reporte.pdf;
Código de Referencia
public static void GenerarRecibo(int idRecibo, string tipo)
{
FlexiDbFila dsRec = FlexiDb.CargarEntidad(idRecibo, "Recibos");
int idCliente = dsRec.ObtenerEntero("idCliente");
FlexiDbFila dsCli = FlexiDb.CargarEntidad(idCliente, "Clientes", "id");
DateTime fecha = dsRec.ObtenerFecha("fecha");
int numero = dsRec.ObtenerEntero( "numero");
string observaciones = dsRec.ObtenerCadena("observaciones");
string cliente = dsCli.ObtenerCadena("razonSocial");
string domicilio = dsCli.ObtenerCadena("calle");
int codigo = dsCli.ObtenerEntero("codigo");
string cuit = dsCli.ObtenerCadena("cuit");
int idSituacionIva = dsCli.ObtenerEntero("idSituacionIva");
string situIva = FlexiDb.EjecutarScalarString("select nombre from SituacionesIva where id = " + idSituacionIva);
decimal total = dsRec.ObtenerMoneda("total");
decimal totalAplicado = dsRec.ObtenerMoneda("totalAplicado");
decimal adelanto = dsRec.ObtenerMoneda("adelanto");
decimal totalAPagar = dsRec.ObtenerMoneda("totalAPagar");
string totalEnLetras = NumLetras.Convierte(FunConversiones.DecimalToCadena2Decimales(total), NumLetras.Tipo.Pronombre, NumLetras.TipoDecimales.Numeros);
PdfDocumento doc = new PdfDocumento();
doc.Titulo = "Recibo";
doc.NombreArchivo = "Recibo.pdf";
doc.MargenSuperior = 4;
PdfParrafo parrafo = new PdfParrafo();
PdfParrafoImagen imagen = new PdfParrafoImagen();
imagen.Camino = Archivos.CaminoRealCarpetaArchivos + "recibo" + Configuraciones.EmpresaActual + ".jpg";
imagen.Alto = 3;
imagen.Ancho = 18;
doc.Encabezado = new PdfParrafo();
doc.Encabezado.Alineacion = PdfParrafo.IZQ;
doc.Encabezado.Items.Add(imagen);
// TIPO
parrafo = new PdfParrafo();
parrafo.Alineacion = PdfParrafo.DER;
parrafo.AgregarTexto(tipo, "Arial", 14, Color.Black, true);
parrafo.AgregarSaltoLinea();
parrafo.AgregarSaltoLinea();
doc.AgregarParrafo(parrafo);
// Lugar y Fecha
parrafo = new PdfParrafo();
parrafo.Alineacion = PdfParrafo.DER;
parrafo.AgregarTexto("Número: " + numero);
parrafo.AgregarSaltoLinea();
parrafo.AgregarTexto("Fecha: " + FunConversiones.FechaToCadena(fecha));
parrafo.AgregarSaltoLinea();
parrafo.AgregarTexto("Cliente Nº: " + codigo.ToString());
parrafo.AgregarSaltoLinea();
doc.AgregarParrafo(parrafo);
parrafo = new PdfParrafo();
parrafo.Alineacion = PdfParrafo.IZQ;
parrafo.AgregarSaltoLinea();
parrafo.AgregarTexto("Recibimos de " + cliente + " la suma de pesos ", "Arial", 10, Color.Black, true);
parrafo.AgregarTexto(totalEnLetras, "Arial", 10, Color.Black);
parrafo.AgregarTexto(" en concepto de la cancelación de los siguientes comprobantes:", "Arial", 10, Color.Black);
parrafo.AgregarSaltoLinea();
doc.AgregarParrafo(parrafo);
// Facturas que paga
string sql = "select * from RecibosFacturasPagadas where idRecibo = " + idRecibo;
FlexiDbTabla dsFacs = FlexiDb.Listar(sql);
if (dsFacs.Filas.Count == 0)
{
for (int i = 0; i < 7; i++)
{
FlexiDbFila fila = dsFacs.NuevaFilaVacia();
dsFacs.AgregarFila(fila);
}
}
// Items
PdfTabla tabla = new PdfTabla();
tabla.EstiloCabecera = new PdfEstilo("Verdana", 8, Color.Black, Color.FromArgb(235, 240, 249), false);
tabla.EstiloItems = new PdfEstilo("Verdana", 8, Color.Black, Color.White, false);
tabla.AgregarColumna("Detalle", PdfTablaColumna.IZQ, 16, "idFactura", "FacturasVW", "id", "nombre");
tabla.AgregarColumna("Monto", PdfTablaColumna.DER, 2, "monto");
tabla.DatosAVisualizar = dsFacs;
doc.AgregarTabla(tabla);
parrafo = new PdfParrafo();
parrafo.Alineacion = PdfParrafo.IZQ;
parrafo.AgregarTexto("Total a Facturas: " + FunConversiones.DecimalToCadena2Decimales(totalAplicado));
parrafo.AgregarSaltoLinea();
parrafo.AgregarTexto("Adelanto: " + FunConversiones.DecimalToCadena2Decimales(adelanto));
parrafo.AgregarSaltoLinea();
parrafo.AgregarTexto("Total a Pagar: " + FunConversiones.DecimalToCadena2Decimales(totalAPagar));
parrafo.AgregarSaltoLinea();
doc.AgregarParrafo(parrafo);
// Detalle de Pagos
sql = "select * from RecibosItems where idRecibo = " + idRecibo;
FlexiDbTabla dsItems = FlexiDb.Listar(sql);
if (dsItems.Filas.Count == 0)
{
for (int i = 0; i < 7; i++)
{
FlexiDbFila fila = dsItems.NuevaFilaVacia();
dsItems.AgregarFila(fila);
}
}
// Items
parrafo = new PdfParrafo();
parrafo.Alineacion = PdfParrafo.IZQ;
parrafo.AgregarTexto("DETALLE DE PAGOS", "Arial Black", 12, Color.Black);
parrafo.AgregarSaltoLinea();
doc.AgregarParrafo(parrafo);
tabla = new PdfTabla();
tabla.EstiloCabecera = new PdfEstilo("Verdana", 7, Color.Black, Color.FromArgb(235, 240, 249), false);
tabla.EstiloItems = new PdfEstilo("Verdana", 7, Color.Black, Color.White, false);
tabla.AgregarColumna("Tipo", PdfTablaColumna.IZQ, 3, "idReciboItemTipo", "RecibosItemsTipos", "id", "nombre");
tabla.AgregarColumna("Importe", PdfTablaColumna.DER, 2, "importe");
tabla.AgregarColumna("Número Ch.", PdfTablaColumna.IZQ, 2, "numeroCheque");
tabla.AgregarColumna("Fecha Ch.", PdfTablaColumna.IZQ, 2, "fechaCheque");
tabla.AgregarColumna("Banco", PdfTablaColumna.IZQ, 2, "idBanco", "Bancos", "id", "nombre");
tabla.AgregarColumna("Lib. Cuit", PdfTablaColumna.IZQ, 2, "libradorCuit");
tabla.AgregarColumna("Lib. Raz. Soc.", PdfTablaColumna.IZQ, 2, "libradorRazonSocial");
tabla.AgregarColumna("Cta. Bcria.", PdfTablaColumna.IZQ, 2, "idCuentaBancaria", "CuentasBancarias", "id", "nombre");
tabla.DatosAVisualizar = dsItems;
doc.AgregarTabla(tabla);
// Totales
parrafo = new PdfParrafo();
parrafo.Alineacion = PdfParrafo.IZQ;
parrafo.AgregarTexto("Total Pagos: " + FunConversiones.DecimalToCadena2Decimales(total));
parrafo.AgregarSaltoLinea();
parrafo.AgregarTexto("Observaciones: " + observaciones);
parrafo.AgregarSaltoLinea();
parrafo.AgregarSaltoLinea();
parrafo.AgregarSaltoLinea();
parrafo.AgregarSaltoLinea();
doc.AgregarParrafo(parrafo);
parrafo = new PdfParrafo();
parrafo.Alineacion = PdfParrafo.DER;
parrafo.AgregarTexto("RECIBI CONFORME");
doc.AgregarParrafo(parrafo);
LogicaDeImpresionPdf.Generar(doc);
}