A 347-es fájl helytelen, ha több olyan vevővel vagy szállítóval rendelkezik, akinek a Microsoft Dynamics NAV spanyol verziójában azonos az általános forgalmi adó (ÁFA) regisztrációs száma

Hatókör
Dynamics NAV 2009 Microsoft Dynamics NAV 5.0

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

Tünetek

Tegyük fel, hogy több olyan vevője vagy szállítója van, akinek ugyanaz az áfa-regisztrációs száma a Microsoft Dynamics NAV spanyol verziójában. Ha az első vevőnek vagy szállítónak nincsenek bejegyzései, a második vevőnek vagy szállítónak pedig bejegyzései, akkor a rendszer nem veszi figyelembe a második vevő vagy szállító bejegyzéseit. Ezért a létrehozott 347-es fájl helytelen. Ez a probléma a következő termékekben fordul elő:

  • A Microsoft Dynamics NAV 2009 R2 spanyol nyelvű verziója
  • A Microsoft Dynamics NAV 2009 Service Pack 1 spanyol nyelvű verziója
  • A Microsoft Dynamics NAV 5.0 Service Pack 1 spanyol verziója

Megoldás

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 2009 következő szervizcsomagját, illetve a Microsoft Dynamics NAV következő olyan 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.

            
          

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. Változtassa meg a 6. adattétel kódját a Make 347 nyilatkozatjelentésben (10707) a következők szerint:
    Meglévő kód

    ...
    IF Vendor."VAT Registration No." <> '' THEN BEGIN
    TotalNotIn347Amt := TotalNotIn347Amt + NotIn347Amt + AmtSameVATRegNo;
    
    // Delete the following line.
    PurchasesAmt := PurchasesAmt - NotIn347Amt;
    // End of the line.
    
    IF PurchasesAmt >= MinAmount THEN BEGIN
    IF PostCode347 = ' ' THEN
    ERROR(Text1100009,Vendor."No.");
    ...
    
    

    Helyettesítő kód

    ...
    IF Vendor."VAT Registration No." <> '' THEN BEGIN
    TotalNotIn347Amt := TotalNotIn347Amt + NotIn347Amt + AmtSameVATRegNo;
    
    // Add the following line.
    PurchasesAmt := PurchasesAmt - NotIn347Amt + AmtSameVATRegNo; // ES0001
    // End of the line.
    
    IF PurchasesAmt >= MinAmount THEN BEGIN
    IF PostCode347 = ' ' THEN
    ERROR(Text1100009,Vendor."No.");
    ...
    
    
  2. Módosítsa a CheckSameVATRegNo függvény kódját a Make 347 Declaration jelentésben (10707) a következők szerint:
    Meglévő kód: 1

    ...
    VATEntry3@1100000 : Record 254;
    BEGIN
    VATEntry3.SETCURRENTKEY(Type,"Country/Region Code","VAT Registration No.");
    
    // Delete the following line.
    VATEntry3.SETRANGE(Type,VATEntry3.Type::Sale);
    // End of the line.
    
    VATEntry3.SETRANGE("Country/Region Code",CountryCode);
    IF IsCustomer THEN BEGIN
    ...
    
    

    Helyettesítő kód 1

    ...
    VATEntry3@1100000 : Record 254;
    BEGIN
    VATEntry3.SETCURRENTKEY(Type,"Country/Region Code","VAT Registration No.");
    VATEntry3.SETRANGE("Country/Region Code",CountryCode);
    IF IsCustomer THEN BEGIN
    ...
    
    

    Meglévő 2. kód

    ...
    VATEntry3.SETRANGE("Country/Region Code",CountryCode);
    IF IsCustomer THEN BEGIN
    VATEntry3.SETRANGE("VAT Registration No.",Customer."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Customer."No.");
    END ELSE BEGIN
    ...
    
    

    2-es helyettesítő kód

    ...
    VATEntry3.SETRANGE("Country/Region Code",CountryCode);
    IF IsCustomer THEN BEGIN
    
    // Add the following line.
    VATEntry3.SETRANGE(Type,VATEntry3.Type::Sale); // ES0001
    // End of the line.
    
    VATEntry3.SETRANGE("VAT Registration No.",Customer."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Customer."No.");
    END ELSE BEGIN
    ...
    
    

    Meglévő 3-as kód

    ...
    VATEntry3.SETRANGE("VAT Registration No.",Customer."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Customer."No.");
    END ELSE BEGIN
    VATEntry3.SETRANGE("VAT Registration No.",Vendor."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Vendor."No.");
    END;
    ...
    
    

    3-as helyettesítő kód

    ...
    VATEntry3.SETRANGE("VAT Registration No.",Customer."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Customer."No.");
    END ELSE BEGIN
    
    // Add the following line.
    VATEntry3.SETRANGE(Type,VATEntry3.Type::Purchase); // ES0001
    // End of the line.
    
    VATEntry3.SETRANGE("VAT Registration No.",Vendor."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Vendor."No.");
    END;
    ...
    
    

    Meglévő 4-es kód

    ...
    VATEntry3.SETRANGE("VAT Registration No.",Vendor."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Vendor."No.");
    END;
    
    // Delete the following line.
    VATEntry3.SETRANGE("Posting Date",FromDate,ToDate);
    // End of the line.
    
    IF VATEntry3.FINDFIRST THEN
    REPEAT
    ...
    
    

    4-es helyettesítő kód

    ...
    VATEntry3.SETRANGE("VAT Registration No.",Vendor."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Vendor."No.");
    END;
    
    // Add the following line.
    VATEntry3.SETRANGE("Document Date",FromDate,ToDate); // ES0001
    // End of the line.
    
    IF VATEntry3.FINDFIRST THEN
    REPEAT
    ...
    
    

    Meglévő 5-ös kód

    ...
    IF VATEntry3.FINDFIRST THEN
    REPEAT
    
    // Delete the following line.
    Amt := ABS(Amt + VATEntry3.Base + VATEntry3.Amount);
    // End of the line.
    
    UNTIL VATEntry3.NEXT = 0;
    EXIT(Amt);
    END;
    ...
    
    

    5-ös helyettesítő kód

    ...
    IF VATEntry3.FINDFIRST THEN
    REPEAT
    
    // Add the following lines.
    // ES0001.begin
    IF IsCustomer THEN
    Amt := Amt - VATEntry3.Base - VATEntry3.Amount
    ELSE
    Amt := Amt + VATEntry3.Base + VATEntry3.Amount;
    // ES0001.end
    // End of the lines.
    
    UNTIL VATEntry3.NEXT = 0;
    EXIT(Amt);
    END;
    ...
    
    

Előfeltételek

A gyorsjavítás alkalmazásához az alábbi termékek egyikének telepítve kell lennie:

  • A Microsoft Dynamics NAV 2009 R2 spanyol nyelvű verziója
  • A Microsoft Dynamics NAV 2009 Service Pack 1 spanyol nyelvű verziója
  • A Microsoft Dynamics NAV 5.0 Service Pack 1 spanyol verziója

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

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

Állapot

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.

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.