Valuuttamäärää ei lisätä, kun noudat telepankkimaksuehdotuksen laskusta, joka on kirjattu paikallisessa valuutassa Microsoft Dynamics NAV 2009:n hollanninkielisessä versiossa

Käytetään kohteeseen
Dynamics NAV 2009

Tämä artikkeli koskee Microsoft Dynamics NAV -ohjelmaa hollanninkielisessä kielialueessa (nl).

Ongelman ilmenemistapa

Oletetaan, että julkaiset laskun paikallisessa valuutassa Microsoft Dynamics NAV 2009:n Alankomaiden versiossa. Tässä tilanteessa järjestelmä ehdottaa vain paikallista valuuttasummaa, kun suoritat Nouda ehdotukset -funktion laskussa Telebank – Pankin yleiskatsaus -lomakkeessa. Oletat, että järjestelmä ehdottaa myös ulkomaan valuutan summaa. Tämä ongelma ilmenee seuraavissa tuotteissa:

  • Microsoft Dynamics NAV 2009 R2:n hollantilainen versio
  • Microsoft Dynamics NAV 2009 Service Pack 1:n hollantilainen 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 tämän ongelman seuraavasti:

  1. Muuta Koodia Nouda ehdotukset -raportin (110000000) Tietokohteen numero 4 -osassa seuraavasti:
    Olemassa oleva koodi 1

    ...
    Propline."Description 4":=DELCHR(Propline."Description 4"+' '+UseDocumentNo,'<>')
    ELSE
    Propline.Docket:=TRUE;
    END;
    
    // Delete the following lines.
    IF Propline.Docket THEN
    IF Propline."Description 1"<>Text1000016 THEN BEGIN
    Propline."Description 1":=Text1000016;
    CASE Propline."Account Type" OF
    Propline."Account Type"::Customer:
    BEGIN
    Custm.GET(Propline."Account No.");
    IF Custm."Our Account No."<>'' THEN
    Propline."Description 2" :=
    COPYSTR(STRSUBSTNO(Text1000018, Custm."Our Account No."), 1, MAXSTRLEN(Propline."Description 2" ))
    ELSE BEGIN
    CompanyInfo.GET;
    Propline."Description 2":= COPYSTR(CompanyInfo.Name,1,MAXSTRLEN(Propline."Description 2" ));
    END;
    END;
    Propline."Account Type"::Vendor:
    BEGIN
    Vend.GET(Propline."Account No.");
    IF Vend."Our Account No."<>'' THEN
    Propline."Description 2" :=
    COPYSTR(STRSUBSTNO(Text1000017, Vend."Our Account No."),1,MAXSTRLEN(Propline."Description 2"))
    ELSE BEGIN
    CompanyInfo.GET;
    Propline."Description 2":= COPYSTR(CompanyInfo.Name,1,MAXSTRLEN(Propline."Description 2" ));
    END;
    END;
    END;
    Propline."Description 3":='';
    Propline."Description 4":='';
    END;
    // End of the lines.
    
    IF Propline.Identification='' THEN BEGIN
    TrMode.TESTFIELD("Identification No. Series");
    NoSeriesManagement.InitSeries(TrMode."Identification No. Series",
    '',
    ...
    

    Korvaava koodi 1

    ...
    Propline."Description 4":=DELCHR(Propline."Description 4"+' '+UseDocumentNo,'<>')
    ELSE
    Propline.Docket:=TRUE;
    END;
    
    // Add the following line.
    FillDescriptionAndCurrency;
    
    IF Propline.Identification='' THEN BEGIN
    TrMode.TESTFIELD("Identification No. Series");
    NoSeriesManagement.InitSeries(TrMode."Identification No. Series",
    '',
    ...
    

    Nykyinen koodi 2

    ...
    Propline."Transaction Date",
    Propline.Identification,
    Propline."Identification No. Series");
    END;
    Propline.MODIFY;
    NumeratorDetailLines:=NumeratorDetailLines+1;
    BatchStatus.UPDATE(2,ROUND(NumeratorDetailLines/NumberOfDetailLines*10000,1));
    END;
    ...
    

    Korvaava koodi 2

    ...
    Propline."Transaction Date",
    Propline.Identification,
    Propline."Identification No. Series");
    END;
    
    // Add the following lines.
    IF Propline."Foreign Currency" = Propline."Currency Code" THEN
    Propline.VALIDATE("Foreign Amount",0)
    ELSE BEGIN
    Propline.VALIDATE("Foreign Amount",ROUND(
    CurrencyExchangeRate.ExchangeAmtFCYToFCY(
    Propline."Transaction Date",Propline."Currency Code",Propline."Foreign Currency",Propline.Amount)));
    END;
    // End of the lines.
    
    Propline.MODIFY;
    NumeratorDetailLines:=NumeratorDetailLines+1;
    BatchStatus.UPDATE(2,ROUND(NumeratorDetailLines/NumberOfDetailLines*10000,1));
    END;
    ...
    
  2. Muuta Hae ehdotukset -raportin (110000000) Yleiset muuttujat -osan koodia seuraavasti:
    Aiemmin luotu koodi

    ...
    PmtDiscExpiryDate@1000032 : Date;
    Bnk@1000033 : Record 270;
    Custm@1000034 : Record 18;
    Vend@1000035 : Record 23;
    CompanyInfo@1000036 : Record 79;
    
    // Delete the following lines.
    NoSeriesManagement@1000037 : Codeunit 396;
    BEGIN
    // End of the lines.
    
    END.
    }
    RDLDATA
    {
    }
    ...
    

    Korvaava koodi

    ...
    PmtDiscExpiryDate@1000032 : Date;
    Bnk@1000033 : Record 270;
    Custm@1000034 : Record 18;
    Vend@1000035 : Record 23;
    CompanyInfo@1000036 : Record 79;
    
    // Add the following lines.
    CurrencyExchangeRate@1000038 : Record 330;
    NoSeriesManagement@1000037 : Codeunit 396;
    LOCAL PROCEDURE FillDescriptionAndCurrency@1000039();
    BEGIN
    IF DetailLine."Account No." <> '' THEN
    CASE DetailLine."Account Type" OF
    DetailLine."Account Type"::Customer:
    BEGIN
    Custm.GET(DetailLine."Account No.");
    Propline.VALIDATE("Foreign Currency",Custm."Currency Code");
    IF Propline.Docket THEN BEGIN
    IF Propline."Description 1" <> Text1000016 THEN
    Propline."Description 1" := Text1000016;
    IF Custm."Our Account No." <> '' THEN
    Propline."Description 2" :=
    COPYSTR(STRSUBSTNO(Text1000018, Custm."Our Account No."), 1, MAXSTRLEN(Propline."Description 2" ))
    ELSE BEGIN
    CompanyInfo.GET;
    Propline."Description 2" := COPYSTR(CompanyInfo.Name,1,MAXSTRLEN(Propline."Description 2" ));
    END;
    Propline."Description 3" := '';
    Propline."Description 4" := '';
    END;
    END;
    DetailLine."Account Type"::Vendor:
    BEGIN
    Vend.GET(DetailLine."Account No.");
    Propline.VALIDATE("Foreign Currency",Vend."Currency Code");
    IF Propline.Docket THEN BEGIN
    IF Propline."Description 1" <> Text1000016 THEN
    Propline."Description 1" := Text1000016;
    IF Vend."Our Account No."<>'' THEN
    Propline."Description 2" :=
    COPYSTR(STRSUBSTNO(Text1000017, Vend."Our Account No."),1,MAXSTRLEN(Propline."Description 2"))
    ELSE BEGIN
    CompanyInfo.GET;
    Propline."Description 2":= COPYSTR(CompanyInfo.Name,1,MAXSTRLEN(Propline."Description 2" ));
    END;
    Propline."Description 3":='';
    Propline."Description 4":='';
    END;
    END;
    END;
    END;
    // End of the lines.
    
    END.
    }
    RDLDATA
    {
    }
    ...
    

          

Edellytykset

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

  • Microsoft Dynamics NAV 2009 R2:n hollantilainen versio
  • Microsoft Dynamics NAV 2009 Service Pack 1:n hollantilainen 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 .