|
|
Strona 1 z 1
|
[ Posty: 12 ] |
|
błędy po upgrade z wersji KDP2009 do wersji KDP2010
Autor |
Wiadomość |
rob
Rejestracja: 2009-12-03, 11:00 Posty: 49 Pomógł: 1
|
błędy po upgrade z wersji KDP2009 do wersji KDP2010
witam
mam taki objaw:
po aktualizacji przy zamkniętych okresach, podczas zamykania nowy (kolejnych) okresów płacowych pojawia się pracownik, który już był w archiwum z informacją że ma niezrealizowane zdarzenie. Ten pracownik był trzy lata temu zleceniobiorcom a symfonia wstawia do jego kalendarza rozliczenie umowy zlecenia a wszystkie umowy są rozliczone.
Baza przeszła już kilka upgrade'ów (z 2007 do 2008, z 2008 do 2009 )i nie było z tym żadnych problemów a teraz się nagle pojawiły.
Proszę o pomoc co mogę zrobić w takim przypadku ?
pozdrawiam
Robert
|
2009-12-03, 11:20 |
|
|
Autor |
Wiadomość |
Mix-soft.pl
|
|
|
shikoo
Rejestracja: 2008-10-01, 22:25 Posty: 205
|
jest raporcik, który domyka transakcje (działa w 90% przypadków, również przy błędzie 04-błąd generowania zdarzeń), jeżeli chcesz to podaj maila to podeśle razem z opisem (raport jest przygotowany przez sage ale nie opublikowany na forum, bo nie zawsze działa), jeżeli to nie pomoże to trzeba szukać pod pervasivem pewnie jakas seria zdarzeń się wstawiła, trzeba będzie ją usunąć.
|
2009-12-03, 12:23 |
|
|
rob
Rejestracja: 2009-12-03, 11:00 Posty: 49 Pomógł: 1
|
Dzięki za szybką odpowieź ale nie możesz tego raportu wkleić tu ? wiadomości na priva zostały wyłączone
|
2009-12-03, 12:56 |
|
|
rob
Rejestracja: 2009-12-03, 11:00 Posty: 49 Pomógł: 1
|
dokładnie jest taki komunikat
Nie można przyporządkować pracownika "***********" do wzorca "Umowa zlecenia"
w dniach od 2009-08-25 do 2009-08-25,
gdyż taki przedział czasu pokrywa się z zamkniętymi okresami płacowymi i nie można go przesunąć do okresu otwartego.
Błąd Generowania Zdarzeń - 04.
Zamykanie 'Aktywnych zdarzeń'.
Generowanie zdarzeń przerwane.
Nie można zamknąć okresu płacowego "grudzień 2009 podstawowy".
W kalendarzu pracownika "***************" wykryto niezrealizowane zdarzenia.
|
2009-12-03, 13:13 |
|
|
shikoo
Rejestracja: 2008-10-01, 22:25 Posty: 205
|
//1,"ZamykanieSerii.sc","Zamykanie Dat Serii Transakcji","Specjalne",0,1.0.2,SYSTEM
#include "strings.sci"
// Raport wywoływany z okna pracowników zamyka 'Serie' na podstwie zamkniętych 'Transakcji'
// jesli data zamknięcia serji jest późniejsza niż w danych transakcji to też ją przestawia
int nTrans, nSerie, nWartKadr, nInstZdarz
int err_
int idSeria
long idTrans
long idPrac, idKalendarz
int jestEvent, nUsunieto, nLZMienionych
int nStatus, idElement, idPracKadr, idTranKadr, idElemKadr, nZdarzTrans, nZdarzKadr
string strData
Date dtSeriaKon
Date dtWartKaKon
Date dtLast
if (Message "Raport naprawczy \n'Zamykanie SERII ZDARZEŃ, które mają w danych zamknięte transakcje' - wersja II.\nCzy chcesz kontynuować?{{icon=? buttons=tN}}") == 7 then error ""
long idgrupy = val( Arg0 )
int typ = val( Arg1 ), bArchAdded
if !idgrupy && !typ then message sErrTylkoZOknaPrac : error ""
if !SetGroup( idgrupy, typ, TR_PRACOWNICY ) then message sErrBlednaGrupa : error ""
idprac = GetFirst()
if !idprac then message sErrBrakPrac : error ""
nTrans = open GetBasePath("TRANSAKCJE") for base "TRANSAKCJE"
BaseError(GetBasePath("TRANSAKCJE"), 4)
SetKey(nTrans, "secondary")
nSerie = open GetBasePath("SERIE_ZDARZEN") for base "SERIE_ZDARZEN"
BaseError(GetBasePath("SERIE_ZDARZEN"), 4)
SetKey(nSerie, "transakcja")
nInstZdarz = open GetBasePath("INST_ZDARZEN") for base "INST_ZDARZEN"
BaseError(GetBasePath("SERIE_ZDARZEN"), 4)
SetKey(nInstZdarz, "transakcja")
nWartKadr = open GetBasePath("WARTOSCI_KADR") for base "WARTOSCI_KADR"
BaseError(GetBasePath("WARTOSCI_KADR"), 4)
//SetKey(nWartKadr, "transakcja")
nLZMienionych = 0
if !SetGroup( idgrupy, typ, TR_PRACOWNICY ) then message sErrBlednaGrupa : error ""
idprac = GetFirst()
SetKey(nWartKadr, "zdarzenie")
dtLast.year=9998
dtLast.month=12
dtLast.day=31
while idprac
idKalendarz =0
SetKeySeg(nTrans, "kalendarz", idprac)
SetKeySeg(nTrans, "status", 0)
err_ = GetRec(nTrans, GE )
idKalendarz = 0
if ( !err_ ) then
idKalendarz = GetField(nTrans, "kalendarz")
endif
while idKalendarz == idprac
idTrans = GetField(nTrans, "id")
nStatus = GetField(nTrans, "status")
idseria = GetField(nTrans, "seria")
nZdarzTrans = GetField(nTrans, "zdarzenie")
if ( nStatus == 0xFFF ) then
idElement = GetField(nTrans, "deftran")
SetKeySeg(nSerie, "transakcja", idTrans)
err_ = GetRec(nSerie, EQ )
if !err_ then
strData = GetField(nSerie, "data_kon")
dtSeriaKon.Clear()
if ( strData != "" ) then
dtSeriaKon.FromStr(strData)
endif
// if ( dtSeriaKon.Compare(dtLast) == 0 ) then
SetKeySeg(nWartKadr, "id_zdarzenia", nZdarzTrans)
err_ = GetRec(nWartKadr, GE )
if ( !err_ ) then
nZdarzKadr = GetField(nWartKadr,"id_zdarzenia")
if ( nZdarzKadr != nZdarzTrans ) then
err_=1 //koniec
endif
endif
while ( !err_ )
nZdarzKadr = GetField(nWartKadr,"id_zdarzenia")
idPracKadr = GetField(nWartKadr, "id_pracownika")
idTranKadr = GetField(nWartKadr, "id_transakcji")
if ( nZdarzKadr == nZdarzTrans && idPracKadr == idKalendarz && idTranKadr == idTrans ) then
idElemKadr = GetField(nWartKadr, "id_skladnika")
if ( idElemKadr == idElement ) then
strData = GetField(nWartKadr, "data_kon")
dtWartKaKon.Clear()
if ( strData != "" ) then
dtWartKaKon.FromStr(strData)
endif
if ( dtWartKaKon.Valid() && dtWartKaKon.Compare(dtLast) != 0 && (!dtSeriaKon.Valid() || dtSeriaKon.Compare(dtWartKaKon) != 0 )) then
dtSeriaKon = dtWartKaKon
nLZMienionych = nLZMienionych + 1
SetField(nSerie, "data_kon", strData)
PutRec( nSerie )
endif
endif
endif
err_ = GetRec(nWartKadr, NX )
if ( !err_ ) then
nZdarzKadr = GetField(nWartKadr,"id_zdarzenia")
if ( nZdarzKadr != nZdarzTrans ) then
err_=1 //koniec jest już inne zdarzenie
endif
endif
wend
// endif //nie jest ustawione zakończenie serii
endif //seria taka jak w transakcjach
endif //status transakcji
err_ = GetRec(nTrans, NX)
if ( !err_ ) then
idKalendarz = GetField(nTrans, "kalendarz")
else
idKalendarz = 0
endif
wend
idprac = GetNext()
wend
if nLZMienionych == 0 then
Print "Nie znaleziono zamkniętych TRANSAKCJI i niedomkniętych SERII zdarzeń"; lf
else
Print "Zamknięto ";nLZMienionych;" SERII na podstawie zamkniętych TRANSAKCJI"; lf
endif
|
2009-12-03, 13:22 |
|
|
shikoo
Rejestracja: 2008-10-01, 22:25 Posty: 205
|
nazwa raportu: Zamykanie Dat Serii Transakcji, typ raportu:pracownicy, wykonujemy z okna pracowników
U mnie szczerze mówiąc nie zadziałał i musiałam grzebać w prewersie żeby usunąć serię zdrazeń ale może komuś pomoże :)
właśnie, nie wiem czy w każdej bazie należy zrobić to samo, ale ja wywaliłam to w ten sposób, najpierw w tabeli pracownicy znalazłam pracownika u którego wrzucało to rozliczenie, sprawdziłam jakie ma id, następnie w tabeli serie zdarzeń wyszukałam kalendarz o tym samym id co id pracownika i tam usunęłam wiersz w ktorym data_kon była 12/31/9998 i brak było daty wystąpienia, i pomogło. Nie wiem czy nie trzeba jeszcze czegos tam zmienic....
|
2009-12-03, 13:25 |
|
|
rob
Rejestracja: 2009-12-03, 11:00 Posty: 49 Pomógł: 1
|
no u mnie teżnie działa .. a jak pod pervasivem otworzyć taką bazę ?
|
2009-12-03, 14:27 |
|
|
shikoo
Rejestracja: 2008-10-01, 22:25 Posty: 205
|
aha, zapomnialam jeszcze dodać, że przed wykonaniem raportu należałoby usunąć niezrealizowane zdarzenie. a pod pervasivem zeby odpalić bazę musisz otworzyć Pervasive control center i tam dodać, tylko że grzebanie w tym miejscu wiąże się z ryzykiem, że możemy niezle namieszać w bazie więc kopia jak najbardziej wskazana
|
2009-12-03, 14:36 |
|
|
rob
Rejestracja: 2009-12-03, 11:00 Posty: 49 Pomógł: 1
|
no tak też myślałem (usunąć najpierw zdarzenie) i tak zrobiłem ale to nie pomogło ... raport niczego nie naprawił ;-(
a czy mógłyś mi przeslać krótką instrukcję jaka pod prevasivem podłączyć i edytować bazę danych ?
|
2009-12-03, 15:02 |
|
|
shikoo
Rejestracja: 2008-10-01, 22:25 Posty: 205
|
w tym akurat zbyt biegła nie jestem, ale napisze jak ja to robie, po otworzeniu Pervasive Control Center, wybierasz opcję New Database, każe ci podać server, (jeżeli w oknie wyboru serwera jest pusto to nie umiem pomóc :/),potem nazwę bazy oraz należy podać ściężkę do bazy (nic więcej nie ustawiasz), klikasz zakończ i baza powinna się podłączyć. Po wejsciu do danej bazy wybierasz katalog Tables, tam w środku masz tabele, w których są dane bazy
|
2009-12-03, 15:22 |
|
|
wrob
Ekspert
Rejestracja: 2008-04-18, 18:52 Posty: 5169 Pomógł: 59
|
Pod warunkiem ze rob posiada wygenrowane pliki ddf - inaczej ten opis nie zadziala
|
2009-12-03, 16:11 |
|
|
shikoo
Rejestracja: 2008-10-01, 22:25 Posty: 205
|
ehehe, no tak, skleroza, to trzeba miec w uprawnieniach uzytkownika zaznaczone wdrazanie programu i potem polecenie Generowanie DDFs (z paska Firma).
|
2009-12-03, 16:22 |
|
|
|
Strona 1 z 1
|
[ Posty: 12 ] |
|
Kto jest online |
Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 10 gości |
|
Nie możesz tworzyć nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz dodawać załączników
|
|
|
|