Tõrketeade "Te ei saa tegeleda müügi kreeditarve edasilükatud käibemaksuga siin", kui märkate, et microsoft Dynamics NAV 2009 R2 poolakeelse versiooni dialoogiboksis KM-i rakenduse tööleht on edasi lükatud

Rakenduskoht
Microsoft Dynamics NAV 2009 R2

See artikkel kehtib Microsoft Dynamics NAV poola keele (pl) lokaadi kohta.

Sümptomid

Oletame, et postitada müügi kreeditarve, mis sisaldab edasilükatud käibemaksu (KM) Poola versiooni Microsoft Dynamics NAV 2009 R2. Kui proovite käibemaksu mõista dialoogiboksis KM rakenduse tööleht , kuvatakse järgmine tõrketeade:

Märkus.

Siin ei saa müügi kreeditarve edasilükatud KM-i käsitleda.

Lahendus

Kiirparanduse teave

Microsoftilt on nüüd saadaval toetatud kiirparandus. Siiski on see mõeldud ainult selles artiklis kirjeldatud probleemi lahendamiseks. Rakendage see ainult süsteemidele, kus esineb see konkreetne probleem. See kiirparandus võib saada täiendavaid katseid. Seega, kui see probleem ei mõjuta teid tõsiselt, soovitame oodata järgmist Microsoft Dynamics NAV 2009 hoolduspaketti või järgmist Microsoft Dynamics NAV versiooni, mis sisaldab seda kiirparandust.

Märkus. Erijuhtudel võidakse tavaliselt tugiteenuse kõnede eest tehtud tasud tühistada, kui Microsoft Dynamicsi ja seotud toodete tehniline tugitöötaja leiab, et konkreetne värskendus lahendab teie probleemi. Tavapärased toetuskulud kehtivad täiendavatele tugiteenustega seotud küsimustele ja probleemidele, mis ei vasta kõnealuse värskenduse tingimustele.

            
          

Installiteave

Microsoft pakub programmeerimise näiteid ainult illustreerimiseks, ilma et garantii oleks väljendatud või kaudselt. See hõlmab kaubastatavuse või kindlaks otstarbeks sobivuse kaudseid garantiisid, kuid mitte ainult. Selles artiklis eeldatakse, et olete tuttav kuvatava programmeerimiskeelega ja tööriistadega, mida kasutatakse protseduuride loomiseks ja silumiseks. Microsofti tugiteenuste insenerid saavad aidata selgitada konkreetse protseduuri funktsionaalsust, kuid nad ei muuda neid näiteid selleks, et pakkuda teie vajadustele vastavaid lisafunktsioone või koostada protseduure.

Märkus. Enne selle kiirparanduse installimist veenduge, et kõik Microsoft Navisioni klientrakenduse kasutajad oleksid süsteemist välja logitud. See hõlmab ka Microsoft Navision Application Servicesi (NAS) klientkasutajaid. Peaksite olema ainus klientkasutaja, kes on sisse logitud, kui rakendate selle kiirparanduse.

Selle kiirparanduse rakendamiseks peab teil olema arendaja litsents.

Soovitame, et aknas Windowsi sisselogimised või aknas Andmebaasi sisselogimised olevale kasutajakontole määrataks "SUPER" rolli ID. Kui kasutajakontole ei saa superrolli ID-d määrata, peate kontrollima, kas kasutajakontol on järgmised õigused.

  • Muudetava objekti muutmisõigus.
  • Süsteemiobjekti ID 5210 ja süsteemiobjekti ID 9015 täitmisõigus.

                
Märkus. Teil pole andmesalvede jaoks õigusi, kui te ei pea tegema andmete parandamist.

Koodi muudatused

Märkus. Enne paranduste rakendamist tööarvutitele testige koodiparandusi alati kontrollitud keskkonnas.
Probleemi lahendamiseks tehke järgmist.

  1. Kustutage geni funktsioonis RealizePostponedVAT järgmised parameetrid. Jnl.-Post Line codeunit (12):

    • TransactionNo
    • VATEntryNo
    • VAR TempJnlLineDim2
  2. Lisage geni funktsioonile RealizePostponedVAT uus parameeter. Jnl.-Post Line codeunit (12) ja seejärel määrake parameeter järgmiselt:

    • Nimi: VATEntry
    • DataType: kirje
    • Alamtüüp: KM kanne (254)
  3. Muutke geni funktsiooni RealizePostponedVAT koodi. Jnl.-Post line codeunit (12) järgmiselt:
    Olemasolev kood 1

    ...
    GenJnlLine.COPY(GenJnlLine2);
    
    // Delete the following lines. 
    TempJnlLineDim.RESET;
    TempJnlLineDim.DELETEALL;
    DimMgt.CopyJnlLineDimToJnlLineDim(TempJnlLineDim2,TempJnlLineDim);
    // End of the lines.
    
    GLSetup.GET;
    SourceCodeSetup.GET;
    ...
    

    Asenduskood 1

    ...
    GenJnlLine.COPY(GenJnlLine2);
    
    // Add the following line.
    PreparePostponedVATDim(VATEntry,TempJnlLineDim);
    
    GLSetup.GET;
    SourceCodeSetup.GET;
    ...
    

    Olemasolev kood 2

    ...
    InitCodeUnit;
    
    // Delete the following lines. 
    VATEntryNoToRealize := VATEntryNo;
    IF GenJnlLine."Account Type" = GenJnlLine."Account Type"::Customer THEN BEGIN
    CustLedgEntry."Transaction No." := TransactionNo;
    // End of the lines.
    
    CustUnrealizedVAT(CustLedgEntry,GenJnlLine.Amount)
    END ELSE BEGIN
    ...
    

    Asenduskood 2

    ...
    InitCodeUnit;
    
    // Add the following lines.
    VATEntryNoToRealize := VATEntry."Entry No.";
    IF GenJnlLine."Account Type" = GenJnlLine."Account Type"::Customer THEN BEGIN
    CustLedgEntry."Transaction No." := VATEntry."Transaction No.";
    //End of the lines. 
    
    CustUnrealizedVAT(CustLedgEntry,GenJnlLine.Amount)
    END ELSE BEGIN
    ...
    

    Olemasolev kood 3

    ...
    CustUnrealizedVAT(CustLedgEntry,GenJnlLine.Amount)
    END ELSE BEGIN
    
    // Delete the following line. 
    VendLedgEntry."Transaction No." := TransactionNo;
    
    VendUnrealizedVAT(VendLedgEntry,GenJnlLine.Amount);
    END;
    VATEntryNoToRealize := 0;
    ...
    

    Asenduskood 3

    ...
    CustUnrealizedVAT(CustLedgEntry,GenJnlLine.Amount)
    END ELSE BEGIN
    
    // Add the following line.
    VendLedgEntry."Transaction No." := VATEntry."Transaction No.";
    
    VendUnrealizedVAT(VendLedgEntry,GenJnlLine.Amount);
    END;
    VATEntryNoToRealize := 0;
    ...
    
  4. Kustutage geni funktsioonis ReversePostponedVAT järgmised parameetrid. Jnl.-Post Line codeunit (12):

    • TransactionNo
    • VATEntryNo
    • VAR TempJnlLineDim2
  5. Lisage geni funktsiooni ReversePostponedVAT uus parameeter. Jnl.-Post Line codeunit (12) ja seejärel määrake parameeter järgmiselt:

    • Nimi: PostponedVATEntry
    • DataType: kirje
    • Alamtüüp: KM kanne (254)
  6. Muutke koodi geni funktsioonis ReversePostponedVAT. Jnl.-Post line codeunit (12) järgmiselt:
    Olemasolev kood 1

    ...
    GenJnlLine.COPY(GenJnlLine2);
    
    // Delete the following lines. 
    TempJnlLineDim.RESET;
    TempJnlLineDim.DELETEALL;
    DimMgt.CopyJnlLineDimToJnlLineDim(TempJnlLineDim2,TempJnlLineDim);
    // End of the lines. 
    
    SourceCodeSetup.GET;
    GenJnlLine."Source Code" := SourceCodeSetup.Reversal;
    ...
    

    Asenduskood 1

    ...
    GenJnlLine.COPY(GenJnlLine2);
    
    // Add the following lines. 
    PreparePostponedVATDim(PostponedVATEntry,TempJnlLineDim);
    //End of the lines. 
    
    SourceCodeSetup.GET;
    GenJnlLine."Source Code" := SourceCodeSetup.Reversal;
    ...
    

    Olemasolev kood 2

    ...
    VATEntry.LOCKTABLE;
    UnrealVATEntry.SETCURRENTKEY("Transaction No.");
    
    // Delete the following lines. 
    IF VATEntryNo <> 0 THEN
    UnrealVATEntry.SETRANGE("Entry No.",VATEntryNo)
    ELSE
    UnrealVATEntry.SETRANGE("Transaction No.",TransactionNo);
    // End of the lines.
    
    IF UnrealVATEntry.FINDSET(TRUE) THEN
    REPEAT
    VATEntry.SETCURRENTKEY("Unrealized VAT Entry No.");
    ...
    

    Asenduskood 2

    ...
    VATEntry.LOCKTABLE;
    UnrealVATEntry.SETCURRENTKEY("Transaction No.");
    
    // Add the following lines. 
    IF PostponedVATEntry."Entry No." <> 0 THEN
    UnrealVATEntry.SETRANGE("Entry No.",PostponedVATEntry."Entry No.")
    ELSE
    UnrealVATEntry.SETRANGE("Transaction No.",PostponedVATEntry."Transaction No.");
    //End of the lines. 
    
    IF UnrealVATEntry.FINDSET(TRUE) THEN
    REPEAT
    VATEntry.SETCURRENTKEY("Unrealized VAT Entry No.");
    ...
    
  7. Looge genis uus funktsioon PreparePostponedVATDim. Jnl.-Post line codeunit (12) järgmiselt:

    LOCAL PROCEDURE PreparePostponedVATDim@1170010(VATEntry@1170003 : Record 254;VAR TempJnlLineDim@1170000 : Record 356);
    VAR
    GLEntryVATEntryLink@1170002 : Record 253;
    LedgEntryDim@1170001 : Record 355;
    BEGIN
    TempJnlLineDim.RESET;
    TempJnlLineDim.DELETEALL;
    IF VATEntry.GetCVLedgEntryNo(TempJnlLineDim) = 0 THEN BEGIN
    GLEntryVATEntryLink.SETRANGE("VAT Entry No.",VATEntry."Entry No.");
    IF GLEntryVATEntryLink.FINDFIRST THEN BEGIN
    LedgEntryDim.SETRANGE("Table ID",DATABASE::"G/L Entry");
    LedgEntryDim.SETRANGE("Entry No.",GLEntryVATEntryLink."G/L Entry No.");
    DimMgt.CopyLedgEntryDimToJnlLineDim(LedgEntryDim,TempJnlLineDim);
    END;
    END;
    END;
    
  8. Muutke vatManagement koodiplokis (12376) funktsiooni PostponeVATEntry koodi järgmiselt.
    Olemasolev kood

    ...
    VATEntry.TESTFIELD("Postponed VAT",FALSE);
    VATEntry.TESTFIELD("Unrealized VAT Entry No.",0);
    IF NOT AllowSalesCrMemo AND
    
    // Delete the following lines. 
    (VATEntry."Unrealized Base" <> 0) AND (VATEntry.Type = VATEntry.Type::Sale) AND
    (VATEntry."Document Type" = VATEntry."Document Type"::"Credit Memo")
    // End of the lines.
    
    THEN
    ERROR(Text010);
    UNTIL VATEntry.NEXT = 0
    ...
    

    Asenduskood

    ...
    VATEntry.TESTFIELD("Postponed VAT",FALSE);
    VATEntry.TESTFIELD("Unrealized VAT Entry No.",0);
    IF NOT AllowSalesCrMemo AND
    
    // Add the following line. 
    IsPostponedSalesCrMemoVAT(VATEntry) AND HasPostedCrMemo(VATEntry."Document No.")
    
    THEN
    ERROR(Text010);
    UNTIL VATEntry.NEXT = 0
    ...
    
  9. Muutke vatManagement-koodiuniti (12376) funktsiooni RealizeVATEntry koodi järgmiselt.
    Olemasolev kood

    ...
    VATEntry.TESTFIELD("Postponed VAT",TRUE);
    VATEntry.TESTFIELD("Unrealized VAT Entry No.",0);
    IF NOT AllowSalesCrMemo AND
    
    // Delete the following lines. 
    (VATEntry."Unrealized Base" <> 0) AND (VATEntry.Type = VATEntry.Type::Sale) AND
    (VATEntry."Document Type" = VATEntry."Document Type"::"Credit Memo")
    // End of the lines.
    
    THEN
    ERROR(Text010);
    UNTIL VATEntry.NEXT = 0
    ...
    

    Asenduskood

    ...
    VATEntry.TESTFIELD("Postponed VAT",TRUE);
    VATEntry.TESTFIELD("Unrealized VAT Entry No.",0);
    IF NOT AllowSalesCrMemo AND
    
    // Add the following line. 
    IsPostponedSalesCrMemoVAT(VATEntry) AND HasPostedCrMemo(VATEntry."Document No.")
    
    THEN
    ERROR(Text010);
    UNTIL VATEntry.NEXT = 0
    ...
    
  10. Kustutage vatManagement-koodiuniti (12376) funktsioonis PostUnrealVAT järgmised kohalikud muutujad:

    • TempJnlLineDim
    • EntryNo (Kirjenumber)
  11. Muutke vatManagementi koodiplokis (12376) funktsiooni PostUnrealVAT koodi järgmiselt.
    Olemasolev kood

    ...
    ERROR(Text011,
    VATEntry.FIELDCAPTION("Posting Date"),VATEntry."Posting Date",
    VATEntry.FIELDCAPTION("Entry No."),VATEntry."Entry No.");
    
    // Delete the following lines. 
    EntryNo := VATEntry.GetCVLedgEntryNo(TempJnlLineDim);
    IF EntryNo <> 0 THEN BEGIN
    GenJnlLine."Document Type" := VATEntry."Document Type";
    GenJnlLine."Document No." := VATEntry."Document No.";
    GenJnlLine."Postponed VAT" := TRUE;
    GenJnlLine."VAT Date" := VATDate;
    GenJnlLine."Posting Date" := VATDate;
    IF VATEntry."Postponed VAT" THEN
    GenJnlLine.Description := Text008
    ELSE
    GenJnlLine.Description := Text009;
    GenJnlLine.Description :=
    COPYSTR(
    STRSUBSTNO(GenJnlLine.Description,VATEntry."Document Type",VATEntry."Document No."),
    1,MAXSTRLEN(GenJnlLine.Description));
    GenJnlLine."System-Created Entry" := TRUE;
    CASE VATEntry.Type OF
    VATEntry.Type::Sale:
    GenJnlLine."Account Type" := GenJnlLine."Account Type"::Customer;
    VATEntry.Type::Purchase:
    GenJnlLine."Account Type" := GenJnlLine."Account Type"::Vendor;
    END;
    IF Type = Type::Realize THEN
    PostGenJnlLine.RealizePostponedVAT(GenJnlLine,VATEntry."Transaction No.",VATEntry."Entry No.",TempJnlLineDim)
    ELSE // Reverse
    PostGenJnlLine.ReversePostponedVAT(GenJnlLine,VATEntry."Transaction No.",VATEntry."Entry No.",TempJnlLineDim);
    END;
    // End of the lines. 
    ...
    

    Asenduskood

    ...
    ERROR(Text011,
    VATEntry.FIELDCAPTION("Posting Date"),VATEntry."Posting Date",
    VATEntry.FIELDCAPTION("Entry No."),VATEntry."Entry No.");
    
    // Add the following lines.
    GenJnlLine."Document Type" := VATEntry."Document Type";
    GenJnlLine."Document No." := VATEntry."Document No.";
    GenJnlLine."Postponed VAT" := TRUE;
    GenJnlLine."VAT Date" := VATDate;
    GenJnlLine."Posting Date" := VATDate;
    IF VATEntry."Postponed VAT" THEN
    GenJnlLine.Description := Text008
    ELSE
    GenJnlLine.Description := Text009;
    GenJnlLine.Description :=
    COPYSTR(
    STRSUBSTNO(GenJnlLine.Description,VATEntry."Document Type",VATEntry."Document No."),
    1,MAXSTRLEN(GenJnlLine.Description));
    GenJnlLine."System-Created Entry" := TRUE;
    CASE VATEntry.Type OF
    VATEntry.Type::Sale:
    GenJnlLine."Account Type" := GenJnlLine."Account Type"::Customer;
    VATEntry.Type::Purchase:
    GenJnlLine."Account Type" := GenJnlLine."Account Type"::Vendor;
    END;
    IF Type = Type::Realize THEN
    PostGenJnlLine.RealizePostponedVAT(GenJnlLine,VATEntry)
    ELSE // Reverse
    PostGenJnlLine.ReversePostponedVAT(GenJnlLine,VATEntry);
    //End of the lines. 
    ...
    
  12. Looge vatManagementi koodiplokis (12376) uus funktsioon HasPostedCrMemo järgmiselt.

    LOCAL PROCEDURE HasPostedCrMemo@1170007(DocumentNo@1170000 : Code[20]) : Boolean;
    VAR
    SalesCrMemoHeader@1170001 : Record 114;
    BEGIN
    EXIT(SalesCrMemoHeader.GET(DocumentNo));
    END;
    
  13. Looge vatManagementi koodiunitis (12376) uus funktsioon IsPostponedSalesCrMemoVAT järgmiselt.

    LOCAL PROCEDURE IsPostponedSalesCrMemoVAT@1170008(VATEntry@1170000 : Record 254) : Boolean;
    BEGIN
    EXIT(
    (VATEntry."Unrealized Base" <> 0) AND (VATEntry.Type = VATEntry.Type::Sale) AND
    (VATEntry."Document Type" = VATEntry."Document Type"::"Credit Memo"));
    END;
    

Eeltingimused

Selle kiirparanduse rakendamiseks peab teil olema installitud Microsoft Dynamics NAV 2009 R2 poola versioon.

Eemaldamisteave

Seda kiirparandust ei saa eemaldada.

Olek

Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.

Märkus. See on otse Microsofti tugiteenuste organisatsioonist loodud FAST PUBLISH-artikkel. Käesolevas artiklis sisalduv teave on esitatud kujul, mis on seotud tekkivate küsimustega. Materjali kättesaadavaks tegemise kiiruse tõttu võivad materjalid sisaldada kirjavigu ja neid võib igal ajal ette teatamata läbi vaadata. Muid kaalutlusi leiate teemast Kasutustingimused .