Microsoft Dynamics NAV 2009 kasutab alati kauba vaikedimensiooni, kui käivitate ümberhindamisžurnaalis funktsiooni Arvuta laoväärtus suvandi Arvuta kaubaandmiku kande abil

Rakenduskoht
Dynamics NAV 2009 Service Pack 1 Dynamics NAV 2009

Kiiresti avaldatud artiklid annavad teavet otse Microsofti tugiteenuste organisatsioonist. Siin sisalduv teave luuakse vastuseks esilekerkivatele või ainulaadsetele teemadele või täiendatakse muud teabebaasi teavet.

See artikkel kehtib rakenduse Microsoft Dynamics NAV 2009 kohta kõigis riikides ja kõigis keele lokaadides.

Sümptomid

Arvestage järgmise stsenaariumiga rakenduses Microsoft Dynamics NAV 2009. Ümberhindamise töölehel tuleb käivitada funktsioon Arvuta laoväärtus. Kui te seda teete, klõpsake nuppu
Kaubaandmiku kanne dialoogiboksi Laoväärtuse arvutamine alas Arvutamisalus. Selles stsenaariumis kasutab Microsoft Dynamics NAV 2009 alati üksuse vaikedimensiooni. Seega, kui kaubale pole dimensiooni määratud ja konteerite dimensioonidega ostutellimuse, ignoreeritakse kaubaandmiku kande (ILE) dimensiooni aruande Varude väärtuse arvutamine käivitamisel. Kui kaubale on määratud dimensioonid ja ILE-s pole dimensiooni määratud, määrab Microsoft Dynamics NAV kauba dimensiooni kõigile ridadele.

Lahendus

Kiirparanduse teave

Microsoftilt on nüüd saadaval toetatud kiirparandus. Siiski on see mõeldud ainult selles artiklis kirjeldatud probleemi lahendamiseks. Rakendage see ainult süsteemidele, kus esineb see konkreetne probleem. See kiirparandus võib saada täiendavaid katseid. Seega, kui see probleem ei mõjuta teid tõsiselt, soovitame oodata järgmist Microsoft Dynamics NAV 2009 hoolduspaketti või järgmist Microsoft Dynamics NAV versiooni, mis sisaldab seda kiirparandust.

Märkus. Erijuhtudel võidakse tavaliselt tugiteenuse kõnede eest tehtud tasud tühistada, kui Microsoft Dynamicsi ja seotud toodete tehniline tugitöötaja leiab, et konkreetne värskendus lahendab teie probleemi. Tavapärased toetuskulud kehtivad täiendavatele tugiteenustega seotud küsimustele ja probleemidele, mis ei vasta kõnealuse värskenduse tingimustele.

            
          

Installiteave

Microsoft pakub programmeerimise näiteid ainult illustreerimiseks, ilma et garantii oleks väljendatud või kaudselt. See hõlmab kaubastatavuse või kindlaks otstarbeks sobivuse kaudseid garantiisid, kuid mitte ainult. Selles artiklis eeldatakse, et olete tuttav kuvatava programmeerimiskeelega ja tööriistadega, mida kasutatakse protseduuride loomiseks ja silumiseks. Microsofti tugiteenuste insenerid saavad aidata selgitada konkreetse protseduuri funktsionaalsust, kuid nad ei muuda neid näiteid selleks, et pakkuda teie vajadustele vastavaid lisafunktsioone või koostada protseduure.

Märkus. Enne selle kiirparanduse installimist veenduge, et kõik Microsoft Navisioni klientrakenduse kasutajad oleksid süsteemist välja logitud. See hõlmab ka Microsoft Navision Application Servicesi (NAS) klientkasutajaid. Peaksite olema ainus klientkasutaja, kes on sisse logitud, kui rakendate selle kiirparanduse.

Selle kiirparanduse rakendamiseks peab teil olema arendaja litsents.

Soovitame, et aknas Windowsi sisselogimised või aknas Andmebaasi sisselogimised olevale kasutajakontole määrataks "SUPER" rolli ID. Kui kasutajakontole ei saa superrolli ID-d määrata, peate kontrollima, kas kasutajakontol on järgmised õigused.

  • Muudetava objekti muutmisõigus.
  • Süsteemiobjekti ID 5210 ja süsteemiobjekti ID 9015 täitmisõigus.

                
Märkus. Teil pole andmesalvede jaoks õigusi, kui te ei pea tegema andmete parandamist.

Koodi muudatused

Märkus. Enne paranduste rakendamist tööarvutitele testige koodiparandusi alati kontrollitud keskkonnas.

