Ваши комментарии
Добрый день.
Вопросы по настройке:
1. Факт и норма часов заполняется не у всех сотрудников. Если заполняется, то не правильно. Возможно, причина во втором параметре функции skoljko(hoursWorked, kDateBegin.GetDouble()...Работает, если обрезать значение после "."
2. Заполнения факта и нормы времени по периоду действия должности из табеля и для всех видов (в т.ч. страховых взносов) - это рекомендация разработчиков МТБЗ?
Может быть, правильнее:
- заполнять время для списка начислений по настройке (например, "список видов оклада")
- факт заполнять по строке вида (либо дни, либо часы по "C2" в ТВХ)
- норма за месяц (либо дни, либо часы) и по графику строки начисления
3. На поставке совместительства разбиваются, у клиента не фильтрует.
По форме "Данные о среднеспис.численности и ФОТ медицинских работников" (релиз 601.2) выводит данные без группировки по должностям. На демо-версии формирую на 3х человек с одной должностью - получаю 3 строки, и в каждой строке среднесписочная численность "2".
Спасибо, попробую.
Раньше способ проходил, правда перезапускал КЗ после каждой смены месяца, иначе табель бился.
А как лучше разнести? Через s50?
Посмотрите, пожалуйста, этим кодом лицевые не испорчу.
//РАЗНОСКА ВИДА С НОВЫМ BZ RaznNewVid(Extern_Cod,NewDate,NewSum,Base) { int rowkod[ROWMAX];//массив с номерами строк var Prop = CreateObject("APropBE"); int cntrow=poiskosnkodProp(Extern_To_InternE(Extern_Cod),rowkod,1,Prop); //поиск по точному коду var NewD=CreateObject("KDate"); NewD.SetDate(static_cast_to_string(NewDate)); //дата начала деяствия нового вида if(cntrow > 0) { var DatB = CreateObject("KDate"); DatB.SetDateD(GetBegDate(rowkod[0])); //дата начала действия строки var DatE = CreateObject("KDate"); DatE.SetDateD(GetEndDate(rowkod[0])); //дата конца действия строки var DatEnew = CreateObject("KDate"); DatEnew.SetDateD(NewD.GetDouble()); // новая дата конца действия строки double ikod=GetCode(rowkod[0]); //точный внутренний код строки //фильтруем строки не действующие на новую дату if (DatB.LT(NewD) && DatE.GT(NewD)) //дата_начала вида меньше новой даты и дата_окончания больше новой даты { PutEndDate(rowkod[0],DatEnew.Dec()); //заменяем дату конца на новую дату минус 1 день PutBase(rowkod[0],Base); //разносим БЗ старой строки из таблицы разноски PutSumm(rowkod[0],colc1,Base); //разносим сумму в старую строку из таблицы разноски toMatrLS(); struct SumElemS E_N; E_N.summa=atof(NewSum); E_N.rv=0; E_N.m=mrasch; E_N.mv=mrasch; E_N.mp=INVALID_MONTH_VALUE; E_N.dayp=INVALID_DAY_VALUE; double NewCode = PutSummProp(Extern_To_Intern(Extern_Cod),E_N,GetPropOfRow(ikod),BE_FREESUM); toUseal(1); if(NewCode > 0) { int rowkodN[ROWMAX];//массив с номерами строк int cntrowN=poiskosnkodProp(NewCode,rowkodN,1,GetPropOfRow(NewCode)); if(cntrowN > 0) { PutBegDate(rowkodN[0],NewD.GetDouble()); //дата начала новой строки PutBase(rowkodN[0],NewSum); //БЗ новой строки } return NewCode; } } } return 0; }
Большое спасибо.
База локальная. Видимо, поврежден файл sets.mdb, т.к. при смене ширины колонок изменения не сохраняются. Замена файла (из архива) исправляет ситуацию. Подскажите какие настройки хранятся в этом файле.
Символ * в 22-ом исправляет заполнение. Настройку делали с разбивкой по совместительствам и всё работало до обновления(сравнивали с отчетами прошлых кварталов, настройки не менялись).
Если нужна разбивка налога по совместительствам, то настраиваем аналог 554 для внебюджета?
Сервис поддержки клиентов работает на платформе UserEcho
1. Прикрепил сохраненку с поставки.ZPL_zplinfo_full(20200731_144728).cab
Январь 2020 показывает 114 часов вместо 136. Тип double, но месяц задаётся 202001.00, а в скрипте получается от даты начала (например, 202001.01)
2. По срокам не скажете, примерно, когда?