Eventos Propios - Creacion de Reportes PDF
Eventos Propios - Creacion de Reportes PDF
Eventos Propios - Creacion de Reportes PDF
pág. 1
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.
Analizar que el script sql hace referencia a la tabla factura, con el joins sobre las tablas
relacionadas y con respecto a la PK enviada por parámetro.
1.3. Crear y probar en PGAdmin un escript SQL: dado el id de la factura, retornar los datos
asociados al detalle de la factura: factura_detalle.*, producto.*, tipo_producto.*
Crear el método en la my_librería.php creada
pág. 2
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.
Se inicia con una plantilla base cuyo resultado, es una página en blanco,
Duplicar la plantilla, para conservar dicha base de código en otras aplicaciones
Completar el código complementario a lo que se desea mostrar con respecto a la
información de la Base de Datos.
Crear el archivo plantilla_pdf.php, dentro del directorio creado libreria con el código
PHP base siguiente (se adjunta en la plataforma - Recursos):
2.2.
<?php
error_reporting(0);
//descargar la librería y guardar en el directorio 3ros
require_once(toba_dir() . "/php/3ros/html2pdf_v4.03/html2pdf.class.php");
$pagina_html = set_cabecera_html();
generar_pdf ($pagina_html);
pág. 3
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.
function set_finalizar_html () {
$pagina_html = "</BODY></HTML>";
return $pagina_html;
}
4. Creamos una Operación que se ejecutará cuando el usuario presione el EVENTO imprimir
próximo a construir
pág. 5
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.
5.2.
5.3. Propiedades para la conexión entre el evento (botón) y la ejecución del archivo plano creado
pág. 6
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.
6. RESULTADO FINAL EVENTO Y PDF: Instanciar el proyecto, para ver el funcionamiento del
EVENTO imprimir el pdf
pág. 7
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.
7. Tener presente que para el funcionamiento del Evento, al seleccionar una fila del cuadro se
envía la PK de la tabla factura, la cual se asocia automáticamente al crear el ABM y que debe
coincidir con la PK de la base de datos como se observa al editar el cuadro.
pág. 8
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.
10.1.
Get_datos_detalle_factura,
pág. 9
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.
<?php
error_reporting(0);
//descargar la librería y guardar en el directorio 3ros
require_once(toba_dir() . "/php/3ros/html2pdf_v4.03/html2pdf.class.php");
require_once('libreria/my_Libreria.php');
//print(toba_dir());
$pagina_html = set_cabecera_html();
//print_r($pagina_html);
generar_pdf ($pagina_html);
$i = strlen($datos_factura['fac_id']);
pág. 10
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.
align: center;'><strong>DESCRIPCION</strong></td>";
$cabecera .= "<td style='width: 10%; text-
align: center;'><strong>CANTIDAD</strong></td>";
$cabecera .= "<td style='width: 10%; text-
align: center;'><strong>VALOR UNIDAD</strong></td>";
$cabecera .= "<td style='width: 15%; text-
align: center;'><strong>IVA %</strong></td>";
$cabecera .= "<td style='width: 15%; text-
align: center;'><strong>VALOR TOTAL</strong></td>";
$cabecera .= "</tr>";
$total = 0; $fila = 0;
foreach($factura_detalle as $items) {
foreach ($items as $item => $value) {
if ($item == 'facdet_factura') $factura = $value;
if ($item == 'facdet_producto') $producto = $value;
}
$total = $total + (($items['facdet_cantidad'] * $items['facdet_valor_unida
d']+ ($items['facdet_cantidad'] * $items['facdet_valor_unidad']*($items['facdet_iva']/
'100'))));
$cabecera .= "<tr>";
$cabecera .= "<td style='width: 5%; text-
align: center;'>".$fila++."</td>";
$cabecera .= "<td style='width: 10%; text-
align: center;'>".$items['pro_referencia']."</td>";
$cabecera .= "<td style='width: 30%; text-
align: left;'>".$items['pro_nombre']."</td>";
$cabecera .= "<td style='width: 10%; text-
align: center;'>".$items['facdet_cantidad']."</td>";
$cabecera .= "<td style='width: 15%; text-
align: right;'>".number_format($items['facdet_valor_unidad'])."</td>";
$cabecera .= "<td style='width: 10%; text-
align: center;'>".number_format($items['facdet_iva'])."</td>";
$cabecera .= "<td style='width: 15%; text-
align: right;'>".number_format(($items['facdet_cantidad'] * $items['facdet_valor_unida
d']+ ($items['facdet_cantidad']* $items['facdet_valor_unidad']*($items['facdet_iva']/'
100'))), 0)."</td>";
$cabecera .= "</tr>";
}
//$valor_letras = my_libreria::get_valor_letras($total);
$valor_letras = 'investigar';
$valor_letras = str_replace('CON 00/100', '', $valor_letras);
$valor_letras = str_replace('CON 0/100', '', $valor_letras);
$valor_letras .= ' PESOS MCTE';
$cabecera .= "</table>";
$cabecera .= "<table border='0.5' cellspacing=0 style='width: 100%; align: cen
pág. 13
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.
ter;'>";
$cabecera .= "<tr style='background: #F1EEEE;'>";
$cabecera .= "<td style='width: 70%; text-align: left; font-
size:8;'><strong>SON: ".$valor_letras."</strong></td>";
$cabecera .= "<td style='width: 15%; text-
align: right;'><strong>Total</strong></td>";
$cabecera .= "<td style='width: 15%; text-
align: right;'><strong>".number_format($total, 0)."</strong></td>";
$cabecera .= "</tr>";
$cabecera .= "</table>";
return $cabecera;
}
function set_finalizar_html () {
$pagina_html = "</BODY></HTML>";
return $pagina_html;
}
pág. 14
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.
$inferior = 20;
$tipo_hoja = "LETTER"; //"LETTER" "OFICIO"
$orientacion = 'P'; //P vertical L Horizontal
$archivo = 'factura'.'.pdf';
$html2pdf = new HTML2PDF($orientacion, $tipo_hoja, 'es', false,'LATIN1',array(
$izquierdo, $superior, $derecho, $inferior));
ob_start();
echo $pagina_html;
$factura_venta = ob_get_contents();
ob_get_clean();
$html2pdf->writeHTML($factura_venta);
$html2pdf->Output($archivo,'I');
}catch(HTML2PDF_exception $e) {
echo $e;
exit;
}
}
?>
pág. 15
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.
TALLER DE APLICACIÓN:
11. Realizar el mismo proceso, para imprimir en su proyecto personal
pág. 16