docs: function f_tahta_id(_tahta_id, _opts) {
  
          /** @type {OptionsTahta} */
          var opts = result.OptionsTahta(_opts);
  
          return (Array.isArray(_tahta_id)
              ? result.dbQ.hmget_json_parse(result.kp.tahta.tablo, _tahta_id)
              : result.dbQ.hget_json_parse(result.kp.tahta.tablo, _tahta_id))
              .then(function (_dbTahta) {
                  if (!_dbTahta) {
                      return null;
                  }
  
                  var rol = require('./db_rol'),
                      kurum = require('./db_kurum');
  
                  function f_tahta_bilgileri(_tahta, _optsTahta) {
                      var /** @type {Tahta} */
                          olusan_tahta = schema.f_create_default_object(schema.SCHEMA.INDEX_TAHTA),
                          arrPromises = [];
  
                      if (_optsTahta.bGenel) { // 1. Genel bilgilerini
                          olusan_tahta.Genel = _tahta;
                      }
  
                      arrPromises.push(
                          _optsTahta.bRolleri
                              ? rol.f_db_rol_tumu(_tahta.Id)
                              : []);
  
                      arrPromises.push(
                          (_optsTahta.bKurumu && _tahta.Kurum_Id)
                              ? kurum.f_db_kurum_id(_tahta.Kurum_Id)
                              : null);
  
                      arrPromises.push(
                          _optsTahta.bUyeleri
                              ? f_tahta_uyeleri(_tahta.Id, opts ? opts.optUye : {})
                              : []);
  
                      arrPromises.push(
                          _optsTahta.bAnahtarlari
                              ? f_tahta_anahtar_tumu(_tahta.Id)
                              : []);
  
                      arrPromises.push(
                          _optsTahta.bAjanda
                              ? f_tahta_ajandasi(_tahta.Id)
                              : null);
  
                      // tahtanın :
                      // 2. Kurumunu
                      // 3. Kullanicilarini
                      // 4. Rollerini
                      // 5. Anahtarlarını
  
                      return arrPromises.allX()
                          .then(function (_ress) {
  
                              olusan_tahta.Roller = _ress[0];
                              olusan_tahta.Genel.Kurum = _ress[1];
                              olusan_tahta.Uyeler = _ress[2];
                              olusan_tahta.AnahtarKelimeler = _ress[3];
                              olusan_tahta.Ajanda = _ress[4];
  
                              return olusan_tahta;
                          });
                  }
  
                  if (Array.isArray(_dbTahta)) {
                      opts.bAjanda = false;
  
                      return _dbTahta.mapX(null, f_tahta_bilgileri, opts)
                          .allX()
                          .then(function (_dbTahtaBilgileri) {
  
                              //tahtanın ajandalarını topluca çekiyoruz
                              var tahta_idler = _dbTahtaBilgileri.pluckX("Genel.Id");
                              return f_tahta_ajandasi(tahta_idler)
                                  .then(function (_dbAjandaBilgileri) {
                                      if (!_dbAjandaBilgileri) {
                                          return _dbTahtaBilgileri;
                                      }
  
                                      _dbTahtaBilgileri.forEach(function (_elm, _idx) {
                                          _elm.Ajanda = _dbAjandaBilgileri[_idx];
                                      });
  
                                      return _dbTahtaBilgileri;
                                  });
                          })
                  } else {
                      return f_tahta_bilgileri(_dbTahta, opts);
                  }
              })
              .fail(function (_err) {
                  l.e("Fail içinde HATA:\n\t", _err);
                  return _err;
              });
      }