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.
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; ...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); ...Looge aruandes Varude väärtuse arvutamine (5899) funktsioon CreateDimFromILE. Selleks tehke järgmist.
Määrake funktsiooni atribuudi Local väärtuseks Jah.
Lisage kohalik muutuja ja määrake muutuja järgmiselt.
-
Nimi:
JnlLineDim -
Andmetüüp:
Kirje - Alamtüüp: päeviku rea dimensioon
-
Nimi:
Lisage kohalik muutuja ja määrake muutuja järgmiselt.
-
Nimi:
LedgEntryDim -
Andmetüüp:
Kirje - Alamtüüp: Andmikukande dimensioon
-
Nimi:
Lisage kohalik muutuja ja määrake muutuja järgmiselt.
- **Nimi:**DimMgt
- Andmetüüp: Koodiplott
- **Alamtüüp:**Dimensioonihaldus
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.