Ваши комментарии
Как оперативно.. вопрос видимо не срочный?
Если есть доступ по удаленке можем посмотреть как починить...
если bFactHours==0, то получим нормативные часы( из графика), иначе часы из табеля
Думаю да.
Легко же проверить.. скрипт правильные результаты выдает?
Добрый день.
Вместо norm() , возвращающую норму за месяц, надо использовать skoljko() для каждого дня (за нужный период)
что типа вот этого:
CountTabelNormCalendDayPeriod(d1,d2,_SimvTabel, _SimvNorm, bHoliday,bFactHours, &Hours)
{
var dateBeg=KDateFromD(GetDateFromFuncRWScript(d1));
var dateEnd=KDateFromD(GetDateFromFuncRWScript(d2));
int TmpMrasch = mrasch;
int CountDay = 0;
double CountHours = 0.;
char SimvTabel[512], SimvNorm[512];
zamena_oboz(_SimvTabel,SimvTabel);
zamena_oboz(_SimvNorm, SimvNorm);
for ( int m=dateBeg.GetAbs(); m<=dateEnd.GetAbs(); m++ )
{
string Holidays = ListHolidays(m);
var razb = CreateObject("ParamFuncRW");
razb.IInitial(Holidays,",",32);
short HolidayDay[32];
for ( int i=0; i < razb.Count(); ++i )
HolidayDay[i]=atoi(razb.Get(i));
s50(m);
int firstDay=m==dateBeg.GetAbs()?dateBeg.GetDay():1;
int lastDay =m==dateEnd.GetAbs()?dateEnd.GetDay():countday;
for ( int day=firstDay; day <= lastDay; day++ )
{
int pos = poisk1(day,HolidayDay,razb.Count(),0);
if ( (bHoliday && pos!=EOF || !bHoliday && pos==EOF) &&
CountChar(SimvTabel,calm[day-1]) && CountChar(SimvNorm,calmras[day-1])
)
{
CountDay++;
double rv;
if(bFactHours)
skoljko(rv,data,day,day,SimvTabel,calm,1);
else
skoljko(rv,data,day,day,SimvNorm,calmras,0);
CountHours += rv;
}
}
}
Hours = CountHours;
if(mrasch!=TmpMrasch)
s50(TmpMrasch);
return CountDay;
}
Использовать так:
double Hours=0;
rwnorma(numcalend,0);
CountTabelNormCalendDayPeriod("20.01.2019","18.02.2019","Р","2", 0,0, Hours);
return Hours;
Добрый день.
На машине, где падает - офис активирован?
Еще очень похоже на проблему:
Проблема в том, что в реестре остались следы неудачных установок других версий MS Office.
Решение описано тут: https://stackoverflow.com/questions/12957595/error-accessing-com-components
- Ищем HKEY_CLASSES_ROOT\Interface\{000208D5-0000-0000-C000-000000000046}\TypeLib
на 64разрядной windows надо искать раздел HKEY_CLASSES_ROOT\Wow6432Node\Interface\{000208D5-0000-0000-C000-000000000046}\TypeLib
- Запоминаем guid и версию из раздела (у меня {00020813-0000-0000-C000-000000000046}, версия 1.7)
- Ищем этот guid в HKEY_CLASSES_ROOT\TypeLib
- Делаем на всякий случай копию раздела с этим guid (HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046})
- Удаляем подразделы других версий с пустым содержимым (у клиента была также версия 1.7 и пустой подраздел 1.8, удаление 1.8 исправило ошибку)
- Перезагружаться не надо
Неправильно определялся столбец ТВХ, если столбец был из специальной ТВХ или ТВХ для сводов.
В п.ф. добавил мини инструкцию
Патч перевыложил
В предыдущем патче была ошибка:
ССЧ могла посчитаться нулевой в том случае, когда в списке источников указан главным источник, которого в ЛС нет
Сервис поддержки клиентов работает на платформе UserEcho
Добрый день.
Никто не мешает поправить алгоритм под свои нужны..
Берем норму из графика, действующего на дату начала вида:
USALG.S