0
Отвечен
Замена молока денежной компенсацией.
Starka 5 лет назад
в Расчеты начислений и удержаний
•
обновлен Гашков Николай (Эксперт) 5 лет назад •
11
Здравствуйте. Какой алгоритм должен быть у вида Н-У для расчета компенсации за молоко? Расчет должен быть БЗ*РВ по табелю=Сумма компенсации. Т.е. стоимость молока (0,5 л=29 руб) умножить на кол-во отработанных дней в месяце.
Сервис поддержки клиентов работает на платформе UserEcho
Добрый день!
У нас есть вид 285 Питание, у него алгоритм 185. Надо немного модифицировать этот алгоритм. Сделать свой алгоритм 985 (см. ниже). Переписать его в файл Script\ User\ USALG.S. В таблице входимости у вида 285 поставить алгоритм 985. В ЛС заводите вид 285, ставите в БЗ сумму 29. Программа считает число отработанных дней и умножает их на 29.
//оплата за молоко: Сумма компенсации=БЗ*РВ по табелю
UsAlg985(&info,&r)
{
var n3=dney_v_tab("НПС",calm,info.z1,info.z2);
r[2]=norm(1)-n3;
char t[20];
if((info.c=korrv(r,t,0,info.h,flagrow,jf)) != 1)
return code_ReturnCode;
info.n1=r[2]*info.bz;
if(FL_V_ALG && uprc != NO_SCREEN)
{
infolist.add_record("Норма",norm(1));
infolist.add_record("Прогулы, Справки, Нераб.",n3);
infolist.add_record("Рабочие дни",r[2]);
infolist.add_record("На питание",info.bz);
infolist.add_record("Результат",info.n1);
}
return code_Break;
}
Скопировала алгоритм в файл. Вид не работает. Что я не так сделала?
Пришлите ваш файл Script\ User\ USALG.S. Я посмотрю, что сделали не так.
Скрипт
А где обращение к этой ф-ции?
case 985:
return UsAlg985(info,r); //дотация на молоко: Сумма компенсации=БЗ*РВ по табелю
Возьмите файл и перепишите его вместо вашего файла.USALG.S
Спасибо большое, всё считает. Ещё мне нужно учитывать начало и конец действия строки.Т.к. стоимость молока может поменяться, а также сотрудник в любой момент может отказаться от компенсации деньгами.
Отказался сотрудник от молока - закрываете строку 285-го вида датой отказа. Поменялась стоимость 0.5 л молока - закрываете старую строку со старой суммой в БЗ и открываете новую строку с новой датой и с новым БЗ.
Могу предложить вариант читать стоимость 0.5 л молока из таблицы. Поменялась стоимость 0.5 л молока - в таблице заводите новый столбец и там проставляете новую сумму. В этом случае не надо будет заходить в каждый ЛС и заводить новую строку с новым БЗ. В этом случае надо будет переписать алгоритм.
Открыла строку в ЛС с датой начала с 17.06.2019. Алгоритм считает за полный месяц (не видит дату начала).
Попробуйте исправленный файл USALG.S
СПАСИБО ОГРОМНОЕ!!! Всё получилось.