Šablona: CPR – Šablona pro Fiacx kód aplikace Navision

Chyba č: 207226 (Údržba obsahu)

Dochází k následujícím problémům:

  • Hodnoty základní a částky jsou zaokrouhleny.

  • Celkový počet řádků jsou nesprávné a generuje následující chybová zpráva při pokusu o odeslání souboru na stránce AT:

    60201201 777777777

Postupujte podle pokynů změny kódu sekce Chcete-li vyřešit tento problém. K tomuto problému dochází v následujících produktů:

  • Portugalské verzi Microsoft Dynamics NAV 2009 R2

  • Portugalské verzi Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

Řešení

Informace o opravě hotfix

Podporovaná oprava hotfix je nyní k dispozici od společnosti Microsoft. Však je určena pouze k odstranění problému popsaného v tomto článku. Použijte ji pouze u systémů, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Proto pokud jste závažně tento problém, doporučujeme počkat na další aktualizaci service pack produktu Microsoft Dynamics NAV 2009 nebo další verze produktu Microsoft Dynamics NAV, která obsahuje tuto opravu hotfix.

Poznámka: Ve zvláštních případech poplatky, které jsou třeba obvykle zaplatit za telefonní hovory mohou být stornovány, jestliže pracovník technické podpory společnosti Microsoft Dynamics a souvisejících produktů Určuje, že konkrétní aktualizace odstraní váš problém. Výdaje na technickou podporu použije dalších otázek a problémů, které nelze vyřešit konkrétní aktualizací.

Pokud není tato oprava hotfix k volnému stahování (tj. v článku není uvedena veřejná adresa URL opravy hotfix), vyžaduje její distribuce technickým vedoucím, členem týmu a vedoucím přičemž následující předpoklady:

  • Opravu hotfix mohou získat zákazníci se vyskytla chyba, která je uvedena v části "Příznaky".

  • Musí sledovat zákazníci Chcete-li odeslat a dodat v další aktualizaci service Pack, až bude k dispozici (Pokud bude vydána aktualizace service pack).

Tato oprava hotfix Microsoft Dynamics NAV Service Pack není plánováno.

Informace o instalaci

Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci bez žádné záruky výslovně uvedené nebo odvozené. To zahrnuje, ale není omezen pouze na předpokládané záruky obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že jste obeznámeni s programovacím jazykem, který je předmětem ukázky a s nástroji, které slouží k vytvoření a ladění skriptu. Pracovníci podpory společnosti Microsoft mohou vysvětlit funkce určitého postupu. Nemohou však následující příklady rozšířit o další funkce nebo konstrukce podle konkrétních požadavků.

Poznámka: Před instalací této opravy hotfix ověřte, že všichni uživatelé klienta Microsoft Dynamics NAV odhlášeni systému. To zahrnuje služby Microsoft Dynamics NAV Application Server (NAS). Je třeba klienta pouze uživatel přihlášený při implementaci opravy hotfix.

Chcete-li implementovat tuto opravu hotfix, musí mít licenci vývojáře.

Doporučujeme, aby uživatelský účet v okně přihlášení systému Windows nebo v okně přihlášení databáze přidělí "SUPER" ID role. Pokud uživatelský účet nelze přiřadit ID role "SUPER", musíte ověřit, že uživatelský účet má následující oprávnění:

  • Změnit oprávnění pro objekt, který budete měnit.

  • Oprávnění ke spuštění pro System Object ID 5210 objekt a System Object ID 9015

    objektu.

Poznámka: Nemáte práva k úložištím dat. Pokud nebudete provádět opravu dat.

Změny kódu

Poznámka: Vždy otestujte opravy kódu v kontrolovaném prostředí před instalací opravy v provozních počítačích.

