protected function addFiltersCriteria($c)
 {
     //$c->addJoin(FormularioPeer::ID_TABLA, TablaPeer::ID_TABLA, Criteria::JOIN);
     //problemos aqui.
     $id_empresa = isset($this->filters['id_empresa']) ? $this->filters['id_empresa'] : "";
     $id_tabla = isset($this->filters['id_tabla']) ? $this->filters['id_tabla'] : null;
     if ($id_empresa !== "" && $id_tabla != "") {
         $c->addAnd(TablaPeer::ID_EMPRESA, $id_empresa, Criteria::EQUAL);
     }
     //id_tabla
     if ($id_tabla) {
         //NO CAMBIAR AQUI FormularioPeer::ID_TABLA por TablaPeer::ID_TABLA porque entonces no funciona para alguien que tienen permisos solo para algunas tablas
         $c->addAnd(FormularioPeer::ID_TABLA, $id_tabla, Criteria::EQUAL);
     }
     //fecha
     if (isset($this->filters['ultimo_contacto'])) {
         if (isset($this->filters['ultimo_contacto']['from']) && $this->filters['ultimo_contacto']['from'] !== '') {
             $criterion = $c->getNewCriterion(FormularioPeer::FECHA, $this->filters['ultimo_contacto']['from'], Criteria::GREATER_EQUAL);
         }
         if (isset($this->filters['ultimo_contacto']['to']) && $this->filters['ultimo_contacto']['to'] !== '') {
             if (isset($criterion)) {
                 $criterion->addAnd($c->getNewCriterion(FormularioPeer::FECHA, $this->filters['ultimo_contacto']['to'], Criteria::LESS_EQUAL));
             } else {
                 $criterion = $c->getNewCriterion(FormularioPeer::FECHA, $this->filters['ultimo_contacto']['to'], Criteria::LESS_EQUAL);
             }
         }
         if (isset($criterion)) {
             $c->add($criterion);
         }
     }
     if (isset($this->filters['id_empresa']) && $this->filters['id_empresa'] != '') {
         $empresa = EmpresaPeer::retrieveByPk($this->filters['id_empresa']);
     } else {
         $id_empresa = sfContext::getInstance()->getUser()->getAttribute('idempresa', null);
         $empresa = EmpresaPeer::retrieveByPk($id_empresa);
     }
     //filtrar según campos personalizados.
     $campos = $empresa->getCamposFormularioOrdenadosAlcancetablas($id_tabla);
     if ($id_tabla == 63 && $this->filters['no_realizacion'] == 1) {
         $c->addAnd(ItemPeer::ID_ITEM_BASE, 316, Criteria::EQUAL);
         $c->addAnd(ItemPeer::FECHA, null, Criteria::EQUAL);
     } elseif ($id_tabla == 63 && $this->filters['no_realizacion'] == 2) {
         $c->addAnd(ItemPeer::FECHA, null, Criteria::NOT_EQUAL);
     }
     $filtros = new Filtros($campos, $this->filters);
     $filtros->updateCriteria($c);
 }