Helytelenül adhat fel anyagjegyzék-naplót vagy értékesítési rendelést, ha a készlet összetevőjének dimenzióértékkódja eltér a készlet szülőelemének kódjától a Microsoft Dynamics NAV 2009 SP1 rendszerben

Hatókör
Dynamics NAV 2009 Service Pack 1

A Gyorsan közzétett cikkek közvetlenül a Microsoft támogatási szervezetéből szolgáltatnak információt. Az itt található információk újonnan felmerülő vagy egyedi témákra válaszul jönnek létre, vagy a Tudásbázis egyéb információinak kiegészítésére szolgálnak.

Ez a cikk a Microsoft Dynamics NAV 2009 minden országra és nyelvi beállításra vonatkozik.

Tünetek

Tegyük fel, hogy a készlet összetevőjének dimenzióértékkódja eltér a készlet szülőelemének kódjától a Microsoft Dynamics NAV 2009 SP1 rendszerben. Anyagjegyzék-napló vagy értékesítési rendelés feladásakor a Microsoft Dynamics NAV 2009 SP1 helytelenül teszi lehetővé, hogy hibaüzenet megjelenése nélkül adja fel az anyagjegyzék-naplót vagy az értékesítési rendelést. Ez a probléma akkor is előfordul, ha a dimenzióérték feladási kódja "ugyanazt a kódot" tartalmazza mind a készlet összetevőjéhez, mind a készlet szülőeleméhez.

Arra számít, hogy hibát okoz az "A dimension used in item journal row, default, 10000 has error. Kiválasztott dimenzióértékkód [Dimenzióérték code_Number] a dimenziókódhoz [Dimenzió code_Number] a cikkhez [Item_Number]" hibaüzenet, amely akkor jelenik meg, amikor feladja az anyagjegyzék-naplót vagy az értékesítési rendelést ebben a helyzetben.

Ez a probléma a következő országokban a csomagolási funkcióval rendelkező termékeknél fordul elő:

  • Ausztrália
  • Ausztria
  • Franciaország
  • Indonézia
  • Malajzia
  • Új-Zéland
  • Észak-Amerika
  • Fülöp-szigetek
  • Szingapúr
  • Thaiföld

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 a BOM Jnl.-Post Line codeunit (32) kódját a következőképpen kell módosítani:

Meglévő kód

...
          ELSE
            BuildTotalDisassemblyCost(BOMJnlLine,ItemJnlLine.Amount - "Total Cost");

          TransferDimToItemJnlLine(ItemJnlLine,TempJnlLineDim2,FALSE);

          ReserveBOMJnlLine.TransferBOMJnlToItemJnlLine(BOMJnlLine,ItemJnlLine,"Quantity (Base)");
...

Helyettesítő kód

...
          ELSE
            BuildTotalDisassemblyCost(BOMJnlLine,ItemJnlLine.Amount - "Total Cost");

// Add the following line.
          TransferDimToItemJnlLine(ItemJnlLine,TempJnlLineDim2);
// End of the added line.

          ReserveBOMJnlLine.TransferBOMJnlToItemJnlLine(BOMJnlLine,ItemJnlLine,"Quantity (Base)");
...

módosítsa a PostTempJnlLines függvény kódját az Anyagjegyzék-Jnl.-Post Line codeunit (32) értékben a következők szerint:

Meglévő kód

...
             IF TempItemJnlLine.FIND('-') THEN
          REPEAT
            TempItemJnlLine2 := TempItemJnlLine;
            TransferDimToItemJnlLine(TempItemJnlLine,TempJnlLineDim2,TRUE);
            ItemJnlPostLine.RunWithCheck(TempItemJnlLine,TempJnlLineDim2);
            WITH TempItemJnlLine DO BEGIN
              Quantity := TempItemJnlLine2.Quantity;
...

Helyettesítő kód

...
            IF TempItemJnlLine.FIND('-') THEN
          REPEAT
            TempItemJnlLine2 := TempItemJnlLine;

// Add the following line.
            TransferDimToItemJnlLine(TempItemJnlLine,TempJnlLineDim2);
// End of the added line.

            ItemJnlPostLine.RunWithCheck(TempItemJnlLine,TempJnlLineDim2);
            WITH TempItemJnlLine DO BEGIN
              Quantity := TempItemJnlLine2.Quantity;  
...

                
módosítsa az TransferDimToItemJnlLine függvény kódját a BOM Jnl.-Post Line codeunit (32) értékben a következők szerint:

Meglévő kód

