docs: function f_kalem_ekle_tahta(_tahta_id, _ihale_id, _es_kalem, _db_kalem, _kul_id) {
  
          var onay_durumu = _es_kalem.OnayDurumu;
  
          //genel ihaleye tahtada yeni kalem ekleniyor
          //bu durumda sadece tahtanın (tahta:401:ihale:101:kalem) kalemlerine eklemeliyiz
          //ihalenin genel kalemlerine değil!! (ihale:101:kalem)
          return result.dbQ.incr(result.kp.kalem.idx)
              .then(function (_id) {
                  _es_kalem.Id = _db_kalem.Id = _id;
  
                  emitter.emit(schema.SABIT.OLAY.KALEM_EKLENDI, _es_kalem, _ihale_id, _tahta_id, _kul_id);
  
                  //satırı ihale-tahta ile ilişkilendireceğiz
                  return result.dbQ.hset(result.kp.kalem.tablo, _id, JSON.stringify(_db_kalem))
                      .then(function () {
  
                          return result.dbQ.Q.all([
                              result.dbQ.sadd(result.kp.tahta.ssetOzelKalemleri(_tahta_id, _ihale_id, true), _db_kalem.Id),
                              result.dbQ.hset(result.kp.kalem.hsetIhaleleri, _db_kalem.Id, _ihale_id)
                          ]);
                      })
                      .then(function () {
                          //onay durumu varsa güncelle yoksa satırı döner
                          return f_kalem_onay_durumu_guncelle(_tahta_id, _ihale_id, _db_kalem.Id, onay_durumu);
                      })
                      .then(function () {
                          return f_kalem_id(_id, _tahta_id);
                      });
              })
              .fail(function (_err) {
                  l.e(_err);
                  throw new exception.Istisna("kalem eklenemedi", "HATA: " + _err);
              });
      }