Ne možete stvoriti prodajnu narudžbu iz prodajne ponude za kupca koji koristi plaćanje unaprijed kada prodajna ponuda koristi vrstu retka Naslov, "Početni-zbroj" ili "Krajnji zbroj" u švicarskoj verziji sustava Microsoft Dynamics NAV 2009

Primjenjuje se na
Dynamics NAV 2009

Ovaj se članak odnosi na Microsoft Dynamics NAV za sljedeće države i regionalne sheme jezika.

  • francuski (Švicarska) (fr-ch)
  • Njemački (Švicarska) (gr-ch)
  • Talijanski (Švicarska) (it-ch)

Simptomi

Pretpostavimo da imate klijenta koji koristi plaćanje unaprijed u švicarskoj verziji sustava Microsoft Dynamics NAV 2009. Zatim stvarate prodajnu ponudu u kojoj je polje Vrsta postavljeno na Naslov ili Početni zbroj ili Završni zbroj za klijenta. U tom vam se slučaju prilikom stvaranja narudžbenice iz ponude klikom na Napravi narudžbu prikazuje sljedeća poruka o pogrešci:

Napomena

Morate navesti Ne. in Sales Line Document Type='Order',Document No.='DocumentNumber',Line No.='LineNumber'.

Taj se problem pojavljuje u sljedećim proizvodima:

  • Švicarska verzija sustava Microsoft Dynamics NAV 2009 R2
  • Švicarska verzija sustava Microsoft Dynamics NAV 2009 Service Pack 1

      

Rješenje

Informacije o hitnom popravku

Microsoft sada nudi podržani hitni popravak. No njegova je namjena samo ispravljanje problema opisanog u ovom članku. Primijenite ga samo na sustave koji imaju taj specifični problem. Ovaj hitni popravak može proći dodatna testiranja. Stoga, ako se ovaj problem ne odnosi ozbiljno, preporučujemo da pričekate sljedeći servisni paket za Microsoft Dynamics NAV 2009 ili sljedeću verziju sustava Microsoft Dynamics NAV koja sadrži ovaj hitni popravak.

Napomena: U posebnim slučajevima, ako stručnjak tehničke podrške za Microsoft Dynamics i povezane proizvode utvrdi da određeno ažuriranje može riješiti problem, poziv službi podrške može biti besplatan. Uobičajene cijene poziva službi za podršku primjenjuju se na dodatna pitanja i probleme koje nemaju veze s pripadnom nadopunom.

            
          

Informacije o instalaciji

Microsoft daje primjere programiranja samo za ilustraciju, bez jamstva, bilo izričitog ili prešutnog. To uključuje, bez ograničenja, implicitna jamstva utrživosti ili prikladnosti za određenu svrhu. U članku se podrazumijeva da ste upoznati s programskim jezikom koji se pokazuje te s alatima koji se koriste za stvaranje i ispravljanje pogrešaka procedura. Microsoftovi inženjeri za podršku mogu vam pomoći objasniti funkcionalnost određene procedure, no neće mijenjati te primjere radi pružanja dodatne funkcionalnosti ili konstruirati procedure koji zadovoljavaju vaše specifične zahtjeve.

Napomena Prije nego što instalirate ovaj hitni popravak, provjerite jesu li svi korisnici Microsoft Navision klijenta odjavljeni sa sustava. To obuhvaća korisnike klijentskih usluga Microsoft Navision Application Services (NAS). Trebali biste biti jedini klijentski korisnik prijavljen na vrijeme implementacije ovog hitnog popravka.

Da biste implementirali ovaj hitni popravak, morate imati licencu za razvojne inženjere.

Preporučujemo da se korisničkom računu u prozoru Prijave u sustav Windows ili u prozoru Prijave u bazu podataka dodijeli ID uloge "SUPER". Ako korisničkom računu nije moguće dodijeliti ID uloge "SUPER", morate provjeriti ima li korisnički račun sljedeće dozvole:

  • Dozvola za izmjenu objekta koji ćete mijenjati.
  • Dozvola za izvršavanje za objekt System Object ID 5210 i za objekt System Object ID 9015

                
Napomena: nemate pravo na spremišta podataka, osim ako morate popraviti podatke.

Promjene koda

