.txt-tiedoston negatiiviset summat ovat virheellisessä muodossa, kun luot telemaattisen ALV-.txt tiedoston Microsoft Dynamics NAV 5.0 Service Pack 1:n espanjankielisessä versiossa

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

Kun suoritat telemaattisen ALV-määrittelyraportin (10715) luodaksesi telemaattisen ALV-.txt-tiedoston Alv-lauseke-valintaikkunasta Microsoft Dynamics NAV 5.0 Service Pack 1 :n (SP1) espanjankielisessä versiossa, luodun .txt tiedoston negatiiviset summat ovat virheellisessä muodossa. Esimerkiksi "-1890.109,00" näkyy muodossa "0N00000189010900" .txt-tiedostossa.

Ongelman ilmenemistapa

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 tämä ongelma ei siis vakavasti vaikuta sinuun, suosittelemme odottamaan seuraavaa Microsoft Dynamics NAV 5.0 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.

Ratkaisu

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 Telemaattisen ALV-määrittelyraportin (10715) CalcTotLine-funktion koodia seuraavasti:
    Olemassa oleva koodi 1

    ...
    "VAT StatementLine2"."Amount Type"::"Unrealized Base":
    BEGIN
    VATEntry.CALCSUMS("Unrealized Base","Add.-Currency Unrealized Base");
    Amount := ConditionalAdd(0,VATEntry."Unrealized Base",VATEntry."Add.-Currency Unrealized Base");
    END;
    
    // Delete the following lines.
    "VAT StatementLine2"."Amount Type"::"Amount+Base":
    BEGIN 
    VATEntry.CALCSUMS(Amount,Base,"Additional-Currency Amount","Additional-Currency Base");
    Amount := ConditionalAdd(0,VATEntry.Amount,VATEntry."Additional-Currency Amount");
    Base := ConditionalAdd(0,VATEntry.Base,VATEntry."Additional-Currency Base"); 
    END; 
    // End of the lines.
    
    END;
    CalcTotAmount("VAT StatementLine2",TotalAmount);
    END;
    ...
    
    

    Korvaava koodi 1

    ...
    "VAT StatementLine2"."Amount Type"::"Unrealized Base":
    BEGIN
    VATEntry.CALCSUMS("Unrealized Base","Add.-Currency Unrealized Base");
    Amount := ConditionalAdd(0,VATEntry."Unrealized Base",VATEntry."Add.-Currency Unrealized Base");
    END;
    
    // Add the following lines.
    "VAT StatementLine2"."Amount Type"::"Amount+Base": 
    BEGIN 
    VATEntry.CALCSUMS(Amount,Base,"Additional-Currency Amount","Additional-Currency Base");
    IF VATPostSetup.GET(VATEntry."VAT Bus. Posting Group",VATEntry."VAT Prod. Posting Group") THEN BEGIN 
    IF VATPostSetup."VAT+EC %" <> 0 THEN BEGIN 
    VATAmount := (VATEntry.Amount / VATPostSetup."VAT+EC %") * VATEntry."VAT %"; 
    VATAmountAC := (VATEntry."Additional-Currency Amount" / VATPostSetup."VAT+EC %") * 
    VATEntry."VAT %"; 
    END; 
    Amount := ConditionalAdd(0,VATAmount,VATAmountAC); 
    END; 
    Base := ConditionalAdd(0,VATEntry.Base,VATEntry."Additional-Currency Base");
    Amount := Amount + Base; 
    END;
    // End of the lines.
    
    END;
    CalcTotAmount("VAT StatementLine2",TotalAmount);
    END;
    ...
    
    

    Nykyinen koodi 2

    ...
    "VAT StatementLine2"."Amount Type"::"Unrealized Base":
    BEGIN
    VATEntry.CALCSUMS("Unrealized Base","Add.-Currency Unrealized Base");
    Amount := ConditionalAdd(0,VATEntry."Unrealized Base",VATEntry."Add.-Currency Unrealized Base");
    END;
    
    // Delete the following lines.
    "VAT StatementLine2"."Amount Type"::"Amount+Base":
    BEGIN
    VATEntry.CALCSUMS(Amount,Base,"Additional-Currency Amount","Additional-Currency Base");
    Amount := ConditionalAdd(0,VATEntry.Amount,VATEntry."Additional-Currency Amount");
    Base := ConditionalAdd(0,VATEntry.Base,VATEntry."Additional-Currency Base");
    END;
    // End of the lines.
    
    END;
    CalcTotAmount("VAT StatementLine2",TotalAmount);
    END;
    
    END;
    
    EXIT(TRUE);
    ...
    
    

    Korvaava koodi 2

    ...
    "VAT StatementLine2"."Amount Type"::"Unrealized Base":
    BEGIN
    VATEntry.CALCSUMS("Unrealized Base","Add.-Currency Unrealized Base");
    Amount := ConditionalAdd(0,VATEntry."Unrealized Base",VATEntry."Add.-Currency Unrealized Base");
    END;
    
    // Add the following lines.
    "VAT StatementLine2"."Amount Type"::"Amount+Base":
    BEGIN
    VATEntry.CALCSUMS(Amount,Base,"Additional-Currency Amount","Additional-Currency Base");
    IF VATPostSetup.GET(VATEntry."VAT Bus. Posting Group",VATEntry."VAT Prod. Posting Group") THEN BEGIN
    IF VATPostSetup."VAT+EC %" <> 0 THEN BEGIN
    VATAmount := (VATEntry.Amount / VATPostSetup."VAT+EC %") * VATEntry."EC %";
    VATAmountAC := (VATEntry."Additional-Currency Amount" / VATPostSetup."VAT+EC %") *
    VATEntry."EC %";
    END;
    Amount := ConditionalAdd(0,VATAmount,VATAmountAC);
    END;
    Base := ConditionalAdd(0,VATEntry.Base,VATEntry."Additional-Currency Base");
    Amount := Amount + Base; 
    END;
    // End of the lines.
    
    END;
    CalcTotAmount("VAT StatementLine2",TotalAmount);
    END;
    
    END;
    
    EXIT(TRUE);
    ...
    
    
  2. Muuta LoadValue-funktion koodia Telematic VAT Declaration -raportissa (10715) seuraavasti:
    Aiemmin luotu koodi

    ...
    CASE TransFormat.Subtype OF
    
    // Delete the following lines.
    TransFormat.Subtype::"Integer and Decimal Part" :
    BEGIN 
    TransFormat.Value := Negative + FORMAT(Amt,TransFormat.Length - STRLEN(Negative),
    Text1100010+'2'+Text1100011);
    TransFormat.Value := CONVERTSTR(DELCHR(TransFormat.Value,'=',',.'),' ','0');
    TransFormat.Value := PADSTR('',TransFormat.Length - STRLEN(TransFormat.Value),'0') + TransFormat.Value;
    END; 
    TransFormat.Subtype::"Integer Part" :
    BEGIN
    TransFormat.Value := Negative + FORMAT(Amt,TransFormat.Length - STRLEN(Negative),
    Text1100012);
    TransFormat.Value := CONVERTSTR(CONVERTSTR(TransFormat.Value,',','.'),' ','0');
    END;
    TransFormat.Subtype::"Decimal Part" :
    BEGIN
    TransFormat.Value := FORMAT(Amt,TransFormat.Length+1,Text1100010+
    FORMAT(TransFormat.Length,1) +Text1100013);
    TransFormat.Value := CONVERTSTR(DELCHR(TransFormat.Value,'=','.,'),' ','0');
    TransFormat.Value := PADSTR('',TransFormat.Length - STRLEN(TransFormat.Value),'0') + TransFormat.Value;
    END;
    // End of the lines.
    
    END;
    TransFormat.MODIFY;
    ...
    
    

    Korvaava koodi

    ...
    CASE TransFormat.Subtype OF
    
    // Add the following lines.
    TransFormat.Subtype::"Integer and Decimal Part":
    BEGIN
    TransFormat.Value := FORMAT(Amt,TransFormat.Length,Text1100010 + '2' + Text1100011);
    TransFormat.Value := CONVERTSTR(DELCHR(TransFormat.Value,'=',',.'),' ','0');
    TransFormat.Value := Negative + PADSTR('',TransFormat.Length - STRLEN(Negative) - 
    STRLEN(TransFormat.Value),'0') + TransFormat.Value;
    END;
    TransFormat.Subtype::"Integer Part":
    BEGIN 
    TransFormat.Value := Negative + FORMAT(Amt,TransFormat.Length - STRLEN(Negative), 
    Text1100012); 
    TransFormat.Value := CONVERTSTR(CONVERTSTR(TransFormat.Value,',','.'),' ','0'); 
    END; 
    TransFormat.Subtype::"Decimal Part":
    BEGIN 
    TransFormat.Value := FORMAT(Amt,TransFormat.Length,Text1100010 + '2' + Text1100013);
    TransFormat.Value := CONVERTSTR(DELCHR(TransFormat.Value,'=','.,'),' ','0'); 
    TransFormat.Value := Negative + PADSTR('',TransFormat.Length - STRLEN(Negative) - 
    STRLEN(TransFormat.Value),'0') + TransFormat.Value; 
    END; 
    // End of the lines.
    
    END;
    TransFormat.MODIFY;
    ...
    
    

Edellytykset

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

Poistotiedot

Et voi poistaa tätä hotfix-korjausta.

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

Tila

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 .