Вычитание дат
Модераторы: m0p3e, edward_K, Модераторы
Вычитание дат
Привед всем, у меня такой вот вопрос, мне надо отнять от одной даты другую хотела использовать ф-ию Sub_date, но из этого ничего не получилось, т к мне надо чтоб при вычитании даты 02.05.2007 от 01.02.2007 получилось01.03.00, а не то, что получается при использовании этой ф-ии, если у кого есть какие-нибудь идеи поделитесь пжст.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
runstaj.vih
=========
objinterface ObjRunStaj;
public function RunStrStaj(PsnNRec : comp; StajSysCode : integer; RunDate : date) : string;
// Возвращает стаж в виде строки 'Лет: Месяцев: Дней:
public function GetStajYears(PsnNRec : comp; StajSysCode : integer; RunDate : date) : word;
// Возвращает количество лет в стаже
public function GetStajMonths(PsnNRec : comp; StajSysCode : integer; RunDate : date) : word;
// Возвращает количество месяцев в стаже
public function GetStajDays(PsnNRec : comp; StajSysCode : integer; RunDate : date) : word;
// Возвращает количество дней в стаже
//Для работы иногда требуется привязка к Nrec записи о стаже...
//скажем для анализа пользовательских стажей
public function NRunStrStaj(PsnNRec : comp; StajNrec : comp; RunDate : date) : string;
// Возвращает стаж в виде строки 'Лет: Месяцев: Дней:
public function NGetStajYears(PsnNRec : comp; StajNrec : comp; RunDate : date) : word;
// Возвращает количество лет в стаже
public function NGetStajMonths(PsnNRec : comp; StajNrec : comp; RunDate : date) : word;
// Возвращает количество месяцев в стаже
public function NGetStajDays(PsnNRec : comp; StajNrec : comp; RunDate : date) : word;
// Возвращает количество дней в стаже
end;
objinterface ObjRunStaj1;
public function GetPercServN(PsnNRec : comp; LSchetKateg : comp; RunDate : date) : double;
// Возвращает процент для северного стажа
public function GetPercServNDate(PsnNRec : comp; LSchetKateg : comp; RunDate : date) : date;
// Возвращает реальную дату назначения процента для северного стажа
public function GetNDateForNorth(PsnNRec : comp; LSchetKateg : comp; Percent : double; RunDate : date) : date;
// Возвращает реальную дату назначения указанного процента для северного стажа
end;
vipinterface RunStaj implements ObjRunStaj, ObjRunStaj1
;
=========
objinterface ObjRunStaj;
public function RunStrStaj(PsnNRec : comp; StajSysCode : integer; RunDate : date) : string;
// Возвращает стаж в виде строки 'Лет: Месяцев: Дней:
public function GetStajYears(PsnNRec : comp; StajSysCode : integer; RunDate : date) : word;
// Возвращает количество лет в стаже
public function GetStajMonths(PsnNRec : comp; StajSysCode : integer; RunDate : date) : word;
// Возвращает количество месяцев в стаже
public function GetStajDays(PsnNRec : comp; StajSysCode : integer; RunDate : date) : word;
// Возвращает количество дней в стаже
//Для работы иногда требуется привязка к Nrec записи о стаже...
//скажем для анализа пользовательских стажей
public function NRunStrStaj(PsnNRec : comp; StajNrec : comp; RunDate : date) : string;
// Возвращает стаж в виде строки 'Лет: Месяцев: Дней:
public function NGetStajYears(PsnNRec : comp; StajNrec : comp; RunDate : date) : word;
// Возвращает количество лет в стаже
public function NGetStajMonths(PsnNRec : comp; StajNrec : comp; RunDate : date) : word;
// Возвращает количество месяцев в стаже
public function NGetStajDays(PsnNRec : comp; StajNrec : comp; RunDate : date) : word;
// Возвращает количество дней в стаже
end;
objinterface ObjRunStaj1;
public function GetPercServN(PsnNRec : comp; LSchetKateg : comp; RunDate : date) : double;
// Возвращает процент для северного стажа
public function GetPercServNDate(PsnNRec : comp; LSchetKateg : comp; RunDate : date) : date;
// Возвращает реальную дату назначения процента для северного стажа
public function GetNDateForNorth(PsnNRec : comp; LSchetKateg : comp; Percent : double; RunDate : date) : date;
// Возвращает реальную дату назначения указанного процента для северного стажа
end;
vipinterface RunStaj implements ObjRunStaj, ObjRunStaj1
;
Здравствуйте!
Подскажите, что не так: у меня строка стажа (staj) пустая.
Подскажите, что не так: у меня строка стажа (staj) пустая.
Код: Выделить всё
#include RunStaj.vih
interface CalcStaj
var
icalcstaj: runstaj;
staj: string;
persnrec: comp;
dstaj: date;
create view as select * from grnal;
parameters
persnrec, staj, dstaj;
browse www
fields
grnal.nrec;
end;
handleevent
cminit:
{
staj:=icalcstaj.NRunStrStaj(PersNRec, 1FCh, dstaj);
closeinterface(0);
}
end;
end.
Неужели никто с этим не сталкивался? RunStaj.vih я, естественно, взял новый (для 8.1), с #define и #component. Вызываю из отчёта фейс RunInterface(Calcstaj, ls, staj, endper), а он ругается, что "Возникло необработанное исключение ExObjIfcNoLoad (ExRef)
ошибка загрузки объекта из ресурсного файла(RunStaj)". Соответственно, переменная staj - пустая...
ошибка загрузки объекта из ресурсного файла(RunStaj)". Соответственно, переменная staj - пустая...
-
- На пенсии
- Сообщения: 797
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: г. Тюмень
- Контактная информация:
как вариант, возможно, отличаются исходники, проверьте
Код: Выделить всё
#ifndef _RunStaj_vih_Included
#define _RunStaj_vih_Included
#ifdef ComponentVersion
#component "z_Staff"
#end
#doc
Расчет стажей
#end
objinterface ObjRunStaj;
#doc
Возвращает стаж в виде строки 'Лет: Месяцев: Дней:
#end
public function RunStrStaj(PsnNRec : comp; StajSysCode : integer; RunDate : date) : string;
#doc
Возвращает количество лет в стаже
#end
public function GetStajYears(PsnNRec : comp; StajSysCode : integer; RunDate : date) : word;
#doc
Возвращает количество месяцев в стаже
#end
public function GetStajMonths(PsnNRec : comp; StajSysCode : integer; RunDate : date) : word;
#doc
Возвращает количество дней в стаже
#end
public function GetStajDays(PsnNRec : comp; StajSysCode : integer; RunDate : date) : word;
//Для работы иногда требуется привязка к Nrec записи о стаже...
//скажем для анализа пользовательских стажей
#doc
Возвращает стаж в виде строки 'Лет: Месяцев: Дней:
#end
public function NRunStrStaj(PsnNRec : comp; StajNrec : comp; RunDate : date) : string;
#doc
Возвращает количество лет в стаже
#end
public function NGetStajYears(PsnNRec : comp; StajNrec : comp; RunDate : date) : word;
#doc
Возвращает количество месяцев в стаже
#end
public function NGetStajMonths(PsnNRec : comp; StajNrec : comp; RunDate : date) : word;
#doc
Возвращает количество дней в стаже
#end
public function NGetStajDays(PsnNRec : comp; StajNrec : comp; RunDate : date) : word;
#doc
Возвращает процент для северного стажа
#end
public function GetPercServN(PsnNRec : comp; LSchetKateg : comp; RunDate : date) : double;
#doc
Возвращает реальную дату назначения процента для северного стажа
#end
public function GetPercServNDate(PsnNRec : comp; LSchetKateg : comp; RunDate : date) : date;
#doc
Возвращает реальную дату назначения указанного процента для северного стажа
#end
public function GetNDateForNorth(PsnNRec : comp; LSchetKateg : comp; Percent : double; RunDate : date) : date;
#doc
Перерасчитывает стажи, получая реальные данные в 3-е окно, относительно записей в "истории" каждого стажа по текущему работнику
#end
public procedure ReCalcStaj(PsnNRec : comp; cPosition : comp);
end;
vipinterface RunStaj implements ObjRunStaj
#ifdef ATL51
Licensed (free)
#end
;
#endif
Последний раз редактировалось Max_Fin 08 сен 2008, 13:07, всего редактировалось 1 раз.
Жду выхода Вселенная 2.12!
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Быстрее всего все же не определена/криво определена компонетная принадлежность...В сообщении об ошибке же идет далее "Ошибка загрузки объекта из ресурного файла(....)" В скобочках вся суть.. )
Вы попробуйте в заголовочном файле поправить сами спецом криво вместо #component "z_staff", например, "qwerty"? собрать такой вариант и запустить на выполенение. Если все правильно подключено, то получите в приведенной Вами ошибки мессаг типа
"Ошибка загрузки объекта из ресурного файла(qwerty::runstaj)"
Вы попробуйте в заголовочном файле поправить сами спецом криво вместо #component "z_staff", например, "qwerty"? собрать такой вариант и запустить на выполенение. Если все правильно подключено, то получите в приведенной Вами ошибки мессаг типа
"Ошибка загрузки объекта из ресурного файла(qwerty::runstaj)"