Maksumäärät ja avoimet maksusummat sekoitetaan ja näytetään "Maksut lain rajoituksen ulkopuolella" -osassa Toimittajan myöhässä Maksut -raportissa (10748) virheellisesti Microsoft Dynamics NAV:n espanjankielisessä versiossa.

Käytetään kohteeseen
Dynamics NAV 2009 Microsoft Dynamics NAV 5.0

Tämä artikkeli koskee Microsoft Dynamics NAV -ohjelmaa Espanjan (es) alueella.

Ongelman ilmenemistapa

Oletetaan, että sinulla on kaksi laskua microsoft dynamics navin espanjankielisessä versiossa olevalle toimittajalle. Kirjaat yhden laskun maksun. Tässä tilanteessa, kun suoritat Toimittajan myöhässä Maksut -raportin (10748), toimittajan maksusummat ja avoimet maksusummat sekoitetaan ja näytetään virheellisesti "Maksut, joka ylittää laillisen rajan (LYC)". 
Tämä ongelma ilmenee seuraavissa tuotteissa:

  • Microsoft Dynamics NAV 2009 R2:n espanjankielinen versio
  • Microsoft Dynamics NAV 2009 Service Pack 1:n espanjankielinen versio
  • Microsoft Dynamics NAV 5.0 Service Pack 1:n espanjankielinen versio

      

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 ongelman seuraavasti:

  1. Muuta koodia Toimittajan - myöhässä Maksut -raportin (10748) tietonimikkeen numerossa 1 seuraavasti:
    Olemassa oleva koodi 1

    ...
    }
    { PROPERTIES
    {
    SectionType=GroupFooter;
    SectionWidth=17850;
    
    // Delete the following line.
    SectionHeight=2538;
    
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT(VendTotalAmount <> 0);
    END;
    }
    ...
    

    Korvaava koodi 1

    ...
    }
    { PROPERTIES
    {
    SectionType=GroupFooter;
    SectionWidth=17850;
    
    // Add the following line.
    SectionHeight=2961;
    
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT(VendTotalAmount <> 0);
    END;
    }
    ...
    

    Nykyinen koodi 2

    ...
    DataSetFieldName=Vend_WeightedExceededAmount }
    { 1170000000;TextBox;13800;0 ;450 ;423 ;Visible=No;
    ForeColor=65535;
    SourceExpr=[VendWeightedExceededAmount ];
    DataSetFieldName=WeightedExceededAmount1 }
    }
    }
    { PROPERTIES
    {
    SectionType=Footer;
    ...
    

    Korvaava koodi 2

    ...
    DataSetFieldName=Vend_WeightedExceededAmount }
    { 1170000000;TextBox;13800;0 ;450 ;423 ;Visible=No;
    ForeColor=65535;
    SourceExpr=[VendWeightedExceededAmount ];
    DataSetFieldName=WeightedExceededAmount1 }
    
    // Add the following lines.
    { 1000000000;Label ;5250 ;2115 ;4950 ;423 ;ParentControl=1000000001;
    DataSetFieldName=ABS_OpenTotalPaymentOutsideDueDate_Caption }
    { 1000000001;TextBox;10350;2115 ;1800 ;423 ;CaptionML=[ENU=Open Payments outside the legal limit (LCY);
    ESP=Pagos fuera del l¡mite legal (DL):];
    SourceExpr=ABS(OpenVendPaymentOutsideDueDate);
    DataSetFieldName=OpenVend_PaymentOutsideDueDate }
    { 1000000004;TextBox;12600;2115 ;1800 ;423 ;SourceExpr=FormatRatio(OpenVendPaymentOutsideDueDate,VendTotalAmount);
    DataSetFieldName=OpenVend_PaymentOutsideDueDateRatio }
    // End of the lines.
    
    }
    }
    { PROPERTIES
    {
    SectionType=Footer;
    ...
    

    Olemassa oleva koodi 3

    ...
    }
    { PROPERTIES
    {
    SectionType=Footer;
    SectionWidth=17850;
    
    // Delete the following line.
    SectionHeight=2115;
    
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT(TotalAmount <> 0);
    END;
    }
    ...
    

    Korvaava koodi 3

    ...
    }
    { PROPERTIES
    {
    SectionType=Footer;
    SectionWidth=17850;
    
    // Add the following line.
    SectionHeight=2538;
    
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT(TotalAmount <> 0);
    END;
    }
    ...
    

    Olemassa oleva koodi 4

    ...
    DataSetFieldName=Total_PaymentOutsideDueDateRatio }
    { 1100057;TextBox ;10350;846 ;1800 ;423 ;CaptionML=[ENU=Weighted average term exceeded:;
    ESP=Plazo medio ponderado superado:];
    SourceExpr=TotalWeightedExceededAmount / ABS(TotalAmount);
    DataSetFieldName=Total_WeightedExceededAmount }
    }
    }
    }
    }
    { PROPERTIES
    ...
    

    Korvaava koodi 4

    ...
    DataSetFieldName=Total_PaymentOutsideDueDateRatio }
    { 1100057;TextBox ;10350;846 ;1800 ;423 ;CaptionML=[ENU=Weighted average term exceeded:;
    ESP=Plazo medio ponderado superado:];
    SourceExpr=TotalWeightedExceededAmount / ABS(TotalAmount);
    DataSetFieldName=Total_WeightedExceededAmount }
    
    // Add the following lines.
    { 1000000002;Label ;5250 ;2115 ;4950 ;423 ;ParentControl=1000000003;
    DataSetFieldName=ABS_OpenTotalPaymentOutsideDueDate__Control1100045Caption }
    { 1000000003;TextBox;10350;2115 ;1800 ;423 ;CaptionML=[ENU=Open Payments outside the legal limit (LCY);
    ESP=Pagos fuera del l¡mite legal (DL):];
    SourceExpr=ABS(TotalOpenPaymentOutsideDueDate);
    DataSetFieldName=OpenTotal_PaymentOutsideDueDate }
    { 1000000005;TextBox;12600;2115 ;1800 ;423 ;SourceExpr=FormatRatio(TotalOpenPaymentOutsideDueDate,TotalAmount);
    DataSetFieldName=OpenTotal_PaymentOutsideDueDateRatio }
    // End of the lines.
    
    }
    }
    }
    }
    { PROPERTIES
    ...
    
  2. Muuta koodia Toimittajan - myöhässä Maksut -raportin (10748) tietonimikkeen numerossa 3 seuraavasti:
    Olemassa oleva koodi 1

    ...
    IF AppldVendLedgEntryTmp.NEXT = 0 THEN
    CurrReport.BREAK;
    IF AppldVendLedgEntryTmp."Posting Date" > AppldVendLedgEntryTmp."Initial Entry Due Date" THEN BEGIN
    DaysOverdue := AppldVendLedgEntryTmp."Posting Date" - AppldVendLedgEntryTmp."Initial Entry Due Date";
    
    // Delete the following lines.
    VendPaymentOutsideDueDate += AppldVendLedgEntryTmp."Amount (LCY)";
    TotalPaymentOutsideDueDate += AppldVendLedgEntryTmp."Amount (LCY)";
    // End of the lines.
    
    END ELSE BEGIN
    DaysOverdue := 0;
    VendPaymentWithinDueDate += AppldVendLedgEntryTmp."Amount (LCY)";
    TotalPaymentWithinDueDate += AppldVendLedgEntryTmp."Amount (LCY)";
    END;
    ...
    

    Korvaava koodi 1

    ...
    IF AppldVendLedgEntryTmp.NEXT = 0 THEN
    CurrReport.BREAK;
    IF AppldVendLedgEntryTmp."Posting Date" > AppldVendLedgEntryTmp."Initial Entry Due Date" THEN BEGIN
    DaysOverdue := AppldVendLedgEntryTmp."Posting Date" - AppldVendLedgEntryTmp."Initial Entry Due Date";
    
    // Add the following lines.
    IF AppldVendLedgEntryTmp."Applied Vend. Ledger Entry No." = 0 THEN BEGIN 
    OpenVendPaymentOutsideDueDate += AppldVendLedgEntryTmp."Amount (LCY)"; 
    TotalOpenPaymentOutsideDueDate += AppldVendLedgEntryTmp."Amount (LCY)"; 
    END ELSE BEGIN 
    VendPaymentOutsideDueDate += AppldVendLedgEntryTmp."Amount (LCY)";
    TotalPaymentOutsideDueDate += AppldVendLedgEntryTmp."Amount (LCY)";
    END; 
    // End of the lines.
    
    END ELSE BEGIN
    DaysOverdue := 0;
    VendPaymentWithinDueDate += AppldVendLedgEntryTmp."Amount (LCY)";
    TotalPaymentWithinDueDate += AppldVendLedgEntryTmp."Amount (LCY)";
    END;
    ...
    

    Nykyinen koodi 2

    ...
    IF AppldVendLedgEntryTmp."Entry Type" = AppldVendLedgEntryTmp."Entry Type"::"Initial Entry" THEN
    AppldVendLedgEntryTmp."Posting Date" := 0D;
    VendDaysOverdue += DaysOverdue;
    VendWeightedExceededAmount += DaysOverdue * ABS(AppldVendLedgEntryTmp."Amount (LCY)");
    
    // Delete the following lines.
    VendTotalAmount := VendPaymentOutsideDueDate + VendPaymentWithinDueDate;
    TotalDaysOverdue += DaysOverdue;
    TotalWeightedExceededAmount += DaysOverdue * ABS(AppldVendLedgEntryTmp."Amount (LCY)");
    TotalAmount := TotalPaymentOutsideDueDate + TotalPaymentWithinDueDate;
    // End of the lines.
    
    END;
    }
    SECTIONS
    {
    ...
    

    Korvaava koodi 2

    ...
    IF AppldVendLedgEntryTmp."Entry Type" = AppldVendLedgEntryTmp."Entry Type"::"Initial Entry" THEN
    AppldVendLedgEntryTmp."Posting Date" := 0D;
    VendDaysOverdue += DaysOverdue;
    VendWeightedExceededAmount += DaysOverdue * ABS(AppldVendLedgEntryTmp."Amount (LCY)");
    
    // Add the following lines.
    VendTotalAmount := VendPaymentOutsideDueDate + VendPaymentWithinDueDate + OpenVendPaymentOutsideDueDate; 
    TotalDaysOverdue += DaysOverdue;
    TotalWeightedExceededAmount += DaysOverdue * ABS(AppldVendLedgEntryTmp."Amount (LCY)");
    TotalAmount := TotalPaymentOutsideDueDate + TotalPaymentWithinDueDate+TotalOpenPaymentOutsideDueDate; 
    // End of the lines.
    
    END;
    }
    SECTIONS
    {
    ...
    
  3. Muuta Toimittajan yleiset muuttujat - myöhässä Maksut -raportin (10748) koodi seuraavasti:
    Aiemmin luotu koodi

    ...
    VendPaymentWithinDueDate@1100016 : Decimal;
    VendDaysOverdue@1100017 : Decimal;
    TotalDaysOverdue@1100018 : Decimal;
    TotalWeightedExceededAmount@1100019 : Decimal;
    ShowPayments@1100012 : 'Overdue,Legally Overdue,All';
    LOCAL PROCEDURE FindAppliedPayments@1210013(VendLedgEntryNo@1210000 : Integer);
    VAR
    DtldVendLedgEntry@1210001 : Record 380;
    InvVendLedgEntry@1100000 : Record 25;
    ...
    

    Korvaava koodi

    ...
    VendPaymentWithinDueDate@1100016 : Decimal;
    VendDaysOverdue@1100017 : Decimal;
    TotalDaysOverdue@1100018 : Decimal;
    TotalWeightedExceededAmount@1100019 : Decimal;
    ShowPayments@1100012 : 'Overdue,Legally Overdue,All';
    
    // Add the following lines.
    OpenVendPaymentOutsideDueDate@1000000000 : Decimal;
    TotalOpenPaymentOutsideDueDate@1000000001 : Decimal;
    // End of the lines.
    
    LOCAL PROCEDURE FindAppliedPayments@1210013(VendLedgEntryNo@1210000 : Integer);
    VAR
    DtldVendLedgEntry@1210001 : Record 380;
    InvVendLedgEntry@1100000 : Record 25;
    ...
    
  4. Muuta ClearVendAmount-funktion koodia Toimittaja - Myöhässä Maksut -raportissa (10748) seuraavasti:
    Aiemmin luotu koodi

    ...
    VendTotalAmount := 0;
    VendDaysOverdue := 0;
    VendWeightedExceededAmount := 0;
    VendPaymentOutsideDueDate := 0;
    VendPaymentWithinDueDate := 0;
    END;
    BEGIN
    END.
    }
    ...
    

    Korvaava koodi

    ...
    VendTotalAmount := 0;
    VendDaysOverdue := 0;
    VendWeightedExceededAmount := 0;
    VendPaymentOutsideDueDate := 0;
    VendPaymentWithinDueDate := 0;
    
    // Add the following line.
    OpenVendPaymentOutsideDueDate := 0;
    
    END;
    BEGIN
    END.
    }
    ...
    

            
          

Edellytykset

Sinulla on oltava asennettuna jokin seuraavista tuotteista, jotta voit käyttää tätä hotfix-korjausta:

  • Microsoft Dynamics NAV 2009 R2:n espanjankielinen versio
  • Microsoft Dynamics NAV 2009 Service Pack 1:n espanjankielinen versio
  • Microsoft Dynamics NAV 5.0 Service Pack 1:n espanjankielinen versio

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 .