... и вычисляем Сумму процентов за сложность для строк начисления "ЗаРаботуВОсобыхУсловиях"...
а зачем нам сумма процентов? нам нужен процент на каждый день (или период с одинаковым условием) умноженный на количество отработанных дней в этом условие и умноженный на тарифную ставку, если на следующий день условие поменялось, то и процент для этих отработанных дней тоже поменялся.
ИсходныеДанные.Результат = ИсходныеДанные.Результат * Выборка.СуммаПроцентовЗаСложность / 100;
а где идет умножение на отработанные часы?
Скажите, пожалуйста, сколько у вас получается строк для начисления "ЗаРаботуВОсобыхУсловиях"? Судя по тому, что в РС ПлановыеНачисления идет одна запись, то получается одна строка?
Я не много не так делал.
1) Создаем вид начисления "ЗаРаботуВОсобыхУсловиях", "Дополнительная оплата за уже оплаченное время", ставим формулу РасчетнаяБаза * ПроцентНадбавкиПоОсобымУсловиям /100, где РасчетнаяБаза - ставим "Оплата по часовому тарифу"(нужно если будет вытеснение больничным или иным видом начисления), да и к тому же в задании сказано, что это доплата. Созданный показатель ПроцентНадбавкиПоОсобымУсловиям, который зависит от другого показателя УсловияТруда, ставим тип показателя "Числовой, зависящий от другого показателя", вводим шкалу процентов в зависимости от условий труда. Наверное надо было как у вас, через РС сделать, что было бы гибче. Но в задании не сказано, что процент премии может меняться. И опять же увеличивается время на экзамене на обработку разных случаев, если допустим процент поменялся много раз за месяц.
2) Создаем документ "ГрафикРабот_В_ОсобыхУсловиях" - пишем данные в РС ГрафикПоОсобымУсловиямРабот - нужен для отчета
3) Создаем документ "ФактическиеУсловияТруда" - куда загружаем данные из файла, добавляем также ТЧ с сотрудниками. Документ добавляет строки периодами в РС Плановые начисления, для всех сотрудников из ТЧ, по тем дням которые регистрировались прибором. В ресурс "Размер" записывается значение условие труда. То есть фактически делается запись:
10.01.2014 - 15.01.2014 1
16.01.2014 - 18.01.2014 0
20.01.2014 - 25.01.2014 2
Т.к. формула у нас идет от РасчетБазы, то получается что, если сотрудник работал в определенный период месяца, а в другой период, допустим, болел, то будет начислена доплата за отработанный период.
И в документе Начисление зарплаты будут разбиты на столько строк, сколько записей в РС Плановые начисление, и визуально можно будет посмотреть в какой период времени было условие труда
Далее в процедуре "РассчитатьНачисленияОчередности" перед РассчитатьСтрокуНачисления( обращаемся к РС ПлановыеНачсиления, вытягиваем условие труда для строки расчета конкретного периода и подсовываем в структуру ИсходныеДанные.УсловияТруда наше значение, далее все рассчитается само собой.
Плюсы такого подхода:
видно в какой период времени было условие труда и его расчетная база
Минусы:
пришлось дописать, чтобы строки с нулевым результатом удалялись
Про РН РабочееВремяСотрудников - документ "Начисление зарплаты" сам пишет данные по виду расчета ЗаРаботуВОсобыхУсловиях
demos, у вас есть еще решенные билеты, хотелось бы свериться с альтернативным взглядом? я решил пока 3, остальные 3 решу в эти выходные. Сдаю экзамен 10.10.2014