Spāņu valodas 349 PVN deklarācija eksportē summas valūtā, kas tiek izmantota dokumentā, pat ja pielāgojāt labojumfailu 254942 programmā Microsoft Dynamics NAV

Attiecas uz
Dynamics NAV 2013 Dynamics NAV 2009

Šis raksts attiecas uz Microsoft Dynamics NAV spāņu (es) valodas lokalizācijai.

Pazīmes

Pieņemsim, ka lietojāt labojumfailu 2547942 programmā Microsoft Dynamics NAV. Tomēr Spānijas PVN deklarācija 349 joprojām eksportē summas dokumentā izmantotajā valūtā, nevis vietējā valūtā. Ja debitoram vai kreditoram kartītē nav valūtas koda, bet dokumentā ir iekļauta valūta, 349 deklarācijā eksportētās summas ir nepareizas, jo eksportētā summa ir summa dokumentā izmantotajā valūtā, nevis vietējā valūtā, kas lietotājam ir jāziņo nodokļu iestādēm.

Šī problēma rodas šādos produktos:

  • Microsoft Dynamics NAV 2013
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 1. servisa pakotne

Risinājums

Informācija par labojumfailu

Atbalstīts labojumfails tagad ir pieejams no Microsoft. Tomēr tas ir paredzēts tikai šajā rakstā aprakstītās problēmas novēršanai. Lietojiet to tikai sistēmām, kurās rodas šī konkrētā problēma. Šim labojumfailam var tikt veiktas papildu pārbaudes. Tāpēc, ja šī problēma jūs nopietni neietekmē, ieteicams gaidīt nākamo Microsoft Dynamics NAV 2013 servisa pakotni vai nākamo Microsoft Dynamics NAV versiju, kurā ir šis labojumfails.

Piezīme Īpašos gadījumos maksa, kas parasti tiek piemērota par atbalsta zvaniem, var tikt atcelta, ja Microsoft Dynamics un saistīto produktu tehniskā atbalsta speciālists nosaka, ka problēma tiks novērsta, instalējot noteiktu atjauninājumu. Parasti atbalsta izmaksas attiecas uz jautājumiem par papildu atbalstu un problēmām, kas neskar specifisko atjauninājumu apspriešanu.

          

Informācija par instalāciju

Microsoft sniedz programmēšanas piemērus tikai ilustrācijai, bez tiešas vai netiešas garantijas. Tas ietver, bet neaprobežojas ar netiešām garantijām par piemērotību pārdošanai vai piemērotībai noteiktam mērķim. Šajā rakstā tiek pieņemts, ka pārzināt demonstrējamo programmēšanas valodu un rīkus, kas tiek izmantoti procedūru izveidei un atkļūdošanai. Microsoft atbalsta inženieri var palīdzēt izskaidrot konkrētās procedūras funkcionalitāti. Tomēr tie nemodificēs šos piemērus, lai nodrošinātu papildu funkcionalitāti vai veidotu procedūras atbilstoši jūsu konkrētajām prasībām.

Piezīme Pirms šī labojumfaila instalēšanas pārliecinieties, vai visi Microsoft Navision klienta lietotāji ir atteikušies no sistēmas. Tas ietver Microsoft Navision lietojumprogrammu pakalpojumu (NAS) klienta lietotājus. Jūs esat vienīgais klienta lietotājs, kurš ir pieteicies, ieviešot šo labojumfailu.

Lai ieviestu šo labojumfailu, ir nepieciešama izstrādātāja licence.

Iesakām lietotāja kontam logā Windows pieteikšanās vai datu bāzes pieteikšanās logā piešķirt lomas ID "SUPER". Ja lietotāja kontam nevar piešķirt "SUPER" lomas ID, jums ir jāpārbauda, vai lietotāja kontam ir šādas atļaujas:

  • Modificēt objektu, kuru mainīsit.
  • Izpildes atļauja sistēmas objekta ID 5210 un sistēmas objekta ID 9015.

                
Piezīme. Jums nav tiesību uz datu krātuvēm, ja vien jums nav jāveic datu labošana.

Koda izmaiņas

