Laske varasto -funktio ehdottaa virheellisiä rivejä sijainteihin, jotka käyttävät varastopaikkoja Phys. Inventory Journal -valintaikkunassa sen jälkeen, kun olet poistanut sijainnin Microsoft Dynamics NAV 2009:ssä.

Käytetään kohteeseen
Dynamics NAV 2009

Tämä artikkeli koskee Microsoft Dynamics NAV -ohjelmaa kaikissa maissa ja kaikilla kielialueilla.

Ongelman ilmenemistapa

Oletetaan, että microsoft Dynamics NAV 2009:ssä on tuote, jossa on nimiketapahtumia useissa sijainneissa. Voit poistaa jonkin sijainneista ilman kehotetta. Tässä tilanteessa, kun suoritat Laske varasto - funktion Phys. Inventory Journal -valintaikkunan kohteelle, saatat saada virheellisiä rivejä, joita ehdotetaan olemassa oleville sijainneille, jotka käyttävät varastopaikkoja.
Sinun ei kuitenkaan pitäisi pystyä poistamaan sijaintikorttia, johon on luotu nimiketapahtumia.
Tämä ongelma ilmenee seuraavissa tuotteissa:

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

      

Ratkaisu

Hotfix-tiedot

Tuettu hotfix-korjaus on nyt saatavilla Microsoftilta. Sen tarkoituksena on kuitenkin korjata vain tässä artikkelissa kuvattu ongelma. Käytä sitä vain järjestelmissä, joissa on tämä ongelma. Tämä hotfix-korjaus voi saada lisätestejä. Jos ongelma ei siis vaikuta sinuun vakavasti, suosittelemme odottamaan seuraavaa Microsoft Dynamics NAV 2009 Service Pack -pakettia tai seuraavaa Microsoft Dynamics NAV -versiota, joka sisältää tämän hotfix-korjauksen.

Huomautus Erityistapauksissa tukipuheluista tavallisesti aiheutuvat maksut voidaan peruuttaa, jos Microsoft Dynamicsin ja siihen liittyvien tuotteiden teknisen tuen asiantuntija määrittää, että tietty päivitys ratkaisee ongelmasi. Tavanomaiset tukikustannukset koskevat muita tukikysymyksiä ja -ongelmia, jotka eivät ole oikeutettuja kyseiseen päivitykseen.

            
          

Asennustiedot

Microsoft tarjoaa ohjelmointiesimerkkejä vain havainnollistamista varten ilman ilmaistua tai oletettua takuuta. Tämä sisältää muun muassa oletetut takuut soveltuvuudesta kaupankäynnin kohteeksi tai sopivuudesta tiettyyn tarkoitukseen. Tässä artikkelissa oletetaan, että tunnet ohjelmointikielen, jota esitellään, sekä työkalut, joita käytetään toimintosarjojen luomiseen ja virheenkorjaukseen. Microsoftin tukihenkilöt voivat auttaa selittämään tietyn menettelyn toiminnallisuuden, mutta he eivät muokkaa näitä esimerkkejä niin, että ne tarjoaisivat lisätoimintoja tai laativat menetelmiä erityisvaatimusten täyttämiseksi.

Huomautus Varmista ennen tämän hotfix-korjauksen asentamista, että kaikki Microsoft Navision -asiakasohjelman käyttäjät ovat kirjautuneet ulos järjestelmästä. Tämä koskee myös Microsoft Navision Application Services (NAS) -asiakaskäyttäjiä. Sinun pitäisi olla ainoa asiakaskäyttäjä, joka on kirjautunut sisään, kun otat tämän hotfix-korjauksen käyttöön.

Jotta voit ottaa tämän hotfix-korjauksen käyttöön, sinulla on oltava kehittäjän käyttöoikeus.

Suosittelemme, että käyttäjätilille, joka on Windowsin kirjautumisikkunassa tai Tietokannan kirjautumiset -ikkunassa, määritetään "SUPER"-roolitunnus. Jos käyttäjätilille ei voi määrittää "SUPER"-roolitunnusta, sinun on varmistettava, että käyttäjätilillä on seuraavat käyttöoikeudet:

  • Muutettavan objektin Muokkaa-käyttöoikeus.
  • System Object ID 5210 -objektin ja System Object ID 9015 -objektin Suoritus-oikeus.

                
Huomautus Sinulla ei tarvitse olla oikeuksia tietosäilöihin, ellei sinun tarvitse korjata tietoja.

Koodin muutokset

Huomautus Testaa koodikorjaukset aina valvotussa ympäristössä, ennen kuin otat korjaukset käyttöön tuotantotietokoneissasi.
Voit ratkaista tämän ongelman seuraavasti:

  1. Muuta sijaintitaulukon (taulukko 14) yleisten muuttujien koodia seuraavasti:
    Aiemmin luotu koodi

    ...
    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
    ...
    

    Korvaava koodi

    ...
    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. Muuta WMSCheckWarehouse-funktion koodi Sijainti-taulukossa (taulukko 14) seuraavasti:
    Olemassa oleva koodi 1

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

    Korvaava koodi 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);
    ...
    

    Nykyinen koodi 2

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

    Korvaava koodi 2

    ...
    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);
    ...
    

          

Edellytykset

Sinulla on oltava asennettuna jokin seuraavista tuotteista, jotta voit käyttää tätä hotfix-korjausta:

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

Poistotiedot

Et voi poistaa tätä hotfix-korjausta.

Tila

Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.

Huomautus Tämä on FAST PUBLISH -artikkeli, joka on luotu suoraan Microsoftin tukiorganisaatiosta. Tässä annetut tiedot annetaan sellaisenaan vastauksena uusiin ongelmiin. Koska materiaalit ovat nopeasti käytettävissä, ne voivat sisältää typografisia virheitä, ja niitä voidaan muuttaa milloin tahansa ilman ennakkoilmoitusta. Lisätietoja on ohjeaiheessa Käyttöehdot .