A következő hibaüzenet jelenik meg, amikor a Microsoft Dynamics NAV portugál verziójában dimenziókat használó beszerzési jóváírást tesz közzé: "A tranzakciót nem lehet befejezni, mert következetlenségeket okozna a Főkönyvi bevitel táblázatban"

Hatókör
Dynamics NAV 2009 Service Pack 1 Microsoft Dynamics NAV 5.0 Service Pack 1

A Gyorsan közzétett cikkek közvetlenül a Microsoft támogatási szervezetéből szolgáltatnak információt. Az itt található információk újonnan felmerülő vagy egyedi témákra válaszul jönnek létre, vagy a Tudásbázis egyéb információinak kiegészítésére szolgálnak.
 A Microsoft Business Solutions-Navision 4.0 és a Microsoft Navision 4.0 mostantól a Microsoft Dynamics NAV 4.0 része. A Microsoft Business Solutions-Navision-ra vagy a Microsoft Navision 4.0-ra való minden hivatkozás a Microsoft Dynamics NAV-ra vonatkozik.

Ez a cikk a Microsoft Dynamics NAV portugál (pt) területi beállítására vonatkozik.

Tünetek

Feltételezzük, hogy a fordított áfaértéket , a D % és az ÁFA N.D. % értékét a Microsoft Dynamics NAV portugál verziójában állítja be az általános forgalmi adó (áfa) feladási beállításaiban. Amikor dimenziókat használó beszerzési jóváírást tesz közzé, az alábbihoz hasonló hibaüzenet jelenik meg:

Megjegyzés

A tranzakciót nem lehet befejezni, mert inkonzisztenciákat okozna a Főkönyvi bevitel táblában.

Ellenőrizze, hogy hol és hogyan használja a KONZISZTENS függvényt a tranzakcióban a hiba okának meghatározásához.

Forduljon a rendszergazdához.

A táblázatok megjelölhetők következetlenként átfogó feladatok, például közzététel során. Ez megakadályozza az adatok helytelen frissítését.

