0
Отвечен

Замена молока денежной компенсацией.

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

Здравствуйте. Какой алгоритм должен быть у вида Н-У для расчета компенсации за молоко? Расчет должен быть БЗ*РВ по табелю=Сумма компенсации. Т.е. стоимость молока (0,5 л=29 руб) умножить на кол-во отработанных дней в месяце.

ХОРОШО, МНЕ ПОНРАВИЛОСЬ
Оценка удовлетворенности от Starka 5 лет назад
На рассмотрении

Добрый день!

У нас есть вид 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

СПАСИБО ОГРОМНОЕ!!! Всё получилось.

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