Pasūtījumu plānošana funkcija aprēķina nepareizus "Daudzums secība" risinājumus, izmantojot pasūtījumu vidē, Microsoft Dynamics NAV

Veidne: CPR — Navision kodu labojumu veidne

164543 (satura uzturēšana) kļūdas numurs:

Šis raksts attiecas uz Microsoft Dynamics NAV par visu valodu lokalizācijas.

Pazīmes

Pasūtījumu plānošana funkcija aprēķina nepareizus risinājumus "Daudzums secība" pasūtījumu vides lietojot Microsoft Dynamics NAV. Šīs problēmas rodas, ja izmantojat vairāklīmeņu materiālu komplekta (MK).
Šī problēma rodas ar šādiem produktiem:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009. gada 1. servisa pakotne (SP1)

  • Microsoft Dynamics NAV 2009

  • Microsoft Dynamics NAV 5.0 1. servisa pakotne (SP1)

Iemesls

Sistēma izmanto rekursīva funkcija, kas vienmēr mainās daudzums atrastā vienuma (MK izveido "koku", kur dažus vienumus, var rasties viena vai vairākas reizes). Tomēr tas ir nepareiza darbība, jo visi bērni atjauninātais vienums ir dzēsts vai atjaunināt.

Risinājums

Informācija par labojumfailu

Pašlaik korporācija Microsoft piedāvā atbalstītu labojumfailu. Tomēr tas ir paredzēts tikai šajā rakstā aprakstītās problēmas novēršanai. Izmantojiet to tikai tām sistēmām, kurām ir radusies tieši šī problēma. Iespējams, tiks veikta šī labojumfaila papildu testēšana. Tādēļ, ja jums ir šī problēma nerada nopietnus traucējumus, ieteicams nogaidīt, līdz tiks izlaista nākamā servisa pakotne Microsoft Dynamics NAV 2009 vai nākamo Microsoft Dynamics NAV versiju, kurā ir iekļauts šis labojumfails.

Piezīme. Īpašos gadījumos standarta izmaksas par atbalsta zvaniem nav jāsedz, ja ar tehniskā atbalsta speciālistu programmai Microsoft Dynamics un saistītiem produktiem nosaka, ka šo problēmu novērsīs noteikts atjauninājums. Parasti atbalsta izmaksas tiek piemērotas jautājumiem par papildu atbalstu un problēmām, kas neskar specifisko atjauninājumu apspriešanu.

Ja šis labojumfails nav izlikts publiskai lejupielādei (t.i., šajā rakstā nav sniegts publiski pieejams šī labojumfaila vietrādis URL), izplatīšanai ir nepieciešama tehniskā vadītāja, eskalācijas grupas locekļa vai vadītāja atļauja un stājas spēkā šādi nosacījumi:

  • Labojumfailu var saņemt klienti ir radusies sadaļā "Simptomi" minēto kļūdas.

  • Jums ir jāreģistrē klienti, kuriem tiek nosūtīts šis labojumfails, un viņiem jānodrošina nākamā servisa pakotne, tiklīdz tā ir pieejama (ja tiek izlaista servisa pakotne).

Šo labojumfailu nav paredzēts iekļaut servisa pakotnē Microsoft Dynamics NAV 2009.



Informācija par instalēšanu

Microsoft piedāvā programmēšanas piemērus tikai uzskatāmībai, nesniedzot nekādas tiešas vai netiešas garantijas. Tas ietver, bet neaprobežojas ar netiešām garantijām par piemērotību pārdošanai vai atbilstību noteiktam mērķim. Šajā rakstā tiek pieņemts, ka pārzināt programmēšanas valodu, kas tiek aprakstīta, un rīkus, kas tiek izmantoti, lai izveidotu un atkļūdotu procedūras. Microsoft atbalsta inženieri var palīdzēt izskaidrot kādas noteiktas procedūras funkcionalitāti, taču viņi nemainīs šos piemērus, lai sniegtu skaidrāku funkcionalitāti, un neveidos jaunas procedūras, kas atbilstu īpašām prasībām.

Piezīme. Pirms šī labojumfaila instalēšanas pārliecinieties, vai ka visi Microsoft Navision klients lietotāji ir atteikušies sistēmu. Tas ietver Microsoft Navision lietojumprogrammu pakalpojumu (NAS) klients lietotājiem. Jums ir jābūt tikai klienta lietotājam, kurš ir pieteicies datorā, kad izmantojat šo labojumfailu.

Lai ieviestu šo labojumfailu, datorā jābūt instalētai izstrādātāja licenci.

Ieteicams, ka lietotāja konts tiek atvērts logs Windows lietotājvārdi vai logā datu bāzes lietotājvārdi piešķirt "SUPER" lomas ID. Ja lietotāja kontam nevar piešķirt "SUPER" lomas ID, ir jāpārbauda lietotāja konts ir šādas atļaujas:

  • Modificēt atļaujas objektu, kad tiks mainīts.

  • Izpildes atļaujas sistēmas objekts ID 5210 objekta un sistēmas objekts ID 9015 objektam.



