2013-08-09 12 views
5

Mam tabelę, która zawiera dane dla osoby, która jest na projekcie. Tabela zawiera pole daty o wartości Start o polu daty zerowej. Tak więc osoba jest w projekcie od Start do End.Projekt stołu do płatności

W tej chwili są one zawsze płatne na rzecz projektu. Ale teraz mam nowy wymóg, aby przez pewien czas były one nie rozliczane, ale nadal pracują nad projektem. Zostały one przypisane do projektu i działają, ale z jakiegoś powodu klient nie jest obciążany opłatą za część okresu, w którym zostały przypisane lub może być obciążany niższą stawką.

Moim pomysłem jest posiadanie tabeli typów wykluczeń, połączonej z tabelą przydziału osób, która miałaby datę początkową i końcową, oraz kolumnę Rate, która może być ustawiona na zero bez żadnych opłat, lub działa jako wartość zastąpienia dla okresu.

Czy to wygląda na prawidłowy projekt? Ponieważ ta osoba jest obciążona 95% czasu i prawdopodobnie nigdy nie będzie miała żadnego wykluczenia, bardziej sensowne będzie dla mnie posiadanie tabeli wykluczeń.

Jeśli ktoś ma pomysł, jak to zrobić lepiej, byłoby wspaniale.

W tej chwili mam też tabelę "kalendarza", do której dołączam na podstawie daty rozpoczęcia/zakończenia harmonogramu danej osoby, aby uzyskać stawkę dzienną. Więc mógłbym również dołączyć do daty wykluczenia, aby sprawdzić, czy istnieje nadwyżka stawki?

Problemy mogę znaleźć z mojego projektu, wiele sprzężeń są na podstawie:

ON DateValue BETWEEN Start AND End 

i nie jestem pewien, że są to najbardziej efektywny łączy.

Odpowiedz

1

Jeśli wyjątek może dotyczyć jednego lub więcej okresów (jeden do wielu) dla jednego projektu, najlepszym rozwiązaniem będzie projekt korzystający z tabeli wykluczeń.

przykład:

June 1, 2013 to June 30, 2013 

wykluczania:

June 9, 2013 - 0 Rate 
June 25 to 27 - 30% of Original Rate 

Jednakże, jeżeli wyłączenie jest możliwe i może być tylko maksymalnie jeden okres (lub jeden do jednego typu związku) możesz zamiast tego umieścić go w tych samych polach, co inne pola w tabeli projektu.

Przykład:

June 1, 2013 to June 30, 2013 

Wykluczenie:

June 9, 2013 - 0 Rate 
+0

Tak, nie będzie to żaden lub wiele. W większości przypadków nie ma wykluczenia. Czasami istnieje jeden wyjątek dla zasobu. Mniej czasu, ale może się zdarzyć, że powiedzieliby, że "Przez 6 tygodni masz zasób, zostanie on obciążony kwotą 100 $/h. W ostatnim tygodniu możesz mieć go za darmo (0 USD/godzinę). Ponieważ jest nowy w projekcie, możesz go mieć za pół ceny w pierwszym tygodniu (50 $ za godzinę), więc myślę, że projekt dobrze by się do tego przydał: pojawiałyby się dwa wykluczenia ... Jeden za pół ceny okres i jeden na czas wolny – Craig

+1

@Craig: jeśli tak jest, to jak wspomniałem, twój projekt jest najlepszym rozwiązaniem, które znam, a mianowicie przez dodanie tabeli wyjątków lub wyjątków dla pewnych dat z 0 lub mniejszym niż pierwotna stawka. – Edper

1

Użyłbym tej tabeli "wykluczenia" jako pojedynczej pamięci dla danych dotyczących zawłaszczania osób. W przypadku, gdy osoba zostanie przypisana do projektu jednorazowo bez zmian stawki, w tej tabeli będzie jeden rekord. W innych przypadkach będziesz mieć historię zmian stóp w tej tabeli.

+0

Nie do końca rozumiem. Tak więc, w 99% przypadków, dana osoba jest przypisana do projektu i jest rozliczana na czas jej trwania. Ale czasami dana osoba dołączy do projektu na trzy tygodnie, ale konsultant postanawia powiedzieć, że przez ostatnie 3 dni z trzech tygodni klient ma go za darmo. Tak więc plan miał mieć tabelę wyłączeń, z datą rozpoczęcia/zakończenia i stawką. W tym przypadku początek i obejmowałby trzy dni, a "stawka" wynosiłaby 0. – Craig

+1

W przypadku pracownika dołączającego do projektu na 3 tygodnie, dlaczego po prostu nie ma tabeli z dwoma wpisami, jeden przez pierwsze 2½ tygodnie według normalnej stawki i jedną przez ostatnie 3 dni przy stawce 0? W normalnym (99%) przypadku wystarczy jeden wpis na osobę przez cały czas trwania. – stakx

+0

W jaki sposób relacja projekt-osoba jest zaimplementowana w bazie danych? – athabaska

0

Wygląda na to, są pozwalając zniżki na standardowej stawki do klienta za dany okres. w takim przypadku możesz ustawić stawkę jako ujemną, np. -100 $/godz. na czas, aby ustawić stawkę za zasoby za darmo w tabeli rabatu/wykluczenia. Możesz znaleźć ostateczną stawkę dla tego zasobu dla określonego okresu, dodając kwotę rabatu i standardową kwotę, aby uzyskać kwotę netto.W swoim projekcie wspomniałeś już, że zostanie utworzona relacja między tabelą wykluczeń a tabelą przypisywania osób. Twój projekt pozwoli ci pokazać, jaką zniżkę otrzymałeś od klienta. To podejście jest dobre, gdy dostosowujesz faktury do wyjątków.

W przypadku, gdy próbujesz dokonać korekty w rozliczeniach projektu, IMO, powinieneś mieć osobne wpisy w tabeli przydzialów dla każdej stawki z czasem trwania.

Podczas generowania faktury dla klienta można wyświetlić skorygowaną stopę dyskontową lub nowe skorygowane fakturowanie na podstawie korekty.

Powiązane problemy