Krājumu vienības cena kļūst negatīva pēc pārvērtēšanas krājumiem, kuros izmantota vidējās izmaksu aprēķināšanas metode programmatūrā Microsoft Dynamics NAV

Attiecas uz
Dynamics NAV 2009 Service Pack 1 Dynamics NAV 2009 Microsoft Dynamics NAV 5.0 Service Pack 1

Šis raksts attiecas uz Microsoft Dynamics NAV visās valstīs un visu valodu lokalizācijās.

Pazīmes

Pieņemsim, ka jums ir krājums, kurā tiek izmantota vidējās izmaksu aprēķināšanas metode. Veicot krājuma pārvērtēšanu, krājuma vienības cena negaidīti kļūst negatīva. Turklāt lēna veiktspēja ir lēna, kad veicat krājuma izmaksu pielāgošanas paketi.
Šī problēma rodas šādos produktos:

  • Microsoft Dynamics NAV 2009 1. servisa pakotne (SP1)
  • Microsoft Dynamics NAV 2009
  • Microsoft Dynamics NAV 5.0 1. servisa pakotne (SP1), kurā lietota labojumfailu 975251

Piezīme Lai iegūtu papildinformāciju par labojumfailu 975251, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

975251 Lēna veiktspēja, veicot vidējo izmaksu pielāgošanas paketi vidējām izmaksām programmatūrā Microsoft Dynamics NAV 5.0

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.

  1. Mainiet kodu funkcijā AvgValueEntriesToAdjustExist krājumu pielāgošanas koda vienībā (5895) uz šādu:

    ...
             IF FindNextRange THEN BEGIN
               AvgCostAdjmtEntryPoint."Valuation Date" := GetNextDate(AvgCostAdjmtEntryPoint."Valuation Date");
               AvgValueEntriesToAdjustExist(OutbndValueEntry,ExcludedValueEntry,AvgCostAdjmtEntryPoint);
             END;  
    
      // Add the following line.
      OutbndValueEntry.SETCURRENTKEY("Item Ledger Entry No."); 
    
    ...
    
  2. Mainiet krājumu pielāgošanas koda vienības (5895) funkcijas IsExcludeEntryFromAvgCostCalc kodu šādā formā:

    ...
             IF NOT "Valued By Average Cost" THEN
               EXIT(FALSE);
             ItemLedgEntry.GET("Item Ledger Entry No.");
             IF ItemLedgEntry.Positive THEN
               EXIT(FALSE);
    
    // Delete the following line.
    EXIT(TRUE); 
    
    // Add the following line.
           EXIT("Item Ledger Entry No." > OutbndValueEntry."Item Ledger Entry No."); 
    ...
    
    ...
        // Delete the following lines.
        LOCAL PROCEDURE GetEntryNoToStartAt@78
        BEGIN
          StartAt := 0;
          WITH ExcludedValueEntry DO BEGIN
            RESET;
            IF FINDFIRST THEN
              REPEAT
                IF "Partial Revaluation" AND
                   (OutbndValueEntry."Entry No." > "Entry No.")
                THEN
                  StartAt := "Entry No.";
              UNTIL NEXT = 0;
          END;
          EXIT(StartAt + 1);
        END;
        // End of the lines.
    ...
    
  3. Mainiet kodu funkcijā AdjustItemAvgCost krājumu pielāgošanas koda vienībā (5895) uz šādu:

    ...
                WHILE NOT Restart AND AvgValueEntriesToAdjustExist(
                        TempOutbndValueEntry,TempExcludedValueEntry,AvgCostAdjmtEntryPoint)
                DO BEGIN
                  REPEAT
    
                    // Delete the following lines.
                    TempExcludedValueEntry.SETFILTER("Entry No.",'>=%1',                          
                      GetEntryNoToStartAt(TempOutbndValueEntry,TempExcludedValueEntry)); 
                    // End of the lines.
    
                    AdjustOutbndAvgEntry(TempOutbndValueEntry,TempExcludedValueEntry);
                    UpdateConsumpAvgEntry(TempOutbndValueEntry);
                  UNTIL TempOutbndValueEntry.NEXT = 0;
    ...
    
  4. Mainiet krājumu pielāgošanas koda vienības (5895) funkcijas IsExcludeEntryFromAvgCostCalc kodu šādā formā:

    ...
        BEGIN
          WITH ValueEntry DO BEGIN
            IF "Partial Revaluation" THEN         
    
              // Delete the following line.
              EXIT(TRUE);                                                                           
    
              // Add the following lines.
              EXIT(                                                                                 
                ("Entry No." > OutbndValueEntry."Entry No.") OR                                     
                (("Entry No." < OutbndValueEntry."Entry No.") AND NOT                               
                 IncludedInCostCalculation(ValueEntry,OutbndValueEntry."Item Ledger Entry No.")));  
              // End of the lines.
    
            IF "Item Ledger Entry No." = OutbndValueEntry."Item Ledger Entry No." THEN
              EXIT(TRUE);
    ...
    

Priekšnosacījumi

Lai lietotu šo labojumfailu, ir jābūt instalētam vienam no šiem produktiem:

  • Microsoft Dynamics NAV 2009 1. servisa pakotne
  • Microsoft Dynamics NAV 2009
  • Microsoft Dynamics NAV 5.0 1. servisa pakotne ar lietotu labojumfailu 975251

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 .