Просмотрел ветку задачи в 8.1, ни в одном решении не увидел требования, что у сотрудника может быть стаж. Как я решал:
1. Данные о приеме на работу (дата) добавил в спр. ФизЛица, туда же добавил три реквизита: Год, Месяц, День для хранения сведений о пред. стаже. Можно было и в РС сделать, просто итак их много в задаче получилось.
2. Долго думал как лучше выцепить сведения о проценте премии, вот как получилось:
-Определяем сколько полных лет сотр. отработал (нужно учесть еще стаж который мог быть у сотр)
-Соединяем таблицу ОснНачисления док. НачислениеЗП левым соединением с РС Премия (там у меня процент премии от стажа зависит) по условию что СколькоОнОтработал >= ЧтоВРегистреПремия, затем группируем а процент Премии берем МАКСИМУМ
На расчеты мало задач, решал, поэтому есть вопросы, не хочется в посл. задачах те же ошибки делать:
1. Премия начисляется процентом от начисленного в том же периоде оклада. Сделал зависимость от базы по периоду регистрации, это норм? или все равно надо по периоду действия?
2. Правильно ли я понимаю, что связь через реальные таблицы должна быть только когда мы считаем базу и эта вирт. таблица
может содержать разное количество строк по сравнению с реальной (например в доп начислениях у нас есть ПремияОтОклада и ПремияСуммой, для которой базы нет, то есть в вирт таблицу она не попадет.) А если у нас все начисления имеют базу, тогда можно и не соединять через реальную табл.
3. Видел у некоторых ребят, в модуль расчета передают не только ссылку на регистратор, но и сам Объект Движения документя Начисление. То есть теперь, не надо отбор по регистратору делать, по сути все движения у нас уже есть. Задал этот вопрос Павлу, он ответил, что если будут перерасчеты, то это плохой вариант. А если их не будет? Кто как думает?
4. Надо ли стараться для расчета (в общем модуле) все начисления выбирать одним запросом? Или будет нормально на каждый План видов расчета по запросу?
5.Буду рад любым комментариям по момему решению)
Вложения:
3.03.dt