|
Расчет северной надбавки в ЗУП | ☑ | ||
---|---|---|---|---|
0
vechiy
05.07.12
✎
16:49
|
Подскажите, по какой формуле рассчитывается северная надбавка в ЗУПе?:)
|
|||
1
1C_OOLer
05.07.12
✎
16:50
|
Результат = Северный стаж оценить по Шкала надбавок * Расчетная база
ваш КО :) |
|||
2
vechiy
05.07.12
✎
16:55
|
ну более очевидную формулу)
|
|||
3
vechiy
05.07.12
✎
16:55
|
хотя, чего я ещё хочу)
получается, половина расчетной базы - вот и вся северная надбавка? |
|||
4
vechiy
05.07.12
✎
16:55
|
что значит "оценить"?
|
|||
5
1C_OOLer
05.07.12
✎
17:00
|
Значит посчитать процент в зависимости от стажа работы на севере...
в УПП где-то тут Функция ПолучитьПроцентыСевернойНадбавкиЗаПериод(ДатаРегистрации, ПорядокНачисления, НачальныйПроцент, Месяцев, Дней, ДатаНачала, ДатаОкончания) Экспорт мДлинаДня = 60*60*24; ВозврМассив = Новый Массив; // в общем случае шкала может состоять из двух участков РазмерПериода1 = 0; РазмерПрироста1 = 0; Ограничение1 = 0; РазмерПериода2 = 0; РазмерПрироста2 = 0; Ограничение2 = 0; Если ПорядокНачисления = Перечисления.ПорядокНачисленияСеверныхНадбавок.Группа1Льготная Тогда РазмерПериода1 = 6; РазмерПрироста1 = 20; Ограничение1 = 60; РазмерПериода2 = 6; РазмерПрироста2 = 10; Ограничение2 = 100; ИначеЕсли ПорядокНачисления = Перечисления.ПорядокНачисленияСеверныхНадбавок.Группа1Обычная Тогда РазмерПериода1 = 6; РазмерПрироста1 = 10; Ограничение1 = 100; ИначеЕсли ПорядокНачисления = Перечисления.ПорядокНачисленияСеверныхНадбавок.Группа2Льготная Тогда РазмерПериода1 = 6; РазмерПрироста1 = 20; Ограничение1 = 60; РазмерПериода2 = 12; РазмерПрироста2 = 20; Ограничение2 = 80; ИначеЕсли ПорядокНачисления = Перечисления.ПорядокНачисленияСеверныхНадбавок.Группа2Обычная Тогда РазмерПериода1 = 6; РазмерПрироста1 = 10; Ограничение1 = 60; РазмерПериода2 = 12; РазмерПрироста2 = 10; Ограничение2 = 80; ИначеЕсли ПорядокНачисления = Перечисления.ПорядокНачисленияСеверныхНадбавок.Группа3Льготная Тогда РазмерПериода1 = 6; РазмерПрироста1 = 10; Ограничение1 = 50; ИначеЕсли ПорядокНачисления = Перечисления.ПорядокНачисленияСеверныхНадбавок.Группа3Обычная Тогда РазмерПериода1 = 12; РазмерПрироста1 = 10; Ограничение1 = 50; ИначеЕсли ПорядокНачисления = Перечисления.ПорядокНачисленияСеверныхНадбавок.Группа4Льготная Тогда РазмерПериода1 = 6; РазмерПрироста1 = 10; Ограничение1 = 30; ИначеЕсли ПорядокНачисления = Перечисления.ПорядокНачисленияСеверныхНадбавок.Группа4Обычная Тогда РазмерПериода1 = 12; РазмерПрироста1 = 10; Ограничение1 = 10; РазмерПериода2 = 24; РазмерПрироста2 = 10; Ограничение2 = 30; Иначе // порядок не указан Элемент = Новый Структура("Период, Процент", ДатаНачала, 0); ВозврМассив.Добавить(Элемент); Возврат ВозврМассив; КонецЕсли; ДатаОтсчета = ДатаРегистрации - Дней * мДлинаДня; ПрошлоМесяцевПослеДатыОтсчета = (Год(ДатаНачала) - Год(ДатаОтсчета)) * 12 + Месяц(ДатаНачала) - Месяц(ДатаОтсчета) - ?(День(ДатаНачала) >= День(ДатаОтсчета), 0, 1); ПрошлоМесяцев = (Год(ДатаНачала) - Год(ДатаОтсчета)) * 12 + Месяц(ДатаНачала) - Месяц(ДатаОтсчета) - ?(День(ДатаНачала) >= День(ДатаОтсчета), 0, 1) + Месяцев; Если РазмерПериода2 = 0 Тогда // у шкалы только один участок ПрошлоПериодов = Цел(ПрошлоМесяцев / РазмерПериода1); ОстатокМесяцев = ПрошлоМесяцев - ПрошлоПериодов * РазмерПериода1; Процент = Мин(НачальныйПроцент + ПрошлоПериодов * РазмерПрироста1, Ограничение1); Элемент = Новый Структура("Период, Процент", ДатаНачала, Процент); ВозврМассив.Добавить(Элемент); ДатаСменыПроцента = ДобавитьМесяц(ДатаОтсчета, ПрошлоМесяцевПослеДатыОтсчета + РазмерПериода1 - ОстатокМесяцев); Пока ДатаСменыПроцента < ДатаОкончания Цикл Процент = Мин(Процент + РазмерПрироста1, Ограничение1); Элемент = Новый Структура("Период, Процент", ДатаСменыПроцента, Процент); ВозврМассив.Добавить(Элемент); Если Процент = Ограничение1 Тогда Прервать; КонецЕсли; ДатаСменыПроцента = ДобавитьМесяц(ДатаСменыПроцента, РазмерПериода1); КонецЦикла; ИначеЕсли НачальныйПроцент >= Ограничение1 Тогда // используем уже второй участок шкалы ПрошлоПериодов = Цел(ПрошлоМесяцев / РазмерПериода2); Процент = Мин(НачальныйПроцент + ПрошлоПериодов * РазмерПрироста2, Ограничение2); Элемент = Новый Структура("Период, Процент", ДатаНачала, Процент); ВозврМассив.Добавить(Элемент); ДатаСменыПроцента = ДобавитьМесяц(ДатаОтсчета, (ПрошлоПериодов + 1) * РазмерПериода2); Пока ДатаСменыПроцента < ДатаОкончания Цикл Процент = Мин(Процент + РазмерПрироста2, Ограничение2); Элемент = Новый Структура("Период, Процент", ДатаСменыПроцента, Процент); ВозврМассив.Добавить(Элемент); Если Процент = Ограничение2 Тогда Прервать; КонецЕсли; ДатаСменыПроцента = ДобавитьМесяц(ДатаСменыПроцента, РазмерПериода1); КонецЦикла; Иначе // два участка у шкалы ДатаСменыПроцента = ДобавитьМесяц(ДатаОтсчета, - Месяцев); Процент = НачальныйПроцент; РазмерПрироста = РазмерПрироста1; РазмерПериода = РазмерПериода1; Ограничение = Ограничение1; Если ДатаСменыПроцента >= ДатаНачала И ДатаСменыПроцента <= ДатаОкончания Тогда Если ДатаСменыПроцента > ДатаНачала Тогда Элемент = Новый Структура("Период, Процент", ДатаНачала, Макс(Процент - РазмерПрироста,0)); ВозврМассив.Добавить(Элемент); КонецЕсли; Элемент = Новый Структура("Период, Процент", ДатаСменыПроцента, НачальныйПроцент); ВозврМассив.Добавить(Элемент); Иначе Пока ДатаСменыПроцента < ДатаОкончания Цикл Если ДатаСменыПроцента = ДатаНачала Тогда Элемент = Новый Структура("Период, Процент", ДатаСменыПроцента, Процент); ВозврМассив.Добавить(Элемент); Прервать; ИначеЕсли ДатаСменыПроцента > ДатаНачала Тогда Элемент = Новый Структура("Период, Процент", ДатаНачала, Макс(Процент - РазмерПрироста,НачальныйПроцент)); ВозврМассив.Добавить(Элемент); Элемент = Новый Структура("Период, Процент", ДатаСменыПроцента, Процент); ВозврМассив.Добавить(Элемент); Прервать; КонецЕсли; Процент = Процент + РазмерПрироста; Если Процент > Ограничение Тогда Если Процент > Ограничение2 Тогда Процент = Ограничение2; Прервать; Иначе // если уже перешли на второй участок... // сначала отменим увеличение процента Процент = Процент - РазмерПрироста; // сменим параметры участка шкалы РазмерПрироста = РазмерПрироста2; РазмерПериода = РазмерПериода2; Ограничение = Ограничение2; // установим процент с использованием новых параметров Процент = Процент + РазмерПрироста; КонецЕсли; КонецЕсли; ДатаСменыПроцента = ДобавитьМесяц(ДатаСменыПроцента, РазмерПериода); Если ДатаСменыПроцента > ДатаОкончания Тогда // если это уже за пределами периода - отменим увеличение процента Процент = Процент - РазмерПрироста; Прервать; КонецЕсли; КонецЦикла; // если так ничего и не добавили - вернем последнее значение процента на дату начала периода Если ВозврМассив.Количество() = 0 Тогда Элемент = Новый Структура("Период, Процент", ДатаНачала, Процент); ВозврМассив.Добавить(Элемент); КонецЕсли; КонецЕсли; КонецЕсли; Возврат ВозврМассив; КонецФункции |
|||
6
ale-sarin
05.07.12
✎
17:00
|
(4) А шкалу надбавок посмотреть? Процент северной надбавки зависит от стажа.
|
|||
7
vechiy
05.07.12
✎
17:16
|
ага, уже понял, пасиба!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |