/**
  * Сформировать массив дисциплин на основнии выбора студентов
  * @param array $tpds то что возвращается функцией <a href="#upDises">upDises</a>
  * @param bool $delete удалять невыбранные дисциплины из списка
  * @param array $ids массив групп, по умолчанию - для всех
  * @return array [ [ <то что было в массиве> vdv <,numsts>] ]
  */
 public static function upgradeChoise($tpds, $delete = true, $ids = array())
 {
     $choices = RPIrro::getChoice($tpds, $ids);
     $choices = RPU::groupBy($choices, 'id_tup_d');
     foreach ($tpds as $key => $tpd) {
         if (preg_match("/В\\.ДВ/", $tpd['sh'])) {
             $tpds[$key]['vdv'] = true;
             $ch = $choices[$tpd['id_link']];
             if (empty($ch)) {
                 if ($delete) {
                     unset($tpds[$key]);
                 } else {
                     $tpds[$key]['numsts'] = array();
                 }
             } else {
                 $tpds[$key]['numsts'] = RPU::reshape($ch, false, 'numst');
             }
         } else {
             $tpds[$key]['vdv'] = false;
         }
     }
     return $tpds;
 }