/**
  * Método para cargar las facturas
  */
 public function facturar($key)
 {
     if (!($id = DwSecurity::isValidKey($key, 'upd_incidencias', 'int'))) {
         return DwRedirect::toAction('registro');
     }
     $incidencias = new Incidencias();
     $obj = new IncidenciasPatologia();
     //$factura = new Factura();
     $factura_dt = new FacturaDt();
     $this->sol = $obj->getInformacionIncidenciasPatologia($id);
     if (!$incidencias->getInformacionIncidencias($id)) {
         DwMessage::get('id_no_found');
         return DwRedirect::toAction('registro');
     }
     if (Input::hasPost('factura')) {
         ActiveRecord::beginTrans();
         $factu = Factura::setFactura('create', Input::post('factura'));
         if ($factu) {
             if (FacturaDt::setFacturaDt(Input::post('descripcion'), Input::post('cantidad'), Input::post('monto'), Input::post('exento'), $factu->id)) {
                 $solfactura = IncidenciasFactura::setIncidenciasFactura($factu->id, $id);
                 if ($solfactura) {
                     if (Input::post('multifactura')) {
                         //para saber si va a cargar multiples facturas sobre esa solicitud
                         $solser = $incidencias->getInformacionIncidencias($id);
                         $solser->estado_solicitud = "G";
                         //estado G parcialmente facturada
                         $solser->save();
                         ActiveRecord::commitTrans();
                         DwMessage::valid('Se ha cargado la factura exitosamente!');
                         $key_upd = DwSecurity::getKey($id, 'upd_incidencias');
                         return DwRedirect::toAction('facturar/' . $key_upd);
                         //retorna a la misma visata de facturacion
                     } else {
                         $solser = $incidencias->getInformacionIncidencias($id);
                         $solser->estado_solicitud = "F";
                         $solser->save();
                         ActiveRecord::commitTrans();
                         DwMessage::valid('Se ha cargado la factura exitosamente!');
                         return DwRedirect::toAction('facturacion');
                     }
                 } else {
                     ActiveRecord::rollbackTrans();
                     DwMessage::error('No se pudo enviar a cargar multiples facturas!');
                 }
             } else {
                 ActiveRecord::rollbackTrans();
                 DwMessage::error('Los detalles de la Factura no se han cargado correctamente Intente de nuevo!');
             }
         } else {
             ActiveRecord::rollbackTrans();
             DwMessage::error('La Factura no se ha cargado con exito!');
         }
     }
     $this->incidencias = $incidencias;
     $this->page_title = 'Cargar Facturas a la solicitud';
 }