Klaidos pranešimas "Kiekis, kuriam išrašyta SF, neturi būti didesnis už priskirtą kiekį", kai keičiate bendrojo užsakymo prekės išlaidų eilutės kiekį, jei užsakymas jau buvo sukurtas iš bendrojo užsakymo programoje „Microsoft“ Dynamics NAV

Taikoma
Dynamics NAV 2009

Šis straipsnis taikomas "„Microsoft“ Dynamics NAV" visų kalbų lokalėms.

Požymiai

Naudojant "„Microsoft“ Dynamics NAV", sukūrus užsakymą iš bendrojo pardavimo užsakymo ir užregistravus, pakeitus bendrojo užsakymo papildomų išlaidų už prekę eilutės kiekį, gaunamas šis klaidos pranešimas:

Pastaba

Kiekis, kuriam išrašyta SF, neturi būti didesnis už priskirtą kiekį + priskirtinas kiekis

Jei pasirinksite tą patį scenarijų pirkimo pusėje, bus parodytas toks klaidos pranešimas:

Pastaba

Kiekis, kuriam išrašyta SF, neturi būti didesnis už priskirtą kiekį.

Ši karštoji pataisa įdiegiama 2604450 karštąją pataisą.
  Norėdami gauti papildomos informacijos, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite "Microsoft" žinių bazės straipsnį:

2604450 klaidos pranešimas "Kiekis, kuriam išrašyta SF, pardavimo eilutės dokumento tipas ='Užsakymas',Dokumento Nr.='[xxxx]',Eilutės Nr.='[yyyy]'" klaidos pranešimą, kai registruojate pardavimo užsakymą, kuriame atitinkamos prekės išlaidos yra visiškai išrašytos naudojant "„Microsoft“ Dynamics NAV 2009" Ši problema kyla šiuose produktuose:

  • "„Microsoft“ Dynamics NAV 2009" 1 pakeitimų paketas (SP1)
  • „„Microsoft“ Dynamics NAV 2009 R2‟

Sprendimas

Karštųjų pataisų informacija

Dabar palaikomas karštąsias pataisas galima gauti iš "„Microsoft“". Tačiau juo siekiama tik išspręsti šiame straipsnyje aprašytą problemą. Taikyti ją tik sistemoms, kuriose kilo ši konkreti problema. Ši karštoji pataisa gali būti papildomai patikrinta. Todėl, jei ši problema jūsų rimtai nepaveikė, rekomenduojame palaukti kito "„Microsoft“ Dynamics NAV 2009" pakeitimų paketo arba kitos "„Microsoft“ Dynamics NAV" versijos, kurioje yra ši karštoji pataisa.

Pastaba Ypatingais atvejais mokesčiai, kurie paprastai taikomi už palaikymo skambučius, gali būti atšaukti, jei "„Microsoft“ Dynamics" ir susijusių produktų techninio palaikymo specialistas nustato, kad konkretus naujinimas išspręs jūsų problemą. Įprastos palaikymo išlaidos bus taikomos papildomiems palaikymo klausimams ir problemoms, kurios neatitinka atitinkamo konkretaus naujinimo reikalavimų.

            
          

Diegimo informacija

"„Microsoft“" pateikia programavimo pavyzdžių tik iliustracijai, be išreikštų ar numanomų garantijų. Tai apima, bet neapsiriboja, numanomas tinkamumo parduoti arba tinkamumo konkrečiam tikslui garantijas. Straipsnyje laikomasi nuomonės, kad esate susipažinę su demonstruojama programavimo kalba ir įrankiais, naudojamais kuriant ir derinant procedūras. "„Microsoft“" palaikymo inžinieriai gali padėti paaiškinti konkrečios procedūros funkcionalumą, bet jie nemodifikuos šių pavyzdžių, kad suteiktų papildomų funkcinių galimybių, ir nesukurs procedūrų, atitinkančių jūsų konkrečius reikalavimus.

Pastaba Prieš diegdami šią karštąją pataisą patikrinkite, ar visi "„Microsoft“ Navision" kliento vartotojai yra atsijungę nuo sistemos. Tai apima "„Microsoft“ Navision" programų tarnybų (NAS) kliento vartotojus. Turite būti vienintelis kliento vartotojas, kuris yra prisijungęs, kai įdiegiate šią karštąją pataisą.

Norėdami įdiegti šią karštąją pataisą, privalote turėti kūrėjo licenciją.

Rekomenduojame vartotojo paskyrai "Windows" prisijungimų lange arba duomenų bazės prisijungimų lange priskirti "SUPER" vaidmens ID. Jei vartotojo paskyrai negalima priskirti "SUPER" vaidmens ID, turite patikrinti, ar vartotojo paskyra turi šias teises:

  • Objekto, kurį keisite, modifikavimo teisė.
  • Sistemos objekto ID 5210 ir sistemos objekto ID 9015 objekto vykdymo teisės.

                
Pastaba: neturite turėti teisių į duomenų saugyklas, nebent turite atlikti duomenų taisymą.

Kodo keitimai

