A .txt fájlban szereplő negatív összegek formátuma helytelen, amikor a Microsoft Dynamics NAV 5.0 Service Pack 1 spanyol verziójában hoz létre egy telematikai áfa .txt fájlt

Ez a cikk a Microsoft Dynamics NAV rendszerre vonatkozik a spanyol (es) nyelvi beállítás esetén.

Amikor a Telematikai áfabevallás jelentés (10715) futtatásával telematikus áfabevallási .txt hoz létre egy telematikai áfabevallási fájlt a Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1) spanyol verziójában, a létrehozott .txt-fájlban szereplő negatív összegek formátuma helytelen. Például a "-1890,109,00" összeg "0N000000189010900" formában jelenik meg a .txt fájlban.

Tünetek

Gyorsjavítással kapcsolatos információk

A Microsoft már elérhető egy támogatott gyorsjavítást kínál. Ez azonban csak a cikkben ismertetett probléma megoldására szolgál. Csak olyan rendszerekre alkalmazza, amelyek tapasztalják ezt a problémát. Előfordulhat, hogy a gyorsjavítás további tesztelésen eshet át. Ezért ha nem érinti súlyosan ez a probléma, azt javasoljuk, hogy várja meg a Microsoft Dynamics NAV 5.0 következő szervizcsomagját, illetve a Microsoft Dynamics NAV következő verzióját, amely tartalmazza ezt a gyorsjavítást.

Megjegyzés: Különleges esetekben a támogatási hívások szokásos díjai törölhetők, ha a Microsoft Dynamics és a kapcsolódó termékek terméktámogatási szakértője úgy ítéli meg, hogy egy adott frissítés megoldja a problémát. A szokásos támogatási költségek olyan további támogatási kérdések és problémák esetén merülnek fel, amelyek nem felelnek meg a kérdéses frissítés feltételeinek.

Megoldás

Telepítési információk

A Microsoft csak illusztrációs céllal kínál programozási példákat, kifejezett vagy vélelmezett garancia nélkül. Ez magában foglalja, de nem kizárólagosan a forgalmazhatóságra vagy az adott célra való alkalmasságra vonatkozó vélelmezett garanciát. Ez a cikk feltételezi, hogy ismeri a bemutatott programozási nyelvet, valamint az eljárások létrehozásához és hibakereséséhez használt eszközöket. A Microsoft támogatási szakemberei segíthetnek elmagyarázni egy adott eljárás funkcionalitását, de nem módosítják a példákat, hogy további funkciókat biztosítsanak, és nem építenek ki eljárásokat az egyéni igényekre.

Megjegyzés: A gyorsjavítás telepítése előtt győződjön meg arról, hogy a Microsoft Navision-ügyfél összes felhasználója kijelentkezett a rendszerről. Ide tartoznak a Microsoft Navision Application Services (NAS) kliens felhasználói is. A gyorsjavítás telepítésekor csak Ön lehet az, aki be van jelentkezve.

A gyorsjavítás implementálásához fejlesztői licenccel kell rendelkeznie.

Javasoljuk, hogy a Windows Bejelentkezések ablakában vagy az Adatbázis-bejelentkezések ablakban látható felhasználói fiókhoz rendelje a "SUPER" szerepkörazonosítót. Ha a felhasználói fiókhoz nem rendelhető a "SUPER" szerepkörazonosító, ellenőriznie kell, hogy a felhasználói fiók rendelkezik-e az alábbi engedélyekkel:

  • A módosítani kívánt objektum Módosítás engedélye.
  • Végrehajtási engedély az 5210-es rendszerazonosítójú objektumhoz és a 9015-ös rendszerobjektum-azonosítójú objektumhoz.

            
Megjegyzés: Az adattárakhoz csak akkor kell jogokkal rendelkeznie, ha adatokat kell javítást végeznie.

Kódváltozások

Megjegyzés: Mindig ellenőrzött környezetben tesztelje a kódjavításokat, mielőtt telepítené őket az üzemi számítógépekre.
A probléma megoldásához hajtsa végre az alábbi lépéseket:

  1. Módosítsa a Telematikai áfabevallás (10715) CalcTotLine függvényében szereplő kódot a következők szerint:
    Meglévő kód: 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;
    ...
    
    

    Helyettesítő kód 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;
    ...
    
    

    Meglévő 2. kód

    ...
    "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);
    ...
    
    

    2-es helyettesítő kód

    ...
    "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. Módosítsa a LoadValue függvény kódját a telematikai áfabevallásban (10715) a következők szerint:
    Meglévő kód

    ...
    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;
    ...
    
    

    Helyettesítő kód

    ...
    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;
    ...
    
    

Előfeltételek

A gyorsjavítás alkalmazásához a Microsoft Dynamics NAV 5.0 SP1 spanyol verziójának kell telepítve lennie.

Eltávolítással kapcsolatos információk

Ez a gyorsjavítás nem távolítható el.

A Microsoft megerősítette, hogy ez egy olyan probléma a Microsoft-termékekben, amely az „Érintett szolgáltatás“ című szakaszban van felsorolva.

Állapot

Megjegyzés: Ez egy "GYORS KÖZZÉTÉTELŰ" cikk, amelyet közvetlenül a Microsoft támogatási szervezete készített. A dokumentumban szereplő információkat adott formában bocsátjuk rendelkezésre, a felmerülő problémákra adott válaszként. A rendelkezésre bocsátás gyorsasága következtében az anyagok sajtóhibákat tartalmazhatnak, és bármikor, előzetes értesítés nélkül felülvizsgálhatók. További szempontokat a használati feltételekben talál.