Страница 1 из 1
Получить подразделение на момент времени для человека
Добавлено: 07 окт 2009, 18:10
Masygreen
Вот думаю как лучше сделать .. может кто решал подскажет...
Есть ссылка persons.nrec ... есть моменты времени например 10/01/2009,15/03/2009 и т.д. эти моменты переменные
необходимо узнать на этот момент времени в каком подразделении был человек ...
приходит на ум анализировать приказы на перемещение .. может есть вариант проще???
Добавлено: 07 окт 2009, 18:28
m0p3e
Все уже придумано давно...
см. AppFuncs.vih
Конкретно функция GetAppNrec_OnDate
Добавлено: 07 окт 2009, 19:44
Masygreen
круто ....
Добавлено: 08 окт 2009, 14:46
Masygreen
Функция конечно крутая .. но не дала то что надо

необходим был KatPodr.nRec ... может подскажите более толковую функцию, то пришлось делать так...может кому пригодится
_SPersonsNrec - nRec человечка
_SPersonsNrec - дата
Код: Выделить всё
var ObjZar:AppointmentsFunctions;
_SAppointmentsNrec:=ObjZar.GetAppNrec_OnDate(_SPersonsNrec,_SPersonsNrec - a);
_loop Appointments where ((_SAppointmentsNrec==Appointments.nrec))
{
_loop catalogs where ((Appointments.Department == catalogs.Nrec))
{
_loop ExtCatlinks where ((catalogs.nrec ==ExtCatlinks.STAFFCAT(noindex)))
{
_loop katpodr where ((Extcatlinks.EXTCAT==katpodr.nrec))
{
_SKatPodrNrec:=katpodr.nrec
_SKatPodr:=katpodr.name;
}
}
}
}
message(_SKatPodr);
Добавлено: 08 окт 2009, 17:58
m0p3e
Сам запрос можно быстрее и красивее сделать, но идея останется таже.
Код: Выделить всё
var ObjZar:AppointmentsFunctions;
_SAppointmentsNrec:=ObjZar.GetAppNrec_OnDate(_SPersonsNrec,_SPersonsDate);
If GetFirst FastFirstRow Appointments where ((_SAppointmentsNrec==Appointments.nrec))
If GetFirst FastFirstRow Catalogs catalogs where ((Appointments.Department == catalogs.Nrec))
If GetFirst FastFirstRow ExtCatlinks where (( 11 == ExtCatLinks.ObjType and catalogs.nrec ==ExtCatlinks.StaffCat ))
If GetFirst FastFirstRow KatPodr where ((Extcatlinks.EXTCAT==katpodr.nrec))
{
_SKatPodrNrec:=katpodr.nrec
_SKatPodr:=katpodr.name;
}
message(_SKatPodr);
Добавлено: 09 окт 2009, 15:44
Masygreen
беглым взлядом работать без
= tsOK не будет

Добавлено: 10 окт 2009, 12:14
m0p3e
Угу. Не будет. Надо добавить.