Šis raksts attiecas uz Microsoft Dynamics NAV visās valstīs un visu valodu lokalizācijās.
Pazīmes
Palaižot pakešuzdevumu "Koriģēt izmaksu vienumu ierakstus", lēna veiktspēja ir lēna, kad tiek koriģēti krājumi, kas izmanto vidējo izmaksu aprēķināšanas metodi un biežu pārskaitījumu lietojumu. Šī problēma rodas šādos produktos:
- Microsoft Dynamics NAV 2009 R2
- Microsoft Dynamics NAV 2009 1. servisa pakotne
- Microsoft Dynamics NAV 2009
- Microsoft Dynamics NAV 5.0 1. servisa pakotne
Risinājums
Informācija par labojumfailu
Atbalstīts labojumfails tagad ir pieejams no Microsoft. Tomēr tas ir paredzēts tikai šajā rakstā aprakstītās problēmas novēršanai. Lietojiet to tikai sistēmām, kurās rodas šī konkrētā problēma. Šim labojumfailam var tikt veiktas papildu pārbaudes. Tāpēc, ja šī problēma jūs nopietni neietekmē, ieteicams gaidīt nākamo Microsoft Dynamics NAV 2009 servisa pakotni vai nākamo Microsoft Dynamics NAV versiju, kurā ir šis labojumfails.
Piezīme Īpašos gadījumos maksa, kas parasti tiek piemērota par atbalsta zvaniem, var tikt atcelta, ja Microsoft Dynamics un saistīto produktu tehniskā atbalsta speciālists nosaka, ka problēma tiks novērsta, instalējot noteiktu atjauninājumu. Parasti atbalsta izmaksas attiecas uz jautājumiem par papildu atbalstu un problēmām, kas neskar specifisko atjauninājumu apspriešanu.
Informācija par instalāciju
Microsoft sniedz programmēšanas piemērus tikai ilustrācijai, bez tiešas vai netiešas garantijas. Tas ietver, bet neaprobežojas ar netiešām garantijām par piemērotību pārdošanai vai piemērotībai noteiktam mērķim. Šajā rakstā tiek pieņemts, ka pārzināt demonstrējamo programmēšanas valodu un rīkus, kas tiek izmantoti procedūru izveidei un atkļūdošanai. Microsoft atbalsta inženieri var palīdzēt izskaidrot konkrētās procedūras funkcionalitāti, bet viņi šos piemērus nemodificēs, lai nodrošinātu papildu funkcionalitāti vai veidotu procedūras, kas atbilst jūsu specifiskajām prasībām.
Piezīme Pirms šī labojumfaila instalēšanas pārliecinieties, vai visi Microsoft Navision klienta lietotāji ir atteikušies no sistēmas. Tas ietver Microsoft Navision lietojumprogrammu pakalpojumu (NAS) klienta lietotājus. Jūs esat vienīgais klienta lietotājs, kurš ir pieteicies, ieviešot šo labojumfailu.
Lai ieviestu šo labojumfailu, ir nepieciešama izstrādātāja licence.
Iesakām lietotāja kontam logā Windows pieteikšanās vai datu bāzes pieteikšanās logā piešķirt lomas ID "SUPER". Ja lietotāja kontam nevar piešķirt "SUPER" lomas ID, jums ir jāpārbauda, vai lietotāja kontam ir šādas atļaujas:
- Modificēt objektu, kuru mainīsit.
- Izpildes atļauja sistēmas objekta ID 5210 un sistēmas objekta ID 9015.
Piezīme. Jums nav tiesību uz datu krātuvēm, ja vien jums nav jāveic datu labošana.
Koda izmaiņas
Piezīme Pirms labojumu lietošanas ražošanas datoros vienmēr pārbaudiet koda labojumus kontrolētā vidē.
Lai atrisinātu šo problēmu, veiciet tālāk norādītās darbības.
Pievienojiet tālāk norādītos lokālos mainīgos vērtības ievades tabulas (5802) funkcijai IsAvgCostException:
- ItemLedgEntry@1002 : 32. ieraksts;
- xItemLedgEntry@1003 : 32. ieraksts;
- TempItemLedgEntry@1005 : PAGAIDU ieraksts 32;
- GoThroughChain@1004 : Boolean;
Mainiet kodu funkcijā IsAvgCostException vērtību ievades tabulā (5802) šādi:
Esošais kods... IF "Partial Revaluation" THEN EXIT(TRUE); // Delete the following lines. IF "Item Ledger Entry Type" = "Item Ledger Entry Type"::Transfer THEN EXIT(TRUE); IF ItemApplnEntry.AppliedInbndEntryExists("Item Ledger Entry No.",TRUE) THEN EXIT(TRUE); // End of the lines. EXIT(FALSE); ...Aizstāšanas kods
... IF "Partial Revaluation" THEN EXIT(TRUE); // Add the following lines. IF "Item Ledger Entry Type" = "Item Ledger Entry Type"::Consumption THEN GoThroughChain := ItemApplnEntry.AppliedFromEntryExists("Item Ledger Entry No.") ELSE GoThroughChain := ItemApplnEntry.AppliedInbndEntryExists("Item Ledger Entry No.",TRUE); IF GoThroughChain THEN REPEAT IF "Item Ledger Entry Type" = "Item Ledger Entry Type"::Transfer THEN ItemLedgEntry.GET(ItemApplnEntry."Inbound Item Entry No.") ELSE ItemLedgEntry.GET(ItemApplnEntry."Outbound Item Entry No."); IF ItemLedgEntry."Entry No." <> xItemLedgEntry."Entry No." THEN BEGIN xItemLedgEntry := ItemLedgEntry; ItemApplnEntry.GetVisitedEntries(ItemLedgEntry,TempItemLedgEntry); TempItemLedgEntry.SETCURRENTKEY("Item No.",Positive,"Location Code","Variant Code"); TempItemLedgEntry.SETRANGE("Item No.","Item No."); TempItemLedgEntry.SETRANGE(Positive,TRUE); TempItemLedgEntry.SETRANGE("Location Code","Location Code"); TempItemLedgEntry.SETRANGE("Variant Code","Variant Code"); IF NOT TempItemLedgEntry.ISEMPTY THEN EXIT(TRUE); END; UNTIL ItemApplnEntry.NEXT = 0; // End of the lines. EXIT(FALSE); ...Krājumu korekcijas koda vienībai (5895) pievienojiet šādu globālo mainīgo:
- RevaluationPoint@1022 : PAGAIDU ieraksts 2000000026;
Krājumu korekcijas koda vienībā (5895) funkcijai AvgValueEntriesToAdjustExist pievienojiet šādus lokālos mainīgos:
- CurrIsException@1009 : Boolean;
- NextIsException@1010 : Būla vērtība;
Mainiet kodu funkcijā AvgValueEntriesToAdjustExist krājumu pielāgošanas koda vienībā (5895) šādi:
Esošais kods... END; FINDSET; REPEAT IF "Valued By Average Cost" AND NOT Adjustment AND ("Valued Quantity" < 0) THEN BEGIN OutbndValueEntry := ValueEntry; OutbndValueEntry.INSERT; FindNextRange := FALSE; END; // Delete the following lines. IF IsAvgCostException THEN BEGIN AvgCostExceptionBuf.Number := "Entry No."; AvgCostExceptionBuf.INSERT; END; // End of the lines. IF ("Entry Type" = "Entry Type"::Revaluation) OR ...Aizstāšanas kods
... END; CLEAR(RevaluationPoint); RevaluationPoint.DELETEALL; FINDSET; REPEAT // Add the following lines. IF "Partial Revaluation" THEN BEGIN RevaluationPoint.Number := "Entry No."; RevaluationPoint.INSERT; END; // End of the lines. IF "Valued By Average Cost" AND NOT Adjustment AND ("Valued Quantity" < 0) THEN BEGIN OutbndValueEntry := ValueEntry; OutbndValueEntry.INSERT; FindNextRange := FALSE; END; // Add the following lines. IF NOT Adjustment THEN BEGIN CurrIsException := NextIsException; NextIsException := IsAvgCostException; IF NextIsException OR CurrIsException THEN BEGIN AvgCostExceptionBuf.Number := "Entry No."; AvgCostExceptionBuf.INSERT; END; END; // End of the lines. IF ("Entry Type" = "Entry Type"::Revaluation) OR ...Mainiet kodu funkcijā IsExcludeEntryFromAvgCostCalc krājumu pielāgošanas koda vienībā (5895) šādi:
Esošais kods... WITH ValueEntry DO BEGIN IF "Partial Revaluation" THEN ...Aizstāšanas kods
... WITH ValueEntry DO BEGIN // Add the following lines. RevaluationPoint.SETRANGE(Number,"Entry No.",OutbndValueEntry."Entry No."); IF NOT RevaluationPoint.ISEMPTY THEN EXIT(FALSE); // End of the lines. IF "Partial Revaluation" THEN ...
Priekšnosacījumi
Lai lietotu šo labojumfailu, ir jābūt instalētam vienam no šiem produktiem:
- Microsoft Dynamics NAV 2009 R2
- Microsoft Dynamics NAV 2009 1. servisa pakotne
- Microsoft Dynamics NAV 2009
- Microsoft Dynamics NAV 5.0 1. servisa pakotne
Turklāt, lai lietotu šo labojumfailu, ir jābūt instalētam labojumfailu 2481793.
Lai iegūtu papildinformāciju, noklikšķiniet uz tālāk norādītā raksta numura un lasiet Microsoft zināšanu bāzes rakstu:
2481793 Krājumu vienības cena kļūst negatīva pēc pārvērtēšanas veikšanas krājumiem, kuros tiek izmantota vidējās izmaksu aprēķināšanas metode programmā Microsoft Dynamics NAV
Noņemšanas informācija
Šo labojumfailu nevar noņemt.
Statuss
Microsoft apstiprināja, ka šī ir problēma Microsoft produktos, kas norādīti sadaļā "attiecas uz".
Piezīme Šis ir "ĀTRĀS PUBLICĒŠANAS" raksts, kas izveidots tieši Microsoft atbalsta organizācijā. Šeit ietvertā informācija tiek sniegta tāda, kāda tā ir, reaģējot uz jauniem jautājumiem. Ātrās pieejamības rezultātā materiālos var būt drukas kļūdas, un tos var pārskatīt jebkurā laikā bez iepriekšēja brīdinājuma. Citus apsvērumus skatiet lietošanas nosacījumos .