Napomena: uvijek testirajte popravke koda u kontroliranom okruženju prije primjene popravaka na proizvodnim računalima.
Da biste riješili taj problem, učinite sljedeće:

  1. Kod u tablici Prodajni redak (37) promijenite na sljedeći način:
    Postojeći kod 1

    ...
    // Delete the following line.
    IF NOT (Type IN [Type::" ",Type::Title..Type::"New Page"]) THEN BEGIN
    ...
    

    Zamjenski kod 1

    ...
    // Add the following line.
    IF IsTypeQuantitative THEN BEGIN
    ...
    

    Postojeći kod 2

    ...
    // Delete the following line.
    IF (NOT (Type IN [Type::"G/L Account"..Type::"Charge (Item)"])) AND (Quantity <> 0) THEN
    ...
    

    Zamjenski kod 2

    ...
    // Add the following line.
    IF NOT IsTypeQuantitative AND (Quantity <> 0) THEN
    ...
    

    Postojeći kod 3

    ...
    // Delete the following line.
    IF ("Prepayment %" <> 0) AND (Type <> Type::" ") THEN BEGIN
    ...
    

    Zamjenski kod 3

    ...
    // Add the following line.
    IF ("Prepayment %" <> 0) AND IsTypeQuantitative THEN BEGIN
    ...
    

    Postojeći kod 4

    ...
    // Delete the following line.IF NOT (Type IN[Type::"G/L Account"..Type::"Charge (Item)"]) THEN
    ...
    

    Zamjenski kod 4

    ...
    // Add the following line.
    IF NOT IsTypeQuantitative THEN BEGIN
    ...
    

    Postojeći kod 5

    ...
    // Delete the following line.
    IF (Type IN[Type::"G/L Account"..Type::"Charge (Item)"]) AND ("No." <> '') THEN BEGIN
    ...
    

    Zamjenski kod 5

    ...
    // Add the following line.
    IF IsTypeQuantitative AND ("No." <> '') THEN BEGIN
    ...
    

    Postojeći kod 6

    ...
    PROCEDURE RoundLineAmount@1150000(_Amount@1150000 : Decimal) : Decimal;
    VAR
    SalesSetup@1150001 : Record 311;
    BEGIN
    GLSetup.GET;
    IF ("Currency Code" = '') OR ("Currency Code" = GLSetup."LCY Code") THEN BEGIN
    SalesSetup.GET;
    SalesSetup.TESTFIELD("Line Amt. Round LCY");
    _Amount := ROUND(_Amount,SalesSetup."Line Amt. Round LCY");
    END;
    EXIT(_Amount);
    END;
    BEGIN
    ...
    

    Zamjenski kod 6

    ...
    PROCEDURE RoundLineAmount@1150000(_Amount@1150000 : Decimal) : Decimal;
    VAR
    SalesSetup@1150001 : Record 311;
    BEGIN
    GLSetup.GET;
    IF ("Currency Code" = '') OR ("Currency Code" = GLSetup."LCY Code") THEN BEGIN
    SalesSetup.GET;
    SalesSetup.TESTFIELD("Line Amt. Round LCY");
    _Amount := ROUND(_Amount,SalesSetup."Line Amt. Round LCY");
    END;
    EXIT(_Amount);
    END;
    
    // Add the following lines.
    PROCEDURE IsTypeQuantitative@1150010() : Boolean;
    BEGIN
    EXIT(Type IN [Type::"G/L Account"..Type::"Charge (Item)"]);
    END;
    // End of the lines.
    
    BEGIN
    ...
    

    Postojeći kod 7

    ...
    // Delete the following line.
    IF Type <> Type::" " THEN
    
    Quantity := TempSalesLine.Quantity;
    ...
    

    Zamjenski kod 7

    ...
    // Add the following line.
    IF IsTypeQuantitative THEN
    
    Quantity := TempSalesLine.Quantity;
    ...
    

    Postojeći kod 8

    ...
    // Delete the following line.
    IF NOT "System-Created Entry" AND ("Document Type" = "Document Type"::Order) AND (Type <> Type::" ") THEN
    
    "Prepayment %" := SalesHeader."Prepayment %";...
    

    Zamjenski kod 8

    ...
    // Add the following line.
    IF NOT "System-Created Entry" AND ("Document Type" = "Document Type"::Order) AND IsTypeQuantitative THEN
    
    "Prepayment %" := SalesHeader."Prepayment %";
    ...
    

    Postojeći kod 9

    ...
    // Delete the following line.
    IF ("Shipment Date" < WORKDATE) AND (Type <> Type::" ") THEN
    
    IF NOT (HideValidationDialog OR HasBeenShown) AND GUIALLOWED THEN BEGIN
    ...
    

    Zamjenski kod 9

    ...
    // Add the following line.
    IF ("Shipment Date" < WORKDATE) AND IsTypeQuantitative THEN
    
    IF NOT (HideValidationDialog OR HasBeenShown) AND GUIALLOWED THEN BEGIN
    ...
    

    Postojeći kod 10

    ...
    // Delete the following line.
    IF Type <> Type::" " THEN
    
    UpdateAmounts;
    ...
    

    Zamjenski kod 10

    ...
    // Add the following line.
    IF IsTypeQuantitative THEN
    
    UpdateAmounts;
    ...
    

    Postojeći kod 11

    ...
    // Delete the following line.
    IF Type = Type::" " THEN
    
    EXIT(TRUE);
    ...
    

    Zamjenska šifra 11

    ...
    // Add the following line.
    IF NOT IsTypeQuantitative THEN
    
    EXIT(TRUE);
    ...
    
  2. Promijenite kod u jedinici koda QuoteMgt (3010801) na sljedeći način:
    Postojeći kod

    ...
    // Delete the following lines.
    IF (Type IN [Type::"G/L Account"..Type::"Charge (Item)"]) AND
    ("No." <> '')
    THEN BEGIN
    // End of the lines.
    ...
    

    Zamjenski kôd

    ...
    // Add the following line.
    IF IsTypeQuantitative AND ("No." <> '') THEN BEGIN
    ...
    

Preduvjeti

Da biste primijenili ovaj hitni popravak, morate imati instaliran neki od sljedećih proizvoda:

  • Švicarska verzija sustava Microsoft Dynamics NAV 2009 R2
  • Švicarska verzija sustava Microsoft Dynamics NAV 2009 Service Pack 1

Podaci o uklanjanju

Ovaj hitni popravak ne možete ukloniti.

Status

Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.

Napomena: Ovo je članak "FAST PUBLISH" stvoren izravno u Microsoftovoj ustanovi za podršku. Ovdje sadržane informacije pružaju se takve kakve jesu kao odgovor na nove probleme. Kao rezultat brzine stavljanja na raspolaganje, materijali mogu sadržavati tipografske pogreške i mogu se revidirati u bilo kojem trenutku bez prethodne najave. Dodatne napomene potražite u Uvjetima korištenja .