Probleemi lahendamiseks tehke järgmist.

  1. Muutke koodi aruande Varude väärtuse arvutamine (5899) päästikus OnAfterGetRecord järgmiselt.
    Olemasolev kood

    ...
    CalculatePer::Item:
    
    // Delete the following line.
    BEGIN 
    
    InsertValJnlBuffer(
    ItemLedgEntry."Item No.",ItemLedgEntry."Variant Code",
    ItemLedgEntry."Location Code",RemQty,
    CalculateRemInvValue(ItemLedgEntry."Entry No.",ItemLedgEntry.Quantity,RemQty,
    IncludeExpectedCost AND NOT ItemLedgEntry."Completely Invoiced"));
    
    // Delete the following line.
    END;
    
    END;
    ...
    
    

    Asenduskood

    ...
    CalculatePer::Item:
    InsertValJnlBuffer(
    ItemLedgEntry."Item No.",ItemLedgEntry."Variant Code",
    ItemLedgEntry."Location Code",RemQty,
    CalculateRemInvValue(ItemLedgEntry."Entry No.",ItemLedgEntry.Quantity,RemQty,
    IncludeExpectedCost AND NOT ItemLedgEntry."Completely Invoiced"));
    END;
    ...
    
    
  2. Muutke funktsiooni InsertItemJnlLine koodi aruandes Inventory Value (5899) järgmiselt.
    Olemasolev kood

    ...
    // Delete the following line.
    IF CalculatePer = CalculatePer::"Item Ledger Entry" THEN 
    
    "Applies-to Entry" := ApplyToEntry2;
    VALIDATE(Quantity,Quantity2);
    ...
    
    

    Asenduskood

    ...
    // Add the following line.
    IF CalculatePer = CalculatePer::"Item Ledger Entry" THEN BEGIN 
    
    "Applies-to Entry" := ApplyToEntry2;
    
    // Add the following lines.
    CreateDimFromILE;
    END;
    // End of the added lines.
    
    VALIDATE(Quantity,Quantity2);
    ...
    
    
  3. Looge aruandes Varude väärtuse arvutamine (5899) funktsioon CreateDimFromILE. Selleks tehke järgmist.

    1. Määrake funktsiooni atribuudi Local väärtuseks Jah.

    2. Lisage kohalik muutuja ja määrake muutuja järgmiselt.

      • Nimi:
         JnlLineDim
      • Andmetüüp:
        Kirje
      • Alamtüüp: päeviku rea dimensioon
    3. Lisage kohalik muutuja ja määrake muutuja järgmiselt.

      • Nimi:
         LedgEntryDim
      • Andmetüüp:
        Kirje
      • Alamtüüp: Andmikukande dimensioon
    4. Lisage kohalik muutuja ja määrake muutuja järgmiselt.

      • **Nimi:**DimMgt
      • Andmetüüp: Koodiplott
      • **Alamtüüp:**Dimensioonihaldus
    5. Lisage funktsiooni CreateDimFromILE järgmine kood:
      JnlLineDim.SETRANGE("Tabeli ID";ANDMEBAAS::"Kaubažurnaali rida");
      JnlLineDim.SETRANGE("Päevikumalli nimi",ItemJnlLine." Päevikumalli nimi");
      JnlLineDim.SETRANGE("Töölehe töölehe nimi",ItemJnlLine." Töölehe töölehe nimi");
      JnlLineDim.SETRANGE("Päevikurea nr.";ItemJnlLine." Rea nr.");
      JnlLineDim.DELETEALL;
      LedgEntryDim.SETRANGE("Tabeli ID";ANDMEBAAS::"Kaubaandmiku kanne");
      LedgEntryDim.SETRANGE("Kirje nr.",ItemLedgEntry." Kanne nr.");
      DimMgt.MoveLedgEntryDimToJnlLineDim(LedgEntryDim,JnlLineDim,DATABASE::"Item Journal Line",
      ItemJnlLine." Päevikumalli nimi",ItemJnlLine." Töölehetöölehe nimi",ItemJnlLine." Rea nr.",0);
      JnlLineDim.SETCURRENTKEY("Dimensioonikood";"Dimensiooniväärtuse tähis");
      JnlLineDim.SETRANGE("Dimensioonikood",GLSetup." Globaaldimensiooni 1 tähis");
      KUI JnlLineDim.FINDFIRST SIIS
        ItemJnlLine." Kiirdimensioon 1 Kood" := JnlLineDim." Dimensiooniväärtuse tähis"
      ELSE
        ItemJnlLine." Otsetee mõõde 1 kood" := '';
      JnlLineDim.SETRANGE("Dimensioonikood",GLSetup." Globaaldimensiooni 2 kood");
      KUI JnlLineDim.FINDFIRST SIIS
        ItemJnlLine." Otsetee mõõde 2 Kood" := JnlLineDim." Dimensiooniväärtuse tähis"
      ELSE
        ItemJnlLine." Otsetee mõõde 2 kood" := '';

          

Eeltingimused

Selle kiirparanduse rakendamiseks peab teil olema installitud Microsoft Dynamics NAV 2009 hoolduspakett Service Pack 1 või Microsoft Dynamics NAV 2009.

Eemaldamisteave

Seda kiirparandust ei saa eemaldada.

Olek

Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.

MICROSOFT JA/VÕI TEMA TARNIJAD EI ANNA MITTE MINGIL EESMÄRGIL MITTE MINGISUGUSEID AVALDUSI EGA GARANTIISID SELLEL VEEBISAIDIL AVALDATUD DOKUMENTIDES JA NENDEGA SEOTUD GRAAFIKAS ("MATERJALID") SISALDUVA TEABE SOBIVUSE, USALDUSVÄÄRSUSE EGA TÄPSUSE KOHTA.

 MATERJALID VÕIVAD SISALDADA TEHNILISI EBATÄPSUSI VÕI KIRJAVIGU NING NEID VÕIB IGAL AJAL ETTE TEATAMATA LÄBI VAADATA. KOHALDATAVATE SEADUSTEGA LUBATUD MAKSIMAALSES ULATUSES LOOBUVAD MICROSOFT JA/VÕI TEMA TARNIJAD KÕIKIDEST AVALDUSTEST, GARANTIIDEST JA TINGIMUSTEST, OLENEMATA SELLEST, KAS NEED ON SÕNASELGED, KAUDSED VÕI SEADUSJÄRGSED, SEALHULGAS, KUID MITTE AINULT, OMANDIÕIGUSEGA SEOTUD AVALDUSED, GARANTIID VÕI TINGIMUSED, MITTERIKKUMISED, RAHULDAVAD TINGIMUSED VÕI KVALITEET, KAUBASTATAVUS JA SOBIVUS MATERJALIDE OSAS.