Jelenségek
Amikor munkaidő-nyilvántartást próbál meg küldeni vagy visszaadni egy Project Microsoft Dynamics GP üzleti portálján, a következő hibaüzenet jelenik meg:
Microsoft.Dynamics.Pma.PmaEntity.CostCategory [Ok]Az adatbázis-tranzakció az inkonzisztens adatbázis-művelet miatt megszakadt. [Javítás] Javítsa ki a beírt adatokat, és próbálja újra a tranzakciót.
A probléma oka
1. ok
Ez a probléma akkor fordulhat elő, ha az alábbi feltételek teljesülnek:
-
Telepítve vannak a Naplók a Microsoft Dynamics GP-ban.
-
A PDK-táblában be van állítva egy naplózás.
-
Az üzleti portál felhasználójának nincs hozzáférése az auditadatbázishoz.
Lásd az 1. felbontást.
2. ok
Ez a probléma akkor fordulhat elő, ha létrehoz egy munkaidő-nyilvántartási sablont, amely projektazonosítót tartalmaz, majd törli a projektazonosítót a Project Accounting in Microsoft Dynamics GP programban. Lásd a 2. felbontást.
3. ok
Ez a probléma akkor fordulhat elő, ha egy munkaidő-nyilvántartási sablonban egy projekt lezárt állapottal rendelkezik. Lásd a 2. felbontást.
4. ok
Ez a probléma akkor fordulhat elő, ha sérült vagy ismétlődő rekordok léteznek a PDK10000 táblában vagy a PDK10001 táblában. Lásd a 3. felbontást.
5. ok
Ez a probléma akkor fordulhat elő, ha a Pozíció mezőt nem tölti ki az alkalmazotti rekordon. Ez a kanadai bérszámfejtés használata esetén fordulhat elő. Lásd a 4. felbontást.
6. ok
Ez a probléma akkor fordulhat elő, ha a PDK10000, PDK10001, PDK10500 vagy PDK10501 táblában helytelen eseményindító található. Lásd az 5. felbontást.
7. ok
Ez a probléma akkor fordulhat elő, ha a dokumentumhoz olyan jegyzetindexek vannak csatolva, amelyek nem léteznek a Számlázási feljegyzés főtáblában, vagy ha a Számlázási feljegyzés főtáblában olyan jegyzetek vannak, amelyek nem léteznek a munkaidő-nyilvántartásban. Lásd a 6. felbontást.
8. ok
Ez a probléma akkor fordulhat elő a munkaidő-nyilvántartásokkal, ha a munkaidő-nyilvántartás beállítása során módosultak a jelentési időszakok, ha nem feldolgozatlan munkaidő-nyilvántartások léteznek. Ha a BP-ben olyan munkaidő-nyilvántartást hoz létre, amely a korábban használt alkalmazotti azonosító, év- és jelentési időszak kombinációval rendelkezik, a dokumentumszám végére automatikusan hozzáadódik egy -2-es érték. Ha a munkaidő-nyilvántartás beállítása óta módosult a jelentési időszak első napja vagy magának a jelentési időszakoknak a száma, és a korábban használt Alkalmazottazonosító, Év és Jelentési időszak kombinációt már felhasználták, a szokásos -1 dokumentumszámot kihagyjuk, és a végén a -2-es számot használjuk.
A munkaidő-nyilvántartási dokumentum számát az "Alkalmazottazonosító-TS-dátum" (pl. 1018-TS-011609) módszerrel építi a rendszer.
Figyelje meg, mi a különbség a fenti bekezdésben ismétlődő munkaidő-nyilvántartáshoz keresve.
Tehát amikor munkaidő-nyilvántartást ad meg a most következő időszakra #2 (de más időszak volt a munkaidő-nyilvántartás beállításának módosításai előtt), az üzleti portál nem "ismétlődőként" látta azt, így a -2 nem lett utána elállítva. Ennek következtében a hiba azért fordult elő, mert a munkaidő-nyilvántartás száma már a PDK10000 táblában volt.
Lásd a 7. felbontást.
Megoldás
1. felbontás
A probléma megoldásához adjon hozzáférést a Napló adatbázishoz. Ezt a következőképpen teheti meg:
-
Kattintson a Startgombra, mutasson a Mindenprogram , a Microsoft SQL Serverpontra, majd kattintson a Microsoft SQL Server Management Studio.
-
Bontsaki SQL Microsoft SQL , bontsa ki a SQL Server csoportot,majd bontsa ki a naplóadatbázist tároló Microsoft SQL Server példányát.
-
Bontsa ki a Biztonságot, majd kattintson a Bejelentkezések elemre.
-
Kattintson a jobb gombbal az Üzleti portál felhasználóra, és válassza a Tulajdonságok parancsot.
-
Kattintson az Adatbázis-hozzáférés fülre, majd a Napló adatbázis gombra.
-
Jelölje be a Naplózási adatbázis Engedély jelölőnégyzetét.
-
Az Engedély az adatbázis szerepkörében listában jelölje be az ADNGRP jelölőnégyzetet.
-
Kattintson az OKgombra, majd lépjen ki a Enterprise Managerből.
2. felbontás
A probléma megoldásához hozzon létre egy új munkaidő-nyilvántartási sablont. Ezzel felülírja a meglévőt. Ezt a következőképpen teheti meg:
-
Az üzleti portálon kattintson azAlkalmazott , majd az Project ,majd az Új elemre.
-
Hozzon létre egy új munkaidő-nyilvántartást, és kattintson a Mentés sablonként gombra.
-
Amikor a rendszer a meglévő sablon cseréjére kéri, kattintson az OK gombra.
Ha nem tud újra létrehozni egy új sablont, hogy a meglévőt felülírja, akkor az SQL használatával törölje a meglévő sablont az érintett alkalmazotti azonosító PDK00300 és PDK00301 adataiból.
3. felbontás
A probléma megoldásához forduljon a Microsoft Dynamics technikai támogatási szolgálatához és a kapcsolódó termékekhez. Egy támogatási szakember segíthet törölni a sérült vagy ismétlődő rekordokat a PDK10000 táblából és a PDK10001 táblából. A Microsoft Dynamics és kapcsolódó termékek technikai támogatásával kapcsolatos információkért keresse fel a Microsoft következő webhelyét:
4. felbontás
Noha ön esetleg a Canadian Payroll (Kanadai bérszámfejtés) mezőt használja, az Amerikai Egyesült Államok alkalmazotti kártyáján a Pozíció (és Részleg) mezőt is ki kell feltölteni. A probléma megoldásához vegye fel a Pozíció mezőt az alkalmazott kártyájára. Ezt a következőképpen teheti meg:
-
A Microsoft Dynamics GP-ban kattintson a Kártyákelemre, mutasson a Bérszámfejtéspontra, majd kattintson az Alkalmazott elemre.
-
Írja be annak az alkalmazottnak az azonosítóját, akihez a hibaüzenetet kapja.
-
Adjon meg egy érvényes pozíciót a Pozíció mezőben.
-
Kattintson a Mentés gombra.
5. felbontás
A PDK10000 PDK10001, PDK10500 és PDK10501 táblákban alapértelmezés szerint nincsenek eseményindítók. Futtassa ezt a parancsfájlt (a táblanév Microsoft SQL Server Management Studio hogy lássa, van-e eseményindító a táblában. Előfordulhat, hogy el kell távolítani ezt az eseményindítót.
sp_helptrigger PDK10000 Ha létezik eseményindító, ezzel a parancsfájllal távolítsa el, majd próbálkozzon újra
az üzleti portálon található dokumentummal. Ebben a példában az eseményindító neve PDK10000Update.
ALTER TABLE PDK10000 DISABLE TRIGGER PDK10000Update
6. felbontás
A Microsoft SQL Server Management Studio futtatásakor futtassa ezt a parancsfájlt a vállalati adatbázison, és állapítsa meg, hogy vannak-e olyan számlázási jegyzetek a dokumentumhoz hozzárendelve, amelyek nem léteznek a PDK számlázási megjegyzés főtáblában.
jelölje ki a * adatokat a PDK10001-ben, ahol PDK_Billing_Note_ID nem található (válassza a PDK_Billing_Note_ID a PDK01601-ről) és a PDK_Billing_Note_ID <> ' lehetőséget, és nézze meg, hogy vannak-e olyan jegyzetek a Számlázási feljegyzések főtáblában, amelyek nincsenek a dokumentumban, futtassa ezt
a parancsfájlt.
jelölje be a * adatokat a PDK01601-ben, ahol a PDK_Billing_Note_ID nem a (pdf10001-es fájlból a PDK_Billing_Note_ID lehetőséget választja), és a PDK_Billing_Note_ID nem a (PDFK10501-ben válassza az PDK_Billing_Note_ID lehetőséget) Ha a fenti parancsprogramok bármelyike eredményt ad vissza, a rekordot valószínűleg egy SQL delete utasítással el kell távolítani a
táblából. Ha további segítségre van szüksége, forduljon a technikai támogatási szolgálathoz.
7. felbontás
A PDK10000 tábla munkaidő-nyilvántartási dokumentumait áttekintve ellenőrizze, hogy az aktuálisan használt dokumentumszámot használták-e már korábban. Előfordulhat, hogy az új tranzakció bevitele előtt el kell távolítani a korábbi munkaidő-nyilvántartást a PDK10000 és a PDK10001 táblákból, ha a jelentési időszak meglévő beállítását kell használni. A másik lehetőség, ha visszaállítja a jelentési időszak adatait a korábbihoz, majd létrehoz egy új munkaidő-nyilvántartást.
További hibaelhárítás –
1. Futtassa az alábbi parancsfájlt a Microsoft SQL Server Management Studio, és nézze meg, hogy vannak-e olyan költségkategóriák a munkaidő-nyilvántartásban, amelyek állapota nem Megnyitás vagy Befejezve. Nem adhat meg tranzakciókat költségkategóriákhoz Becslés, Lezárva vagy Visszatartva állapotban.
a .A.PDK_TS_NO, a.PAPROJNUMBER, a.PACOSTCATID a
PDK10001-től a JOIN PA01301 b illesztés
a.PAPROJNUMBER = b.PAPROJNUMBER és
a.PACOSTCATID = b.PACOSTCATID, ahol
a b.PASTAT nem a (1, 5)
2. Az alábbi parancsfájl futtatásával Microsoft SQL Server Management Studio, hogy nincs-e olyan projekt a munkaidő-nyilvántartásban, amely nem Megnyitás vagy Befejezve állapotú. Nem adhat meg tranzakciókat olyan projektekhez, amelyek becsült, zárt vagy hold állapotúak.
válassza a.PDK_TS_No. a.PAPROJNUMBER (PDK10001-től) és a
JOIN PA01201 b illesztés
a.PAPROJNUMBER = b.PAPROJNUMBER paramétert, ahol a
b.PASTAT nem a (1;5)
3-as számban van. Ellenőrizze, hogy a fejléc (PDK10000) tábla Teljes mennyiség mezőjének (PDK_Total_Quantity) értéke megegyezik-e a munkaidő-nyilvántartás sormennyiségének (PDK_QUANTITY) összegével. Ha nem egyeznek, a munkaidő-nyilvántartás sérült, és a rekordokat használva el kell távolítani SQL. Ha további segítségre van szüksége, forduljon a technikai támogatási szolgálathoz.