Chcete-li vyřešit tento problém, postupujte takto:

  1. Změňte kód ve funkci InsertECDeclarationTrailer v tabulce DPH sestavy soubor vyrovnávací paměti (13380) takto:
    Stávající ko de

    ...BEGIN
    NewLine;
    //NAVPTL005.001,o InsertIntegerValue (89, 2);

    // Delete the following line.
    InsertIntegerValue (98, 2); //NAVPTL005.001,n

    InsertIntegerValue (LineNumber, 9);
    PadLinetill134Characters(Blank);
    END;
    ...

    Změněný kód

    ...BEGIN
    NewLine;
    //NAVPTL005.001,o InsertIntegerValue (89, 2);

    // Add the following lines.
    //PT355807,o InsertIntegerValue (98, 2); //NAVPTL005.001,n
    InsertIntegerValue (89, 2); //PT355807,n
    // End of the added lines.

    InsertIntegerValue (LineNumber, 9);
    PadLinetill134Characters(Blank);
    END;
    ...
  2. Změňte kód ve funkci InsertAnnex4041CustomerLine v tabulce DPH sestavy soubor vyrovnávací paměti (13380) takto:
    Existující kód

    ...InsertIntegerValue (pLineNumber, 5);
    InsertTextValue (pVATAnnexSetup."Tax Authority Code",2,Blank);
    InsertTextValue (pVATRegNo, 9,Blank);

    // Delete the following lines.
    InsertIntegerValue(ABS(ROUND(pVATEntry.Base,1,'<')*100),12);
    InsertIntegerValue(ABS(ROUND(pVATEntry.Amount,1,'<')*100),12);
    // End of the deleted lines.

    InsertTextValue (Blank,92,Blank);
    END;
    ...

    Změněný kód

    ...InsertIntegerValue (pLineNumber, 5);
    InsertTextValue (pVATAnnexSetup."Tax Authority Code",2,Blank);
    InsertTextValue (pVATRegNo, 9,Blank);

    // Add the following lines.
    //PT355807,o InsertIntegerValue(ABS(ROUND(pVATEntry.Base,1,'<')*100),12);
    //PT355807,o InsertIntegerValue(ABS(ROUND(pVATEntry.Amount,1,'<')*100),12);
    InsertIntegerValue(ABS(ROUND(pVATEntry.Base*100,1,'<')),12); //PT355807,n
    InsertIntegerValue(ABS(ROUND(pVATEntry.Amount*100,1,'<')),12); //PT355807,n
    // End of the added lines.

    InsertTextValue (Blank,92,Blank);
    END;
    ...
  3. Změňte kód ve funkci InsertAnnex4041DocumentLine v tabulce DPH sestavy soubor vyrovnávací paměti (13380) takto:
    Existující kód

    ...InsertIntegerValue (pLineNumber, 5);
    InsertTextValue (pVATAnnexSetup."Tax Authority Code",2,Blank);
    InsertTextValue(pDocNo,13,Blank);

    // Delete the following line.
    InsertIntegerValue(ABS(ROUND(pVATEntry.Amount,1,'<')*100),12);

    InsertTextValue (Blank,100,Blank);
    END;
    ...

    Změněný kód

    ...InsertIntegerValue (pLineNumber, 5);
    InsertTextValue (pVATAnnexSetup."Tax Authority Code",2,Blank);
    InsertTextValue(pDocNo,13,Blank);

    // Add the following lines.
    //PT355807,o InsertIntegerValue(ABS(ROUND(pVATEntry.Amount,1,'<')*100),12);
    InsertIntegerValue(ABS(ROUND(pVATEntry.Amount*100,1,'<')),12); //PT355807,n
    // End of the added lines.

    InsertTextValue (Blank,100,Blank);
    END;
    ...
  4. Změňte kód ve funkci InsertAnnex4041ReasonLine v tabulce DPH sestavy soubor vyrovnávací paměti (13380) takto:
    Existující kód 1

    ...InsertTextValue (Blank,100,Blank);
    END;

    // Delete the following lines.
    PROCEDURE InsertAnnex4041ReasonLine@1000000003(pVATAnnexSetup@1000000000 : Record 13386;pVATEntry@1000000003 : Record 254);
    BEGIN
    NewLine;
    InsertTextValue (pVATAnnexSetup."Record Type",2,Blank);
    IF pVATAnnexSetup.Frame = pVATAnnexSetup.Frame::"2" THEN BEGIN
    InsertIntegerValue(ABS(ROUND(pVATEntry.Base,1,'<')*100),12);
    InsertIntegerValue(ABS(ROUND(pVATEntry.Amount,1,'<')*100),12);
    InsertTextValue (Blank,50,Blank);
    // End of the deleted lines.

    END;

    IF pVATAnnexSetup.Frame = pVATAnnexSetup.Frame::"3" THEN BEGIN
    ...

    Změněný kód 1

    ...InsertTextValue (Blank,100,Blank);
    END;

    // Add the following lines.
    PROCEDURE InsertAnnex4041ReasonLine@1000000003(pVATAnnexSetup@1000000000 : Record 13386;pVATEntry@1000000003 : Record 254;LineNo@1000000001 : Integer);
    BEGIN
    //PT355807,o NewLine;
    //PT355807,o InsertTextValue (pVATAnnexSetup."Record Type",2,Blank);
    IF pVATAnnexSetup.Frame = pVATAnnexSetup.Frame::"2" THEN BEGIN
    //PT355807,o InsertIntegerValue(ABS(ROUND(pVATEntry.Base,1,'<')*100),12);
    //PT355807,o InsertIntegerValue(ABS(ROUND(pVATEntry.Amount,1,'<')*100),12);
    //PT355807,o InsertTextValue (Blank,50,Blank);
    //PT355807,sn
    IF (pVATAnnexSetup.SubSection = 'a') OR (pVATAnnexSetup.SubSection = '') THEN BEGIN
    NewLine;
    InsertTextValue (pVATAnnexSetup."Record Type",2,Blank);
    END;
    IF (pVATAnnexSetup.SubSection = 'b') AND (LineNo=1) THEN BEGIN
    NewLine;
    InsertTextValue (pVATAnnexSetup."Record Type",2,Blank);
    InsertIntegerValue(0,24);
    END;
    InsertIntegerValue(ABS(ROUND(pVATEntry.Base*100,1,'<')),12);
    InsertIntegerValue(ABS(ROUND(pVATEntry.Amount*100,1,'<')),12);
    //PT355807,en
    // End of the added lines.

    END;

    IF pVATAnnexSetup.Frame = pVATAnnexSetup.Frame::"3" THEN BEGIN
    ...

    Existující kód 2

    ...IF pVATAnnexSetup.Frame = pVATAnnexSetup.Frame::"3" THEN BEGIN
    IF (pVATAnnexSetup.SubSection = 'a') OR (pVATAnnexSetup.SubSection = 'A') THEN BEGIN

    // Delete the following lines.
    InsertIntegerValue(ABS(ROUND(pVATEntry.Base,1,'<')*100),12);
    InsertIntegerValue(ABS(ROUND(pVATEntry.Amount,1,'<')*100),12);
    END;
    IF (pVATAnnexSetup.SubSection = 'b') OR (pVATAnnexSetup.SubSection = 'B') THEN BEGIN
    InsertIntegerValue(ABS(ROUND(pVATEntry.Base,1,'<')*100),12);
    InsertIntegerValue(ABS(ROUND(pVATEntry.Amount,1,'<')*100),12);
    // End of the deleted lines.

    END;
    END;
    ...

    Náhradní kód 2

    ...IF pVATAnnexSetup.Frame = pVATAnnexSetup.Frame::"3" THEN BEGIN
    IF (pVATAnnexSetup.SubSection = 'a') OR (pVATAnnexSetup.SubSection = 'A') THEN BEGIN

    // Add the following lines.
    //PT355807,o InsertIntegerValue(ABS(ROUND(pVATEntry.Base,1,'<')*100),12);
    //PT355807,o InsertIntegerValue(ABS(ROUND(pVATEntry.Amount,1,'<')*100),12);
    //PT355807,sn
    IF (LineNo=1) THEN BEGIN
    NewLine;
    InsertTextValue (pVATAnnexSetup."Record Type",2,Blank);
    InsertIntegerValue(0,24);
    END;
    InsertIntegerValue(ABS(ROUND(pVATEntry.Base*100,1,'<')),12);
    InsertIntegerValue(ABS(ROUND(pVATEntry.Amount*100,1,'<')),12);
    //PT355807,en
    END;
    IF (pVATAnnexSetup.SubSection = 'b') OR (pVATAnnexSetup.SubSection = 'B') THEN BEGIN
    //PT355807,o InsertIntegerValue(ABS(ROUND(pVATEntry.Base,1,'<')*100),12);
    //PT355807,o InsertIntegerValue(ABS(ROUND(pVATEntry.Amount,1,'<')*100),12);
    //PT355807,sn
    IF (LineNo=1) THEN BEGIN
    NewLine;
    InsertTextValue (pVATAnnexSetup."Record Type",2,Blank);
    InsertIntegerValue(0,48);
    END;
    InsertIntegerValue(ABS(ROUND(pVATEntry.Base*100,1,'<')),12);
    InsertIntegerValue(ABS(ROUND(pVATEntry.Amount*100,1,'<')),12);
    //PT355807,en
    // End of the added lines.

    END;
    END;
    ...

    Existující kód 3

    ...END;
    END;

    // Delete the following lines.
    InsertTextValue (Blank,48,Blank);;
    END;

    PROCEDURE LastVATAnnex40Line@1000000006(pVATregNo@1000000000 : Text[9];pResumes@1000000001 : ARRAY [10] OF Integer);
    BEGIN
    // End of the deleted lines.

    NewLine;
    InsertTextValue ('96',2,Blank);
    InsertIntegerValue (1, 5);
    ...

    Změněný kód 3

    ...END;
    END;

    // Add the following lines.
    //PT355807,o InsertTextValue (Blank,48,Blank);
    END;

    PROCEDURE LastVATAnnex40Line@1000000006(pTotalAmount@1000000002 : Decimal;pVATregNo@1000000000 : Text[9];pResumes@1000000001 : ARRAY [10] OF Integer);
    BEGIN
    //PT355807,o NewLine;
    InsertIntegerValue(ABS(ROUND(pTotalAmount*100,1,'<')),12);
    InsertTextValue (Blank,48,Blank);
    InsertVAT40LastLine(24);
    // End of the added lines.

    NewLine;
    InsertTextValue ('96',2,Blank);
    InsertIntegerValue (1, 5);
    ...
  5. Změňte kód ve funkci LastVATAnnex40Line v tabulce DPH sestavy soubor vyrovnávací paměti (13380) takto:
    Existující kód 1

    ...InsertTextValue (Blank,118,Blank);
    NewLine;
    InsertTextValue ('69',2,Blank);

    // Delete the following line.
    InsertIntegerValue (pResumes[1], 5);

    InsertIntegerValue (pResumes[2], 5);
    InsertIntegerValue (pResumes[3], 5);
    InsertIntegerValue (pResumes[4], 5);
    ...

    Změněný kód 1

    ...InsertTextValue (Blank,118,Blank);
    NewLine;
    InsertTextValue ('69',2,Blank);

    // Add the following line.
    //PT355807,o InsertIntegerValue (pResumes[1], 5);

    InsertIntegerValue (pResumes[2], 5);
    InsertIntegerValue (pResumes[3], 5);
    InsertIntegerValue (pResumes[4], 5);
    ...

    Existující kód 2

    ...InsertIntegerValue (pResumes[7], 5);
    InsertIntegerValue (pResumes[8], 5);
    InsertIntegerValue (1, 5);
    END;

    PROCEDURE LastVATAnnex41Line@1000000004(pVATAnnexSetup@1000000001 : Record 13386;pTotalAmount@1000000000 : Decimal;pResumes@1000000002 : ARRAY [10] OF Integer);
    ...

    Náhradní kód 2

    ...InsertIntegerValue (pResumes[7], 5);
    InsertIntegerValue (pResumes[8], 5);
    InsertIntegerValue (1, 5);

    // Add the following line.
    InsertTextValue (Blank,94,Blank); //PT355807,n

    END;

    PROCEDURE LastVATAnnex41Line@1000000004(pVATAnnexSetup@1000000001 : Record 13386;pTotalAmount@1000000000 : Decimal;pResumes@1000000002 : ARRAY [10] OF Integer);
    ...
  6. Změňte kód ve funkci LastVATAnnex41Line v tabulce DPH sestavy soubor vyrovnávací paměti (13380) takto:
    Existující kód 1

    ...PROCEDURE LastVATAnnex41Line@1000000004(pVATAnnexSetup@1000000001 : Record 13386;pTotalAmount@1000000000 : Decimal;pResumes@1000000002 : ARRAY [10] OF Integer);
    BEGIN

    // Delete the following lines.
    NewLine;
    InsertTextValue (pVATAnnexSetup."Record Type",2,Blank);
    InsertIntegerValue(ABS(ROUND(pTotalAmount,1,'<')*100),12);
    NewLine;
    InsertTextValue ('89',2,Blank);
    InsertIntegerValue (pResumes[1], 5);
    // End of the deleted lines.

    InsertIntegerValue (pResumes[2], 5);
    InsertIntegerValue (pResumes[3], 5);
    InsertIntegerValue (pResumes[4], 5);
    ...

    Změněný kód 1

    ...PROCEDURE LastVATAnnex41Line@1000000004(pVATAnnexSetup@1000000001 : Record 13386;pTotalAmount@1000000000 : Decimal;pResumes@1000000002 : ARRAY [10] OF Integer);
    BEGIN

    // Add the following lines.
    //PT355807,o NewLine;
    //PT355807,o InsertTextValue (pVATAnnexSetup."Record Type",2,Blank);
    InsertIntegerValue(ABS(ROUND(pTotalAmount*100,1,'<')),12);
    InsertTextValue (Blank,72,Blank);
    InsertVAT41LastLine(24);
    NewLine;
    InsertTextValue ('89',2,Blank);
    //PT355807,o InsertIntegerValue (pResumes[1], 5);
    // End of the added lines.

    InsertIntegerValue (pResumes[2], 5);
    InsertIntegerValue (pResumes[3], 5);
    InsertIntegerValue (pResumes[4], 5);
    ...

    Existující kód 2

    ...InsertIntegerValue (pResumes[4], 5);
    InsertIntegerValue (pResumes[5], 5);
    InsertIntegerValue (pResumes[6], 5);
    END;

    BEGIN
    ...

    Náhradní kód 2

    ...InsertIntegerValue (pResumes[4], 5);
    InsertIntegerValue (pResumes[5], 5);
    InsertIntegerValue (pResumes[6], 5);

    // Add the following lines.
    InsertIntegerValue (pResumes[7], 5); //PT355807,n
    InsertTextValue (Blank,104,Blank); //PT355807,n
    END;

    PROCEDURE InsertVAT40LastLine@1000000005(Size@1000000000 : Integer);
    BEGIN
    //PT355807,sn
    FIND('+');
    IF STRLEN("Line Value") <> 134 THEN BEGIN
    "Line Value" := COPYSTR("Line Value",1,50) + CONVERTSTR (FORMAT (0, Size, 0), Blank, HeadingZero) + COPYSTR("Line Value",51);
    MODIFY;
    END;
    //PT355807,en
    END;

    PROCEDURE InsertVAT41LastLine@1000000007(Size@1000000000 : Integer);
    BEGIN
    //PT355807,sn
    FIND('+');
    IF STRLEN("Line Value") <> 134 THEN BEGIN
    "Line Value" := COPYSTR("Line Value",1,26) + CONVERTSTR (FORMAT (0, Size, 0), Blank, HeadingZero) + COPYSTR("Line Value",27);
    MODIFY;
    END;
    //PT355807,en
    END;

    PROCEDURE LastVATAnnex40Line2@1000000009(pVATAnnexSetup@1000000003 : Record 13386;pTotalAmount@1000000002 : Decimal;pVATregNo@1000000000 : Text[9];pResumes@1000000001 : ARRAY [10] OF Integer);
    BEGIN
    //PT355807,sn
    NewLine;
    InsertTextValue (pVATAnnexSetup."Record Type",2,Blank);
    InsertIntegerValue(0,72);
    InsertIntegerValue(ABS(ROUND(pTotalAmount*100,1,'<')),12);
    InsertTextValue (Blank,48,Blank);
    NewLine;
    InsertTextValue ('96',2,Blank);
    InsertIntegerValue (1, 5);
    InsertTextValue(pVATregNo,9,Blank);
    InsertTextValue (Blank,118,Blank);
    NewLine;
    InsertTextValue ('69',2,Blank);
    InsertIntegerValue (pResumes[2], 5);
    InsertIntegerValue (pResumes[3], 5);
    InsertIntegerValue (pResumes[4], 5);
    InsertIntegerValue (pResumes[5], 5);
    InsertIntegerValue (pResumes[6], 5);
    InsertIntegerValue (pResumes[7], 5);
    InsertIntegerValue (pResumes[8], 5);
    InsertIntegerValue (1, 5);
    InsertTextValue (Blank,92,Blank);
    //PT355807,en
    END;

    PROCEDURE LastVATAnnex41Line2@1000000008(pVATAnnexSetup@1000000001 : Record 13386;pTotalAmount@1000000000 : Decimal;pResumes@1000000002 : ARRAY [10] OF Integer);
    BEGIN
    //PT355807,sn
    NewLine;
    InsertTextValue (pVATAnnexSetup."Record Type",2,Blank);
    InsertIntegerValue(0,48);
    InsertIntegerValue(ABS(ROUND(pTotalAmount*100,1,'<')),12);
    InsertTextValue (Blank,72,Blank);
    NewLine;
    InsertTextValue ('89',2,Blank);
    InsertIntegerValue (pResumes[2], 5);
    InsertIntegerValue (pResumes[3], 5);
    InsertIntegerValue (pResumes[4], 5);
    InsertIntegerValue (pResumes[5], 5);
    InsertIntegerValue (pResumes[6], 5);
    InsertIntegerValue (pResumes[7], 5);
    InsertTextValue (Blank,102,Blank);
    //NAVPTL005.002,en
    // End of the added lines.

    END;

    BEGIN
    ...
  7. Změňte kód v sestavě výkazu DPH (PT) (13398) takto:
    Existující kód 1

    ...IF recVATAnnexSetup."Record Type" = LastRecordType THEN
    LineNo += 1
    ELSE BEGIN

    //Delete the following lines.
    IndiceArray += 1;
    ResumeLines[IndiceArray] := LineNo;
    LastRecordType := recVATAnnexSetup."Record Type";
    LineNo := 1;
    // End of the deleted lines.

    END;

    VATRepBuffer.InsertAnnex4041CustomerLine(recVATAnnexSetup,LineNo,"VAT Registration No.","VAT Entry Customer");
    ...

    Změněný kód 1

    ...IF recVATAnnexSetup."Record Type" = LastRecordType THEN
    LineNo += 1
    ELSE BEGIN

    // Add the following lines.
    //PT355807,o IndiceArray += 1;
    //PT355807,sn
    EVALUATE(recType,recVATAnnexSetup."Record Type");
    IF AnnexFilter = 40 THEN
    IndiceArray := recType - 60
    ELSE
    IndiceArray := recType - 80;
    //PT355807,en
    ResumeLines[IndiceArray] := LineNo;
    LastRecordType := recVATAnnexSetup."Record Type";
    LineNo := 1;
    // End of the added lines.

    END;

    VATRepBuffer.InsertAnnex4041CustomerLine(recVATAnnexSetup,LineNo,"VAT Registration No.","VAT Entry Customer");
    ...

    Existující kód 2

    ...IF recVATAnnexSetup."Record Type" = LastRecordType THEN
    LineNo += 1
    ELSE BEGIN

    // Delete the following lines.
    IndiceArray += 1;
    ResumeLines[IndiceArray] := LineNo;
    LastRecordType := recVATAnnexSetup."Record Type";
    LineNo := 1;
    // End of the deleted lines.

    END;

    VATRepBuffer.InsertAnnex4041DocumentLine(recVATAnnexSetup,LineNo,"External Document No.","VAT Entry Document No.");
    ...

    Náhradní kód 2

    ...IF recVATAnnexSetup."Record Type" = LastRecordType THEN
    LineNo += 1
    ELSE BEGIN

    // Add the following lines.
    //PT355807,o IndiceArray += 1;
    //PT355807,sn
    EVALUATE(recType,recVATAnnexSetup."Record Type");
    IF AnnexFilter = 40 THEN
    IndiceArray := recType - 60
    ELSE
    IndiceArray := recType - 80;
    //PT355807,en
    ResumeLines[IndiceArray] := LineNo;
    LastRecordType := recVATAnnexSetup."Record Type";
    LineNo := 1;
    // End of the added lines.

    END;

    VATRepBuffer.InsertAnnex4041DocumentLine(recVATAnnexSetup,LineNo,"External Document No.","VAT Entry Document No.");
    ...

    Existující kód 3

    ...OnPostDataItem=BEGIN
    CLEAR(recVATAnnexSetup);

    // Delete the following lines.
    recVATAnnexSetup.SETRANGE("Reason Code", "Reason Code");
    IF recVATAnnexSetup.FINDFIRST THEN

    IF AnnexFilter = 41 THEN
    VATRepBuffer.LastVATAnnex41Line(recVATAnnexSetup,TotalVATAnnexAmount,ResumeLines);
    // End of the deleted lines.

    END;

    TotalFields=Base,Amount;
    ...

    Změněný kód 3

    ...OnPostDataItem=BEGIN
    CLEAR(recVATAnnexSetup);

    // Add the following lines.
    booTotal := FALSE; //PT355807,n
    recVATAnnexSetup.SETRANGE("Reason Code", "Reason Code");
    //PT355807,o IF recVATAnnexSetup.FINDFIRST THEN
    //PT355807,o IF AnnexFilter = 41 THEN
    //PT355807,o VATRepBuffer.LastVATAnnex41Line(recVATAnnexSetup,TotalVATAnnexAmount,ResumeLines);
    //PT355807,sn
    IF recVATAnnexSetup.FINDFIRST THEN BEGIN
    IF AnnexFilter = 41 THEN BEGIN
    booTotal := TRUE;
    VATRepBuffer.LastVATAnnex41Line(recVATAnnexSetup,TotalVATAnnexAmount,ResumeLines);
    END;

    IF AnnexFilter = 40 THEN BEGIN
    booTotal := TRUE;
    VATRepBuffer.LastVATAnnex40Line(TotalVATAnnexAmount,FORMAT(FiscalNo),ResumeLines);
    END;
    END;
    //PT355807,en
    // End of the added lines.

    END;

    TotalFields=Base,Amount;
    ...

    Existující kód 4

    ...IF recVATAnnexSetup."Record Type" = LastRecordType THEN
    LineNo += 1
    ELSE BEGIN

    // Delete the following lines.
    IndiceArray += 1;
    ResumeLines[IndiceArray] := LineNo;
    LastRecordType := recVATAnnexSetup."Record Type";
    LineNo := 1;
    // End of the deleted lines.

    END;

    TotalVATAnnexBase += Base;
    ...

    Náhradní kód 4

    ...IF recVATAnnexSetup."Record Type" = LastRecordType THEN
    LineNo += 1
    ELSE BEGIN

    // Add the following lines.
    //PT355807,o IndiceArray += 1;
    //PT355807,sn
    EVALUATE(recType,recVATAnnexSetup."Record Type");
    IF AnnexFilter = 40 THEN
    IndiceArray := recType - 60
    ELSE
    IndiceArray := recType - 80;
    //PT355807,en
    ResumeLines[IndiceArray] := LineNo;
    LastRecordType := recVATAnnexSetup."Record Type";
    LineNo := 1;
    // End of the added lines.

    END;

    TotalVATAnnexBase += Base;
    ...

    Existující kód 5

    ...RegistersNumber += 1;

    // Delete the following line.
    VATRepBuffer.InsertAnnex4041ReasonLine(recVATAnnexSetup,"VAT Entry Reason Code");

    END;

    }
    ...

    Změněný kód 5

    ...RegistersNumber += 1;


    + //PT355807,o VATRepBuffer.InsertAnnex4041ReasonLine(recVATAnnexSetup,"VAT Entry Reason Code");
    + VATRepBuffer.InsertAnnex4041ReasonLine(recVATAnnexSetup,"VAT Entry Reason Code",LineNo); //PT355807,n
    END;

    }

    Existující kód 6

    ...WHERE(Number=CONST(1));
    DataItemVarName=TotalInteger;
    OnAfterGetRecord=BEGIN

    // Delete the following lines.
    IF AnnexFilter = 40 THEN
    VATRepBuffer.LastVATAnnex40Line(FORMAT(FiscalNo),ResumeLines);
    // End of the deleted lines.

    END;

    }
    ...

    Náhradní kód 6

    ...WHERE(Number=CONST(1));
    DataItemVarName=TotalInteger;
    OnAfterGetRecord=BEGIN

    // Add the following lines.
    //PT355807,o IF AnnexFilter = 40 THEN
    //PT355807,o VATRepBuffer.LastVATAnnex40Line(FORMAT(FiscalNo),ResumeLines);
    //PT355807,sn
    IF NOT booTotal THEN BEGIN
    recVATAnnexSetup2.RESET;
    recVATAnnexSetup2.SETFILTER(Annex, FORMAT(AnnexFilter));
    IF recVATAnnexSetup2.FINDLAST THEN BEGIN
    IF AnnexFilter = 40 THEN
    VATRepBuffer.LastVATAnnex40Line2(recVATAnnexSetup2,TotalVATAnnexAmount,FORMAT(FiscalNo),ResumeLines);

    IF AnnexFilter = 41 THEN
    VATRepBuffer.LastVATAnnex41Line2(recVATAnnexSetup2,TotalVATAnnexAmount,ResumeLines);
    END;
    END;
    //PT355807,en
    // End of the added lines.

    END;

    }
    ...

    Existující kód 7

    ...LastRecordType@1000000009 : Text[2];
    TotalVATAnnexBase@1000000005 : Decimal;
    TotalVATAnnexAmount@1000000006 : Decimal;

    PROCEDURE CalcLineTotal2C@1110001(VATStmtLine2@1110000 : Record 256;Level@1110001 : Integer) : Boolean;
    BEGIN
    ...

    Změněný kód 7

    ...LastRecordType@1000000009 : Text[2];
    TotalVATAnnexBase@1000000005 : Decimal;
    TotalVATAnnexAmount@1000000006 : Decimal;

    // Add the following lines.
    booTotal@1000000013 : Boolean;
    recVATAnnexSetup2@1000000014 : Record 13386;
    recType@1000000015 : Integer;
    // End of the added lines.

    PROCEDURE CalcLineTotal2C@1110001(VATStmtLine2@1110000 : Record 256;Level@1110001 : Integer) : Boolean;
    BEGIN
    ...


Předpoklady

Musí mít jednu z následujících produktů nainstalovali tuto opravu hotfix:

  • Portugalské verzi Microsoft Dynamics NAV 2009 R2

  • Portugalské verzi Microsoft Dynamics NAV 2009 SP1

Informace o odinstalaci

Tato oprava hotfix nelze odebrat.

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Odkazy

VSFT DynamicsNAVSE: 355807

Poznámka: Toto je článek "Rychlé publikování" vytvářen přímo v rámci odborné pomoci společnosti Microsoft. Informace obsažené v tomto dokumentu jsou poskytovány tak, jak je v reakci na vznikající problémy. V důsledku rychlosti v jeho zpřístupnění materiály, mohou obsahovat typografické chyby a mohou být upraveny kdykoli bez předchozího upozornění. Viz Podmínky použitípro další aspekty.

Autor: avannini
Writer: v-six
Odborný recenzent: avannini
Editor:

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou překladu?
Co ovlivnilo váš názor?

Děkujeme za váš názor!

×