Ваши комментарии

Если через параметры 1-го алгоритма не хотите, вот скриптовый алгоритм:

case 607:
{
// Доплата за ночное время сторожам;
// Ставка считается по столбцу, заданному в параметре 1
// НРВ - из сетки с номером, заданном в параметре 2
// БЗ - из сетки с номером, заданном в параметре 3

// Параметры алгоритма
struct Struct_Alg Work;
Get_AlgWithParam(Work,info.ikod);
// Параметр 1 - номер столбца для расчёта ставки.
int stolbec=1001; // Столбец ТВХ по умолчанию
if (Work.Count_Par>0)
{
stolbec = atoi(reinterpret_cast_to_string(Work.List_Par[0]));
}
// Параметр 2 - номер сетки с НРВ
int NumSetNRV=82; // Номер сетки с НРВ по умолчанию
if (Work.Count_Par>1)
{
NumSetNRV = atoi(reinterpret_cast_to_string(Work.List_Par[1]));
}
// Параметр 3 - номер сетки с коэфф. доплаты
int NumSetKFC=83; // Номер сетки с коэфф. доплаты по умолчанию
if (Work.Count_Par>1)
{
NumSetNRV = atoi(reinterpret_cast_to_string(Work.List_Par[1]));
}

char t[20];
if((info.c=korrv(r,t,0,info.h,flagrow,jf)) != 1)
return code_ReturnCode;

var D = CreateObject("KDate");
D.SetDateII(countday,mrasch);
double NormZar=0.;
ras_normzar(stolbec-1,"*",5,4,NormZar,D); // Ставка в месяц

double nrv=0.;
Value_For_Table_Cod(NumSetNRV,info.kod,data,nrv); // НРВ из сетки

double kfc=0.;
Value_For_Table_Cod(NumSetKFC,info.kod,data,kfc); // коэфф. доплаты из сетки

info.n1=NormZar/nrv*r[2]*kfc; // Результат

if(FL_V_ALG && uprc != NO_SCREEN)
{
infolist.add_record("Ставка",NormZar);
infolist.add_record("НРВ",nrv);
infolist.add_record("Рабочее время",r[2]);
infolist.add_record("Коэфф. доплаты",kfc);
infolist.add_record("Результат",info.n1);
}
return code_Break;
}

Код надо вставить в ..\SCRIPT\user\USALG.S между строками:

      // начало описания алгоритмов пользователя

// конец описания алгоритмов пользователя

В ТВХ у вида 707 поставить алгоритм 607.

З.Ы. Стандартный столбец для расчёта ставки (1-й столбец спецТВХ) в вашем случае скорее всего не подойдёт. Слишком много в нём отмечено видов, не входящих в расчёт ночных. Да и заполнен он, мягко говоря, странно и с ошибками (не по правилам заполнения столбца для расчёта ставки).

Лучше добавить в пользовательскую ТВХ отдельный столбец для расчёта ночных и указать его номер в первом параметре 607-го алгоритма.

З.З.Ы.

Если заменили свой ..\SCRIPT\user\USALG.S на выложенный выше, проверьте работоспособность 175-го вида. Есть подозрение, что для него вы написали скриптовый алгоритм, который остался в "старом" USALG.S

Поправка: параметры алгоритма д.б. такие:

1=А(0)/Ч(607,82);2=П(1)*У;15=П(2)*Ч(607,83);11=У;17=2  

Через универсальный алгоритм 1 будет так:

Image 8244

В 82 сетку надо добавить вид 707 и поставить для него НРВ на 2024 год.

Расчет ставки производится по стандартному столбцу ТВХ. Оба оклада д.б. в нем отмечены символом 1.

Если стандартный столбец не подходит, надо добавить свой и указать его в параметрах: А(2,номер_столбца)

Чтобы "выводило всех", здесь должно быть пусто:

Image 8232


З.Ы. У вас 709-е подразделение не попадает вообще ни в один свод.

Здравствуйте.

Подскажите как можно изменить, чтобы в Журнал № 6 попадала сумма НДФЛ только по месяцу принадлежности ?

В поставочном ЖО - ни как.

Своды вообще не умеют этого делать. Их задача - "свести" всё начисленное/удержанное в расчётном месяце в структурированную "кучу".

Однако получить сумму НДФЛ "по месяцу принадлежности" в своде, всё-таки, можно. Для этого:

1. Виды НДФЛ должны быть помечены в первом столбце ТВХ для сводов как "разделяемые по месяцам".

2. В своде должен присутствовать столбец "Дата".

Если речь идёт о "Своде по НУ", этого достаточно, чтобы сумма НДФЛ "разбежалась" по месяцам принадлежности.С ЖО №6 немного сложнее. В поставочном варианте задается статичный шаблон, по которому собираются суммы, поэтому простое добавление в него "динамичного" столбца "Дата" не прокатит. "Динамичной" придется делать всю таблицу свода. Для этого шаблон таблицы д.б. пустым, а первый столбец с наименованием хозоперации заполняться скриптом. Примерно таким (только для зарплатной проводки и НДФЛ:

SetNameXop(Db_c_sh,Kr_c_sh)
{
if(RTrim(Db_c_sh)=="25" && RTrim(Kr_c_sh)=="70") return "Начислена ЗП";
if(RTrim(Db_c_sh)=="70" && RTrim(Kr_c_sh)=="68") return "Удержан НДФЛ";
}

В результате получится:

Image 8231

Если строка с суммой НДФЛ за текущий месяц вообще не нужна, её можно либо не принимать в таблицу свода (по условию в скрипте), либо убирать при формировании печатной формы.

Здравствуйте.

по данному человеку при формировании свода "Свод по взносам" общий свод 2 не формируется вообще ничего

1. В списке ваших сводов нет свода "Свод по взносам".

2. "не формируется вообще ничего" == ЛС не попадает в свод. 

В настройках свода "Общий свод 2" указано, что он формируется  по подразделениям 650 680 710 730 770 810 860, поэтому ЛС с ТН 10060, находящийся в подразделении 709, попасть в него ни как не может.

1. Признак "Ув" проставляется потому что последней в ЛС рассчитывается ИД с кодом "с12", с которой сотрудник уволен.

2. ИД с кодом "с12" рассчитывается последней, потому что её источник - "О" - указан основным в настройках.

3. Источник действующей основной должности с кодом "О19" - "Б". Если в КЧ указать его в качестве итогового, то последней в ЛС будет рассчитываться ИД с кодом "О19" и признак "Ув" проставляться не будет.

Здравствуйьте.

если в диалоге, в блоке "как выбирать" снять галку "не выплаченные", вид не выходит в свод!
Выявлено методом тыка, логика не помогла!

Логика тут простая: страховые взносы НЕ удерживаются с работников, поэтому не "захватываются" ни одной ведомостью и при снятой галке "не выплаченные" ни коим образом не могут попасть в свод.

Посмотрите таблицу "Таблицы контроля" -- " Реестр выплат по видам"

как сейчас будет рассчитываться отпуск по МРОТ ?


Так же, как и предыдущие 16 лет - в соотв. с п.18 ПП 922 



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