Страница 1 из 1

Отрицательные вакансии в ШР

Добавлено: 01 ноя 2011, 13:27
NM
Добрый день!
После обновления (уснановили новые патчи от отктября с.г.) возникла следующая ситуация - в ШР практически 50 % показываются отрицательные вакансии. Запускали функцию, пересчет вакансий - не помогло. Смотришь сотрудников - показываются все, кто когда-то занимали эту ставку. Стоит дата увольнения у всех. Смотрели в картотеке - тоже все нормально, все ставочки стоят правильно. Смотрели таблицу VACANCY - никаких проблем. Поставили принудительно вакансию 0 по одной ставке, пересчитали вакансии - встало опять число -2. Что и где можно посмотреть, чтобы исправить положение? Кадровиков и нас очень сильно это напрягает. Спасибо.

Re: Отрицательные вакансии в ШР

Добавлено: 01 ноя 2011, 19:13
edward_K
теперь вакансии считаются без учета vacancy.

Код: Выделить всё

#declare MacInsert
    insert visual into TmpEmployee (
      NRecStaff,
      NRecPsn,
      NRecApp,
      Rate,
      Note,
      TabNmb,
      StrTabN,
      FIO,
      LS_TabNmb,
      LS_StrTabN,
      dateBeg,
      dateEnd,
      apptype,
      lprizn )
    select tmpNrec,Appointments.Person,Appointments.Nrec,Appointments.Rate,'',Persons.TabNmb,Persons.StrTabN,
      Persons.FIO,LSChet.TABN,LSChet.StrTabn,Appointments.AppointDate,
      if ( Appointments.DismissDate <> date(0,0,0), Appointments.DismissDate, Appointments.DateEnd ),
      if ( Appointments.Lprizn = 0, 'осн', if (Appointments.Lprizn = 3, 'совм', '') ),
      Appointments.Lprizn
    From
      Appointments,Persons,LSChet
    where((tmpNrec == Appointments.StaffStr and 2 >> Appointments.wAddWord1 (noindex) and ( 0 = Appointments.Lprizn or 3 = Appointments.Lprizn) and
           Appointments.Person /== Persons.NRec and Appointments.cAddNrec2 == LSChet.nrec ))

#end

  tmpNrec:= StaffStruct.NRec;
  if not bFilterOn or base = 0 or base = 3
  {
    #MacInsert;
  }
  else
  {
    case Base of
      1:
        #MacInsert and
        Appointments.AppointDate <= date2 and
        (if(Appointments.DismissDate > date(0,0,0), Appointments.DismissDate, Appointments.DateEnd) >= date1 or
         if(Appointments.DismissDate > date(0,0,0), Appointments.DismissDate, Appointments.DateEnd) = date(0,0,0)
        );
      2:
        #MacInsert and
        (
         Appointments.AppointDate <= date2 and
         (Appointments.DismissDate > date(0,0,0) or Appointments.DateEnd > date(0,0,0)) and
         if(Appointments.DismissDate > date(0,0,0), Appointments.DismissDate, Appointments.DateEnd) >= date1 and
         if(Appointments.DismissDate > date(0,0,0), Appointments.DismissDate, Appointments.DateEnd) < date2
        );
    end;
  }
На закладке сотрудники по правой кнопке можно фильтр установить - номер пункта это Base.

Re: Отрицательные вакансии в ШР

Добавлено: 03 ноя 2011, 14:44
NM
Спасибо.
дело еще было в том, что на расчет вакансий влияли старые незакрытые назначения (совместительство и временное замещение) ВНЕ ШР.