Closed ra81 closed 7 years ago
ага, иногда даже на целый процент. Опцию страшно использовать при полной загрузке топ-3. Хотя это мб скрипт неточно считает, я хз
слегка подумал - такая ботва может быть если считать через float. Довольно косячный тип одинарной точности. Резалты будут весьма кривые особенно если учесть что там вложенные формулы. Не разбираюсь шибко в js особенностях.
Но обратил внимание что порой если потыкать раза 3-4 fire ставит в итоге верную цифру. Странно конечно.
Еще раз подумал, пока тыкал. Я же сравниваю с установленным у себя скриптом, о котором ранее в тикетах упоминал. С ним расходится на 0,01 в квале. А поскольку вообще неясно кто считает правильно он или этот скрипт - тут стоит призадуматься.
Кстати target вроде точно считает, у меня проблема проверить, так как мало квал без бонусов.
kvala_personal_indicator_zarplaty_by_Agor71 всегда считает верно. Если мне выставит XioScript на 0,01 больше квалу. То kvala_personal_indicator_zarplaty_by_Agor71 всегда показывает что перебор. Дальше если я смотрю эффективность подразделения будущую, то там тоже показывает перебор на 0,01%. В итоге эффективность дает 99,9% Есть смысл забрать расчет зарплат из kvala_personal_indicator_zarplaty_by_Agor71 скрипта. Текущая формула xioscript считает с косячком
в 12.0.72 добавил -0,01 для настройки "Maximum"
есть более хорошее решение. Нужно просто не давать округлять а делать вот так
` function calcSalary(sn, sc, kn, kc, kr){ // s = salary, k = skill, n = now, c = city, r = required kr = Math.floor(kr100)/100; // <<<<========= ВСТАВИТЬ в скрипт var calc = sn > sc? kn - kc Math.log( 1 + sn / sc ) / Math.log(2) : Math.pow( sc / sn , 2) kn - kc; return kr > ( calc + kc )? sc (Math.pow(2, ( kr - calc ) / kc ) - 1) : sc * Math.sqrt( kr / ( kc + calc ) ); }
`Вставил себе потыкал туда сюда все идеально сходится. Никаких переборов нет.
убрал -0,01 для настройки "Maximum", добавил округление в calcSalary. в 12.0.73
выглядит воркабл. гладко. очень редко занижает. но это норм.
когда ставлю зарплату Максимум, то почти всегда он ставит зарплату рабам на 0,01 пункт по квале больше чем положено. ТОП1 перегружается почти всегда если руками не править. Как то с этим можно справиться? Может округлять где то до 3-4 знака а не до 2 при расчетах.