Εμφανίζεται το μήνυμα λάθους "Δεν μπορείτε να διαχειριστείτε Αναβληθείσες ΦΠΑ για το πιστωτικό τιμολόγιο πώλησης εδώ" όταν συνειδητοποιείτε μια αναβλημένη ΦΠΑ στο πλαίσιο διαλόγου "φύλλο εργασίας συσχέτισης ΦΠΑ" στην Πολωνική έκδοση του Microsoft Dynamics NAV 2009 R2


Αυτό το άρθρο ισχύει για το Microsoft Dynamics NAV για την τοπική ρύθμιση γλώσσας Πολωνικά (pl).

Συμπτώματα


Ας υποθέσουμε ότι μπορείτε να καταχωρήσετε ένα πιστωτικό τιμολόγιο πώλησης που περιέχει μια αναβλημένη φόρος προστιθέμενης αξίας (ΦΠΑ) στην Πολωνική έκδοση του Microsoft Dynamics NAV 2009 R2. Κατά την προσπάθειά σας να γνωρίζετε το ΦΠΑ στο πλαίσιο διαλόγου " Φύλλο εργασίας συσχέτισης ΦΠΑ ", λαμβάνετε το ακόλουθο μήνυμα λάθους:
Δεν μπορεί να χειριστεί εδώ Αναβληθείσες ΦΠΑ για το πιστωτικό τιμολόγιο πώλησης.

Προτεινόμενη αντιμετώπιση


Πληροφορίες άμεσης επιδιόρθωσης

Μια υποστηριζόμενη άμεση επιδιόρθωση είναι τώρα διαθέσιμη από τη Microsoft. Ωστόσο, προορίζεται μόνο για τη διόρθωση του ζητήματος που περιγράφεται σε αυτό το άρθρο. Eφαρμόστε τη μόνο σε συστήματα που αντιμετωπίζουν το συγκεκριμένο ζήτημα. Αυτή η επείγουσα επιδιόρθωση ενδέχεται να υποβληθεί σε πρόσθετο έλεγχο. Επομένως, εάν αυτό το ζήτημα δεν σας επηρεάζει ιδιαίτερα, σας συνιστούμε να περιμένετε έως το επόμενο service pack του Microsoft Dynamics NAV 2009 ή την επόμενη έκδοση του Microsoft Dynamics NAV που περιέχει αυτήν την επείγουσα επιδιόρθωση.

Σημείωση Σε ειδικές περιπτώσεις, οι χρεώσεις που υφίστανται κανονικά για κλήσεις υποστήριξης ενδέχεται να να ακυρωθούν, εάν έναν επαγγελματία τεχνικής υποστήριξης για το Microsoft Dynamics και σχετικά προϊόντα προσδιορίζει ότι μια συγκεκριμένη ενημερωμένη έκδοση θα επιλύσει το ζήτημά σας. Οι συνηθισμένες χρεώσεις υποστήριξης θα ισχύει για πρόσθετες ερωτήσεις υποστήριξης και για θέματα που δεν αφορούν τη συγκεκριμένη ενημερωμένη έκδοση.


Πληροφορίες εγκατάστασης

Η Microsoft παρέχει παραδείγματα προγραμματισμού μόνο για επεξήγηση, χωρίς καμία εγγύηση, είτε σιωπηρή είτε ρητή. Αυτό περιλαμβάνει, ενδεικτικά, τις σιωπηρές εγγυήσεις εμπορευσιμότητας ή καταλληλότητας για συγκεκριμένο σκοπό. Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τη γλώσσα προγραμματισμού που παρουσιάζεται, καθώς και με τα εργαλεία που χρησιμοποιούνται για τη δημιουργία διαδικασιών και τον εντοπισμό σφαλμάτων σε αυτές. Οι μηχανικοί υποστήριξης της Microsoft μπορούν να σας εξηγήσουν τη λειτουργικότητα μιας συγκεκριμένης διαδικασίας, αλλά δεν θα τροποποιήσουν αυτά τα παραδείγματα για να παράσχουν πρόσθετες λειτουργίες, ούτε θα δημιουργήσουν διαδικασίες για να καλύψουν τις συγκεκριμένες απαιτήσεις σας.

