PDF Reporte 2.0.N

De FlexiPymeDocs
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);
}