$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);
     }
     $li_totpre = number_format($li_totpre, 2, ",", ".");
     uf_print_detalle_spg($la_data, $li_totpre, &$io_pdf);
     unset($la_data);
 }
 //////////////////////////   GRID DETALLE PRESUPUESTARIO		//////////////////////////////////////
 //////////////////////////      GRID DETALLE CONTABLE	   	//////////////////////////////////////
 $lb_valido = $io_report->uf_select_detalle_recepcionscg($ls_numrecdoc, $ls_codpro, $ls_cedben, $ls_codtipdoc);
 // Cargar el DS con los datos del reporte
 if ($lb_valido) {
     $li_totrowscg = $io_report->ds_detalle_scg->getRowCount("sc_cuenta");
     $la_data = "";
     $li_totdeb = 0;
     $li_tothab = 0;
     for ($li_s = 1; $li_s <= $li_totrowscg; $li_s++) {
         $ls_sccuenta = trim($io_report->ds_detalle_scg->data["sc_cuenta"][$li_s]);
         $ls_debhab = trim($io_report->ds_detalle_scg->data["debhab"][$li_s]);
         $ls_numrecdoc = trim($io_report->ds_detalle_scg->data["numrecdoc"][$li_s]);
         $li_monto = $io_report->ds_detalle_scg->data["monto"][$li_s];
         $ls_numdoccom = $io_report->ds_detalle_scg->data["numdoccom"][$li_s];
         if ($ls_debhab == "D") {
             $li_montodebe = $li_monto;
             $li_montohab = "";