...
            TempJnlLineDim2."Journal Line No." := ItemJnlLine2."Line No.";
            TempJnlLineDim2."Allocation Line No." := 0;
            TempJnlLineDim2."Dimension Code" := TempJnlLineDim."Dimension Code";
            IF Consumption THEN
              IF DefDim.GET(DATABASE::Item,ItemJnlLine2."Item No.",TempJnlLineDim."Dimension Code") THEN BEGIN
                TempJnlLineDim2."Dimension Value Code" := DefDim."Dimension Value Code";
                CASE DefDim."Dimension Code" OF
                  GLSetup."Global Dimension 1 Code":
                    ItemJnlLine2."Shortcut Dimension 1 Code" := DefDim."Dimension Value Code";
                  GLSetup."Global Dimension 2 Code":
                    ItemJnlLine2."Shortcut Dimension 2 Code" := DefDim."Dimension Value Code";
                END;
              END ELSE
                TempJnlLineDim2."Dimension Value Code" := TempJnlLineDim."Dimension Value Code"
            ELSE
              TempJnlLineDim2."Dimension Value Code" := TempJnlLineDim."Dimension Value Code";
            TempJnlLineDim2.INSERT;
          UNTIL TempJnlLineDim.NEXT = 0;
        END;
...

Helyettesítő kód

...
            TempJnlLineDim2."Journal Line No." := ItemJnlLine2."Line No.";
            TempJnlLineDim2."Allocation Line No." := 0;
            TempJnlLineDim2."Dimension Code" := TempJnlLineDim."Dimension Code";

// Add the following line.
            TempJnlLineDim2."Dimension Value Code" := TempJnlLineDim."Dimension Value Code";
// End of the added line.
            TempJnlLineDim2.INSERT;
          UNTIL TempJnlLineDim.NEXT = 0;
        END;    
...

módosítsa a PostResourceCost függvény kódját az anyagjegyzék-Jnl.-Post Line codeunit (32) értékben a következőképpen:

Meglévő kód

...          
           ItemJnlLine.Kitting := TRUE;
          TotalCost := "Total Cost";
          UnitCost := "Unit Cost";
          TransferDimToItemJnlLine(ItemJnlLine,TempJnlLineDim2,TRUE);
         IF OutputItemLedgEntryNo <> 0 THEN BEGIN
         ItemJnlLine."Item Shpt. Entry No." := OutputItemLedgEntryNo;
...

Helyettesítő kód

...
          ItemJnlLine.Kitting := TRUE;
          TotalCost := "Total Cost";
          UnitCost := "Unit Cost";

// Add the following line.
          TransferDimToItemJnlLine(ItemJnlLine,TempJnlLineDim2);
// End of the added line.

         IF OutputItemLedgEntryNo <> 0 THEN BEGIN
         ItemJnlLine."Item Shpt. Entry No." := OutputItemLedgEntryNo;
...

Előfeltételek

A gyorsjavítás alkalmazásához a Microsoft Dynamics NAV 2009 SP1 rendszernek telepítve kell lennie.

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.

A MICROSOFT ÉS/VAGY BESZÁLLÍTÓI NEM VÁLLALNAK FELELŐSSÉGET A WEBHELYEN KÖZZÉTETT DOKUMENTUMOKBAN ÉS KAPCSOLÓDÓ ÁBRÁKON (AZ "ANYAGOK") TALÁLHATÓ INFORMÁCIÓK BÁRMILYEN CÉLRA VALÓ ALKALMASSÁGÁÉRT, MEGBÍZHATÓSÁGÁÉRT VAGY PONTOSSÁGÁÉRT.

AZ ANYAGOK TECHNIKAI PONTATLANSÁGOKAT VAGY TIPOGRÁFIAI HIBÁKAT TARTALMAZHATNAK, ÉS BÁRMIKOR, ELŐZETES ÉRTESÍTÉS NÉLKÜL FELÜLVIZSGÁLHATÓK. A MICROSOFT ÉS/VAGY BESZÁLLÍTÓI AZ ALKALMAZANDÓ JOGSZABÁLYOK ÁLTAL MEGENGEDETT LEGNAGYOBB MÉRTÉKIG ELHÁRÍTANAK ÉS KIZÁRNAK MINDEN KIFEJEZETT, VÉLELMEZETT VAGY TÖRVÉNYES ÁLLÍTÁST, GARANCIÁT ÉS FELTÉTELT, BELEÉRTVE TÖBBEK KÖZÖTT A TULAJDONJOGRA, A JOGBITORLÁSRA, A MEGFELELŐ ÁLLAPOTRA VAGY MINŐSÉGRE, A FORGALMAZHATÓSÁGRA ÉS AZ ADOTT CÉLRA VALÓ ALKALMASSÁGRA VONATKOZÓ ÁLLÍTÁSOKAT, SZAVATOSSÁGOKAT VAGY FELTÉTELEKET AZ ANYAGOK TEKINTETÉBEN.