/**
  * Calcule et affecte la nomenclature abrégée à  partir de l'arbre
  *
  * @return void
  * @access public
  */
 public function calc_abbreviation()
 {
     $tinstruments = array();
     $musicstand_standard_all = true;
     if (is_array($this->instruments)) {
         foreach ($this->instruments as $instrument) {
             if (count($instrument->get_others_instruments())) {
                 $musicstand_standard_all = false;
             }
             $nomenclature_instrument = new nomenclature_instrument($instrument->get_id(), $instrument->get_code(), $instrument->get_name());
             $nomenclature_instrument->calc_abbreviation();
             if ($instrument->is_standard()) {
                 if ($instrument->get_part()) {
                     $tinstruments[$instrument->get_part()] = $nomenclature_instrument->get_abbreviation();
                 } else {
                     $tinstruments[$instrument->get_order()] = $nomenclature_instrument->get_abbreviation();
                 }
             } else {
                 $tinstruments[$instrument->get_order()] = $nomenclature_instrument->get_abbreviation();
                 $musicstand_standard_all = false;
             }
         }
         if ($musicstand_standard_all) {
             $this->set_abbreviation($this->effective);
         } else {
             ksort($tinstruments);
             $this->set_abbreviation($this->effective . "[" . implode(".", $tinstruments) . "]");
         }
     } else {
         $this->set_abbreviation("0");
     }
 }