Архив метки: лимиты

Вопрос – ответ. 3

Вопрос:

Сгенерили лимит на рабочий год. Потом человека перевели на должность, где лимита больше (или меньше). Может система пересчитать старый лимит автоматически (полуавтоматически)? Я пока такое видел только при ограничении ИТ 2006 при увольнении.

Ответ:

У меня есть несколько вариантов решения.

  1. При переводе ограничивать период действия лимита и заводить новый. Иначе система не поймет, что надо изменить базовое право. Это вроде бы голый стандарт.
  2. При переводе в динамическом мероприятии программно запланировать запуск программы генерации лимитов с передачей в ее параметры периода и табельного номера. Это позволит избежать блокировки табельного номера (нельзя запустить программу сразу же, так как табельный номер еще блокирован мероприятием). Это можно обойти технический, но не стоит. Техническим регламентом определить время и запускать. Для пользователя это прозрачно с одним исключением – если приказ нужно печатать сразу же, то цифры будут неактуальные. Либо планировать такой запуск на совершения события (объекты BUS*).
  3. Генерировать лимит в оценке времени. Зачастую оценка времени запускается ежесуточно, поэтому лимит автоматически через user-exit можно заполнять данными с новой позиции. Опять же в случае необходимости приказа “сейчас и сразу”, кадровик может сам запустить оценку времени по одному табельному номеру, а затем распечатать приказ.

Сокращение лимитов

Ни разу не пользовался такой функцией как сокращение лимитов. Появилась задачка сокращать отпуск на время отсутствия работника. В России помню писал user-exits для этого. А здесь нашелся стандартный способ. Создаем правило сокращения следующего вида.

В правилах генерации лимитов присваиваем это правило. Теперь система будет сокращать базовое право, но только по календарным дням. Отсутствия, которые необходимо использовать для сокращения, указываются в ракурсе V_554S_M.  Обратите внимание, что отсутствие будет учтено для сокращения только в случае, если при сохранении его в 2001 инфотипе будет заполнено поле “Календарные дни”. 

Отпуск за вредные/особые условия труда

Нашел в старых записках описание, как создавать отпуск за вредные/особые условия труда. Критиковать кривизну реализации бессмысленно, так как это было в “мохнатые” годы. Поэтому приветствуется только улучшайзинг! В САП главное понять принцип, получить вектор, а дальше включить фантазию 😉

Для генерации отпусков за работу во вредных условиях труда (ВУТ) создаем лимит  (например, код 06) с автоматической генерацией в оценке времени. Для генерации лимита необходимы два условия:

  1. Наличие связи штатной должности (S) с объектом вредных условий (CH). Для объекта CH создаем инфотип 9100, в котором указывается количество дней отпуска за ВУТ (IT9100-ZDAYS). При генерации лимита в user-exit EXIT_SAPLHRLV_004 читается этот ИТ на оцениваемую дату и устанавливается количество базового права в лимите согласно HRP9100-ZDAYS. Транзакция CMOD для создания расширения.
  2. Сотрудник должен отработать более 50% рабочего времени за смену для получения права на отпуск. Для этого используется вид времени 9000. В правиле вычисляется процент отработанного времени путем:  вид времени 0002/вид времени 0050. Если больше 0.5, то вид времени 9000 = 1, иначе – 0. В функции QUOTA при генерации лимита производится умножение начисленного права на отпуск за день на вид времени 9000 «Фактич время > 50%». То есть, отработал больше 0.5 смены, то умножаем начисленное право на 1, в противном случае на ноль.

При накоплении права на отпуск кратного целой единице, система переносит целую единицу в 2006 ИТ. То есть, за 3 дня накопили 1,12 дня отпуска, то один день отпуска начислится в ИТ2006.

Читать далее

Лимит присутствия

Случайно обнаружилось, что лимиты присутствия можно вводить с любым периодом и без указания часов. А сами присутствия либо на несколько дней (периодом), либо только часы в один день. Думали, что глюк. Оказалось фича 🙂 То есть, можно ввести лимит присутствия на месяц, условно, и тем самым разрешить в месяце столько-то часов сверхурочной работы (не указывая когда именно). Удобно 🙂

Учет донорских дней

Как я делал на прошлом проекте учет донорских дней.

Два отсутствия:
1 – день сдачи крови
2 – предоставление дня отдыха за день сдачи крови
Читать далее