Maksualennus lasketaan virheellisesti ostolaskussa ja myyntilaskussa, jos Maksualennus% -arvo ei ole nolla Microsoft Dynamics NAV 2009 Service Pack 1:n espanjankielisessä versiossa

Käytetään kohteeseen
Dynamics NAV 2009 Service Pack 1

Tämä artikkeli koskee Microsoft Dynamics NAV -ohjelmaa espanjan kielikielellä( es).

Ongelman ilmenemistapa

Jos Maksualennusprosentti-arvo ei ole nolla Microsoft Dynamics NAV 2009 Service Pack 1 :n (SP1) espanjankielisessä versiossa, maksualennus lasketaan virheellisesti ostolaskussa ja myyntilaskussa.

Ratkaisu

Hotfix-tiedot

Tuettu hotfix-korjaus on nyt saatavilla Microsoftilta. Sen tarkoituksena on kuitenkin korjata vain tässä artikkelissa kuvattu ongelma. Käytä sitä vain järjestelmissä, joissa on tämä ongelma. Tämä hotfix-korjaus voi saada lisätestejä. Jos ongelma ei siis vaikuta sinuun vakavasti, suosittelemme odottamaan seuraavaa Microsoft Dynamics NAV 2009 Service Pack -pakettia tai seuraavaa Microsoft Dynamics NAV -versiota, joka sisältää tämän hotfix-korjauksen.

Huomautus Erityistapauksissa tukipuheluista tavallisesti aiheutuvat maksut voidaan peruuttaa, jos Microsoft Dynamicsin ja siihen liittyvien tuotteiden teknisen tuen asiantuntija määrittää, että tietty päivitys ratkaisee ongelmasi. Tavanomaiset tukikustannukset koskevat muita tukikysymyksiä ja -ongelmia, jotka eivät ole oikeutettuja kyseiseen päivitykseen.

            
          

Asennustiedot

Microsoft tarjoaa ohjelmointiesimerkkejä vain havainnollistamista varten ilman ilmaistua tai oletettua takuuta. Tämä sisältää muun muassa oletetut takuut soveltuvuudesta kaupankäynnin kohteeksi tai sopivuudesta tiettyyn tarkoitukseen. Tässä artikkelissa oletetaan, että tunnet ohjelmointikielen, jota esitellään, sekä työkalut, joita käytetään toimintosarjojen luomiseen ja virheenkorjaukseen. Microsoftin tukihenkilöt voivat auttaa selittämään tietyn menettelyn toiminnallisuuden, mutta he eivät muokkaa näitä esimerkkejä niin, että ne tarjoaisivat lisätoimintoja tai laativat menetelmiä erityisvaatimusten täyttämiseksi.

Huomautus Varmista ennen tämän hotfix-korjauksen asentamista, että kaikki Microsoft Navision -asiakasohjelman käyttäjät ovat kirjautuneet ulos järjestelmästä. Tämä koskee myös Microsoft Navision Application Services (NAS) -asiakaskäyttäjiä. Sinun pitäisi olla ainoa asiakaskäyttäjä, joka on kirjautunut sisään, kun otat tämän hotfix-korjauksen käyttöön.

Jotta voit ottaa tämän hotfix-korjauksen käyttöön, sinulla on oltava kehittäjän käyttöoikeus.

Suosittelemme, että käyttäjätilille, joka on Windowsin kirjautumisikkunassa tai Tietokannan kirjautumiset -ikkunassa, määritetään "SUPER"-roolitunnus. Jos käyttäjätilille ei voi määrittää "SUPER"-roolitunnusta, sinun on varmistettava, että käyttäjätilillä on seuraavat käyttöoikeudet:

  • Muutettavan objektin Muokkaa-käyttöoikeus.
  • System Object ID 5210 -objektin ja System Object ID 9015 -objektin Suoritus-oikeus.

                
Huomautus Sinulla ei tarvitse olla oikeuksia tietosäilöihin, ellei sinun tarvitse korjata tietoja.

Koodin muutokset

