Prisijunkite prie „Microsoft“
Prisijunkite arba sukurkite paskyrą.
Sveiki,
Pasirinkti kitą paskyrą.
Turite kelias paskyras
Pasirinkite paskyrą, kurią naudodami norite prisijungti.

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

Požymiai

Tarkime, kad darbo žurnalą, kuriame yra daugiau nei vieną elementą stebėjimo eilutės elemento Microsoft Dynamics NAV 2009. Kai registruojate elemento darbo žurnale į dėžę, sandėlio įrašus atnaujinamos tik paskutinį prekės sekimo eilutę, kurioje yra įrašytas. Todėl nėra elemento sandėlis – prekės knygos pusiausvyrą.
Ši problema iškyla faile šiems produktams:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 1 pakeitimų paketas (SP1)


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" 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. Turite 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: Sukurkite vietinį kintamieji:

  1. Pridėti naują visuotinis kintamasis darbo žurnalo eilučių lentelės (210), ir tada nurodykite kintamojo taip:

    • Vardas: WMSManagement

    • Duomenų tipas: Kodinys

    • Potipį: WMS valdymas (7302)

  2. Naikinti šį kodą TableRelation ypatybės Dėžės kodas lauką (5403) darbo žurnalo eilučių lentelės (210):

    Bin.Code WHERE (Location Code=FIELD(Location Code));
  3. Keisti OnValidate sukelti talpyklos kodo kodą lauke (5403) darbo žurnalo eilučių lentelės (210) taip:
    Esamas kodas

    ...// Delete the following lines.
    TESTFIELD("Location Code");
    CheckItemAvailable;
    // End of the lines.
    ...

    Pastaba.

    ...// Add the following lines.
    TESTFIELD("Location Code");
    IF "Bin Code" <> '' THEN BEGIN
    GetLocation("Location Code");
    Location.TESTFIELD("Bin Mandatory");
    END;
    TESTFIELD(Type,Type::Item);
    CheckItemAvailable;
    WMSManagement.FindBinContent("Location Code","Bin Code","No.","Variant Code",'')
    // End of the lines.
    ...
  4. Pridėti naują vietos kintamąjį Dėžės kodas - OnLookup triggerin darbo žurnalo eilučių lentelės (210), ir tada nurodykite kintamojo taip:

    • Vardas: BinCode

    • Duomenų tipas: kodas

    • Ilgis: 20

  5. Įdėkite šį kodą Dėžės kodą - OnLookup sukelti darbo žurnalo eilučių lentelės (210):

    TESTFIELD("Location Code");TESTFIELD(Type,Type::Item);
    BinCode := WMSManagement.BinContentLookUp("Location Code","No.","Variant Code",'',"Bin Code");
    IF BinCode <> '' THEN
    VALIDATE("Bin Code",BinCode);
  6. Pakeisti OptionString ypatybės Šaltinio dokumentas lauko (25) sandėlio žurnalo eilučių lentelės (7311) į šiuos veiksmus:
    OptionString=, S. tvarka, S. SF, S. kredito pažymos, S. grąžinimo tvarka, P. tvarka, P. SF, P. kredito pažymos, P. grąžinimo tvarka, Inb. Perdavimo, Outb. Perdavimas, Prod. Suvartojimo, elemento vid., atsargų žurnalai Vid., perklasifikavimo žurnalų šablono. Vid., vartojimas vid., išvesties žurnalą., KS vid., paslaugos tvarka, darbo vid.

  7. Pakeisti OptionString turtas Dokumentui lauko (60) sandėlio žurnalo eilučių lentelės (7311) į šiuos veiksmus:
    OptionString= , paskelbtas užsak.kopijuoti, paskelbta P. SF, užregistruotas Rtrn. užsak.kopijuoti, paskelbta P. grąž., užregistruotas važtaraštis, užregistruota S. SF, užregistruotas Rtrn. važtaraštis, užregistruota S. grąž., užregistruotas T. kvitas, užregistruotas važtaraštis T., prekės žurnalo, Prod., atidėjimas, paėmimas, perkėlimas, KS žurnalo, darbo žurnalo

  8. Pakeisti OptionString ypatybės šaltinio dokumentas (25) lauko lentelėje sandėlio įrašas (7312) į šiuos veiksmus:
    OptionString=, S. tvarka, S. SF, S. kredito pažymos, S. grąžinimo tvarka, P. tvarka, P. SF, P. kredito pažymos, P. grąžinimo tvarka, Inb. Perdavimas, Outb. Perdavimas, Prod. Suvartojimo, elemento vid., atsargų žurnalai Vid., perklasifikavimo žurnalų šablono. Vid., vartojimas vid., išvesties vid., KS vid., aptarnavimo užsakymas, darbo vid.

  9. Pakeisti OptionString turtas dokumentui lauko (60) lentelėje sandėlio įrašas (7312) į šiuos veiksmus:
    OptionString= , paskelbtas užsak.kopijuoti, paskelbta P. SF, užregistruotas Rtrn. užsak.kopijuoti, paskelbta P. grąž, užregistruotas važtaraštis, užregistruota S. SF, užregistruotas Rtrn. važtaraštis, užregistruota S. grąž, užregistruotas T. kvitas, užregistruotas važtaraštis T., prekės žurnalo, Prod., atidėjimas, paėmimas, perkėlimas, KS žurnalo, darbo žurnalo

  10. Pakeisti vietos kodas valdymo (60) darbo žurnalo formoje (201) ypatybę:
    Esamas kodas

    Visible = Yes

    Pastaba.

    Visible = No
  11. Pridėti lauko Dėžės kodas lauko Vietos kodas ir lauką Darbų tipo kodas darbo žurnalo formoje (201), ir tada nurodykite lauką, atlikite:

    ...{ 61 ;Label ;0 ;0 ;0 ;0 ;ParentControl=60;
    InColumnHeading=Yes }

    // Add the following lines.
    { 102 ;TextBox ;35507;1650 ;1700 ;440 ;ParentControl=1;
    InColumn=Yes;
    SourceExpr="Bin Code" }
    { 103 ;Label ;0 ;0 ;0 ;0 ;ParentControl=102;
    InColumnHeading=Yes }
    // End of the lines.

    { 48 ;TextBox ;11430;2530 ;1650 ;440 ;ParentControl=1;
    ...
  12. Pridėti naują visuotinis kintamasis darbo žurnalą.-pašto linijos Kodinys (1012), ir tada nurodykite kintamojo taip:

    • Vardas: vieta

    • Duomenų tipas: įrašas

    • Potipį: vietą (14)

  13. Sukurti naują GetLocation veikti darbo žurnalą.-pašto linijos Kodinys (1012) taip:

    LOCAL PROCEDURE GetLocation@25(LocationCode@1000 : Code[10]);
  14. Įdėkite šį kodą GetLocation veikti darbo žurnalą.-pašto linijos Kodinys (1012):

    IF LocationCode = '' THENCLEAR(Location)
    ELSE
    IF Location.Code <> LocationCode THEN
    Location.GET(LocationCode);
  15. Sukurti naują PostWhseJnlLine funkciją darbo žurnalą.-pašto linijos Kodinys (1012) taip:

    LOCAL PROCEDURE PostWhseJnlLine@24(ItemJnlLine@1000 : Record 83;OriginalQuantity@1001 : Decimal;OriginalQuantityBase@1002 : Decimal;VAR TempTrackingSpecification@1003 : TEMPORARY Record 336);
  16. Sukurti vietos kintamieji PostWhseJnlLine funkcija darbo vid.-pašto linijos Kodinys (1012):

    1. Pridėti vietos kintamąjį PostWhseJnlLine funkcija darbo žurnalą.-pašto linijos Kodinys (1012), ir tada nurodykite kintamojo taip:

      • Vardas: WarehouseJournalLine

      • Duomenų tipas: įrašas

      • Potipį: sandėlio žurnalo eilutė (7311)

    2. Įtraukti vietos kintamąjį PostWhseJnlLine funkcija darbo vid.-pašto linijos Kodinys (1012), ir tada nurodykite kintamojo taip:

      • Vardas: TempWarehouseJournalLine

      • Duomenų tipas: laikinas įrašas

      • Potipį: sandėlio žurnalo eilutė (7311)

    3. Įtraukti vietos kintamąjį PostWhseJnlLine funkcija darbo žurnalą.-pašto linijos Kodinys (1012), ir tada nurodykite kintamojo taip:

      • Vardas: ItemTrackingManagement

      • Duomenų tipas: Kodinys

      • Potipį: prekės stebėjimo valdymo (6500)

    4. Įtraukti vietos kintamąjį PostWhseJnlLine funkcija darbo žurnalą.-pašto linijos Kodinys (1012), ir tada nurodykite kintamojo taip:

      • Vardas: WMSManagement

      • Duomenų tipas: Kodinys

      • Potipį: WMS valdymas (7302)

    5. Įtraukti vietos kintamąjį PostWhseJnlLine funkcija darbo žurnalą.-pašto linijos Kodinys (1012), ir tada nurodykite kintamojo taip:

      • Vardas: WhseJnlRegisterLine

      • Duomenų tipas: Kodinys

      • Potipį: sandėlio. Vid.-registruoti eilutės (7301)

  17. Įdėkite šį kodą PostWhseJnlLine funkcija darbo vid.-pašto linijos Kodinys (1012) taip:

    WITH ItemJnlLine DO BEGINIF "Entry Type" IN ["Entry Type"::Consumption,"Entry Type"::Output] THEN
    EXIT;
    Quantity := OriginalQuantity;
    "Quantity (Base)" := OriginalQuantityBase;
    GetLocation("Location Code");
    IF Location."Bin Mandatory" THEN
    IF WMSManagement.CreateWhseJnlLine(ItemJnlLine,0,WarehouseJournalLine,FALSE,FALSE) THEN BEGIN
    TempTrackingSpecification.MODIFYALL("Source Type",DATABASE::"Job Journal Line");
    ItemTrackingManagement.SplitWhseJnlLine(WarehouseJournalLine,TempWarehouseJournalLine,TempTrackingSpecification,FALSE);
    IF TempWarehouseJournalLine.FIND('-') THEN
    REPEAT
    WMSManagement.CheckWhseJnlLine(TempWarehouseJournalLine,1,0,FALSE);
    WhseJnlRegisterLine.RUN(TempWarehouseJournalLine);
    UNTIL TempWarehouseJournalLine.NEXT = 0;
    END;
    END;
  18. Įtraukti naujos vietos kintamąjį kodo funkcija darbo žurnalą.-pašto linijos Kodinys (1012), ir tada nurodykite kintamojo taip:

    • Vardas: TempTrackingSpecification

    • Duomenų tipas: laikinas įrašas

    • Potipį: stebėjimo specifikacija (336)

  19. Įtraukti naujos vietos kintamąjį kodas funkcija darbo žurnalą.-pašto linijos Kodinys (1012), ir tada nurodykite kintamojo taip:

    • Vardas: ItemJnlLine2

    • Duomenų tipas: įrašas

    • Potipį: žurnalo eilutės (83)

  20. Pakeisti kodą funkciją kodas darbo žurnalą.-pašto linijos Kodinys (1012) taip:
    Esamas kodas 1

    ...ItemJnlLine.INIT;
    ItemJnlLine."Item No." := JobJnlLine2."No.";
    ...

    Atsarginis kodas 1

    ...ItemJnlLine.INIT;

    // Add the following line.
    ItemJnlLine."Line No." := "Line No.";

    ItemJnlLine."Item No." := JobJnlLine2."No.";
    ...

    Esamas kodas 2

    ...ItemLedgEntry.LOCKTABLE;
    ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim);
    END;
    ...

    Atsarginis kodas 2

    ...ItemLedgEntry.LOCKTABLE;

    // Add the following line.
    ItemJnlLine2 := ItemJnlLine;

    ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim);

    // Add the following lines.
    ItemJnlPostLine.CollectTrackingSpecification(TempTrackingSpecification);
    PostWhseJnlLine(ItemJnlLine2,ItemJnlLine2.Quantity,ItemJnlLine2."Quantity (Base)",TempTrackingSpecification);
    // End of the lines.
    ...
  21. Pakeiskite ypatybę OptionString dokumentui parametro GetSourceDocument sandėlio funkcija. Valdymo Kodinys (5775) į šį:
    OptionString=, S. tvarka, S. SF, S. kredito pažymos, S. grąžinimo tvarka, P. tvarka, P. SF, P. kredito pažymos, P. grąžinimo tvarka, Inb. Perdavimo, Outb. Perdavimas, Prod. Suvartojimo, elemento vid. atsargų žurnalai Vid., perklasifikavimo žurnalų šablono. Vid., vartojimas vid., išvesties vid., KS vid., aptarnavimo užsakymas, darbo vid.

  22. Keisti kodo GetSourceDocument funkcija, sandėlio. Valdymo Kodinys (5775) taip:
    Esamas kodas

    ...EXIT;
    END;
    END;
    ERROR(Text000);
    ...

    Pastaba.

    ...EXIT;
    END;

    // Add the following lines.
    DATABASE::"Job Journal Line":
    BEGIN
    SourceDocument := SourceDocument::"Job Jnl.";
    EXIT;
    END;
    // End of the lines.

    END;
    ERROR(Text000);
    ...
  23. Pakeisti CreateWhseJnlLine funkcija WMS valdymo Kodinys (7302), atlikite:
    Esamas kodas

    ...WhseJnlLine."Source Line No." := "Line No.";
    END;
    WhseJnlLine."Source Code" := "Source Code";
    WhseJnlLine."Reason Code" := "Reason Code";
    WhseJnlLine."Registering No. Series" := "Posting No. Series";
    WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";

    // Delete the following line.
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal";

    WhseJnlLine."Reference No." := "Document No.";
    ...

    Pastaba.

    ...WhseJnlLine."Source Line No." := "Line No.";

    // Add the following lines.
    END ELSE
    IF "Job No." <> '' THEN BEGIN
    WhseJnlLine."Source Type" := DATABASE::"Job Journal Line";
    WhseJnlLine."Source Subtype" := ItemJnlTemplateType;
    WhseMgt.GetSourceDocument(WhseJnlLine."Source Document",WhseJnlLine."Source Type",WhseJnlLine."Source Subtype");
    WhseJnlLine."Source No." := "Document No.";
    WhseJnlLine."Source Line No." := "Line No.";
    // End of the lines.
    END;WhseJnlLine."Source Code" := "Source Code";
    WhseJnlLine."Reason Code" := "Reason Code";
    WhseJnlLine."Registering No. Series" := "Posting No. Series";
    WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";

    // Add the following lines.
    IF "Job No." = '' THEN
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal"
    ELSE
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Job Journal";
    // End of the lines.

    WhseJnlLine."Reference No." := "Document No.";
    ...ine."Source Code" := "Source Code";
    WhseJnlLine."Reason Code" := "Reason Code";
    WhseJnlLine."Registering No. Series" := "Posting No. Series";
    WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";

    // Add the following lines.
    IF "Job No." = '' THEN
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal"
    ELSE
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Job Journal";
    // End of the lines.

    WhseJnlLine."Reference No." := "Document No.";
    ...

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 (SP1)

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

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.

Ar ši informacija buvo naudinga?

Ar esate patenkinti kalbos kokybe?
Kas turėjo įtakos jūsų įspūdžiams?
Paspaudus mygtuką Pateikti, jūsų atsiliepimai bus naudojami tobulinant „Microsoft“ produktus ir paslaugas. Jūsų IT administratorius galės rinkti šiuos duomenis. Privatumo patvirtinimas.

Dėkojame už jūsų atsiliepimą!

×