вторник, 17 февраля 2015 г.

1с специалист задача 3.15

Условие задачи из сборника:

Начисление зарплаты сотрудникам предприятия осуществляется
ежемесячно с использованием метода отклонений. В решении необходимо
предусмотреть возможность работы по нескольким различным графикам.
Сотрудники предприятия получают оплату по часовому тарифу. Сумма
начисления по тарифу определяется как тарифная ставка, умноженная на
количество фактически отработанных часов. Тарифная ставка в расчетном
периоде не меняется. Сотрудники работают по пятидневному графику, 40 часовая
рабочая неделя.
Три дня в неделю (понедельник, среда, пятница) по два часа работы
приходится на вечерние часы. За каждый час работы в вечернее время сотрудники
получают доплату, равную половине их часовой тарифной ставки.
В случае болезни сотрудник получает пособие, размер которого
определяется как количество дней болезни умноженное на среднюю дневную
ставку. Дни болезни рассчитываются по пятидневному графику. Средняя дневная
ставка определяется как 50% от суммы начисленного за предыдущий месяц
оклада, поделенная на количество рабочих дней в предыдущем месяце. В случае
получения сотрудником пособия начисление по окладу не производится. Следует
учесть, что данные о болезни могут вводиться в систему задним числом.
За каждый день болезни сотрудникам предприятия дополнительно
начисляется фиксированная сумма денег в качестве компенсации затрат на
лекарства. Размер суммы в течение расчетного периода не меняется.
Дополнительно, сотрудникам компании может быть начислена премия
процентом от всех начислений, сделанных в предыдущем же расчетном периоде.
Процент премии в течение периода начисления может изменяться не чаще, чем
один раз в день, но берется на начало текущего расчетного периода. В
информационной базе необходимо хранить историю изменения процента премии.
Создать отчет «Перерасчет зарплаты», в котором пользователь должен
увидеть записи регистра расчета, которые возможно требуется пересчитать.
Объектперерасчета Вид расчета Сотрудник Подразделение
Саму процедуру перерасчета записей в рамках данной задачи
реализовывать не требуется.
Ввод всех начислений происходит документом «Начисление зарплаты».
Считать, что все данные вводятся только в пределах одного месяца, например,
можно указать начисление по тарифу с 10.01 по 31.01, а запись: тариф с 10.01 по
03.02 вводить нельзя.

Решение:


1)Начнем с регистра сведений "Графики работы". По условию Три дня в неделю (понедельник, среда, пятница) по два часа работы приходится на вечерние часы.
Для реализации этого добавим в регистр ресурс "Вечерние". Заполним его значение с помощью вставки кода в обработку "Заполнение графика".
      Если Найти("135", Строка(ДеньНедели(Дат))) Тогда
НоваяЗапись.Вечерние ="2";
КонецЕсли;
2) Определимся с ПВР и ВР.
ПВР "Основные начисления". Использует период действий, зависит от базы по периоду действия.

ВР "Оклад" естественно идет в "Основные начисления".
ВР "Вечерние" идет следом за "окладом".
ВР "Больничный " идет туда же. (База = оклад)

ПВР "Дополнительные начисления". НЕ использует период действий, зависит от базы по периоду действия.
Поселим здесь ВР "Премия процентом"( база все ВР обоих ПВР).
и ВР "Пособие на лекарства" тоже сюда. (база = больничный)

3) Создадим регистры расчета. 
Добавим ресурс "ДниБольничного" в основные начисления, для расчета пособия на лекарства.

4) Заполним регистр сведений "Сведения о сотрудниках".
5) Приведем в порядок таб. части документа "Начисление ЗП"
6) Пишем обработку проведения.

7) Делаем отчет. 
Для этого вначале нужно добавить объекты перерасчет(с измерениями перерасчета подразделение и сотрудник) в каждый из регистров.

ВЫБРАТЬ
ОсновныеНачисленияПерерасчетОсн.ОбъектПерерасчета,
ОсновныеНачисленияПерерасчетОсн.ВидРасчета,
ОсновныеНачисленияПерерасчетОсн.Сотрудник,
ОсновныеНачисленияПерерасчетОсн.Подразделение
ИЗ
РегистрРасчета.ОсновныеНачисления.ПерерасчетОсн КАК ОсновныеНачисленияПерерасчетОсн

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ДополнительныеНачисленияПерерасчетДоп.ОбъектПерерасчета,
ДополнительныеНачисленияПерерасчетДоп.ВидРасчета,
ДополнительныеНачисленияПерерасчетДоп.Сотрудник,
ДополнительныеНачисленияПерерасчетДоп.Подразделение
ИЗ
РегистрРасчета.ДополнительныеНачисления.ПерерасчетДоп КАК ДополнительныеНачисленияПерерасчетДоп






Комментариев нет:

Отправить комментарий