tatanka
Rejestracja: 2008-08-06, 12:38 Posty: 331
|
wstawienie zdarzenia - KDP080
Witam,
mam takie pytanko, czy można przed wstawieniem zdarzenia do kalendarza sprawdzić jakiś warunek, od którego będzie zależało czy to zdarzenie zostanie zapisane w kalendarzu czy nie ??
_________________ Pozdr
TaTanka
|
Autor |
Wiadomość |
Mix-soft.pl
|
|
|
miwona
Ekspert
Rejestracja: 2007-11-16, 14:41 Posty: 92 Pomógł: 4
|
zdarzenia-konflikty
Witam,
Aby sprawdzić czy zdarzenie będzie zapisane w kalendarzu czy nie należy wejść w kartoteki-zdarzenia i akcje wyedytować dane zdarzenie i na zakładce konflikty sprawdzić z jakimi zdarzeniami jednocześnie nie może występować. Czyli jeśli w kalendarzu jest np urlop to zdarzenie choroba w tym samym czasie nie zapisze się - konflikt
Pozdrawiam
IM
|
2008-10-08, 20:06 |
|
|
tatanka
Rejestracja: 2008-08-06, 12:38 Posty: 331
|
Tak, o tym wiem. Ale ja chcę zrobić coś takiego żeby użytkownik wstawił do kalendarza w danym miesiącu ograniczona ilość zdarzeń dla niego zdefiniowanych ( powiedzmy żeby nie przekroczył 10 zdarzeń danego typu w miesiącu).
_________________ Pozdr
TaTanka
|
2008-10-09, 11:06 |
|
|
tatanka
Rejestracja: 2008-08-06, 12:38 Posty: 331
|
Witam,
zarwana nacka i poradziłem sobie z problemem. Rozwiązniem jest stworzenie elementu kadrowego wyliczajacego stan na dzień i stworzenie odpowiedniej procedury.
Ale mam jeszcze jedno pytanie, czy można z poziomu raportu usunąć zdarzenie z kalendarza pracownika (zdarzenie niezrealizowane) ???
_________________ Pozdr
TaTanka
|
2008-10-10, 09:37 |
|
|
TS
Rejestracja: 2008-10-16, 20:50 Posty: 65
|
Witam,
Co do poprzedniech pytań można użyć akcji warunkowych w połączeniu z elementami kadrowymi wyliczanymi i kontrolować ich wykonanie.
Na ten moment nie można usuwać zdarzeń z poziomu amBasic, ale można zamienić na inne zdarzenie np. na wcześniejsze przygotowane bez akcji :) (nie jest to zalecaje ale zawsze jekieś obejście) - dodatkowo będzie informacja że coś było wykonywane a nie bedzie miało wpływu na naliczenia.
|
2008-10-17, 09:52 |
|
|
tatanka
Rejestracja: 2008-08-06, 12:38 Posty: 331
|
Jednak po użyciu warunku w akcjach zdarzenia, w przypadku niespełnienia warunku zdarzenie jest wstawiane do kalendarza a ja chciałbym żeby w tym przypadku nie zostało ono zapisane do kalendarza. Doszedłem że można byłoby to zrobić poprzez bilans i zdefiniowane dla niego progi ale wtedy nie da się chyba edytować komunikatu w przypadku jego przekroczenia.
W sumie to chyba można usunąć to zdarzenie z poziomu bazy ??
_________________ Pozdr
TaTanka
|
2008-10-17, 11:33 |
|
|
TS
Rejestracja: 2008-10-16, 20:50 Posty: 65
|
W mniej elegancki sposób poprzez open odpwiedniego pliku można wykonać wszystko tylko trzeba znać strukturę bazy. W forte jest łatkiej :). Zdarzenie zawiera akcje które również należy usunąć z bazy aby nie zostały śmieci.
Musiałbyś dokładniej opisać czego to zdarzenie dotyczy - jaką sytuację ma obsłużyć. Jeżli zliczas ilości zdarzeń lub czasu ze zdarzenia to bilans jest obpowiedni. Jeżli mają się dodawać wzorce lub modyfikować dane kadrowe to samo zdarzenie nie będzie miało wpływu na wynik.
pozdrawiam
|
2008-10-17, 11:48 |
|
|
tatanka
Rejestracja: 2008-08-06, 12:38 Posty: 331
|
Mam taką sytuację:
jest zdarzenie 1 (czas pracy). To zdarzenie ma 3 akcje 1 -przypisanie do wzorca kadrowego (składniki płacowe) , 2 - przypisanie do wzorca kadrowego (kalendarz, czas pracy) 3 - wypełnienie elementu kadrowego.
Przy 1 akcji mam warunek (element kadrowy wyliczany i stworzoną formułę która sprawdza wystąpienia tego zdarzenia w przeciągu 4 tygodni w przód i w tył). I teraz jeśli ilość tych zdarzeń jest większa niż np 3 to chciałby żeby oznajmił to komunikat (to akurat mam zrobione) i żeby dane zdarzenie nie zostało zapisane w kalendarzu pracownika.
_________________ Pozdr
TaTanka
|
2008-10-17, 12:32 |
|
|
TS
Rejestracja: 2008-10-16, 20:50 Posty: 65
|
Możesz dokładnie zrealizować swoje zadanie na wzór zdarzenia "Urlop wypoczynkowy".
Jest bilans, pilnowanie zasobów itp.
Oczywiście to jest tylko naprowadzenie na sposób wykonania.
Jeżeli za chcesz omówić konkretną część to daj znać.
pozdrawiam
|
2008-10-17, 16:20 |
|
|
tatanka
Rejestracja: 2008-08-06, 12:38 Posty: 331
|
Witam,
Wracając do tematu, wyczytałem wczoraj że gdybym miał forte to z poziomu VBA można wstawiać zdarzenia do kalendarza pracownika ( jest obiekt IMxKdZdarzenie). Czy rzeczywiście VBA umożliwia taką operację ???
Jeśli tak to czy w akcji warunkowej zdarzenia można zdefiniować element kadrowy wyliczany którego formuła będzie napisana w VBA zamiast AmBasic ??
_________________ Pozdr
TaTanka
|
2008-10-21, 08:15 |
|
|
TS
Rejestracja: 2008-10-16, 20:50 Posty: 65
|
VBA w Forte umożliwia wiele operacji. Można dodawać zdarzenia.
Można stworzyć własny formularz kalendarza i kontrolowąć go w ustalony przez siebie sposób - dodawać, usuwać i modyfikować zdarzenia, inicjalizować czas, itp.
Nie można używać VBA w formułach.
pozdarawiam
_________________ pozdrawiam
TS
|
2008-10-30, 13:19 |
|
|
tatanka
Rejestracja: 2008-08-06, 12:38 Posty: 331
|
Możesz to przedstawić na jakimś przykładzie ?
Powiedzmy mam obiekt pracownik przez który mam dostęp do kalendarza pracownika, wiem jak zainicjalizować czas pracy w danym dniu ale nie wiem jak wstawić do kalendarza zdarzenie.
_________________ Pozdr
TaTanka
|
2008-10-30, 13:36 |
|
|
TS
Rejestracja: 2008-10-16, 20:50 Posty: 65
|
Tak na szybko znalazłem przykład dla zdarzenia nadgodzin:
Dim kZdarzenia As MxKdZdarzenia
Dim oZdarzenie As MxKdZdarzenie
Dim oDefZdarz As MxKdDefinicjaZdarzenia
‘... Pobranie odpowiednich obiektów (inicjalizacja)
‘Dodajemy nowe zdarzenie
set oZdarzenie= kZdarzenia.NoweZdarzenie(oDefZadrz,”2004-01-02” ,”2004-01-02”,0);
‘ Ustawiamy nadgodziny miedzy 16:00 a 18:00 tego samego dnia
oZdarzenie.GodzinaOd =”16:00:00”
oZdarzenie.GodzinaDo =”18:00:00”
oZdarzenie.Godziny= MxKdZAktualnegoDnia
‘ miedzy godzina 20:00 a 02:00 następnego dnia
oZdarzenie.GodzinaOd =”20:00:00”
oZdarzenie.GodzinaDo =”02:00:00”
oZdarzenie.Godziny= MxKdZNastepnegoDnia
‘Oraz miedzy 01:00 a 02:00 w dniu kolejnym
oZdarzenie.GodzinaOd =”01:00:00”
oZdarzenie.GodzinaDo =”02:00:00”
oZdarzenie.Godziny= MxKdZPoprzedniegoDnia or MxKdZNastepnegoDnia
‘lub
oZdarzenie.Godziny= MxKdZNastepnegoDniaAll
_________________ pozdrawiam
TS
|
2008-10-30, 13:49 |
|
|
tatanka
Rejestracja: 2008-08-06, 12:38 Posty: 331
|
Też trafiłem na ten przykład ale trochę w nim brakuje,
Cytuj: ‘... Pobranie odpowiednich obiektów (inicjalizacja) właśnie nie wiem jaki jeszcze obiekty są potrzebne ?? na 100% kalendarz pracownika ale co jeszcze ??? Cytuj: set oZdarzenie= kZdarzenia.NoweZdarzenie(oDefZadrz,”2004-01-02” ,”2004-01-02”,0);
tutaj niby wszystko jasne ale jak zainicjować oDefZdarz ???
_________________ Pozdr
TaTanka
|
2008-10-30, 15:06 |
|
|
TS
Rejestracja: 2008-10-16, 20:50 Posty: 65
|
Set oDefZdarz = GetDefZdarzeniaFromString("Nadgodziny")
_________________ pozdrawiam
TS
|
2008-10-30, 15:18 |
|
|