Список форумов BOSSForum.RU - Форум. БОСС-Кадровик
Независимый форум, посвященный системе БОСС-Кадровик
и всему, что с ней связано
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Помогите!!!

 
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык
Предыдущая тема :: Следующая тема  
Автор Сообщение
NewAge



Зарегистрирован: 11.06.2010
Сообщения: 108

СообщениеДобавлено: Пт Июн 18, 2010 12:30    Заголовок сообщения: Помогите!!! Ответить с цитатой

Я совсем недавно стал работать с БОСС-Кадровиком. Поэтому и прошу помощи. Мне нужно подсчитать по каждому работнику предприятия количество недогуляных дней отпуска на определенную дату. Подскажите как это можно сделать. Буду очень благодарен.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Nemoxur



Зарегистрирован: 30.04.2010
Сообщения: 49

СообщениеДобавлено: Пт Июн 18, 2010 16:33    Заголовок сообщения: Ответить с цитатой

Ну посчитай например на основе стажа сколько ему всего положено дней и вычти все отгулянные дни. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vitaly
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 29.07.2008
Сообщения: 281
Откуда: Санкт-Петербург

СообщениеДобавлено: Пт Июн 18, 2010 16:49    Заголовок сообщения: Ответить с цитатой

И не забыть отзывы из отпуска... если они есть Very Happy
Считаем стаж в месяцах, если стаж дней < 15?, то +0, если >=15, то +1, умножаем на 2.33 (количество дней за 1 месяц работы) и минус отгулянные. Да ещё не забыть отпуск по уходу за ребёнком, в стаж он идёт, но в отпускные не входит
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vitaly
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 29.07.2008
Сообщения: 281
Откуда: Санкт-Петербург

СообщениеДобавлено: Пт Июн 18, 2010 17:08    Заголовок сообщения: Ответить с цитатой

А вот код из БОССа
Код:
-- Расчет компенсации за неиспользованный отпуск
if @$Ppl:out_date < '2099-01-01' AND 'dlgfield' = 'people.out_date'  then {

      Let l_dt_out_ := @$Ppl:out_date as date;
      execute correct_days_15();

      Let @$Ppl:Visluga_Stag_mm = @@pr_stag_leave(@$Glob:pid, @$Ppl:out_date, '1900-01-01', l_dt_out_,_Code_Leave,1, 0, 0, days_in_y_);
   DRAWFIELD @$Ppl, Visluga_Stag_mm;
  if exists (select top 1 1 from pr_leave
         where operat in (0, 6)
           and ToD > @$Ppl:out_date
           and pid = @@{if 'people' == "people" then break @$Ppl:pid
            else {select top 1 cur_pid into cur_pid__ from people where pid = @$Ppl:pid; break cur_pid__}}
           and isnull(comp_out_flg, 0) = 0) then return[\3\7 В списке отпусков работника есть отпуск,
\10\3\7 дата окончания которого больше даты увольнения.
\10\3\7Компенсация за неиспользованный отпуск
\10\3\7посчитается неправильно!];
};

proclocal correct_days_15 {
  if DAYS_15__ == 1 then {
   if  DATEDIFF(day, f_dt_out_, l_dt_out_) + 1 < 15 then LET l_dt_out_ = DATEADD ( day , -1, f_dt_out_ )
   else {
      if  DATEDIFF(day, f_dt_out_, l_dt_out_) + 1 <= 30 then LET l_dt_out_ = DATEADD ( day , 29, f_dt_out_ )
      else {
         if (DATEDIFF(day, f_dt_out_, l_dt_out_) + 1) % 30 > 0 then {
           if (DATEDIFF(day, f_dt_out_, l_dt_out_) + 1) % 30 < 15
           then LET l_dt_out_ = DATEADD ( day ,-1 * (DATEDIFF(day, f_dt_out_, l_dt_out_) + 1) % 30, l_dt_out_)
           else LET l_dt_out_ = DATEADD ( day , 30 - (DATEDIFF(day, f_dt_out_, l_dt_out_) + 1) % 30, l_dt_out_)
         };
      };
   };
  };--if DAYS_15__
};--correct_days_15


Let @$Ppl:Visluga_Stag_mm поле, которе заполняется в форме, при увольнении работника
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Игорь



Зарегистрирован: 30.06.2010
Сообщения: 4

СообщениеДобавлено: Пн Ноя 29, 2010 13:49    Заголовок сообщения: Ответить с цитатой

а можно где-то получить код функции @@pr_stag_leave ?
мне тоже надо формировать список неотгулянных дней отпуска на текущую дату и пока непонятно как.. так как сотрудники не уволены, то поле visluga_stag_mm не заполняется и надо как-то рассчитать это значение самостоятельно..
_________________
С уважением, Игорь
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
zhenya17



Зарегистрирован: 04.02.2009
Сообщения: 190
Откуда: Кемерово

СообщениеДобавлено: Пн Ноя 29, 2010 16:10    Заголовок сообщения: Ответить с цитатой

Игорь писал(а):
а можно где-то получить код функции @@pr_stag_leave ?
мне тоже надо формировать список неотгулянных дней отпуска на текущую дату и пока непонятно как.. так как сотрудники не уволены, то поле visluga_stag_mm не заполняется и надо как-то рассчитать это значение самостоятельно..
У меня по двойному клику на этой процедуре открывается окно с её кодом.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Николай



Зарегистрирован: 04.10.2010
Сообщения: 22
Откуда: Ростов-на-Дону

СообщениеДобавлено: Пн Ноя 29, 2010 17:55    Заголовок сообщения: Ответить с цитатой

Игорь писал(а):
а можно где-то получить код функции @@pr_stag_leave ?




Процедура @@pr_stag_leave запускает серверную процедуру prsp_stag_leave.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Pоwerеd by рhpВB © 2001, 2005 рhpВB Grouр
Русская поддержка phрВB
Rambler's Top100 Рейтинг@Mail.ru Список форумов BOSSForum.RU