Piezīme. Jums nav tiesības datu krātuvju vien lai veiktu datu labošanu.

Koda izmaiņas

Piezīme. Vienmēr pārbaudes kods novērš kontrolētā vidē pirms lietojat datoru ražošanas labojumus.
Lai novērstu šo problēmu, rīkojieties šādi:

  1. Izveidot lokālo funkcija UpdateRelatedComponent koda (99000809):

    ...LOCAL PROCEDURE UpdateRelatedComponent@15(ParentReqLine@1000 : Record 246);
    WITH PlanningComponent DO BEGIN
    SETCURRENTKEY("Worksheet Template Name","Worksheet Batch Name","Worksheet Line No.","Item No.");
    SETRANGE("Worksheet Line No.",ParentReqLine."Line No.");
    SETFILTER("Item No.",'<>%1','');
    SETFILTER("Expected Quantity",'<>0');
    SETFILTER("Planning Level Code",'<>0');
    IF FIND('-') THEN
    REPEAT
    IF LineHasBeenCreated(ChildReqLine,PlanningComponent) THEN BEGIN
    UpdateRelatedComponent(ChildReqLine);
    IF ChildReqLine.Quantity <> "Expected Quantity" THEN BEGIN
    // qty has to be updated, there is a new need of component
    ChildReqLine.BlockDynamicTracking(Blocked);
    ChildReqLine.VALIDATE(Quantity,ChildReqLine.Quantity - "Expected Quantity");
    ChildReqLine.MODIFY;

    // updating qty of component for parent
    VALIDATE("Quantity per","Quantity per");
    MODIFY;
    END ELSE
    // line will be recreated
    ChildReqLine.DELETE(TRUE);
    END;
    UNTIL NEXT = 0;
    END;
    ...


    Pievienojiet šo parametru funkciju:

    • Nosaukums: PlanningComponent; Datu tips: Ieraksts (99000829)

    • Nosaukums: ChildReqLine; Datu tips: Ieraksts (246)

  2. Izveidot lokālo funkcija LineHasBeenCreated koda (99000829):

    ...LOCAL PROCEDURE LineHasBeenCreated@18(VAR ChildReqLine@1000 : Record 246;PlanningComponent@1001 : Record 99000829) : Boolean;
    WITH ChildReqLine DO BEGIN
    SETCURRENTKEY("Worksheet Template Name","Journal Batch Name",Type,"No.");
    SETRANGE("Worksheet Template Name",PlanningComponent."Worksheet Template Name");
    SETRANGE("Journal Batch Name",PlanningComponent."Worksheet Batch Name");
    SETRANGE(Type,Type::Item);
    SETRANGE("No.",PlanningComponent."Item No.");
    SETRANGE("Variant Code",PlanningComponent."Variant Code");
    SETRANGE("Ref. Order Type","Ref. Order Type"::"Prod. Order");
    SETRANGE("Ref. Order Status",PlanningComponent."Ref. Order Status");
    SETRANGE("Ref. Order No.",PlanningComponent."Ref. Order No.");
    SETFILTER("Planning Level",'>%1',0);
    EXIT(FINDFIRST);
    END;
    ...
  3. Nomainiet šo kodu InsertPlanningLine funkcijas koda (99000809) šādi:
    Kods

    ... IF ReqLine2."Planning Level" < ReqLine."Planning Level" THEN
    ReqLine2."Planning Level" := ReqLine."Planning Level";

    ReqLine2.MODIFY;
    ...

    Aizstāšanas kodu

    ... IF ReqLine2."Planning Level" <ReqLine."Planning Level" THEN
    ReqLine2."Planning Level" := ReqLine."Planning Level";

    // the ReqLine2 can have children which has to be delete or updated
    // Add the following line.
    UpdateRelatedComponent(ReqLine2);

    ReqLine2.MODIFY;
    ...


Priekšnosacījumi

Datorā ir jābūt instalētai kādai no šiem produktiem, lai lietotu šo labojumfailu:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009. gada 1. servisa pakotne (SP1)

  • Microsoft Dynamics NAV 2009

  • Microsoft Dynamics NAV 5.0 1. servisa pakotne (SP1)



Informācija par noņemšanu

Nevar noņemt šo labojumfailu.

Statuss

Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir minēti sadaļā "Attiecas uz".

Atsauces

VSTF DynamicsNAV SE: 291912

Piezīme. Šis ir STEIDZAMI PUBLICĒJAMS raksts, kas izveidots tieši Microsoft atbalsta organizācijā. Šajā rakstā ietvertā informācija ir sniegta, reaģējot uz nesen konstatētām problēmām. Tā kā šis raksts ir tapis pieejams neilgā laikā, materiālos var būt pareizrakstības kļūdas un tās var tikt labotas jebkurā laikā bez paziņojuma. Skatīt Lietošanas citi apsvērumi.

Autors: cosborne
Sarakstīja: v tinw
Tehniskais redaktors: cosborne
Redaktors:

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×