0
Отвечен
Как отбросить дробную часть из базового значения оклада
Анатолий Русин 5 лет назад
в Расчеты начислений и удержаний
•
обновлен Гашков Николай (Эксперт) 5 лет назад •
11
Добрый день!
По мотивам темы https://kontur.userecho.com/communities/47/topics/7929-kak-v-skripte-vyibrat-znachenie-iz-setki возник ещё вопрос.
В организации БЗ оклада берётся из сетки ПКГ.
Если сотрудник работает не на полную ставку, то номер строки сетки приходит из КП в дробном виде. Нпример, "4,25", "2,5" и т.д.
Вопрос - как сделать так, чтобы при расчёте оклада базовое значение бралось всегда на полную ставку?
Если взять за основу стандартный 4-й алгоритм.
Сервис поддержки клиентов работает на платформе UserEcho
Добрый день!
Всегда писать в БЗ целое значение без дробной части?
Можно использовать atoi(), для того чтобы получить "целую часть".
>>Всегда писать в БЗ целое значение без дробной части?
да, мы тоже думали о том, чтобы закомментировать кусок кода в скрипте обработки писем интеграции, который отвечает за дописывание дробной части.
Но с учётом всего, что было разнесено ранее за три года работы, решили так не делать.
>>Можно использовать atoi(), для того чтобы получить "целую часть"
Вопрос как раз в том, в какой части поставочного скрипта SysAlg4_6 это сделать?
Когда скопируем его в Usalg.s, конечно.
то что было разнесено - принимаете в таблицу, отбрасываете дробную часть - разносите обратно..
Кто-нибудь подскажет где именно (в каком скрипте) можно использовать atoi(), для того чтобы получить "целую часть"?
как то так, если БЗ не менялось...
Этот "финт ушами" работает строго по 4-й сетке, а мне надо по "плавающей" сетке, т.к. сетку, из которой берётся оклад, определяет ПКГ, указанная в кадровой части.
Сделал так:
Вроде работает...
Но есть сомнения - может где-то всё-таки накосячил?
я бы значение пкг брал на конец месяца...
А как это лучше сделать?
char str[256];
GetKchValue("p_k_g",str,2,KDateFromInt_LastDay(KDateFromStr(to_string(data)).GetAbs()));
int p_k_g=atoi(str);
Спасибо, попробуем