$li_montotcar = $li_montotdoc + $li_mondeddoc;
 $ld_fecemidoc = $io_funciones->uf_convertirfecmostrar($ld_fecemidoc);
 $ld_fecrecdoc = $io_funciones->uf_convertirfecmostrar($ld_fecrecdoc);
 if ($ls_estretiva == "B") {
     $li_monretiva = $io_report->uf_select_det_deducciones($ls_numrecdoc, $ls_codpro, $ls_cedben, $ls_codtipdoc);
 }
 uf_print_encabezado_pagina($ls_titulo, $ls_numrecdoc, $ld_fecrecdoc, &$io_pdf);
 if ($ls_codpro != "----------") {
     $ls_codigo = $ls_codpro;
     uf_print_cabecera($ls_numrecdoc, $ls_dentipdoc, $ls_nombre, "P", $ld_fecemidoc, $ld_fecrecdoc, $ls_dencondoc, $ls_codrecdoc, &$io_pdf);
 } else {
     $ls_codigo = $ls_cedben;
     uf_print_cabecera($ls_numrecdoc, $ls_dentipdoc, $ls_nombre, "B", $ld_fecemidoc, $ld_fecrecdoc, $ls_dencondoc, $ls_codrecdoc, &$io_pdf);
 }
 //////////////////////////   GRID DETALLE PRESUPUESTARIO		//////////////////////////////////////
 $lb_valido = $io_report->uf_select_detalle_recepcionspg($ls_numrecdoc, $ls_codpro, $ls_cedben, $ls_codtipdoc);
 // Cargar el DS con los datos del reporte
 if ($lb_valido) {
     $li_totrowspg = $io_report->ds_detalle_spg->getRowCount("codestpro");
     $la_data = "";
     $li_totpre = 0;
     for ($li_s = 1; $li_s <= $li_totrowspg; $li_s++) {
         $ls_codestpro = trim($io_report->ds_detalle_spg->data["codestpro"][$li_s]);
         $ls_spgcuenta = trim($io_report->ds_detalle_spg->data["spg_cuenta"][$li_s]);
         $ls_numrecdoc = trim($io_report->ds_detalle_spg->data["numrecdoc"][$li_s]);
         $ls_numdoccom = trim($io_report->ds_detalle_spg->data["numdoccom"][$li_s]);
         $li_monto = $io_report->ds_detalle_spg->data["monto"][$li_s];
         $li_totpre = $li_totpre + $li_monto;
         $li_monto = number_format($li_monto, 2, ",", ".");
         $io_fun_cxp->uf_formatoprogramatica($ls_codestpro, &$as_programatica);
         $la_data[$li_s] = array('numrecdoc' => $ls_numdoccom, 'codestpro' => $as_programatica, 'spg_cuenta' => $ls_spgcuenta, 'monto' => $li_monto);