A Készlet kiszámítása függvény helytelen sorokat javasol a "Fizikai készletnapló" párbeszédpanelen intervallumokat használó helyekhez, miután törölt egy helyet a Microsoft Dynamics NAV 2009 rendszerben

Hatókör
Dynamics NAV 2009

Ez a cikk a Microsoft Dynamics NAV-ra vonatkozik minden országban és minden nyelvi beállításban.

Tünetek

Tegyük fel, hogy van egy cikke, amelynek tételvezetési bejegyzései több helyen is elérhetők a Microsoft Dynamics NAV 2009 rendszerben. Az egyik helyet kérdés megjelenítése nélkül törölheti. Ebben a helyzetben, amikor a Készletszámítás függvényt futtatja a Készlet naplója párbeszédpanelen lévő cikken, előfordulhat, hogy helytelen sorokat javasol a meglévő tárolóhelyekhez, amelyek intervallumokat használnak.
Nem lehetséges azonban törölni az olyan helykártyákat, amelyekhez tételkönyvelési bejegyzéseket lettek létrehozva.
Ez a probléma a következő termékekben fordul elő:

  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 Service Pack 1

      

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:

  1. Módosítsa a kódot a Hely táblázat Globális változók területén (14. táblázat) az alábbiak szerint:
    Meglévő kód

    ...
    Text010@1015 : TextConst 'ENU=Checking item ledger entries for open entries...';
    Text011@1016 : TextConst 'ENU=You cannot change the %1 to %2 until the inventory stored in this bin is 0.';
    Text012@1017 : TextConst 'ENU=Before you can use Online Map, you must fill in the Online Map Setup window.\See Setting Up Online Map in Help.';
    PROCEDURE RequireShipment@5(LocationCode@1000 : Code[10]) : Boolean;
    BEGIN
    ...
    

    Helyettesítő kód

    ...
    Text010@1015 : TextConst 'ENU=Checking item ledger entries for open entries...';
    Text011@1016 : TextConst 'ENU=You cannot change the %1 to %2 until the inventory stored in this bin is 0.';
    Text012@1017 : TextConst 'ENU=Before you can use Online Map, you must fill in the Online Map Setup window.\See Setting Up Online Map in Help.';
    
    // Add the following line.
    Text013@1018 : TextConst 'ENU=You cannot delete %1 because there are one or more ledger entries on this location.';
    
    PROCEDURE RequireShipment@5(LocationCode@1000 : Code[10]) : Boolean;
    BEGIN
    ...
    
  2. Módosítsa a WMSCheckWarehouse függvény kódját a Location táblában (14. táblázat) a következők szerint:
    Meglévő kód: 1

    ...
    WarehouseEntry@1002 : Record 7312;
    WarehouseEntry2@1001 : Record 7312;
    WhseJnlLine@1000 : Record 7311;
    BEGIN
    WarehouseEntry.SETCURRENTKEY("Location Code");
    WarehouseEntry.SETRANGE("Location Code",Code);
    ...
    

    Helyettesítő kód 1

    ...
    WarehouseEntry@1002 : Record 7312;
    WarehouseEntry2@1001 : Record 7312;
    WhseJnlLine@1000 : Record 7311;
    
    // Add the following lines.
    ItemLedgerEntry@1007 : Record 32;
    PositiveFilter@1008 : Boolean;
    // End of the lines.
    
    BEGIN
    WarehouseEntry.SETCURRENTKEY("Location Code");
    WarehouseEntry.SETRANGE("Location Code",Code);
    ...
    

    Meglévő 2. kód

    ...
    IF WhseJnlLine.FINDFIRST THEN
    ERROR(Text001,TABLECAPTION,Code);
    Zone.SETRANGE("Location Code",Code);
    Zone.DELETEALL;
    Bin.SETRANGE("Location Code",Code);
    ...
    

    2-es helyettesítő kód

    ...
    IF WhseJnlLine.FINDFIRST THEN
    ERROR(Text001,TABLECAPTION,Code);
    
    // Add the following lines.
    ItemLedgerEntry.SETCURRENTKEY("Item No.",Positive,"Location Code","Variant Code");
    IF ItemLedgerEntry.FINDFIRST THEN
    REPEAT
    ItemLedgerEntry.SETRANGE("Item No.",ItemLedgerEntry."Item No.");
    ItemLedgerEntry.SETRANGE("Location Code",Code);
    FOR PositiveFilter := FALSE TO TRUE DO BEGIN
    ItemLedgerEntry.SETRANGE(Positive,PositiveFilter);
    IF ItemLedgerEntry.FINDLAST THEN
    ERROR(Text013,Code);
    END;
    ItemLedgerEntry.SETRANGE(Positive);
    ItemLedgerEntry.SETRANGE("Location Code");
    ItemLedgerEntry.FINDLAST;
    ItemLedgerEntry.SETRANGE("Item No.");
    UNTIL ItemLedgerEntry.NEXT = 0;
    // End of the lines.
    
    Zone.SETRANGE("Location Code",Code);
    Zone.DELETEALL;
    Bin.SETRANGE("Location Code",Code);
    ...
    

          

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 R2
  • Microsoft Dynamics NAV 2009 Service Pack 1

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.

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.