Programa veikia lėtai, kai paleidžiate paketinę užduotį "Koreguoti kaina elemento įrašą" Microsoft Dynamics NAV


Šis straipsnis taikomas Microsoft Dynamics NAV visose šalyse ir visų kalbų aplinkos.

Požymiai


Kai paleidžiate paketinę užduotį "Koreguoti kainos prekės įrašai", galite lėtai elementai, vidutinis įkainojimo metodą ir dažnai naudojimą perdavimo pakoreguoti. Ši problema iškyla faile šiems produktams:
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 1 pakeitimų paketas
  • Microsoft Dynamics NAV 2009
  • Microsoft Dynamics NAV 5.0 pakeitimų paketo 1

Sprendimas


Karštųjų pataisų informacija

Palaikomą naujausią pataisą dabar yra Microsoft. Tačiau jos skirtos tik šiame straipsnyje aprašytai problemai spręsti. Taikyti ją tik sistemoms, kuriose kyla ši konkreti problema. Šios karštosios pataisos gali būti papildomai išbandoma. Todėl, jei jums nelabai trukdo Ši problema, rekomenduojame palaukti kito "Microsoft Dynamics NAV 2009" pakeitimų paketo arba kitą versiją Microsoft Dynamics NAV, kuriame bus šios karštosios pataisos.

Pastaba. Konkrečiais atvejais už palaikymo skambučius gali būti atšaukti, jei techninės pagalbos specialistas Microsoft Dynamics ir susijusių produktų taikomi įprasti mokesčiai nustato, kad jūsų problemą galima išspręsti naudojant konkretų naujinimą. Į įprastos kainos už palaikymą taikomos papildomos palaikymo klausimams ir problemoms, kurių negalima išspręsti naudojant minėtą naujinimą.


Diegimo informacija

"Microsoft" pateikia programavimo pavyzdžius tik, tačiau nesuteikia jokių aiškių arba numanomų garantijų. Tai apima, bet neapsiribojant, numanomas garantijas dėl perkamumo ir tinkamumo konkrečiam tikslui. Šis straipsnis parašytas galvojant, kad esate susipažinę su pateikta programavimo kalba ir įrankiais, kurie yra naudojami procedūroms kurti ir derinti. "Microsoft" palaikymo inžinieriai gali padėti paaiškindami tam tikros procedūros funkcinę galimybę, tačiau jie nekeis šių pavyzdžių, kad numatytų papildomą funkcinę galimybę arba sukurtų konkrečius jūsų reikalavimus atitinkančias procedūras.

Pastaba. Prieš diegdami šias karštąsias pataisas, patikrinkite, kad visi Microsoft Navision klientas vartotojai išsiregistravę sistema. Tai reiškia, kad Microsoft Navision programos paslaugos (NAS) kliento naudotojai. Jums turėtų būti tik kliento vartotojo, kuris yra prisijungęs, kai atliekate šias karštąsias pataisas.

Norint pritaikyti šią karštąją pataisą, turite programų kūrėjo licencijos.

Rekomenduojame, kad vartotojo abonemento Windows registravimosi lange arba duomenų bazės prisijungimų langas būti priskirta "SUPER" vaidmenį ID. Jei vartotojo abonementas negali būti priskirta "SUPER" ID., turi patikrinti, kad vartotojo abonementas turi šias teises:
  • Keisti teisės objektas, kuris bus pakeisti.
  • Teisės vykdyti sistemos objekto ID 5210 objekto ir sistemos objekto ID 9015 objekto.


Pastaba. Jūs neturite turėti teisių į duomenų saugyklų, nebent jūs turite atlikti duomenų atkūrimo.

Pastaba.

Pastaba. Visada bandymas kodas nustato kontroliuojamoje aplinkoje prieš taikydami nustato savo gamybos kompiuteriams.
Norėdami išspręsti šią problemą, atlikite šiuos veiksmus:
  1. Įtraukti vietos kintamieji IsAvgCostException funkcija lentelėje vertės įrašas (5802):
    • ItemLedgEntry@1002: Įrašas 32;
    • xItemLedgEntry@1003: įrašas 32;
    • TempItemLedgEntry@1005: Laikinas įrašas 32;
    • GoThroughChain@1004: Boolean;
  2. Pakeisti IsAvgCostException funkcija lentelėje vertės įrašas (5802) taip:
    Esamas kodas
    ...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);
    ...

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

  3. Pridėkite nurodytą visuotinis kintamasis atsargų koregavimo Kodinys (5895):
    • RevaluationPoint@1022: Laikinas įrašas 2000000026;
  4. Įtraukti vietos kintamieji atsargų koregavimo Kodinys (5895) AvgValueEntriesToAdjustExist funkcija:
    • CurrIsException@1009: Boolean;
    • NextIsException@1010: Boolean;
  5. Pakeisti AvgValueEntriesToAdjustExist funkcija atsargų koregavimo Kodinys (5895):
    Esamas kodas
    ...    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
    ...

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

  6. Pakeisti IsExcludeEntryFromAvgCostCalc funkcija atsargų koregavimo Kodinys (5895):
    Esamas kodas
    ...WITH ValueEntry DO BEGIN
    IF "Partial Revaluation" THEN
    ...

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

Būtinosios sąlygos

Turi būti viena iš toliau nurodytų produktų, norint taikyti šias karštąsias pataisas:
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 1 pakeitimų paketas
  • Microsoft Dynamics NAV 2009
  • Microsoft Dynamics NAV 5.0 pakeitimų paketo 1
Be to, turi būti įdiegta norint taikyti šias karštąsias pataisas 2481793 karštųjų pataisų.
Norėdami gauti daugiau informacijos, spustelėkite toliau pateiktą straipsnio numerį ir peržiūrėkite „Microsoft Knowledge Base“ žinių bazės straipsnį:
2481793 vieneto kaina elementų tampa neigiamas įvykdę perkainojimas elementus, kurie naudoti Microsoft Dynamics NAV vidurkio įkainojimo metodas

Pašalinimo informacija

Jūs negalite pašalinti šias karštąsias pataisas.

Būsena


„Microsoft“ patvirtino, kad tai yra „Microsoft“ produktų, išvardytų skyriuje „Taikoma“, problema.
Pastaba. Tai yra "GREITAI PUBLIKUOJAMAS" straipsnis, sukurtas tiesiogiai Microsoft palaikymo tarnybos. Čia pateikta informacija yra atsakas į kylančius klausimus. Dėl greito publikavimo medžiagoje gali būti spausdinimo klaidų ir ji gali būti peržiūrima bet kuriuo metu be įspėjimo. Naudojimo ieškokite kitų priežasčių.