Σημείωση Πριν να εγκαταστήσετε αυτήν την επείγουσα επιδιόρθωση, επιβεβαιώστε ότι όλοι οι χρήστες προγράμματος-πελάτη Microsoft Navision έχουν αποσυνδεθεί από το σύστημα. Σε αυτές περιλαμβάνονται οι χρήστες του προγράμματος-πελάτη Microsoft Navision εφαρμογής υπηρεσιών (NAS). Θα πρέπει να το πρόγραμμα-πελάτη μόνο χρήστη που είναι συνδεδεμένος κατά την εφαρμογή αυτής της επείγουσας επιδιόρθωσης.

Για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση, πρέπει να έχετε μια άδεια χρήσης του προγραμματιστή.

Συνιστούμε ότι ο λογαριασμός χρήστη στο παράθυρο "Συνδέσεις Windows" ή στο παράθυρο συνδέσεις βάσης δεδομένων να αντιστοιχιστεί το "SUPER" αναγνωριστικό ρόλου. Εάν ο λογαριασμός χρήστη δεν μπορεί να αντιστοιχιστεί το Αναγνωριστικό ρόλου "SUPER", πρέπει να επαληθεύσετε ότι ο λογαριασμός χρήστη έχει τα ακόλουθα δικαιώματα:
  • Το δικαίωμα "Τροποποίηση" για το αντικείμενο που θα αλλάξετε.
  • Τα δικαιώματα εκτέλεσης για το αντικείμενο 5210 Αναγνωριστικό αντικειμένου συστήματος και για το αντικείμενο 9015 Αναγνωριστικό αντικειμένου συστήματος .


Σημείωση Δεν πρέπει να έχετε δικαιώματα για τους χώρους αποθήκευσης δεδομένων, εκτός και αν έχετε να εκτελέσετε επιδιόρθωση δεδομένων.

Αλλαγές κώδικα

