К списку форумов К списку вопросов
По какой формуле подсчитать оклад если известно наруки?
skrimer
01.10.2004 - 18:10
Озадачили бухи, в связи с началом выплачивания по белому хотят узнать какие ставить оклады если известно сколько должен получить сотр наруки!
Шрам
1 - 01.10.2004 - 18:11
Украина?
skrimer
2 - 01.10.2004 - 18:12
Да
RuS
3 - 01.10.2004 - 18:16
В "ЗиК для Украины" есть готовый алгоритм.
skrimer
4 - 01.10.2004 - 18:17
где именно
skrimer
5 - 01.10.2004 - 18:19
Может наводку дашь?
RuS
6 - 01.10.2004 - 18:21
(5)Не так быстро, ищу же
skrimer
7 - 01.10.2004 - 18:22
Я подожду!
ЖеняБУМ
8 - 01.10.2004 - 18:22
x- на руки.
удержание1=х*процент1;
...
удержаниеN=х*процентN
х=удержание1+...+удержаниеN+наруки, а разве не так?
RuS
9 - 01.10.2004 - 18:26
(5) 1. в док-те "Нач. и уд списком" есть галочка в закладке "Дополнительные" Выполнить расчет от обратного.
2. В параметрах назначения сотр. есть галочка "Оклад чистыми".
Шрам
10 - 01.10.2004 - 18:38
ПределВыпл = МаксБазаПенс*(1-стФонды-стНДФЛ+стНДФЛ*стФонды);
//стФонды - сумма всех отч. в фонды (по-моему 0.035)
//стНДФЛ = 0.13
    
БелыйОклад = Сотрудник.Оклад.Получить(КонецПериода);
    
Если БелыйОклад > ПределВыпл Тогда
  Оклад = БелыйОклад/(1-стНДФЛ)+МаксБазаПенс*стФонды;
Иначе
        Оклад = БелыйОклад/((1-стНДФЛ)*(1-стФонды));
КонецЕсли;
ВычНачислено();
РассчитатьСтроку();
//ошибку округления я попытался устранить так:
Если Начислено = Оклад Тогда // имеет смысл только если нет других начислений
Ошибка = КВыплате - Окр(БелыйОклад,2);
Если Ошибка > 0 Тогда // необходимо уменьшить Оклад
  Оклад = Оклад - Ошибка*((1-стНДФЛ)*(1-стФонды));
  ВычНачислено();
  РассчитатьСтроку();
ИначеЕсли Ошибка < 0 Тогда // необходимо увеличить Оклад
  Оклад = Оклад + Ошибка*((1-стНДФЛ)*(1-стФонды));
  ВычНачислено();
  РассчитатьСтроку();
КонецЕсли;
КонецЕсли;
//Назначение Процедур ВычНачислено() и РассчитатьСтроку() надеюсь всем понятен
//алгоритм работает только если оклад > 540 грн
skrimer
11 - 01.10.2004 - 20:25
Спасибо

К списку вопросов на форуме 1C

>>