0
На рассмотрении

ОГРАНИЧЕНИЕ РАСЧЕТНОЙ СУММЫ

Matilda 4 года назад в Расчеты начислений и удержаний обновлен Гашков Николай (Эксперт) 4 года назад 11

Добрый вечер!

Подскажите, плз, как можно ограничить расчетную сумму (8 параметр), чтоб в отрицательную не уходила, 

если значение<0, то 0


1=С(3,0,0,1,тн,1),2=П(1),3=П(3,86),4=Т(*,9,,,,,1,1,,),5=Н(9,,,0),6=П(3)/П(5),7=П(6)*П(4),

8=П(7)-П(2),

11=Т(*,9,,,0,2,1,1,0,0),15=П(8)

На рассмотрении

Добрый день.

Алгоритмы через "параметры" это устаревший механизм... 

По этой "магии" у нас главный специалист Игорь


Я могу помочь вам только с написанием алгоритма на скрипте..

 

а как вызвать Игоря? ) если он поможет, думаю, этого будет достаточно пока что)

спасибо

а как вызвать Игоря

Это Николай здесь работает, а простые форумчане - они на общественных началах, их ни кто не "вызывает". Захотят - сами придут.

1=С(3,0,0,1,тн,1) - выборка сумм по видам, помеченным единицей в третьем столбце ТВХ, верно?

2=П(1) - Присвоение параметру 2 значения, вычисленного в параметре 1.  Не нужное действие.

3=П(3,86) - очень странно. Значения предварительно рассчитанной сумы с номером 3 на этом этапе нет, поэтому 3-й параметр всегда будет равен текущему МРОТ, указанному в "нулевой" строке 86-й сетки. Если Вы хотели именно этого, надо было написать 3=Ч(0,86).

4=Т(*,9,,,,,1,1,,) - вычисление количества календарных дней в текущем месяце. 

5=Н(9,,,0) - вычисление количества календарных дней в текущем месяце.

6=П(3)/П(5) - МРОТ/количество календарных дней

7=П(6)*П(4) - операция обратная проделанной в параметре 6, поэтому значение параметра 7 всегда будет = МРОТ.

8=П(7)-П(2) - разница м-ду полным МРОТ и начисленной за месяц суммой заработной платы. С учетом того, что параметр 2 "лишний", 8=П(7)-П(1)
11=Т(*,9,,,0,2,1,1,0,0) - эта функция вычислит кол-во календарных дней в месяце и подставит найденное значение в графу РВ, предварительно приведя его к НРВ месяца. Более чем странно (мягко говоря), если речь идёт не о семидневке.

15=П(8) - итоговая сумма, которую надо ограничить нулём, чтобы не уйти в минус. 

Т.е. 15=О(П8,0,П3,-1," ") - итоговая сумма не меньше нуля и не больше МРОТ.

1=С(3,,,1,тн,1);3=Ч(0,86);4=Т(*,9);5=Н(9);6=П(3)/П(5);7=П(6)*П(4);8=П(7)-П(1);11=Т(*,9,,,0,2);15=О(П8,0,П3,-1," ")

В целом довольно странный расчёт доплаты до МРОТ, который не учитывает фактически отработанное время. Ну т.е. доплата всегда идёт до полного МРОТ.

З.Ы. А чем не устроил поставочный алгоритм расчёта доплаты до МРОТ?

Добрый день!

Это не совсем доплата до МРОТ. Это доплата до определенного размера, рассчитываемая не в рабочих, а календарных днях. Возможно, есть конечно некие неточности в формуле, но для бухгалтера, думаю норм).

Считает вроде правильно в итоге, только приходится следить, чтоб в минус не уходило(

да, параметр 2 лишний, там что-то было у меня, продолжение какое-то, потом удалила, но чтобы не менять нумерацию параметров, оставила так, торопилась)

А как в 897 алгоритме поменять рабочие на календарные? 

Хэлпник слетел, не работает( как его вообще восстановить тоже?

Добрый день.

А как в 897 алгоритме поменять рабочие на календарные?

Алгоритм есть в скриптах ALGSYS.S

Вы в РВ вида хотите проставлять календарные дни? 

Хэлпник слетел, не работает( как его вообще восстановить тоже?

Можете скопировать из поставки каталог HELP

Либо смотреть документацию тут 

поменять рабочие на календарные, чтобы при расчете суммы доплаты учитывались календарные дни, а не рабочие.

эта доплата зависит от календарных дней.

что должно влиять на учет календарных дней? дата приема и дата увольнения? Даты действия рассчитываемой строки?

эта доплата зависит от календарных дней 

Ваш алгоритм не подразумевает такой зависимости. По сути, он просто вычисляет разницу = 12130 - зарплата за месяц

за полный месяц доплата составила бы 10213-5130=5083

но назначается с 17.11.2020, поэтому сумма доплаты 5083/30*14=2372,07

а если бы было в рабочих днях, то по 1 календарю, например, 

5083 /20 *10=2541,5


А что такое 10213?

Попробуйте этот вариант алгоритма 897

USALG.S

Сервис поддержки клиентов работает на платформе UserEcho