Имя: Пароль:
   
1C
 
ЗИК: премия после увольнения не попадает в базу РК
0 Armando
 
28.09.10
17:49
Сотрудник уволен 16.08.2010.
31.08.2010 всем сотрудникам начисляется премия.
У этого сотрудника при расчете РК премия не попадает в базу расчета, у других нормально.

В отладчике заглянул, все стало ясно - срок действия РК установлен по дату увольнения. Подскажите, как лучше подкрутить, чтоб считалось как мне надо?
Думаю процедуру глПолучитьРайонныеКоэффициенты поломать, чтоб при увольнении сотрудника дата окончания РК устанавливалась концом месяца.
Никакой беды не случится?
1 Иде я
 
28.09.10
17:56
Не совсем понял, как можно уволенному сотруднику премию начислять...
2 Armando
 
28.09.10
18:05
Почему бы и нет? Такая специфика взаиморасчетов с сотрудниками. Зарплата состоит из оклад + премия. С окладом все ясно. А премию начисляет руководитель по какой-то своей хитрой формуле. И происходит это всегда в конце месяца. Т.е. сотрудник уволился, его рассчитали по окладу. В конце месяца еще премию начисляют.
3 baza1978
 
28.09.10
18:13
(0) сначала покури ТК РФ потом приходи
4 Armando
 
28.09.10
18:14
(3) и че? там написано, что нельзя сотруднику премию после увольнения начислить?
5 baza1978
 
28.09.10
18:16
ТРУДОВОЙ КОДЕКС РФ.
Статья 140. Сроки расчета при увольнении

При прекращении трудового договора выплата всех сумм, причитающихся работнику от работодателя, производится в день увольнения работника. Если работник в день увольнения не работал, то соответствующие суммы должны быть выплачены не позднее следующего дня после предъявления уволенным работником требования о расчете.
В случае спора о размерах сумм, причитающихся работнику при увольнении, работодатель обязан в указанный в настоящей статье срок выплатить не оспариваемую им сумму.
6 Armando
 
28.09.10
18:28
(5) В этом плане все ровно. В договоре указан какой-то оклад, при увольнении сотрудника рассчитывают по этому окладу. А премия по итогам работы это чистая инициатива работодателя.
ps Помню как маме после увольнения через 4 месяца перечислили премию по итогам года.
7 andrewalexk
 
28.09.10
18:29
:) ..и тут про Лужкова?
8 Armando
 
28.09.10
18:30
где?
9 baza1978
 
28.09.10
19:48
(6) "А премия по итогам работы это чистая инициатива работодателя"
юрист одного из моих бывших зарплатодателей тоже так в суде говорил, однако 50 косарей такой премии я отсудил. Короче иди кури, потом приходи.
10 Armando
 
28.09.10
20:27
(9) Я понял твою позицию. В данном случае работодатель не собирается зажимать премию, просто она рассчитывается в конце месяца, поэтому не попадает в базу РК. Проблема только в этом.
По большому счету можно было бы в конце месяца формировать список уволенных в текущем месяце и им отдельно начислять премию последним рабочим днем сотрудника. Но это все равно будет в конце месяца и проблем от этого только прибавится, т.к. баз штук 50-60.
В данном случае стоит задача доработать программу под реалии конкретного предприятия. Т.е. что бы премия, начисленная концом месяца, попадала в расчетную базу РК уволившихся сотрудников. Надеюсь, доступно объяснил.
Т.к. плотно общаться с ЗиКом перестал года полтора-два назад, и плохо помню зиковские подводные камни, и с РК делов никогда не имел, то прошу совета знающих.

Итак, что сделал:
процедура глПолучитьРайонныеКоэффициенты: данный блок кода вставлен перед 'Возврат ТаблицаКоэффициентов;'.
Если ТаблицаКоэффициентов.ДатаОкончания < КонМесяца(ТаблицаКоэффициентов.ДатаОкончания) Тогда
   
   Подр = ТаблицаРеквизитов.Подразделение;
   ПоследняяДатаОкончания = ТаблицаКоэффициентов.ДатаОкончания;
   
   Если глПодразделениеОбособленное(Подр)=1 Тогда
       // если подразделение обособленное, то возьмем его районный коэффициент
       Если Подр.РайонныйКоэффициент > 1 Тогда
           ТаблицаКоэффициентов.НоваяСтрока();
           ТаблицаКоэффициентов.Коэффициент = Подр.РайонныйКоэффициент;
           ТаблицаКоэффициентов.ДатаНачала = ПоследняяДатаОкончания + 1;
           ТаблицаКоэффициентов.ДатаОкончания = ДатаПо;
       КонецЕсли;
   ИначеЕсли Константа.РайонныйКоэффициент > 1 Тогда
       // если не работал в обособленном подразделении - берем константу
       ТаблицаКоэффициентов.НоваяСтрока();
       ТаблицаКоэффициентов.Коэффициент = Константа.РайонныйКоэффициент;
       ТаблицаКоэффициентов.ДатаНачала = ПоследняяДатаОкончания + 1;
       ТаблицаКоэффициентов.ДатаОкончания = ДатаПо;
   КонецЕсли;