Pastaba Visada išbandykite kodo pataisas kontroliuojamoje aplinkoje prieš taikydami jas gamybos kompiuteriuose.
Norėdami išspręsti šią problemą, atlikite šiuos veiksmus:

  1. Pakeiskite funkcijos UpdateItemChargeAssgnt, esančios Pardavimų eilutės lentelėje (37), kodą tokiu būdu:
    Esamas kodas

    ...
            PROCEDURE UpdateItemChargeAssgnt@5807();
          VAR
            ShareOfVAT@1000 : Decimal;
          BEGIN
           CALCFIELDS("Qty. Assigned","Qty. to Assign");
             IF ABS("Quantity Invoiced") > ABS(("Qty. Assigned" + "Qty. to Assign")) THEN
               ERROR(Text054,FIELDCAPTION("Quantity Invoiced"),FIELDCAPTION("Qty. Assigned"),FIELDCAPTION("Qty. to Assign"));
           END;
    
            ItemChargeAssgntSales.RESET;
    ...
    

    Pakeitimo kodas

    ...
              PROCEDURE UpdateItemChargeAssgnt@5807();
          VAR
            ShareOfVAT@1000 : Decimal;
          BEGIN
    
    // Add the following line.
       IF "Document Type" <> "Document Type"::"Blanket Order" THEN BEGIN
    // End of the added line.
    
           CALCFIELDS("Qty. Assigned","Qty. to Assign");
             IF ABS("Quantity Invoiced") > ABS(("Qty. Assigned" + "Qty. to Assign")) THEN
               ERROR(Text054,FIELDCAPTION("Quantity Invoiced"),FIELDCAPTION("Qty. Assigned"),FIELDCAPTION("Qty. to Assign"));
           END;
    
            ItemChargeAssgntSales.RESET;
    ...
    
  2. Pakeiskite kodą pirkimo eilutės lentelėje (39) visuotiniuose kintamuosiuose taip pat:
    Esamas kodas

    ...
            UnitCostCurrency@1063 : Decimal;
            UpdateFromVAT@1087 : Boolean;
            Text042@1088 : TextConst 'ENU=You cannot return more than the %1 units that you have received for %2 %3.';
            Text043@1089 : TextConst 'ENU=must be positive when %1 is not 0.';
            Text044@1080 : TextConst 'ENU=You cannot change %1 because this purchase order is associated with %2 %3.'; 
    ...
    

    Pakeitimo kodas

    ...
            UnitCostCurrency@1063 : Decimal;
            UpdateFromVAT@1087 : Boolean;
            Text042@1088 : TextConst 'ENU=You cannot return more than the %1 units that you have received for %2 %3.';
            Text043@1089 : TextConst 'ENU=must be positive when %1 is not 0.';
            Text044@1080 : TextConst 'ENU=You cannot change %1 because this purchase order is associated with %2 %3.';
    // Add the following line.
           Text054@1090 : TextConst 'ENU=%1 must not be greater than the sum of %2 and %3.';
    // End of the added line.
    ...
    
  3. Pakeiskite pirkimo eilutės lentelės (39) funkcijos UpdateItemChargeAssgnt kodą tokiu būdu:
    Esamas kodas

    ...
            PROCEDURE UpdateItemChargeAssgnt@5807();
          VAR
            ShareOfVAT@1000 : Decimal;
          BEGIN
    // Delete the following lines.
           CALCFIELDS("Qty. Assigned");
           IF "Quantity Invoiced" > "Qty. Assigned" THEN
             ERROR(Text032,FIELDCAPTION("Quantity Invoiced"),FIELDCAPTION("Qty. Assigned"));
    // End of the deleted lines.
    
            ItemChargeAssgntPurch.RESET;
            ItemChargeAssgntPurch.SETRANGE("Document Type","Document Type");
            ItemChargeAssgntPurch.SETRANGE("Document No.","Document No.");
            ItemChargeAssgntPurch.SETRANGE("Document Line No.","Line No.");
            IF (CurrFieldNo <> 0) AND ("Unit Cost" <> xRec."Unit Cost") THEN BEGIN
    ...
    

    Pakeitimo kodas

    ...
          PROCEDURE UpdateItemChargeAssgnt@5807();
          VAR
            ShareOfVAT@1000 : Decimal;
          BEGIN
    // Add the following lines.
           IF "Document Type" <> "Document Type"::"Blanket Order" THEN BEGIN
             CALCFIELDS("Qty. Assigned","Qty. to Assign");
             IF ABS("Quantity Invoiced") > ABS(("Qty. Assigned" + "Qty. to Assign")) THEN
               ERROR(Text054,FIELDCAPTION("Quantity Invoiced"),FIELDCAPTION("Qty. Assigned"),FIELDCAPTION("Qty. to Assign"));
           END;
    // End of the added lines.
    
            ItemChargeAssgntPurch.RESET;
            ItemChargeAssgntPurch.SETRANGE("Document Type","Document Type");
            ItemChargeAssgntPurch.SETRANGE("Document No.","Document No.");
            ItemChargeAssgntPurch.SETRANGE("Document Line No.","Line No.");
            IF (CurrFieldNo <> 0) AND ("Unit Cost" <> xRec."Unit Cost") THEN BEGIN  
    ...
    

          

Būtinosios sąlygos

Norėdami taikyti šią karštąją pataisą, turite įdiegti vieną iš toliau nurodytų produktų ir karštąją pataisą 2604450 įdiegti:

  • "„Microsoft“ Dynamics NAV 2009" 1 pakeitimų paketas (SP1)
  • „„Microsoft“ Dynamics NAV 2009 R2‟

                
              

Pašalinimo informacija

Šios karštosios pataisos pašalinti negalite.

Būsena

„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.

Nuorodos

VSTF DynamicsNAV SE: 287883

Pastaba: tai "SPARČIOJO PUBLIKAVIMO" straipsnis, sukurtas tiesiogiai iš "„Microsoft“" palaikymo organizacijos. Čia pateikta informacija pateikiama tokia, kokia yra, reaguojant į kylančias problemas. Dėl greito jos pateikimo medžiagoje gali būti spausdinimo klaidų ir ji gali būti peržiūrėta bet kuriuo metu be išankstinio įspėjimo. Dėl kitų aplinkybių žr. Naudojimo sąlygas .