Код: Выделить всё
irunstaj.NGetStajDays (fPerson, _cstaj, _date);
irunstaj.NGetStajMonths(fPerson, _cstaj, _date);
irunstaj.NGetStajYears (fPerson, _cstaj, _date);
Пробовал следующий алгоритм:
Код: Выделить всё
...
allDay := longint(((Year(RunDate) - Year(ServLen2.FromDate)) * 360 +
(Month(RunDate) - Month(ServLen2.FromDate)) * 30 +
(Day(RunDate) - Day(ServLen2.FromDate))) * ServLen2.Rate;
if (ServLen2.FromDate <= RunDate)
allDay := allDay + 1;
set BYears := DivI(allDay, 360);
if (BYears < 0)
set BYears := 0;
set BMonths := DivI(allDay mod 360, 30);
if (BMonths < 0)
set BMonths := 0;
set BDays := allDay mod 30;
if (BDays < 0)
set BDays := 0;
...
Пробовал также следующий способ:
Код: Выделить всё
year := servlen.yearse - servlen.yearsb;
month := servlen.monthse - servlen.monthsb;
day := servlen.dayse - servlen.daysb;