×
Показано с 1 по 3 из 3
  1. #1
    Клерк
    Регистрация
    24.04.2012
    Сообщений
    2

    Остаток отпуска

    День добрый!

    Не пойму как считается остаток отпуска. Сотрудника приняли на работу 17.10.2011. На дату отпуска 30.04.2012 стаж составляет 6 мес 14 дней, т.е. количество дней отпуска, которые он наработал – 14 дней.
    Программа пишет 17 дней. Проискав полтора часа в чем дело и не найдя ничего решил проверить на типовой. Создал нового сотрудника, принял на работу результат тот же - согласно программе сотрудник принятый 17.10.2011 на 30.04.2012 наработал 16.33 ( округляется до 17) дней. У меня получается 14. Откуда программа берет еще 2.33? Обясните пожалуйста

    Конфигурация УПП 1.3.24
    Поделиться с друзьями

  2. #2
    Клерк
    Регистрация
    24.04.2012
    Сообщений
    2
    насколько я знаю считается так: целый месяц - 2.33, неполный месяц если сотрудник отработал по календарным дням < 15 дней тогда 0 (месяц не засчитывается), если остаток отработанного неполного месяца >= 15 тогда еще 2.33.
    Я не прав?

  3. #3
    Клерик Аватар для rama
    Регистрация
    09.04.2012
    Адрес
    Москва
    Сообщений
    135
    В программе считается приближенно.
    В зависимости от количества дней в месяце приема на работу и в месяце даты, на которую надо посчитать остаток отпусков результат может отличаться. Если у вас дата 30.04.2012 то программа считает на 01.05.2012 и получается превышение полмесяца.

    Вот кусок запроса, где вычисляется число месяцев:

    ВЫБРАТЬ
    РАЗНОСТЬДАТ(&НачПериода, ДОБАВИТЬКДАТЕ(&НачПериода, ДЕНЬ, &ДнейПериода), МЕСЯЦ) + ВЫБОР
    КОГДА ДЕНЬ(&НачПериода) <= ДЕНЬ(ДОБАВИТЬКДАТЕ(&НачПериода, ДЕНЬ, &ДнейПериода))
    ТОГДА ВЫБОР
    КОГДА ДЕНЬ(ДОБАВИТЬКДАТЕ(&НачПериода, ДЕНЬ, &ДнейПериода)) - ДЕНЬ(&НачПериода) > ДЕНЬ(КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&НачПериода, ДЕНЬ, &ДнейПериода), МЕСЯЦ)) / 2 - 1
    ТОГДА 1
    ИНАЧЕ 0
    КОНЕЦ
    ИНАЧЕ ВЫБОР
    КОГДА ДЕНЬ(КОНЕЦПЕРИОДА(&НачПериода, МЕСЯЦ)) - ДЕНЬ(&НачПериода) + 1 + ДЕНЬ(ДОБАВИТЬКДАТЕ(&НачПериода, ДЕНЬ, &ДнейПериода)) <= ДЕНЬ(КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&НачПериода, ДЕНЬ, &ДнейПериода), МЕСЯЦ)) / 2
    ТОГДА -1
    ИНАЧЕ 0
    КОНЕЦ
    КОНЕЦ КАК КоличествоМесяцевВПериоде

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)