Σημείωση Πάντα δοκιμή κώδικα διορθώνει σε ελεγχόμενο περιβάλλον πριν να εφαρμόσετε τις ενημερώσεις κώδικα στους υπολογιστές παραγωγής.
Για να επιλύσετε αυτό το ζήτημα, ακολουθήστε τα εξής βήματα:
  1. Διαγράψτε τις ακόλουθες παραμέτρους στη συνάρτηση RealizePostponedVAT στο το Mερισμός Εγγραφών Λογιστικής-μονάδα κώδικα γραμμή καταχώρησης (12):
    • TransactionNo
    • VATEntryNo
    • VAR TempJnlLineDim2
  2. Προσθέστε μια νέα παράμετρο στη συνάρτηση RealizePostponedVAT στο το Mερισμός Εγγραφών Λογιστικής-μονάδα κώδικα γραμμή καταχώρησης (12), και στη συνέχεια καθορίστε την παράμετρο ως εξής:
    • Όνομα: VATEntry
    • Τύπος δεδομένων: εγγραφή
    • Δευτερεύων τύπος: Εγγραφή ΦΠΑ (254)
  3. Να αλλάξετε τον κωδικό στη συνάρτηση RealizePostponedVAT στο το Mερισμός Εγγραφών Λογιστικής-μονάδα κώδικα γραμμή καταχώρησης (12) ως εξής:
    Υπάρχοντα κωδικό 1
    ...GenJnlLine.COPY(GenJnlLine2);

    // Delete the following lines.
    TempJnlLineDim.RESET;
    TempJnlLineDim.DELETEALL;
    DimMgt.CopyJnlLineDimToJnlLineDim(TempJnlLineDim2,TempJnlLineDim);
    // End of the lines.

    GLSetup.GET;
    SourceCodeSetup.GET;
    ...
    Αντικατάσταση κώδικα 1
    ...GenJnlLine.COPY(GenJnlLine2);

    // Add the following line.
    PreparePostponedVATDim(VATEntry,TempJnlLineDim);

    GLSetup.GET;
    SourceCodeSetup.GET;
    ...
    Υπάρχοντα κώδικα 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
    ...
    Αντικατάσταση κώδικα 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
    ...
    Υπάρχοντα κώδικα 3
    ...CustUnrealizedVAT(CustLedgEntry,GenJnlLine.Amount)
    END ELSE BEGIN

    // Delete the following line.
    VendLedgEntry."Transaction No." := TransactionNo;

    VendUnrealizedVAT(VendLedgEntry,GenJnlLine.Amount);
    END;
    VATEntryNoToRealize := 0;
    ...
    Αντικατάσταση κώδικα 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. Διαγράψτε τις ακόλουθες παραμέτρους στη συνάρτηση ReversePostponedVAT στο το Mερισμός Εγγραφών Λογιστικής-μονάδα κώδικα γραμμή καταχώρησης (12):
    • TransactionNo
    • VATEntryNo
    • VAR TempJnlLineDim2
  5. Προσθέστε μια νέα παράμετρο στη συνάρτηση ReversePostponedVAT στο το Mερισμός Εγγραφών Λογιστικής-μονάδα κώδικα γραμμή καταχώρησης (12), και στη συνέχεια καθορίστε την παράμετρο ως εξής:
    • Όνομα: PostponedVATEntry
    • Τύπος δεδομένων: εγγραφή
    • Δευτερεύων τύπος: Εγγραφή ΦΠΑ (254)
  6. Να αλλάξετε τον κωδικό στη συνάρτηση ReversePostponedVAT στο το Mερισμός Εγγραφών Λογιστικής-μονάδα κώδικα γραμμή καταχώρησης (12) ως εξής:
    Υπάρχοντα κωδικό 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;
    ...
    Αντικατάσταση κώδικα 1
    ...GenJnlLine.COPY(GenJnlLine2);

    // Add the following lines.
    PreparePostponedVATDim(PostponedVATEntry,TempJnlLineDim);
    //End of the lines.

    SourceCodeSetup.GET;
    GenJnlLine."Source Code" := SourceCodeSetup.Reversal;
    ...
    Υπάρχοντα κώδικα 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.");
    ...
    Αντικατάσταση κώδικα 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. Δημιουργήστε μια νέα συνάρτηση PreparePostponedVATDim στο το Mερισμός Εγγραφών Λογιστικής-μονάδα κώδικα γραμμή καταχώρησης (12) ως εξής:
    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. Αλλάξτε τον κωδικό στη συνάρτηση PostponeVATEntry στη μονάδα κώδικα VATManagement (12376) ως εξής:
    Υπάρχοντα κώδικα
    ...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
    ...
    Αντικατάσταση κώδικα
    ...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. Αλλάξτε τον κωδικό στη συνάρτηση RealizeVATEntry στη μονάδα κώδικα VATManagement (12376) ως εξής:
    Υπάρχοντα κώδικα
    ...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
    ...
    Αντικατάσταση κώδικα
    ...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. Διαγράψτε τις ακόλουθες τοπικές μεταβλητές στη συνάρτηση PostUnrealVAT στη μονάδα κώδικα VATManagement (12376):
    • TempJnlLineDim
    • EntryNo
  11. Αλλάξτε τον κωδικό στη συνάρτηση PostUnrealVAT στη μονάδα κώδικα VATManagement (12376) ως εξής:
    Υπάρχοντα κώδικα
    ...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.
    ...
    Αντικατάσταση κώδικα
    ...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. Δημιουργήστε μια νέα συνάρτηση HasPostedCrMemo στη μονάδα κώδικα VATManagement (12376) ως εξής:
    LOCAL PROCEDURE HasPostedCrMemo@1170007(DocumentNo@1170000 : Code[20]) : Boolean;VAR
    SalesCrMemoHeader@1170001 : Record 114;
    BEGIN
    EXIT(SalesCrMemoHeader.GET(DocumentNo));
    END;
  13. Δημιουργήστε μια νέα συνάρτηση IsPostponedSalesCrMemoVAT στη μονάδα κώδικα VATManagement (12376) ως εξής:
    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;

Προϋποθέσεις

Πρέπει να έχετε της πολωνικής έκδοσης του Microsoft Dynamics NAV 2009 R2 για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση.

Πληροφορίες κατάργησης

Δεν μπορείτε να καταργήσετε αυτήν την επείγουσα επιδιόρθωση.

Κατάσταση


Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".
Σημείωση Αυτό είναι ένα άρθρο "ΤΑΧΕΙΑΣ ΔΗΜΟΣΙΕΥΣΗΣ" που έχει δημιουργηθεί απευθείας από την εταιρεία υποστήριξης της Microsoft. Οι πληροφορίες που περιέχονται στο παρόν έγγραφο παρέχονται ως έχουν, ως απάντηση σε ζητήματα που προέκυψαν. Ως αποτέλεσμα της ταχύτητας διαθεσιμότητάς του, το υλικό ενδέχεται να περιλαμβάνει τυπογραφικά λάθη και μπορεί να αναθεωρηθεί οποιαδήποτε στιγμή, χωρίς προειδοποίηση. Για άλλα θέματα, ανατρέξτε στην ενότητα " Όροι χρήσης ".