mojaSymfonia FORUM
https://forum.mix-soft.pl/

błędy po upgrade z wersji KDP2009 do wersji KDP2010
https://forum.mix-soft.pl/viewtopic.php?f=3&t=1474
Strona 1 z 1

Autor:  rob [ 2009-12-03, 11:20 ]
Tytuł:  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

Autor:  shikoo [ 2009-12-03, 12:23 ]
Tytuł: 

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ąć.

Autor:  rob [ 2009-12-03, 12:56 ]
Tytuł: 

Dzięki za szybką odpowieź ale nie możesz tego raportu wkleić tu ? wiadomości na priva zostały wyłączone :-(

Autor:  rob [ 2009-12-03, 13:13 ]
Tytuł: 

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.

Autor:  shikoo [ 2009-12-03, 13:22 ]
Tytuł: 

//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

Autor:  shikoo [ 2009-12-03, 13:25 ]
Tytuł: 

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....

Autor:  rob [ 2009-12-03, 14:27 ]
Tytuł: 

no u mnie teżnie działa .. :-( a jak pod pervasivem otworzyć taką bazę ?

Autor:  shikoo [ 2009-12-03, 14:36 ]
Tytuł: 

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

Autor:  rob [ 2009-12-03, 15:02 ]
Tytuł: 

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 ?

Autor:  shikoo [ 2009-12-03, 15:22 ]
Tytuł: 

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

Autor:  wrob [ 2009-12-03, 16:11 ]
Tytuł: 

Pod warunkiem ze rob posiada wygenrowane pliki ddf - inaczej ten opis nie zadziala ;-)

Autor:  shikoo [ 2009-12-03, 16:22 ]
Tytuł: 

ehehe, no tak, skleroza, to trzeba miec w uprawnieniach uzytkownika zaznaczone wdrazanie programu i potem polecenie Generowanie DDFs (z paska Firma).

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/