Lassú működést tapasztalhat, ha olyan cikkre ad fel rendelést, amely több termékváltozattal rendelkezik a Microsoft Dynamics NAV rendszerben

Hatókör
Dynamics NAV 2009 Service Pack 1 Microsoft Dynamics NAV 2009 R2

Ez a cikk a Microsoft Dynamics NAV-ra vonatkozik minden régióban.

Tünetek

Amikor a Microsoft Dynamics NAV rendszerben egy több termékváltozatot tartalmazó cikkre ad fel rendelést, a rendszer helytelenül frissíti a megrendelés összes termékváltozatát. Emiatt lassú működést tapasztalhat a megrendelés feladásakor.
Ez a probléma a következő termékekben fordul elő:

  • Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
  • Microsoft Dynamics NAV 2009 R2

Ok

Ez a probléma az ItemCostManagement codeunit (5804) kódegység UpdateUnitCost függvényében található helytelen kód miatt fordul elő.

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 az ItemCostManagement codeunit (5804) kódját kell módosítania az UpdateUnitCost függvényben a következőképpen:

Meglévő kód: 1

...
VAR

SKU@1008 : Record 5700;

AverageCost@1011 : Decimal;

AverageCostACY@1010 : Decimal;

BEGIN

WITH Item DO BEGIN

IF NewStdCost <>  0 THEN

"Standard Cost" := NewStdCost;

IF "Costing Method" = "Costing Method"::Standard THEN
...

Helyettesítő kód 1

...
  VAR

SKU@1008 : Record 5700;

AverageCost@1011 : Decimal;

AverageCostACY@1010 : Decimal;

BEGIN

+ GetInvtSetup;

WITH Item DO BEGIN

IF NewStdCost <>0 THEN

"Standard Cost" := NewStdCost;

IF "Costing Method" = "Costing Method"::Standard THEN
...

Meglévő 2. kód

...
   MODIFY;

IF UpdateSKU THEN BEGIN

SKU.SETCURRENTKEY("Item No.");

SKU.SETRANGE("Item No.","No.");

- ItemCostMgt.GetInvtSetup;

IF InvtSetup."Average Cost Calc. Type" <>  InvtSetup."Average Cost Calc. Type"::Item THEN

IF FilterSKU THEN BEGIN

SKU.SETFILTER("Location Code",'%1|%2','',LocationCode);

SKU.SETFILTER("Variant Code",'%1|%2','',VariantCode);

END ELSE BEGIN
...

2-es helyettesítő kód

...
 MODIFY;

IF UpdateSKU THEN BEGIN

SKU.SETCURRENTKEY("Item No.");

SKU.SETRANGE("Item No.","No.");

IF InvtSetup."Average Cost Calc. Type" <> InvtSetup."Average Cost Calc. Type"::Item THEN

IF FilterSKU THEN BEGIN

SKU.SETFILTER("Location Code",'%1|%2','',LocationCode);

SKU.SETFILTER("Variant Code",'%1|%2','',VariantCode);

END ELSE BEGIN 
...

          

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: 268387

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.