Ez a probléma a következő termékekben fordul elő:

  • A Microsoft Dynamics NAV 2009 Service Pack 1 portugál nyelvű verziója
  • A Microsoft Dynamics NAV 5.0 Service Pack 1 portugál nyelvű verziója
  • A Microsoft Dynamics NAV 4.0 Service Pack 3 portugál nyelvű 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 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.

            
          

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 gyorsjavítás alkalmazásához hajtsa végre a következő lépéseket:

  1. Módosítsa a globális változók kódját a Gen. Jnl.-Post Line kódegység (12) az alábbiak szerint:
    Meglévő kód

    ...
            LastTempTransNo@1110089 : Integer;
            NextEntryNo2@1110152 : Integer;
            PROCEDURE GetGLReg@10(VAR NewGLReg@1000 : Record 45);
    ...
    
    

    Helyettesítő kód

    ...
            LastTempTransNo@1110089 : Integer;
            NextEntryNo2@1110152 : Integer;
    
            // Add the following line.
            TempVATAmount@1110024 : Decimal;
            // End of the added line.
    
          PROCEDURE GetGLReg@10(VAR NewGLReg@1000 : Record 45);
    ...
    
    
  2. Módosítsa a kódot az InitVat függvényben a Gen. Jnl.-Post Line kódegység (12) az alábbiak szerint:
    Meglévő kód: 1

            PROCEDURE InitVat@33();
          BEGIN
            WITH GenJnlLine DO
    ...
    
    

    Helyettesítő kód 1

         PROCEDURE InitVat@33();
    
          // Add the following line.
          VAR
            TempVATDAmount@1110025 : Decimal;
          // End of the added line.
    
          BEGIN
            WITH GenJnlLine DO
    ...
    
    

    Meglévő 2. kód

    ...
            //--PT----
                                  GLEntry."VAT Amount" := ROUND(GLEntry.Amount * VATPostingSetup."VAT D. %" / 100);
                                  AddCurrGLEntryVATAmt :=
                                    ROUND(
    ...
    
    

    2-es helyettesítő kód

    ...
            //--PT----
                                  GLEntry."VAT Amount" := ROUND(GLEntry.Amount * VATPostingSetup."VAT D. %" / 100);
    
                                  // Add the following lines.
                                  TempVATAmount := ROUND(GLEntry.Amount * VATPostingSetup."VAT %" / 100);
                                  TempVATDAmount := GLEntry."VAT Amount";
                                  // End of the added lines.
    
                                  AddCurrGLEntryVATAmt :=
                                    ROUND(
    ...
    
    

    Meglévő 3-as kód

    ...
                                      AddCurrency."Amount Rounding Precision");
    
                                  // Delete the following lines.
                                  GLEntry.Amount :=
                                    ROUND(
                                      GLEntry.Amount * (1 + VATPostingSetup."VAT N.D. %" / 100));
                                  // End of the deleted lines.
    
                                  GLEntry."Additional-Currency Amount" :=
                                    ROUND(
    ...
    
    

    3-as helyettesítő kód

    ...
                                      AddCurrency."Amount Rounding Precision");
    
                                  // Add the following lines.
                                  GLEntry.Amount := ROUND(GLEntry.Amount + TempVATAmount - TempVATDAmount);
                                  // End of the added lines.
    
                                  GLEntry."Additional-Currency Amount" :=
                                    ROUND(
    ...
    
    

    Meglévő 4-es kód

    ...
            //--PT----
                        // Delete the following lines.
                        IF VATPostingSetup."VAT %" <> 0 THEN BEGIN
                            GLEntry.Amount := GLEntry.Amount +
                              (GLEntry."VAT Amount" - ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT D. %" / VATPostingSetup."VAT %")) +
                              "ND Difference";
                        // End of the deleted lines.
    
                          // Delete the following lines.
                          IF VATPostingSetup."VAT Calculation Type" = VATPostingSetup."VAT Calculation Type"::"Reverse Charge VAT" THEN BEGIN
                            IF "ND Difference" > 0 THEN BEGIN
                              IF VATPostingSetup."VAT D. %" > 0 THEN
                                GLEntry."VAT Amount" :=
                                  ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT D. %" / VATPostingSetup."VAT %") - "ND Difference"
                              ELSE BEGIN
                                GLEntry."VAT Amount" :=
                                  ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT N.D. %" / VATPostingSetup."VAT %") - "ND Difference";
                                "UE Aquisition Not Accep." := TRUE;
                              END;
                            END ELSE BEGIN
                              IF VATPostingSetup."VAT D. %" > 0 THEN
                                GLEntry."VAT Amount" :=
                                  ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT D. %" / VATPostingSetup."VAT %")
                              ELSE BEGIN
                                GLEntry."VAT Amount" :=
                                  ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT N.D. %" / VATPostingSetup."VAT %");
                                "UE Aquisition Not Accep." := TRUE;
                              END;
                            END;
                          // End of the deleted lines.
    
                          END ELSE BEGIN
                            IF "ND Difference" > 0 THEN
    ...
    
    

    4-es helyettesítő kód

    ...
                        // Add the following lines.
                        TempVATAmount := GLEntry."VAT Amount";
                        IF VATPostingSetup."VAT %" <> 0 THEN BEGIN
                        TempVATDAmount := ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT D. %" / VATPostingSetup."VAT %");
                          GLEntry.Amount := GLEntry.Amount + GLEntry."VAT Amount" - TempVATDAmount + "ND Difference";
                          IF VATPostingSetup."VAT Calculation Type" = VATPostingSetup."VAT Calculation Type"::"Reverse Charge VAT" THEN BEGIN
                            IF VATPostingSetup."VAT D. %" > 0 THEN
                              GLEntry."VAT Amount" := TempVATDAmount
                            ELSE
                              "UE Aquisition Not Accep." := TRUE;
                             IF "ND Difference" > 0 THEN
                               GLEntry."VAT Amount" := GLEntry."VAT Amount" - "ND Difference";
                        // End of the added lines.
    
                          END ELSE BEGIN
                            IF "ND Difference" > 0 THEN
    ...
    
    

    Meglévő 5-ös kód

    GLEntry."VAT Amount" :=
    ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT D. %" / VATPostingSetup."VAT %")
    ELSE
    
    // Delete the following lines.
    GLEntry."VAT Amount" :=
    GLEntry."VAT Amount" - ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT N.D. %" / VATPostingSetup."VAT %")
    + "VAT Difference";
    // End of the deleted lines.
    
    END;
    END;
    ...
    
    

    5-ös helyettesítő kód

    GLEntry."VAT Amount" :=
    ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT D. %" / VATPostingSetup."VAT %")
    ELSE
    
    // Add the following line.
    GLEntry."VAT Amount" := TempVATDAmount + "VAT Difference";
    // End of the added line.
    
    END;
    END;
    ...
    
    
  3. Módosítsa a kódot az InsertVAT függvényben a Gen. Jnl.-Post Line kódegység (12) az alábbiak szerint:
    Meglévő kód: 1

    ...
                                    VATPostingSetup."Return VAT account (Sales)",
            //                        -GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100,
    
                                    // Delete the following line.
                                    ROUND(-GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100),
                                    // End of the deleted line.
    
            //                        -SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100,
                                    ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100),
    ...
    
    

    Helyettesítő kód 1

    ...
                                    VATPostingSetup."Return VAT account (Sales)",
            //                        -GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100,
    
                                      // Add the following line.
                                      -TempVATAmount,
                                      // End of the added line.
    
            //                        -SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100,
                                    ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100),
    ...
    
    

    Meglévő 2. kód

    ...
            //                    -GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100,
            //                    ROUND(-GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100),
    
                                  // Delete the following line.
                                  ROUND((- VATBase * VATPostingSetup."VAT D. %" / 100) - (VATBase * VATPostingSetup."VAT N.D. %" / 100)),
                                  // End of the deleted line.
    
            //                    -SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100,
                                ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100),
    ...
    
    

    2-es helyettesítő kód

    ...
            //                    -GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100,
            //                    ROUND(-GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100),
    
                                  // Add the following line.
                                  -TempVATAmount,
                                  // End of the added line.
    
            //                    -SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100,
                                ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100),
    ...
    
    

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 Service Pack 1 portugál nyelvű verziója
  • A Microsoft Dynamics NAV 5.0 Service Pack 1 portugál nyelvű verziója
  • A Microsoft Dynamics NAV 4.0 Service Pack 3 portugál nyelvű 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.

