Ez a cikk a Microsoft Dynamics NAV-ra vonatkozik minden régióban.
Tünetek
Tegyük fel, hogy beszerzési rendelése van egy feladathoz rendelt cikkre, és megadja a cikkhez egy rekeszkódot a Microsoft Dynamics NAV-ban. Ezt követően a beszerzési rendelés feladásakor (fogadásakor és kiszámlázásakor) a következő hibaüzenet jelenik meg, mert eltérés van a cikkkönyvi bejegyzések és a raktár adatai között:
Megjegyzés
A Feladatnapló sornapló sablonban meg kell adnia a rekeszkódot...
Emellett, amikor feladja a nyugta visszavonását a beszerzési rendeléshez, a cikkkönyv-bejegyzések helytelenül frissülnek. Elvárja, hogy a rendszer egyformán frissítse a raktár- és a cikkkönyv-bejegyzéseket.
Ez a probléma a KB 2159936-es gyorsjavításának telepítése után jelentkezik.
További információ a Microsoft Tudásbázis következő számú cikkében olvasható (a cikk megnyitásához kattintson a sorszámra):
2159936 A Microsoft Dynamics NAV 2009 Service Pack 1 rendszerben váratlanul feladhat egy beszerzési rendelést Receive for a Bin kötelező helyként egy feladattal
Ez a probléma a következő termékekben fordul elő:
- Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
- Microsoft Dynamics NAV 2009 R2
Megoldás
Gyorsjavítással kapcsolatos információk
A Microsoft már elérhető egy támogatott gyorsjavítást kínál. Ez azonban csak a cikkben ismertetett probléma megoldására szolgál. Csak olyan rendszerekre alkalmazza, amelyek tapasztalják ezt a problémát. Előfordulhat, hogy a gyorsjavítás további tesztelésen eshet át. Ezért ha nem érinti súlyosan ez a probléma, azt javasoljuk, hogy várja meg a Microsoft Dynamics NAV 2009 következő szervizcsomagját, illetve a Microsoft Dynamics NAV következő olyan verzióját, amely tartalmazza ezt a gyorsjavítást.
Megjegyzés: Különleges esetekben a támogatási hívások szokásos díjai törölhetők, ha a Microsoft Dynamics és a kapcsolódó termékek terméktámogatási szakértője úgy ítéli meg, hogy egy adott frissítés megoldja a problémát. A szokásos támogatási költségek olyan további támogatási kérdések és problémák esetén merülnek fel, amelyek nem felelnek meg a kérdéses frissítés feltételeinek.
Telepítési információk
A Microsoft csak illusztrációs céllal kínál programozási példákat, kifejezett vagy vélelmezett garancia nélkül. Ez magában foglalja, de nem kizárólagosan a forgalmazhatóságra vagy az adott célra való alkalmasságra vonatkozó vélelmezett garanciát. Ez a cikk feltételezi, hogy ismeri a bemutatott programozási nyelvet, valamint az eljárások létrehozásához és hibakereséséhez használt eszközöket. A Microsoft támogatási szakemberei segíthetnek elmagyarázni egy adott eljárás funkcionalitását, de nem módosítják a példákat, hogy további funkciókat biztosítsanak, és nem építenek ki eljárásokat az egyéni igényekre.
Megjegyzés: A gyorsjavítás telepítése előtt győződjön meg arról, hogy a Microsoft Navision-ügyfél összes felhasználója kijelentkezett a rendszerről. Ide tartoznak a Microsoft Navision Application Services (NAS) kliens felhasználói is. A gyorsjavítás telepítésekor csak Ön lehet az, aki be van jelentkezve.
A gyorsjavítás implementálásához fejlesztői licenccel kell rendelkeznie.
Javasoljuk, hogy a Windows Bejelentkezések ablakában vagy az Adatbázis-bejelentkezések ablakban látható felhasználói fiókhoz rendelje a "SUPER" szerepkörazonosítót. Ha a felhasználói fiókhoz nem rendelhető a "SUPER" szerepkörazonosító, ellenőriznie kell, hogy a felhasználói fiók rendelkezik-e az alábbi engedélyekkel:
- A módosítani kívánt objektum Módosítás engedélye.
- Végrehajtási engedély az 5210-es rendszerazonosítójú objektumhoz és a 9015-ös rendszerobjektum-azonosítójú objektumhoz.
Megjegyzés: Az adattárakhoz csak akkor kell jogokkal rendelkeznie, ha adatokat kell javítást végeznie.
Kódváltozások
Megjegyzés: Mindig ellenőrzött környezetben tesztelje a kódjavításokat, mielőtt telepítené őket az üzemi számítógépekre.
A probléma megoldásához hajtsa végre az alábbi lépéseket:
Módosítsa a kódot a kódegységben (1004) a következőképpen:
Meglévő kód
... JobJnlLine."Line Discount Amount" := ROUND("Job Line Discount Amount" * Factor,Currency."Amount Rounding Precision"); END; JobJnlLine."Location Code" := "Location Code"; JobJnlLine."Line Type" := "Job Line Type"; ...Helyettesítő kód
... JobJnlLine."Line Discount Amount" := ROUND("Job Line Discount Amount" * Factor,Currency."Amount Rounding Precision"); END; JobJnlLine."Location Code" := "Location Code"; // Add the following line. JobJnlLine."Bin Code" := "Bin Code"; // End of the added line. JobJnlLine."Line Type" := "Job Line Type"; ...Módosítsa a kódot a Purch.-Post codeunit (90) OnRun eseményindítójában a következők szerint:
Megjegyzés: Az eltávolítandó kód a KB 2159936-ban lett hozzáadva, így az alábbi kód módosítása lehet, de lehet, hogy nem.
Meglévő kód
... IF PurchLine.Type = PurchLine.Type::"Charge (Item)" THEN BEGIN PurchLine.TESTFIELD(Amount); PurchLine.TESTFIELD("Job No.",''); END; // Delete the following lines. IF (PurchLine."Job No." <> '') AND (PurchLine.Type = PurchLine.Type::Item) THEN PurchLine.TESTFIELD("Bin Code",''); // End of the deleted lines. ...Helyettesítő kód
... IF PurchLine.Type = PurchLine.Type::"Charge (Item)" THEN BEGIN PurchLine.TESTFIELD(Amount); PurchLine.TESTFIELD("Job No.",''); END; ...Módosítsa a PostItemJnlLine függvényben szereplő kódot a Purch.-Postal codeunit (90) értékben a következők szerint:
Meglévő kód
... IF PostWhseJnlLine THEN BEGIN ItemTrackingMgt.SplitWhseJnlLine(TempWhseJnlLine,TempWhseJnlLine2,TempWhseTrackingSpecification,FALSE); IF TempWhseJnlLine2.FIND('-') THEN REPEAT WhseJnlPostLine.RUN(TempWhseJnlLine2); UNTIL TempWhseJnlLine2.NEXT = 0; ...Helyettesítő kód
... IF PostWhseJnlLine THEN BEGIN ItemTrackingMgt.SplitWhseJnlLine(TempWhseJnlLine,TempWhseJnlLine2,TempWhseTrackingSpecification,FALSE); IF TempWhseJnlLine2.FIND('-') THEN REPEAT WhseJnlPostLine.RUN(TempWhseJnlLine2); // Add the following lines. IF RevertWarehouseEntry(TempWhseJnlLine2,"Job No.",PostJobConsumptionBeforePurch) THEN WhseJnlPostLine.RUN(TempWhseJnlLine2); // End of the added lines. UNTIL TempWhseJnlLine2.NEXT = 0; ...Adja hozzá a következő helyi függvényt: RevertWarehouseEntry@92(VAR TempWhseJnlLine@1000 : IDEIGLENES rekord 7311; JobNo@1001: Kód[20]; PostJobConsumptionBeforePurch@1002 : Logikai érték). Ezután adja hozzá a következő kódot a függvényhez:
IF PostJobConsumptionBeforePurch OR (JobNo = '') THEN EXIT(FALSE); WITH TempWhseJnlLine DO BEGIN "Entry Type" := "Entry Type"::"Negative Adjmt."; Quantity := -Quantity; "Qty. (Base)" := -"Qty. (Base)"; "From Bin Code" := "To Bin Code"; "To Bin Code" := ''; END; EXIT(TRUE);
Előfeltételek
A gyorsjavítás alkalmazásához az alábbi termékek egyikének telepítve kell lennie:
- Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
- Microsoft Dynamics NAV 2009 R2
Eltávolítással kapcsolatos információk
Ez a gyorsjavítás nem távolítható el.
Állapot
A Microsoft megerősítette, hogy ez egy olyan probléma a Microsoft-termékekben, amely az „Érintett szolgáltatás“ című szakaszban van felsorolva.
Hivatkozások
VSTF DynamicsNAV SE: 244430
Megjegyzés: Ez egy "GYORS KÖZZÉTÉTELŰ" cikk, amelyet közvetlenül a Microsoft támogatási szervezete készített. A dokumentumban szereplő információkat adott formában bocsátjuk rendelkezésre, a felmerülő problémákra adott válaszként. A rendelkezésre bocsátás gyorsasága következtében az anyagok sajtóhibákat tartalmazhatnak, és bármikor, előzetes értesítés nélkül felülvizsgálhatók. További szempontokat a használati feltételekben talál.