8.х ЗУП Среднемесячное количество часов

Тема в разделе ""1С:Зарплата и управление персоналом ЗУП"", создана пользователем dlis, 5 сен 2012.

  1. TopicStarter Overlay
    dlis
    Offline

    dlis Опытный в 1С

    Регистрация:
    29 июл 2011
    Сообщения:
    266
    Симпатии:
    0
    Баллы:
    26
    Получить среднемесячное количество часов по производственному календарю, есть функция в ЗУП?
  2. svet
    Offline

    svet Профессионал в 1С Команда форума

    Регистрация:
    9 ноя 2007
    Сообщения:
    2.057
    Симпатии:
    64
    Баллы:
    54
    Насколько я помню, нет. Вроде бы везде, где по тексту надо, обращения к РегистрСведений.РегламентированныйПроизводственныйКалендарь в запросах повставлено.
  3. TopicStarter Overlay
    dlis
    Offline

    dlis Опытный в 1С

    Регистрация:
    29 июл 2011
    Сообщения:
    266
    Симпатии:
    0
    Баллы:
    26
    можете по-быстрому запрос накидать??
  4. svet
    Offline

    svet Профессионал в 1С Команда форума

    Регистрация:
    9 ноя 2007
    Сообщения:
    2.057
    Симпатии:
    64
    Баллы:
    54
    Я для себя давно процедуру такую рисовала:
    Код:
    Функция СреднемесячноеКоличествоЧасов(Год) Экспорт
    Запрос = Новый Запрос;
    
    Запрос.УстановитьПараметр("Год",Год);
    Запрос.УстановитьПараметр("РабочийДень", Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий);
    Запрос.УстановитьПараметр("ПредпраздничныйДень", Перечисления.ВидыДнейПроизводственногоКалендаря.Предпраздничный);
    
    Запрос.Текст =
    "ВЫБРАТЬ
    | СУММА(ВЫБОР
    |   КОГДА РегламентированныйПроизводственныйКалендарь.ВидДня = &РабочийДень
    |	ТОГДА 1
    |   ИНАЧЕ 0
    |  КОНЕЦ) КАК ЧислоРабочихДней,
    | СУММА(ВЫБОР
    |   КОГДА РегламентированныйПроизводственныйКалендарь.ВидДня = &ПредпраздничныйДень
    |	ТОГДА 1
    |   ИНАЧЕ 0
    |  КОНЕЦ) КАК ЧислоПредпраздничныхДней
    |ИЗ
    | РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
    |ГДЕ
    | РегламентированныйПроизводственныйКалендарь.Год = &Год";
    
    ВыборкаКалендаря = Запрос.Выполнить().Выбрать();
    Если ВыборкаКалендаря.Следующий() тогда
    ЧислоРабочихДнейВГоду = ?(ВыборкаКалендаря.ЧислоРабочихДней = NULL, 0, ВыборкаКалендаря.ЧислоРабочихДней); 
    ЧислоПредпраздничныхДнейВГоду = ?(ВыборкаКалендаря.ЧислоПредпраздничныхДней= NULL, 0, ВыборкаКалендаря.ЧислоПредпраздничныхДней);
    Иначе 
    ЧислоРабочихДнейВГоду = 0;
    ЧислоПредпраздничныхДнейВГоду = 0;
    КонецЕсли;
    СреднеМесячное = Окр((ЧислоРабочихДнейВГоду*8+ЧислоПредпраздничныхДнейВГоду*7)/12,2);
    Возврат СреднеМесячное;
    
    КонецФункции // СерднемесячноеКоличествоЧасов(Год)
    
  5. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.722
    Симпатии:
    960
    Баллы:
    204
    Ну можете еще посомтреть, как это делается при выводе на печать производственного календаря
  6. TopicStarter Overlay
    dlis
    Offline

    dlis Опытный в 1С

    Регистрация:
    29 июл 2011
    Сообщения:
    266
    Симпатии:
    0
    Баллы:
    26
    Это я и делал, но там много воды, спасибо svet))
  7. Колян
    Offline

    Колян

    Регистрация:
    28 сен 2014
    Сообщения:
    2
    Симпатии:
    1
    Баллы:
    1
    Чтоб не портить конфу есть предложение ввести новый вид оплаты по окладу по часам (назовите как угодно) в формулу расчета вручную введите параметры Тарифная ставка месячная * Время в часах / Норма время месячная в часах. Последний параметр надо самим добавить в таблицу показателей с параметрами числовой По всей компании Периодический . дальше в разделе расчет зарплаты есть пунктик Показатели для расчета зарплаты (типа константы). Там на закладке постоянныем данные по организации вводим в таблицу значение нашго нового параметра Норма время месячная в часах и устанавливаем значение для текущего года. Норму можно посмотреть в производственном календаре при печати онного. каждый год норма должна меняться. Значение периодическое и зависит от даты. Одна заковырка есть еще и женщины а у них 36 часовая неделя и норма годовая меньше. поэтому предлагаю для женщин ввести новый вид начисления с другой константой "норма месячная 36 часовая.
    И придется мужчинам назначать Оклад по часам 40час/нед а женщинам Оклад по часам 36час/нед. Вот примерно такая мысленка чтоб не портить конфу.
    rur39 нравится это.
  8. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.863
    Симпатии:
    442
    Баллы:
    104
    думаешь спустя два года актуально ещё?
  9. Колян
    Offline

    Колян

    Регистрация:
    28 сен 2014
    Сообщения:
    2
    Симпатии:
    1
    Баллы:
    1
    Да я замучился гуглить да и переход только сейчас намечается. А на толковые советов не натыкался. Флуд один по теме. вот как смог выдумал. может кому тож пригодится.
  10. meskalin
    Offline

    meskalin Профессионал в 1С Команда форума

    Регистрация:
    15 мар 2012
    Сообщения:
    1.016
    Симпатии:
    121
    Баллы:
    104
    Печатная форма производственного календаря (2.5 и 3.0), в том числе показывает среднемесячное количество часов.

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