/**
  *
  *Realiza una busqueda de las cuentas contables en base a los par?metros que se le pasen
  *
  * @param afectable bool indica si sobre esta cuenta ya se pueden realizar operaciones
  * @param clasificacion enum `Activo Circulante`,`Activo Fijo`,`Activo Diferido`,`Pasivo Circulante`,`Pasivo Largo Plazo`,`Capital Contable`,`Ingresos`,`Egresos`
  * @param clave string La clave que se le dará a la nueva cuenta contable
  * @param consecutivo_en_nivel int Dependiendo del nivel de profundidad de la cuenta contable, este valor indicara dentro de su nivel que numero consecutivo le corresponde con respecto a las mismas que estan en su mismo nivel
  * @param es_cuenta_mayor bool Indica si la cuenta es de mayor
  * @param es_cuenta_orden bool si la cuenta no se contemplara en los estados financieros
  * @param id_cuenta_contable int El id de la cuenta contable
  * @param id_cuenta_padre int El id de la cuenta de la que depende
  * @param naturaleza enum `Acreedora`,`Deudora`
  * @param nivel int Nivel de profundidad que tendra la cuenta en el arbol de cuentas
  * @param nombre_cuenta string El nombre de la cuenta
  * @param tipo_cuenta enum `Balance`,`Estado de Resultados`
  **/
 public static function BuscarCuenta($id_catalogo_cuentas, $afectable = "", $clasificacion = "", $clave = "", $consecutivo_en_nivel = "", $es_cuenta_mayor = "", $es_cuenta_orden = "", $id_cuenta_contable = "", $id_cuenta_padre = "", $naturaleza = "", $nivel = "", $nombre_cuenta = "", $tipo_cuenta = "")
 {
     $cuenta_buscar = new CuentaContable();
     $cat_buscar = CatalogoCuentasDAO::getByPK($id_catalogo_cuentas);
     if (is_null($cat_buscar)) {
         return array("resultados" => array());
     }
     $cuenta_buscar->setIdCatalogoCuentas($id_catalogo_cuentas);
     if ($afectable != "") {
         $cuenta_buscar->setAfectable($afectable);
     }
     if ($clasificacion != "") {
         $cuenta_buscar->setClasificacion($clasificacion);
     }
     if ($clave != "") {
         $cuenta_buscar->setClave($clave);
     }
     if ($consecutivo_en_nivel != "") {
         $cuenta_buscar->setConsecutivoEnNivel($consecutivo_en_nivel);
     }
     if ($es_cuenta_mayor != "") {
         $cuenta_buscar->setEsCuentaMayor($es_cuenta_mayor);
     }
     if ($es_cuenta_orden != "") {
         $cuenta_buscar->setEsCuentaOrden($es_cuenta_orden);
     }
     if ($id_cuenta_contable != "") {
         $cuenta_buscar->setIdCuentaContable($id_cuenta_contable);
     }
     if ($id_cuenta_padre != "") {
         $cuenta_buscar->setIdCuentaPadre($id_cuenta_padre);
     }
     if ($naturaleza != "") {
         $cuenta_buscar->setNaturaleza($naturaleza);
     }
     if ($nivel != "") {
         $cuenta_buscar->setNivel($nivel);
     }
     if ($nombre_cuenta != "") {
         $cuenta_buscar->setNombreCuenta($nombre_cuenta);
     }
     if ($tipo_cuenta != "") {
         $cuenta_buscar->setTipoCuenta($tipo_cuenta);
     }
     $cuenta_buscar->setActiva(1);
     $cuentas = CuentaContableDAO::search($cuenta_buscar, "`clave`", "ASC");
     return array("resultados" => $cuentas);
 }