/**
  * Возвращает должность (строку), на которой находится
  * сотрудник с указанным $employeeId.
  *
  * @param int $employeeId Идентификатор сотрудника.
  *
  * @return Rp_Db_View_Row_TreePost или null, если должность не найдена.
  */
 public function findByEmployeeId($employeeId)
 {
     $postsEmployees = new Rp_Db_View_TreePosts_Employees();
     $postIds = $postsEmployees->fetchPostIds($employeeId);
     return $this->find($postIds)->current();
 }
 /**
  * Возвращает функциональных руководителей сотрудника.
  *
  * @return Rp_Db_View_Rowset
  */
 public function getFuncManagers()
 {
     if (empty($this->_func_managers)) {
         $treePost = $this->getTreePost();
         $postsEmps = new Rp_Db_View_TreePosts_Func();
         $empIds = $postsEmps->fetchFuncEmployeeIds($treePost->id);
         // возвращаем массив post_func_id, затем по ним ищем employee_id
         $emp = new Rp_Db_View_TreePosts_Employees();
         $func = $emp->fetchEmployeeIds($empIds);
         // находим employee_id функциональных руководителей
         $this->_func_managers = $this->getView()->find($func);
     }
     return $this->_func_managers;
 }