8.х Количество рабочих дней

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Swl68, 20 сен 2012.

  1. TopicStarter Overlay
    Swl68
    Offline

    Swl68 Опытный в 1С

    Регистрация:
    13 сен 2012
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Даны две даты
    1) ДатаПриемаНаРаботу и
    2) ДатаУвольнения
    Не соображу как подсчитать количество дней с момента приема сотрудника до увольнения.
    P.S это запрос и поля количество дней нету...
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Вопросы:
    1. Какая конфа?
    2. Какое количество дней надо получить
    а) календарные
    б) По графикам работы
    в) фактические отработанные?
  3. Azamat
    Offline

    Azamat Опытный в 1С

    Регистрация:
    29 июл 2011
    Сообщения:
    271
    Симпатии:
    0
    Баллы:
    26
    В запросе есть функция РАЗНОСТЬДАТ()
  4. TopicStarter Overlay
    Swl68
    Offline

    Swl68 Опытный в 1С

    Регистрация:
    13 сен 2012
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Зарплата и Управление Персоналом, редакция 2.5 (2.5.53.1)
    Календарные, ну то есть просто количество дней

    там дополнительно ТИП указывать нужно... что писать туда не пойму гггг.мм.дд не катит
  5. Azamat
    Offline

    Azamat Опытный в 1С

    Регистрация:
    29 июл 2011
    Сообщения:
    271
    Симпатии:
    0
    Баллы:
    26
    Если вам дни нужно считать, то указываете День. В справке приведен пример, как раз подходящий вам
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Правильно Вам пишут выше РАЗНОСТЬДАТ()


    Функция языка запросов РАЗНОСТЬДАТ предназначена для получения разницы между двумя датами в указанных единицах измерения. Синтаксис функции выглядит следующим образом:

    РАЗНОСТЬДАТ(<Выражение>, <Выражение>, Секунда | Минута | Час | День | Месяц | Квартал | Год)

    В качестве первого параметра передается выражение, значение которого необходимо вычесть из значения второго параметра.

    В качестве второго параметра функции передается выражение, из которого необходимо вычесть значение первого параметра.

    Третий параметр содержит единицу измерения, в которой необходимо получить результат функции. В качестве третьего параметра можно использовать следующие значения: Секунда, Минута, Час, День, Месяц, Квартал, Год. При расчете результата функция игнорирует единицы измерения, которые меньше, чем указанная в данном параметре единица.

    Например, если в качестве третьего параметра указать Час, то при расчете результата будут игнорироваться минуты и секунды, присутствующие в первых двух параметрах. Если же в третьем параметре указать Месяц, то игнорироваться будут дни, часы, минуты и секунды.

    Рассмотрим, какие значения будет возвращать функция при различных значениях третьего параметра:
    Функция Результат
    РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 12, 31, 10, 20, 34), ДАТАВРЕМЯ(2003, 01, 01, 9, 18, 06), СЕКУНДА)
    82 652
    РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 12, 31, 10, 20, 34), ДАТАВРЕМЯ(2003, 01, 01, 9, 18, 06), МИНУТА)
    1 378
    РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 12, 31, 10, 20, 34), ДАТАВРЕМЯ(2003, 01, 01, 9, 18, 06), ЧАС)
    23
    РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 12, 31, 10, 20, 34), ДАТАВРЕМЯ(2003, 01, 01, 9, 18, 06), ДЕНЬ)
    1
    РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 12, 31, 10, 20, 34), ДАТАВРЕМЯ(2003, 01, 01, 9, 18, 06), МЕСЯЦ)
    1
    РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 12, 31, 10, 20, 34), ДАТАВРЕМЯ(2003, 01, 01, 9, 18, 06), КВАРТАЛ)
    1
    РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 12, 31, 10, 20, 34), ДАТАВРЕМЯ(2003, 01, 01, 9, 18, 06), ГОД)

    Моджно конечно извращаться и брать итоги запросом из производственного календаря - ну это если отбрасыввать выходные и праздники
  7. TopicStarter Overlay
    Swl68
    Offline

    Swl68 Опытный в 1С

    Регистрация:
    13 сен 2012
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    всем огромное спасибо сделал так...
    Код:
    РАЗНОСТЬДАТ(УвольнениеИзОрганизацийРаботникиОрганизации.Сотрудник.ДатаПриемаНаРаботу, УвольнениеИзОрганизацийРаботникиОрганизации.Сотрудник.ДатаУвольнения, ДЕНЬ)
    ради интереса, а как фактически отработанные сделать ?)
  8. Azamat
    Offline

    Azamat Опытный в 1С

    Регистрация:
    29 июл 2011
    Сообщения:
    271
    Симпатии:
    0
    Баллы:
    26
    Если вам нужно включать еще и последний день, то к своей строке добавьте + 1
  9. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну фактически отработанные - вы можете взять из регисра расчета Основные начиселния - когда ему ЗП считают - туда пишется начисленная сумма, факт времени и норма. Посмотрите и возьмите от туда.

Поделиться этой страницей