Piezīme Pirms labojumu lietošanas ražošanas datoros vienmēr pārbaudiet koda labojumus kontrolētā vidē.
Lai novērstu šo problēmu, mainiet kodu atskaitē Make 349 Declaration (10710). Lai to izdarītu, izpildiet šādas darbības:

  1. Mainiet kodu funkcijā GetPostedCountryLocCode šādi:
    Esošs kods 1

    ...
                                REPEAT
                                  IF SalesInvLines."Location Code" <> '' THEN BEGIN
                                    IF Location.GET(SalesInvLines."Location Code") THEN
                                      EUCountryLinesLocationCode := FindEUCountryRegionCode(Location."Country/Region Code");
                                    IF EUCountryLinesLocationCode THEN BEGIN
    
    // Delete the following line.
                                      AmountToIncludeIn349 := AmountToIncludeIn349 + SalesInvLines.Amount;
    
                                      IF GetCountryfromLocation(SalesInvLines."Location Code") <> CountryCode THEN
                                        LocationDifferentCountryCode := TRUE;
                                      TempSalesInvLines := SalesInvLines;
                                      TempSalesInvLines.INSERT;
                                    END;
    ...
    
    

    Nomaiņas kods 1

    ...
                                REPEAT
                                  IF SalesInvLines."Location Code" <> '' THEN BEGIN
                                    IF Location.GET(SalesInvLines."Location Code") THEN
                                      EUCountryLinesLocationCode := FindEUCountryRegionCode(Location."Country/Region Code");
                                    IF EUCountryLinesLocationCode THEN BEGIN
    
    // Add the following lines.
                                      AmountToIncludeIn349 +=
                                        GetExportedAmountIn349(SalesInvHeader."Currency Code",
                                        SalesInvHeader."Currency Factor",SalesInvLines."Line Amount");
    // End of the lines.
    
                                      IF GetCountryfromLocation(SalesInvLines."Location Code") <> CountryCode THEN
                                        LocationDifferentCountryCode := TRUE;
                                      TempSalesInvLines := SalesInvLines;
                                      TempSalesInvLines.INSERT;
                                    END;
    ...
    
    

    Esošs kods 2

    ...
                                      TempSalesInvLines.INSERT;
                                    END;
                                  END ELSE
                                    IF CompInforShipToCountryCode THEN BEGIN
                                      EUCountryLinesLocationCode := TRUE;
    
    // Delete the following line.
                                      AmountToIncludeIn349 := AmountToIncludeIn349 + SalesInvLines.Amount;
    
                                      TempSalesInvLines := SalesInvLines;
                                      TempSalesInvLines.INSERT;
                                    END;
                                UNTIL SalesInvLines.NEXT = 0;
                            END;
    ...
    
    

    Nomaiņas kods 2

    ...
                                      TempSalesInvLines.INSERT;
                                    END;
                                  END ELSE
                                    IF CompInforShipToCountryCode THEN BEGIN
                                      EUCountryLinesLocationCode := TRUE;
    
    // Add the following lines.
                                      AmountToIncludeIn349 +=
                                        GetExportedAmountIn349(SalesInvHeader."Currency Code",
                                        SalesInvHeader."Currency Factor",SalesInvLines."Line Amount");
    // End of the lines.
    
                                      TempSalesInvLines := SalesInvLines;
                                      TempSalesInvLines.INSERT;
                                    END;
                                UNTIL SalesInvLines.NEXT = 0;
                            END;
    ...
    
    

    Esošais kods 3

    ...
                              REPEAT
                                IF PurchInvLines."Location Code" <> '' THEN BEGIN
                                  IF Location.GET(PurchInvLines."Location Code") THEN
                                    EUCountryLinesLocationCode := FindEUCountryRegionCode(Location."Country/Region Code");
                                  IF EUCountryLinesLocationCode THEN BEGIN
    
    // Delete the following line.
                                    AmountToIncludeIn349 := AmountToIncludeIn349 + PurchInvLines.Amount;
    
                                    IF GetCountryfromLocation(PurchInvLines."Location Code") <> CountryCode THEN
                                      LocationDifferentCountryCode := TRUE;
                                    TempPurchInvLines := PurchInvLines;
                                    TempPurchInvLines.INSERT;
                                  END;
    ...
    

    Nomaiņas kods 3

    ...
                              REPEAT
                                IF PurchInvLines."Location Code" <> '' THEN BEGIN
                                  IF Location.GET(PurchInvLines."Location Code") THEN
                                    EUCountryLinesLocationCode := FindEUCountryRegionCode(Location."Country/Region Code");
                                  IF EUCountryLinesLocationCode THEN BEGIN
    
    // Add the following lines.
                                    AmountToIncludeIn349 +=
                                      GetExportedAmountIn349(PurchInvHeader."Currency Code",
                                      PurchInvHeader."Currency Factor",PurchInvLines."Line Amount");
    // End of the lines.
    
                                    IF GetCountryfromLocation(PurchInvLines."Location Code") <> CountryCode THEN
                                      LocationDifferentCountryCode := TRUE;
                                    TempPurchInvLines := PurchInvLines;
                                    TempPurchInvLines.INSERT;
                                  END;
    ...
    
    

    Esošais kods 4

    ...
                                    TempPurchInvLines.INSERT;
                                  END;
                                END ELSE
                                  IF CompInforShipToCountryCode THEN BEGIN
                                    EUCountryLinesLocationCode := TRUE;
    
    // Delete the following line.
                                    AmountToIncludeIn349 := AmountToIncludeIn349 + PurchInvLines.Amount;
    
                                    TempPurchInvLines := PurchInvLines;
                                    TempPurchInvLines.INSERT;
                                  END;
                              UNTIL PurchInvLines.NEXT = 0;
                          END;
    ...
    
    

    Aizstāšanas kods 4

    ...
                                    TempPurchInvLines.INSERT;
                                  END;
                                END ELSE
                                  IF CompInforShipToCountryCode THEN BEGIN
                                    EUCountryLinesLocationCode := TRUE;
    
    // Add the following lines.
                                    AmountToIncludeIn349 +=
                                      GetExportedAmountIn349(PurchInvHeader."Currency Code",
                                      PurchInvHeader."Currency Factor",PurchInvLines."Line Amount");
    // End of the lines.
    
                                    TempPurchInvLines := PurchInvLines;
                                    TempPurchInvLines.INSERT;
                                  END;
                              UNTIL PurchInvLines.NEXT = 0;
                          END;
    ...
    
    
  2. Mainiet kodu funkcijā GetExportedAmountIn349 šādi:
    Esošais kods

    ...
          BEGIN
            IF DeliveryOperationCode = DeliveryOperationCode::" " THEN
              DeliveryOperationCode := DeliveryOperationCode::E;
          END;
    
          BEGIN
          END.
        }
        RDLDATA
        {
    ...
    
    

    Aizstāšanas kods

    ...
          BEGIN
            IF DeliveryOperationCode = DeliveryOperationCode::" " THEN
              DeliveryOperationCode := DeliveryOperationCode::E;
          END;
    
    // Add the following lines.  
          LOCAL PROCEDURE GetExportedAmountIn349@1100014(CurrencyCode@1100008 : Code[20];CurrencyFactor@1100009 : Decimal;LineAmount@1100010 : Decimal) : Decimal;
          VAR
            Currency@1100001 : Record 4;
          BEGIN
            IF CurrencyCode <> '' THEN BEGIN
              Currency.GET(CurrencyCode);
              EXIT(ROUND(LineAmount / CurrencyFactor,Currency."Amount Rounding Precision"))
            END;
            EXIT(LineAmount);
          END;
    
    // End of the lines.
    
          BEGIN
          END.
        }
        RDLDATA
        {
    ...
    
    

Priekšnosacījumi

Lai lietotu šo labojumfailu, ir jābūt instalētam vienam no šiem produktiem:

  • Microsoft Dynamics NAV 2013
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 1. servisa pakotne

Noņemšanas informācija

Šo labojumfailu nevar noņemt.

Statuss

Microsoft apstiprināja, ka šī ir problēma Microsoft produktos, kas norādīti sadaļā "attiecas uz".

Piezīme Šis ir "ĀTRĀS PUBLICĒŠANAS" raksts, kas izveidots tieši Microsoft atbalsta organizācijā. Šeit ietvertā informācija tiek sniegta tāda, kāda tā ir, reaģējot uz jauniem jautājumiem. Ātrās pieejamības rezultātā materiālos var būt drukas kļūdas, un tos var pārskatīt jebkurā laikā bez iepriekšēja brīdinājuma. Citus apsvērumus skatiet lietošanas nosacījumos .