2015-04-17 13:01:20
Краткое описание :
Неверные данные в картотеке и РК после выполнения функции обновления тарифов/окладов по картотекеОписание :
Обновление тарифов/окладов в картотекеЧто измененно :
У сотрудника был приказ на изменение режима работы с 12.01.2015. В зарплате есть соответствующий переход в межпериод. С 01.01.2015 проводим изменение тарифов/окладов в связи с новой тарифной сеткой. После выполнения обновления тарифов/окладов в картотеке с параметром "Объединять в истории записи с одинаковыми датами"- "да", "Корректировать данные в приказах" -"да" и с параметром Объединять в истории записи с одинаковыми датами"- "нет" результат не удовлетворительный.
В документации написано:
Объединять в истории записи с одинаковыми датами - да,
Корректировать данные в приказах - да, при этом в истории есть запись, равная либо больше Даты обновления тарифа, то в данных записях изменятся оклад/тариф и корректирующий коэффициент (при установленном параметре).
Нужно чтобы работало в соответствии с описанием.
Как измененно :
Внесены следующие изменения для сервисной функции "Обновление тарифов/окладов в картотеке":
а) изменен принцип работы функции:
1) при обработке назначений выбранных сотрудников:
1.1. определяется последняя на дату проведения обновления (если назначение начинается позже даты проведения операции обновления, используется дата начала назначения) запись истории назначения, в которой модифицировался оклад;
1.2. если контроль/пересчет осуществляются на основе тарифных ставок, для данной записи производятся проверки:
- на наличие привязки записи к тарифной сетке;
- на попадание оклада в "вилку" тарифной ставки (в случае если установлена настройка "Учитывать минимальное и максимальное ограничения тарифов/окладов в картотеке");
Если какая-то из проверок не была пройдена, данное назначение пропускается и система переходит к обработке следующего назначения.
1.3. если контроль/пересчет осуществляются на основе тарифных ставок, система по системе оплаты, разряду и коду тарифа определяет актуальный тариф на дату проведения обновления; оклад пересчитывается на основе найденного тарифа;
1.4. если режим работы функции "пересчет" и коэффициенты пересчета не нулевые:
- если установлен параметр "Изменять корректирующий коэффициент при перерасчете тарифов", производится расчет нового КК;
- система пересчитывает оклад на основе коэффициентов пересчета, а если менялся КК, то и на основе КК;
1.5. производится округление тарифов/окладов согласно установленным параметрам округления;
1.6. если обрабатываемая запись истории привязана к тарифной ставке и установлена настройка "Учитывать минимальное и максимальное ограничения тарифов/окладов в картотеке", осуществляется проверка на попадание рассчитанного оклада/тарифа в "вилку" тарифной ставки; при выходе за "вилку" оклад/тариф приводится к пограничному значению;
При проверке и привидении оклада к пограничному значению учитывается количество ставок, в случае если система оплаты зависит от количества ставок.
1.7. по рассчитанным данным:
- создается новая запись истории назначения в случае если выполняется хотя бы одно из условий :
* запись истории, найденная в п.1.1 имеет дату начала отличную от даты проведения обновления (если назначение начинается позже даты проведения операции обновления, используется дата начала назначения);
* параметр "Объединять в истории записи с одинаковыми датами" установлен в значение "нет";
* запись истории, найденная в п.1.1, создана приказом, а параметр "Корректировать данные в приказах" имеет значение "нет";
Для создаваемой записи: "дата с" устанавливается равной дате проведения обновления (если назначение начинается позже даты проведения операции обновления, используется дата начала назначения); "дата по" сохраняется равной "дате по" записи из п.1.1 в случае если она заполнена и больше даты проведения обновления (если назначение начинается позже даты проведения операции обновления, используется дата начала назначения).
- информация об изменениях тарифа/оклада вносится в запись истории, найденную в п.1.1 в случае, если дата этой записи равна дате проведения обновления (если назначение начинается позже даты проведения операции обновления, используется дата начала назначения), параметр "Объединять в истории записи с одинаковыми датами" имеет значение "да", а также:
* или запись истории назначения не создана приказом;
* или запись истории создана приказом и для настройки "Корректировать данные в приказах" установлено значение "да";
1.8. при формировании сигналов в РК, по созданной/измененной записи истории отправляется сигнал в рабочую корзину;
1.9. анализируются записи истории назначения, в которых модифицировался оклад и дата записи позже даты проведения операции обновления (если назначение начинается позже даты проведения операции обновления, используется дата начала назначения):
- для найденных записей осуществляется предварительный расчет п.1.2-1.6;
- данные об обнаруженных "будущих" записях истории и рассчитанные для них тариф/оклад заносятся в специальную таблицу;
- если по п.1.2 осуществлялся контроль и проверка не была пройдена, запись попадает в специальную таблицу, однако помечается как не обрабатываемая и блокируется для постобработки;
2) после обработки всех назначений если были найдены записи истории с датами позже даты проведения обновления, открывается окно для определения постобработки этих записей:
2.1. в верхней панели окна информация о назначении, для которых были найдены "будущие" записи истории;
2.2. в средней панели информация о "будущих" записях истории:
- поле "Операция" означает, какие манипуляции будут проведены с записью после нажатия кнопки "Продолжить", и имеет значения:
* "не обрабатывать запись" - данная запись не будет обработана и останется неизменной после завершения обновления тарифов/окладов;
* "внести изменения в запись истории" - информация об измененном тарифе/окладе будет внесена в данную запись истории;
* "создать копию, запись сделать неактуальной" - на основании данной записи будет создана копия, в которую будет занесена информация об обновленном тарифе окладе, после чего для записи-источника будет установлен признак неактуальности;
- если запись истории заблокирована, она подсвечена серым, поле "Операция" недоступно для модификации, а поле "Причина блокировки" содержит информацию какая проверка из п.1.2 не была пройдена;
- если запись истории была создана приказом, поля "Номер приказа" и "Дата приказа" подсвечиваются фиолетовым и при установке для такой записи значения "внести изменения в запись истории", выдается предупреждение о том, что при изменении записи будет модифицирован приказ;
- для не заблокированных записей отображается текущая информация о тарифе (поля "до"), для записей, подлежащих обработке(внести изменения, создать копию), также отображается информация о тарифе после обновления;
2.3. в нижней панели кнопки для групповых операций:
- "Не обрабатывать" - для всех "будущих" записей всех назначений для поля "Операция" будет установлено значение "не обрабатывать запись";
- "Внести изменения" - для всех "будущих" записей всех назначений для поля "Операция" будет установлено значение "внести изменения в запись истории";
- "Создать копию" - для всех "будущих" записей всех назначений для поля "Операция" будет установлено значение "создать копию, запись сделать неактуальной";
- "Продолжить" - запускается постобработка "будущих" записей согласно выбранным вариантам операций;
- при закрытии окна [X]: все "будущие" записи не обрабатываются, выдается соответствующее сообщение;
в) печать справки об обновлении тарифов/окладов переведена на FastReport:
- записи об обработанных назначениях сотрудника выводятся сгруппировано по подразделениям карточки, печатаются: табельный номер, ФИО, разряд, должность и тариф/оклад до и после операции обновления;
- записи с информацией о назначении можно развернуть, дополнительно будет отражены записи истории назначения, которые были добавлены или модифицированы: даты начала/окончания, наименование операции и тариф/оклад до и после операции обновления.