Huomautus Testaa koodikorjaukset aina valvotussa ympäristössä, ennen kuin otat korjaukset käyttöön tuotantotietokoneissasi.
Voit ratkaista tämän ongelman seuraavasti:

  1. Muuta Sales-Calcin CalculateInvoiceDiscount-funktion koodia. Alennuskoodin yksikkö (60) seuraavasti:
    Olemassa oleva koodi 1

    ...
            SalesSetup@1003 : Record 311;
            TempServiceChargeLine@1005 : TEMPORARY Record 37;
            GLAcc@1100000 : Record 15;
          BEGIN
            SalesSetup.GET;
            WITH SalesLine DO BEGIN
    ...
    
    

    Korvaava koodi 1

    ...
            SalesSetup@1003 : Record 311;
            TempServiceChargeLine@1005 : TEMPORARY Record 37;
            GLAcc@1100000 : Record 15;
    
            // Add the following line.
            TempSalesLine@1100001 : TEMPORARY Record 37;
            // End of the line.
    
          BEGIN
            SalesSetup.GET;
            WITH SalesLine DO BEGIN
    ...
    
    

    Nykyinen koodi 2

    ...
                      (SalesLine2."Prepayment %" = 0)
                    THEN
                      SalesLine2.VALIDATE("Inv. Discount Amount");
    
                    // Delete the following lines.
                    IF SalesLine2."Allow Invoice Disc." THEN
                      CASE GLSetup."Discount Calculation" OF
                        GLSetup."Discount Calculation"::" ",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
                        SalesLine2."Inv. Discount Amount" :=
                          ROUND(SalesLine2."Line Amount" * CustInvDisc."Discount %" / 100,0.000001);
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
                          SalesLine2."Inv. Discount Amount" :=
                            ROUND(
                              (SalesLine2."Line Amount" + SalesLine2."Line Discount Amount" ) *
                              CustInvDisc."Discount %" / 100,0.000001);
                            END;
                        IF GLSetup."Payment Discount Type" =
                           GLSetup."Payment Discount Type"::"Calc. Pmt. Disc. on Lines"
                        THEN BEGIN
                          GLSetup.TESTFIELD("Discount Calculation");
                          CASE GLSetup."Discount Calculation" OF
                            GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
                            GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.":
                              SalesLine2."Pmt. Disc. Given Amount" :=
                                ROUND(
                                  (SalesLine2."Line Amount" + SalesLine2."Line Discount Amount")
                                  * SalesHeader."Payment Discount %" / 100,0.01);
                            GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.",
                            GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
                              SalesLine2."Pmt. Disc. Given Amount" :=
                                ROUND(
                                  (SalesLine2."Line Amount" - SalesLine2."Inv. Discount Amount") *
                                  SalesHeader."Payment Discount %" / 100,0.01);
                          END;
                        END;
                    // End of the lines.
    
                    IF (SalesLine2.Type <> SalesLine2.Type::"Charge (Item)") AND
                      (SalesLine2."Prepayment %" = 0)
    ...
    
    

    Korvaava koodi 2

    ...
                      (SalesLine2."Prepayment %" = 0)
                    THEN
                      SalesLine2.VALIDATE("Inv. Discount Amount");
    
                    // Add the following lines.
                    IF SalesLine2."Allow Invoice Disc." THEN BEGIN
                      CASE GLSetup."Discount Calculation" OF
                        GLSetup."Discount Calculation"::" ",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
                          BEGIN
                            TempSalesLine."Inv. Discount Amount" :=
                              TempSalesLine."Inv. Discount Amount" +
                              SalesLine2."Line Amount" * CustInvDisc."Discount %" / 100;
                            SalesLine2."Inv. Discount Amount" := ROUND(TempSalesLine."Inv. Discount Amount",0.000001);
                          END;
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
                          BEGIN
                            TempSalesLine."Inv. Discount Amount" :=
                              TempSalesLine."Inv. Discount Amount" +
                              (SalesLine2."Line Amount" + SalesLine2."Line Discount Amount") *
                              CustInvDisc."Discount %" / 100;
                            SalesLine2."Inv. Discount Amount" := ROUND(TempSalesLine."Inv. Discount Amount",0.000001);
                          END;
                      END;
                      TempSalesLine."Inv. Discount Amount" :=
                        TempSalesLine."Inv. Discount Amount" - SalesLine2."Inv. Discount Amount";
                    END;
                    IF GLSetup."Payment Discount Type" =
                       GLSetup."Payment Discount Type"::"Calc. Pmt. Disc. on Lines"
                    THEN BEGIN
                      GLSetup.TESTFIELD("Discount Calculation");
                      CASE GLSetup."Discount Calculation" OF
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.":
                          BEGIN
                            TempSalesLine."Pmt. Disc. Given Amount" :=
                              TempSalesLine."Pmt. Disc. Given Amount" +
                              (SalesLine2."Line Amount" + SalesLine2."Line Discount Amount") *
                              SalesHeader."Payment Discount %" / 100;
                            SalesLine2."Pmt. Disc. Given Amount" := ROUND(TempSalesLine."Pmt. Disc. Given Amount",0.01);
                          END;
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
                          BEGIN
                            TempSalesLine."Pmt. Disc. Given Amount" :=
                              TempSalesLine."Pmt. Disc. Given Amount" +
                              (SalesLine2."Line Amount" - SalesLine2."Inv. Discount Amount") *
                              SalesHeader."Payment Discount %" / 100;
                            SalesLine2."Pmt. Disc. Given Amount" :=
                              ROUND(TempSalesLine."Pmt. Disc. Given Amount",0.01);
                          END;
                      END;
                      TempSalesLine."Pmt. Disc. Given Amount" :=
                        TempSalesLine."Pmt. Disc. Given Amount" - SalesLine2."Pmt. Disc. Given Amount";
                    END;
                    // End of the lines.
    
                    IF (SalesLine2.Type <> SalesLine2.Type::"Charge (Item)") AND
                      (SalesLine2."Prepayment %" = 0)
    ...
    
    
  2. Muuta Purch.-Calc.Discount codeunit (70) -funktion CalculateInvoiceDiscount-funktion koodia seuraavasti:
    Olemassa oleva koodi 1

    ...
            PurchSetup@1003 : Record 312;
            TempServiceChargeLine@1005 : TEMPORARY Record 39;
            GLAcc@1100000 : Record 15;
          BEGIN
            PurchSetup.GET;
            WITH PurchLine DO BEGIN
    ...
    
    

    Korvaava koodi 1

    ...
            PurchSetup@1003 : Record 312;
            TempServiceChargeLine@1005 : TEMPORARY Record 39;
            GLAcc@1100000 : Record 15;
    
            // Add the following line.
            TempPurchLine@1100001 : TEMPORARY Record 39;
            // End of the line.
    
          BEGIN
            PurchSetup.GET;
            WITH PurchLine DO BEGIN
    ...
    
    

    Nykyinen koodi 2

    ...
                      (PurchLine2."Prepayment %" = 0)
                    THEN
                      PurchLine2.VALIDATE("Inv. Discount Amount");
    
                    // Delete the following lines.
                    IF PurchLine2."Allow Invoice Disc." THEN
                      CASE GLSetup."Discount Calculation" OF
                        GLSetup."Discount Calculation"::" ",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
                          PurchLine2."Inv. Discount Amount" :=
                            ROUND(PurchLine2."Line Amount" * VendInvDisc."Discount %" / 100,0.01);
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
                          PurchLine2."Inv. Discount Amount" :=
                            ROUND(
                              (PurchLine2."Line Amount" + PurchLine2."Line Discount Amount" ) *
                              VendInvDisc."Discount %" / 100,0.01);
                      END;
                    IF GLSetup."Payment Discount Type" =
                       GLSetup."Payment Discount Type"::"Calc. Pmt. Disc. on Lines"
                    THEN BEGIN
                       GLSetup.TESTFIELD("Discount Calculation");
                       CASE GLSetup."Discount Calculation" OF
                         GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
                         GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.":
                           PurchLine2."Pmt. Disc. Rcd. Amount" :=
                             ROUND(
                               (PurchLine2."Line Amount" + PurchLine2."Line Discount Amount") *
                               PurchHeader."Payment Discount %" / 100,0.01);
                         GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.",
                         GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
                            PurchLine2."Pmt. Disc. Rcd. Amount" :=
                              ROUND(
                                (PurchLine2."Line Amount" - PurchLine2."Inv. Discount Amount") *
                                PurchHeader."Payment Discount %" / 100,0.01);
                         END;
                       END;
                    // End of the lines.
    
                      IF (PurchLine2.Type <> PurchLine2.Type::"Charge (Item)") AND
    ...
    
    

    Korvaava koodi 2

    ...
                      (PurchLine2."Prepayment %" = 0)
                    THEN
                      PurchLine2.VALIDATE("Inv. Discount Amount");
    
                    // Add the following lines.
                    IF PurchLine2."Allow Invoice Disc." THEN BEGIN
                      CASE GLSetup."Discount Calculation" OF
                        GLSetup."Discount Calculation"::" ",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
                          BEGIN
                            TempPurchLine."Inv. Discount Amount" :=
                              TempPurchLine."Inv. Discount Amount"  + PurchLine2."Line Amount" * VendInvDisc."Discount %" / 100;
                            PurchLine2."Inv. Discount Amount" := ROUND(TempPurchLine."Inv. Discount Amount",0.01);
                          END;
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
                          BEGIN
                            TempPurchLine."Inv. Discount Amount" :=
                              TempPurchLine."Inv. Discount Amount" +
                              (PurchLine2."Line Amount" + PurchLine2."Line Discount Amount") *
                              VendInvDisc."Discount %" / 100;
                            PurchLine2."Inv. Discount Amount" := ROUND(TempPurchLine."Inv. Discount Amount",0.01);
                          END;
                      END;
                    TempPurchLine."Inv. Discount Amount" :=
                      TempPurchLine."Inv. Discount Amount" - PurchLine2."Inv. Discount Amount";
                    END;
                    IF GLSetup."Payment Discount Type" =
                       GLSetup."Payment Discount Type"::"Calc. Pmt. Disc. on Lines"
                    THEN BEGIN
                      GLSetup.TESTFIELD("Discount Calculation");
                      CASE GLSetup."Discount Calculation" OF
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.":
                          BEGIN
                            TempPurchLine."Pmt. Disc. Rcd. Amount" :=
                              TempPurchLine."Pmt. Disc. Rcd. Amount" +
                              (PurchLine2."Line Amount" + PurchLine2."Line Discount Amount") *
                              PurchHeader."Payment Discount %" / 100;
                            PurchLine2."Pmt. Disc. Rcd. Amount" := ROUND(TempPurchLine."Pmt. Disc. Rcd. Amount",0.01);
                          END;
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
                          BEGIN
                            TempPurchLine."Pmt. Disc. Rcd. Amount" :=
                              TempPurchLine."Pmt. Disc. Rcd. Amount" +
                              (PurchLine2."Line Amount" - PurchLine2."Inv. Discount Amount") *
                              PurchHeader."Payment Discount %" / 100;
                            PurchLine2."Pmt. Disc. Rcd. Amount" := ROUND(TempPurchLine."Pmt. Disc. Rcd. Amount",0.01);
                          END;
                      END;
                      TempPurchLine."Pmt. Disc. Rcd. Amount" :=
                        TempPurchLine."Pmt. Disc. Rcd. Amount" - PurchLine2."Pmt. Disc. Rcd. Amount";
                    END;
                    // End of the lines.
    
                    IF (PurchLine2.Type <> PurchLine2.Type::"Charge (Item)") AND
    ...
    
    
  3. Muuta koodia Service-Calcin CalculateInvoiceDiscount-funktiossa. Discount codeunit (5950) seuraavasti:
    Olemassa oleva koodi 1

    ...
            SalesSetup@1005 : Record 311;
            ServiceChargeLineNo@1004 : Integer;
            GLAcc@1100000 : Record 15;
          BEGIN
            ServSetup.GET;
            WITH ServiceLine DO BEGIN
    ...
    
    

    Korvaava koodi 1

    ...
            SalesSetup@1005 : Record 311;
            ServiceChargeLineNo@1004 : Integer;
            GLAcc@1100000 : Record 15;
    
            // Add the following line.
            TempServiceLine@1100001 : TEMPORARY Record 5902;
            // End of the line.
    
          BEGIN
            ServSetup.GET;
            WITH ServiceLine DO BEGIN
    ...
    
    

    Nykyinen koodi 2

    ...
                  IF (ServiceLine2.Quantity <> 0) AND NOT InvAllow THEN BEGIN
                    ServiceLine2."Pmt. Disc. Given Amount" := 0;
                    ServiceLine2.VALIDATE("Inv. Discount Amount");
    
                    // Delete the following lines.
                    IF ServiceLine2."Allow Invoice Disc." THEN
                      CASE GLSetup."Discount Calculation" OF
                        GLSetup."Discount Calculation"::" ",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
                        ServiceLine2."Inv. Discount Amount" :=
                          ROUND(ServiceLine2."Line Amount" * CustInvDisc."Discount %" / 100,0.000001);
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
                          ServiceLine2."Inv. Discount Amount" :=
                            ROUND(
                              (ServiceLine2."Line Amount" + ServiceLine2."Line Discount Amount" ) *
                              CustInvDisc."Discount %" / 100,0.000001);
                            END;
                        IF GLSetup."Payment Discount Type" =
                           GLSetup."Payment Discount Type"::"Calc. Pmt. Disc. on Lines"
                        THEN BEGIN
                          GLSetup.TESTFIELD("Discount Calculation");
                          CASE GLSetup."Discount Calculation" OF
                            GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
                            GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.":
                              ServiceLine2."Pmt. Disc. Given Amount" :=
                                ROUND(
                                  (ServiceLine2."Line Amount" + ServiceLine2."Line Discount Amount")
                                  * ServHeader."Payment Discount %" / 100,0.01);
                            GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.",
                            GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
                              ServiceLine2."Pmt. Disc. Given Amount" :=
                                ROUND(
                                  (ServiceLine2."Line Amount" - ServiceLine2."Inv. Discount Amount") *
                                  ServHeader."Payment Discount %" / 100,0.01);
                          END;
                        END;
                    // End of the lines.
    
                    ServiceLine2.VALIDATE("Inv. Discount Amount");
                    ServiceLine2.MODIFY;
    ...
    
    

    Korvaava koodi 2

    ...
                  IF (ServiceLine2.Quantity <> 0) AND NOT InvAllow THEN BEGIN
                    ServiceLine2."Pmt. Disc. Given Amount" := 0;
                    ServiceLine2.VALIDATE("Inv. Discount Amount");
    
                    // Add the following lines.
                    IF ServiceLine2."Allow Invoice Disc." THEN BEGIN
                      CASE GLSetup."Discount Calculation" OF
                        GLSetup."Discount Calculation"::" ",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
                          BEGIN
                            TempServiceLine."Inv. Discount Amount" :=
                              TempServiceLine."Inv. Discount Amount" +
                              ServiceLine2."Line Amount" * CustInvDisc."Discount %" / 100;
                            ServiceLine2."Inv. Discount Amount" :=
                              ROUND(TempServiceLine."Inv. Discount Amount",0.000001);
                          END;
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
                          BEGIN
                            TempServiceLine."Inv. Discount Amount" :=
                              TempServiceLine."Inv. Discount Amount" +
                              (ServiceLine2."Line Amount" + ServiceLine2."Line Discount Amount") *
                              CustInvDisc."Discount %" / 100;
                            ServiceLine2."Inv. Discount Amount" := ROUND(TempServiceLine."Inv. Discount Amount",0.000001);
                          END;
                      END;
                      TempServiceLine."Inv. Discount Amount" :=
                        TempServiceLine."Inv. Discount Amount" - ServiceLine2."Inv. Discount Amount";
                    END;
                    IF GLSetup."Payment Discount Type" =
                       GLSetup."Payment Discount Type"::"Calc. Pmt. Disc. on Lines"
                    THEN BEGIN
                      GLSetup.TESTFIELD("Discount Calculation");
                      CASE GLSetup."Discount Calculation" OF
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.":
                          BEGIN
                            TempServiceLine."Pmt. Disc. Given Amount" :=
                              TempServiceLine."Pmt. Disc. Given Amount" +
                              (ServiceLine2."Line Amount" + ServiceLine2."Line Discount Amount") *
                              ServHeader."Payment Discount %" / 100;
                            ServiceLine2."Pmt. Disc. Given Amount" := ROUND(TempServiceLine."Pmt. Disc. Given Amount",0.01);
                          END;
                        GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.",
                        GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
                          BEGIN
                            TempServiceLine."Pmt. Disc. Given Amount" :=
                              TempServiceLine."Pmt. Disc. Given Amount" +
                              (ServiceLine2."Line Amount" - ServiceLine2."Inv. Discount Amount") *
                              ServHeader."Payment Discount %" / 100;
                            ServiceLine2."Pmt. Disc. Given Amount" := ROUND(TempServiceLine."Pmt. Disc. Given Amount",0.01);
                          END;
                      END;
                      TempServiceLine."Pmt. Disc. Given Amount" :=
                        TempServiceLine."Pmt. Disc. Given Amount" - ServiceLine2."Pmt. Disc. Given Amount";
                    END;
                    // End of the lines.
    
                    ServiceLine2.VALIDATE("Inv. Discount Amount");
                    ServiceLine2.MODIFY;
    ...
    
    

Edellytykset

Sinulla on oltava asennettuna Microsoft Dynamics NAV 2009 Service Pack 1:n espanjankielinen versio, jotta voit käyttää tätä hotfix-korjausta.

Poistotiedot

Et voi poistaa tätä hotfix-korjausta.

Tila

Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.

Huomautus Tämä on FAST PUBLISH -artikkeli, joka on luotu suoraan Microsoftin tukiorganisaatiosta. Tässä annetut tiedot annetaan sellaisenaan vastauksena uusiin ongelmiin. Koska materiaalit ovat nopeasti käytettävissä, ne voivat sisältää typografisia virheitä, ja niitä voidaan muuttaa milloin tahansa ilman ennakkoilmoitusta. Lisätietoja on ohjeaiheessa Käyttöehdot .