КонецЕсли;


хотелось бы узнать, к каким печальным последствия может привезти сие вмешательство, и приведет ли вообще?
11 Armando
 
28.09.10
20:30
Пардон, правильнее будет вот так:
Если ТаблицаКоэффициентов.ДатаОкончания < ДатаПо Тогда
   
   Подр = ТаблицаРеквизитов.Подразделение;
   ПоследняяДатаОкончания = ТаблицаКоэффициентов.ДатаОкончания;
   
   Если глПодразделениеОбособленное(Подр)=1 Тогда
       // если подразделение обособленное, то возьмем его районный коэффициент
       Если Подр.РайонныйКоэффициент > 1 Тогда
           ТаблицаКоэффициентов.НоваяСтрока();
           ТаблицаКоэффициентов.Коэффициент = Подр.РайонныйКоэффициент;
           ТаблицаКоэффициентов.ДатаНачала = ПоследняяДатаОкончания + 1;
           ТаблицаКоэффициентов.ДатаОкончания = ДатаПо;
       КонецЕсли;
   ИначеЕсли Константа.РайонныйКоэффициент > 1 Тогда
       // если не работал в обособленном подразделении - берем константу
       ТаблицаКоэффициентов.НоваяСтрока();
       ТаблицаКоэффициентов.Коэффициент = Константа.РайонныйКоэффициент;
       ТаблицаКоэффициентов.ДатаНачала = ПоследняяДатаОкончания + 1;
       ТаблицаКоэффициентов.ДатаОкончания = ДатаПо;
   КонецЕсли;
КонецЕсли;
12 NikVars
 
28.09.10
23:11
(11) Выдать премию на другого работника, тот ее передаст уволенному.
13 de Bug
 
29.09.10
05:27
А у меня сделано так:
       Если (ПустоеЗначение(ТаблицаРеквизитов.СостояниеФизлица)=0) Тогда
           Подр = ТаблицаРеквизитов.Подразделение;
   
           Если глПодразделениеОбособленное(Подр)=1 Тогда
               // если подразделение обособленное, то возьмем его районный коэффициент
               Если Подр.РайонныйКоэффициент > 1 Тогда
                   ТаблицаКоэффициентов.НоваяСтрока();
                   ТаблицаКоэффициентов.Коэффициент = Подр.РайонныйКоэффициент;
                   ТаблицаКоэффициентов.ДатаНачала = ТаблицаРеквизитов.Дата;
                   ТаблицаКоэффициентов.ДатаОкончания = СледующаяДата;
               КонецЕсли;
           ИначеЕсли Константа.РайонныйКоэффициент > 1 Тогда
               // если не работал в обособленном подразделении - берем константу
               ТаблицаКоэффициентов.НоваяСтрока();
               ТаблицаКоэффициентов.Коэффициент = Константа.РайонныйКоэффициент;
               ТаблицаКоэффициентов.ДатаНачала = ТаблицаРеквизитов.Дата;
               ТаблицаКоэффициентов.ДатаОкончания = СледующаяДата;
           КонецЕсли;
// АМ+
       Иначе
           Если Константа.РайонныйКоэффициент > 1 Тогда
               ТаблицаКоэффициентов.НоваяСтрока();
               ТаблицаКоэффициентов.Коэффициент = Константа.РайонныйКоэффициент;
               ТаблицаКоэффициентов.ДатаНачала = ТаблицаРеквизитов.Дата;
               ТаблицаКоэффициентов.ДатаОкончания = СледующаяДата;
           КонецЕсли;
// АМ-
       КонецЕсли;
14 Штурман
 
29.09.10
07:14
(13) а в ЗУП еще не делал?
15 de Bug
 
29.09.10
07:31
(14) Пока нет. Там сложнее. Но собираюсь. :-)
16 Штурман
 
29.09.10
08:02
(15) судя по форуму еще никто не сделал, приходится писать свое...
17 de Bug
 
29.09.10
08:22
(16) Не забудь поделиться! :-)
18 Flika
 
29.09.10
08:23
+17 со всеми :)))
19 Armando
 
29.09.10
08:31
(13) похоже на правду, спасибо
20 Иде я
 
29.09.10
09:55
Я все равно не понимаю, КАК можно начислить ПОСЛЕ увольнения сотрудника...
Либо все в момент расчета, либо...
21 de Bug
 
29.09.10
10:17
(20) Допустим, в подразделении ежемесячно вводится Доплата фиксированной суммой.
Расчетчик вводит док, в котором всем ставит период с 1-го по 31-е. Не могу сбе представить расчетчика, который будет помнить, что только что принятому такому-то нужно поставить с 3-го, а уволенному такому-то - по 15-е.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн