Имя: Пароль:
1C
1С v8
ЗуП Индексация зарплаты
0 YF
 
10.07.13
15:07
Сделали индексацию зарплаты (окладов) с 01.07.2013 с коэффициентом 1,1

Исправляем документ начисление отпуска:

Док 1 - Отпуск с 15.07.2013 по 11.08.2013 - коэффициент установился 1,1

Док 2 - Отпуск с 01.07.2013 по 01.08.2013 - коэффициент установился 1

Чего не так делаю? Ведь должен же установиться новый коэффициент 1,1 в расчете среднего
1 bazvan
 
10.07.13
15:09
День в день программа не видет
2 YF
 
10.07.13
15:11
(1) Я поменял отпуск на 02.07.2013 по 01.08.2013 - та же фигня
3 kosts
 
10.07.13
15:12
Даже если логически рассуждать, то программа правильно делает. Происходит индексация зп которая было ДО даты индексации.
4 YF
 
10.07.13
15:12
(3) Не понял
5 kosts
 
10.07.13
15:14
(4) Индексируют прошлую з/п, а не будущую.
6 YF
 
10.07.13
15:15
(5) Индексируют как раз будущую, т.е. с июля все будут получать больше.
7 YF
 
10.07.13
15:15
(5) +

Почему один док. делает одним способом, а другой - другим?
8 kosts
 
10.07.13
15:18
(6) Для повышения ЗП используются плановые начисления, и к индексации отношения не имеют.
(7) Проверь, в первом месяце пол периода должно быть проиндексировано, пол нет.
9 YF
 
10.07.13
15:20
(8) Что значит фраза "Для повышения ЗП используются плановые начисления, и к индексации отношения не имеют"?
10 фросия
 
10.07.13
15:22
(2) док перезаполнили, средний пересчитали? в регистре коэф индексации 1.1 для сотруддника установлен?
11 kosts
 
10.07.13
15:22
(9) Прямо то и значат. Индексация для отпусков. Повышение зп само по себе в плановых начислениях.
12 YF
 
10.07.13
15:23
(11) А ну да в терминах ошибся. Делаем повышение с коэффициентом 1,1 стандартно, кадровым перемещением.


Но вопрос почему разное поведение двух документов остается?
13 YF
 
10.07.13
15:24
(10) Коэффициент стоит 1,1 в регистре, кнопочкой исправить открываем исправление начисления отпуска - пересчитываем средний - коэффициент в доке не меняется
14 фросия
 
10.07.13
15:25
а начисления у них одинаковые? а то есть начисления индексируемые а есть неиндексируемые- может в этом дело?
15 kosts
 
10.07.13
15:26
Еще раз перечитал (0), с месяцем я напутал - пост (3) считать ошибочным... )
16 kosts
 
10.07.13
15:28
Попробуй проиндексировать датой окончания предыдущего месяца.
17 YF
 
10.07.13
15:28
(14) У всех только оклад районные и северные
18 YF
 
10.07.13
15:29
(16) Тогда индексирует при расчете среднего зарплату за перд. месяц только в сумме до посленднего числа, т.е. не всю
19 фросия
 
10.07.13
15:41
(18) а если с первого то вообще не индексирует?
20 YF
 
10.07.13
15:43
(19) В этом документе вообще не индексирует ни с какого.

Уже изменял кадровое перемещение на 30.06.2013 - тоже коэффициент 1
21 YF
 
10.07.13
15:46
+ упс.

Поменял на 30.06.2013 повышение оклада - теперь считает коэффициент
22 YF
 
10.07.13
15:57
Блин, дата начала отпуска 01.07 и привет, как (1) говорит - день в день не видит
23 RomaH
 
naïve
10.07.13
16:13
(22) в правилах расчета выделено три случая
когда индексация была ДО отпуска - индексируется БАЗА для расчета реднего
в остальных случаях - сам средний
в ЗУП реализован только первый пункт
24 YF
 
10.07.13
16:19
(23) Понял, тогда только два пути:

1) у этого чела дату индексации ставить 30.06.2013
2) руками править расчет среднего в документе
25 RomaH
 
naïve
10.07.13
16:21
в том-то и дело - расчет среднего правильный - надо индексировать закладку с начислениями
26 RomaH
 
naïve
10.07.13
16:23
Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт
   
   Если ИмяТабличнойЧасти <> "Начисления" Тогда
       Сообщить("Данная обработка не предназначена для этой табличной части");
   КонецЕсли;

   КатегорияИндексирован = Справочники.КатегорииОбъектов.НайтиПоНаименованию("Индексирован",Истина);
   
   Запрос = Новый Запрос;
   Запрос.Текст =
   "
   |ВЫБРАТЬ
   |    КатегорииОбъектов.Объект,
   |    КатегорииОбъектов.Категория
   |ИЗ
   |    РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
   |ГДЕ
   |    КатегорииОбъектов.Объект = &Объект
   |    И КатегорииОбъектов.Категория = &Категория
   |";
   
   Запрос.УстановитьПараметр("Категория",КатегорияИндексирован);
   Запрос.УстановитьПараметр("Объект",Объект.Ссылка);
   
   Результат = Запрос.Выполнить().Выбрать();
   
   Если Результат.Следующий() Тогда
       Предупреждение("Документ уже проиндексирован. Смотри категории.");
       Возврат;
   КонецЕсли;
   
   Сотрудник = Объект.Сотрудник;
   Если Не ЗначениеЗаполнено(Сотрудник) Тогда
       Сообщить("Не выбран сотрудник");
       Возврат;
   КонецЕсли;
   
   Если Объект.Начисления.Количество() < 2 Тогда
       Сообщить("Отпуск не является переходящим");
   КонецЕсли;
   
   Запрос = Новый Запрос;
   
   Запрос.УстановитьПараметр("Начисления",Объект.Начисления.Выгрузить());
   
   Запрос.Текст =
   "
   |ВЫБРАТЬ
   |    ДатаНачала,
   |   ДатаОкончания,
   |   Сторно
   |ПОМЕСТИТЬ втНачисления
   |ИЗ &Начисления КАК Начисления
   |;
   |ВЫБРАТЬ
   |    МИНИМУМ(НачислениеОтпускаРаботникамОрганизацийНачисления.ДатаНачала) КАК ДатаНачала,
   |    МАКСИМУМ(НачислениеОтпускаРаботникамОрганизацийНачисления.ДатаОкончания) КАК ДатаОкончания
   |ИЗ
   |    втНачисления КАК НачислениеОтпускаРаботникамОрганизацийНачисления
   |    ГДЕ НЕ НачислениеОтпускаРаботникамОрганизацийНачисления.Сторно
   |";
   
   Результат = Запрос.Выполнить().Выбрать();
   
   Если Не Результат.Следующий() Тогда
       Возврат;    
   КонецЕсли;
       
   
   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("Сотрудник",        Сотрудник);
   Запрос.УстановитьПараметр("ДатаНачала",    Результат.ДатаНачала);
   Запрос.УстановитьПараметр("ДатаОкончания",    Результат.ДатаОкончания);
   
   Запрос.Текст =
   "ВЫБРАТЬ
   |    КоэффициентИндексацииЗаработка.Коэффициент,
   |    КоэффициентИндексацииЗаработка.Период
   |ИЗ
   |    РегистрСведений.КоэффициентИндексацииЗаработка КАК КоэффициентИндексацииЗаработка
   |ГДЕ
   |    КоэффициентИндексацииЗаработка.Сотрудник = &Сотрудник
   |    И КоэффициентИндексацииЗаработка.Период МЕЖДУ &ДатаНачала И &ДатаОкончания";
   
   
   ВыборкаКоэфициентов = Запрос.Выполнить().Выбрать();
   
   Пока ВыборкаКоэфициентов.Следующий() Цикл
       
       Для Каждого СтрокаНачисления Из Объект.Начисления Цикл
           
           Если СтрокаНачисления.ДатаНачала >= ВыборкаКоэфициентов.Период И НЕ СтрокаНачисления.Сторно Тогда
               
               СтрокаНачисления.Результат = СтрокаНачисления.Результат * ВыборкаКоэфициентов.Коэффициент;
               
               Сообщить("Увеличен результат расчета в строке №" + СтрокаНачисления.НомерСтроки + " на коэфициент " + ВыборкаКоэфициентов.Коэффициент + " от " + ВыборкаКоэфициентов.Период);
               
           КонецЕсли;
           
       КонецЦикла;
       
   КонецЦикла;
   
   МенеджерЗаписи = РегистрыСведений.КатегорииОбъектов.СоздатьМенеджерЗаписи();
   
   МенеджерЗаписи.Категория = КатегорияИндексирован;
   МенеджерЗаписи.Объект = Объект.Ссылка;
   
   МенеджерЗаписи.Записать();
   
   Объект.Комментарий = СокрЛП(Объект.Комментарий) + " проиндексировано";
   
КонецПроцедуры
27 YF
 
10.07.13
16:57
(25) Не понял. Для расчета среднего берутся начисления без индексации - как можно считать тогда расчет правильным?

(26) Что это за код? Из типовой?
28 YF
 
10.07.13
17:47
Продолжаем разговор ...
29 RomaH
 
naïve
11.07.13
08:30
(27)
16. При повышении в организации (филиале, структурном подразделении) тарифных ставок, окладов (должностных окладов), денежного вознаграждения средний заработок работников повышается в следующем порядке:

если повышение произошло в расчетный период, - выплаты, учитываемые при определении среднего заработка и начисленные в расчетном периоде за предшествующий повышению период времени, повышаются на коэффициенты, которые рассчитываются путем деления тарифной ставки, оклада (должностного оклада), денежного вознаграждения, установленных в месяце последнего повышения тарифных ставок, окладов (должностных окладов), денежного вознаграждения, на тарифные ставки, оклады (должностные оклады), денежное вознаграждение, установленные в каждом из месяцев расчетного периода;
(в ред. "Постановления" Правительства РФ от 11.11.2009 N 916)
(см. текст в предыдущей "редакции")

если повышение произошло после расчетного периода до наступления случая, с которым связано сохранение среднего заработка, - повышается средний заработок, исчисленный за расчетный период;

если повышение произошло в период сохранения среднего заработка, - часть среднего заработка повышается с даты повышения тарифной ставки, оклада (должностного оклада), денежного вознаграждения до окончания указанного периода.
30 RomaH
 
naïve
11.07.13
08:31
(27) что повышается во втором абзаце, что в третьем и четвертом?
31 RomaH
 
naïve
11.07.13
08:32
(27) ты кто вообще по професси?
32 фросия
 
11.07.13
08:38
(23) можно спрошу? (не по теме)
а бывает так что оклад индексируемый, а премии всякие и прочие разовые начисления не индексируются, но в базу расчета среднего входят- тогда как реализовать п 2.
или такого не бывает, если индексируется, то все подряд?
33 RomaH
 
naïve
11.07.13
08:44
(32) вот и еще одна дырка в законе

При повышении среднего заработка выплаты, учитываемые при определении среднего заработка, установленные в абсолютных размерах, не повышаются.

т.е. бывает что не индексируется
но
если следовать букве закона в нашем случае мы не повышаем выплаты - "повышается средний заработок, исчисленный за расчетный период"
34 RomaH
 
naïve
11.07.13
08:45
т.е. на лицо непродуманность закона - чел ушедший в отпуск 30 апреля получит меньше, чем чел ушедший 1 мая
35 YF
 
11.07.13
09:24
(29) Я то программист.


Вопрос то в том, что если отпуск с 01 июля - то не индексирует, а если с 02 июля - то индексирует.

В обоих вариантах и 01 и 02 в одном периоде => в обоих случаях либо должно индексироваться, либо нет
36 YF
 
11.07.13
09:41
+(35)

В (29) Для меня непонятно что такое "расчетный период" - можешь разжевать?
37 DarKySiK
 
11.07.13
09:42
(36) период, за который ты данные для среднего собираешь
38 YF
 
11.07.13
14:53
Продолжаем разговор