СПАСИБО ЗА ЗАМЕЧАНИЯ!
1. Расчет зп приосходит еженедельно. Вы пробовали ввести неделю которая попадает на конец месяца? К примеру 26.10.09-01.11.09. Дальше думаю все сами поймете...
По условию: Считать.то все данные вводятся только в пределах месяца.
Т.О. Начисление в недели которая поподает на конец месяца вводится двум строками (либо двумя документами)
--------------
2. Зачем писать НачалоДня(ДатаНачала), когда вы в форме не задаете время, только дату. То есть время и так всегда будет равно 0:00:00, а вы еще раз его к началу дня приводите.
Об этом не подумала!!! Просто стораюсь забивать код на автомате, дабы не тратить время.
-------------
3. Не помню как этот пункт звучит в требованиях к экзамену, но выгружать результат запроса и работать уже с таблицей очень не рекомендуется. Посмотрите метод выборки: Выборка.НайтиСледующий(Отбор)
Учту.
4. Начисление компенсация... Представьте себе ситуацию, вы пришли на работу в конце года и отработали 2 дня, заработали 2000 рублей. И вот в следующем году вам начисляют компенсацию, и хотелось бы видеть среднее как 2000/2, а у вас получается что рабочих дней в прошлом году было не 2, а весь год и это где-то в районе 250.
Условие задачи:
Размер компенсации определяется как процент от серднего... Средний заработок рассчитывается как сумма начисления по тарифу в прошлом году, поделенная на количество рабочих дней ЗА ЭТОТ ГОД
Я определяю рабочие дни за этот (текущий) год
-----------------
5.
а)В задании сказано что процент задается для организации в целом. У вас выбран правильный регистр, но зачем получать этот процент в момент расчета, мне кажется проще получить ее в момент записи движений методом РС.<ИмяРегистра>.ПолучитьПоследнее(Дата) и поместить этот процент в Размер.
б) Аналогичная ситуация с окладом. К вас есть типовой регистр Сведения о сотрудниках, а вы сделали свой, и при том получилось что у всех в фирме одинаковый оклад. Хотя в условии задачи этого не написано. Т.е. опять бы хотелось получить оклад запросом и записать его в Реквизит "Размер" и далее уже использовать его при расчете.
У вас получилось что вам не в основных, не в дополнительных начислениях этот реквизит вообще не нужен, зачем же было его создавать?
Согласна!!1
-------------------------
6. Очень интересный метод расчета. Вы из объекта передаете ссылку, а потом читаете движения. Передавайте Объект и вам не нужно будет писать эти строчки с установкой отбору по регистратору, потом использовать метод .Прочитать(). Вы просто напишете Объект.Движения.ОсновныеНачисления и используйте его.
И я бы очень рекомендовал вам посмотреть как делается расчет в примере решения задания, который идет на диске с книжкой с вопросами. Если у вас нету таковой - попросите, люди помогут .
А чем метод плох? Удобен для перерасчетов, и подключений к любым документам... Да и просто этот метод я забиваю на автомате.
-----------------------------------
7. В задаче сказано что человеку предоставляется отпуск в один календарный месяц в год, а у вас в задаче нигде не проверяется ходил ли человек в отпуск или нет. То есть я могу человека отправить в отпуск на много месяцев.
В условии не сказано, что нужен контроль за количеством отгуленных дней отпуска. (Не зачем усложнять самомтоятельно задание, времени и так мало).
Не помню в какой задачи есть условия создания контроля за отпусками. Для контроля нужен еще регистр накопления (скорее оборотный)