A MICROSOFT ÉS/VAGY BESZÁLLÍTÓI NEM VÁLLALNAK FELELŐSSÉGET A WEBHELYEN KÖZZÉTETT DOKUMENTUMOKBAN ÉS KAPCSOLÓDÓ ÁBRÁKON (AZ "ANYAGOK") TALÁLHATÓ INFORMÁCIÓK BÁRMILYEN CÉLRA VALÓ ALKALMASSÁGÁÉRT, MEGBÍZHATÓSÁGÁÉRT VAGY PONTOSSÁGÁÉRT.

AZ ANYAGOK TECHNIKAI PONTATLANSÁGOKAT VAGY TIPOGRÁFIAI HIBÁKAT TARTALMAZHATNAK, ÉS BÁRMIKOR, ELŐZETES ÉRTESÍTÉS NÉLKÜL FELÜLVIZSGÁLHATÓK. A MICROSOFT ÉS/VAGY BESZÁLLÍTÓI AZ ALKALMAZANDÓ JOGSZABÁLYOK ÁLTAL MEGENGEDETT LEGNAGYOBB MÉRTÉKIG ELHÁRÍTANAK ÉS KIZÁRNAK MINDEN KIFEJEZETT, VÉLELMEZETT VAGY TÖRVÉNYES ÁLLÍTÁST, GARANCIÁT ÉS FELTÉTELT, BELEÉRTVE TÖBBEK KÖZÖTT A TULAJDONJOGRA, A JOGBITORLÁSRA, A MEGFELELŐ ÁLLAPOTRA VAGY MINŐSÉGRE, A FORGALMAZHATÓSÁGRA ÉS AZ ADOTT CÉLRA VALÓ ALKALMASSÁGRA VONATKOZÓ ÁLLÍTÁSOKAT, SZAVATOSSÁGOKAT VAGY FELTÉTELEKET AZ ANYAGOK TEKINTETÉBEN.