Ισχύει για
Dynamics NAV 2009

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

Συμπτώματα

Όταν καταχωρείτε εγγραφές εισπράξεων με ένα τιμολόγιο και τεχνική απόρριψη ταυτόχρονα στην Πορτογαλική έκδοση του Microsoft Dynamics NAV 2009, καταχωρούνται όλες τις καταχωρημένες εγγραφές γενικής λογιστικής χρησιμοποιώντας το λογαριασμό τεχνικές απόρριψη. Ωστόσο, θα πρέπει να χρησιμοποιηθεί το λογαριασμό εισπρακτέων για το τιμολόγιο, και πρέπει να χρησιμοποιείται ο λογαριασμός λογαριασμοί απορρίφθηκε για το έγγραφο απορρίφθηκε. Αυτό το ζήτημα παρουσιάζεται στα ακόλουθα προϊόντα:

  • Πορτογαλική έκδοση του Microsoft Dynamics NAV 2009 R2

  • Της πορτογαλικής έκδοσης του Microsoft Dynamics NAV 2009 Service Pack 1

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

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

Μια υποστηριζόμενη άμεση επιδιόρθωση είναι τώρα διαθέσιμη από τη 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 Αναγνωριστικό αντικειμένου συστήματος .

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

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

Σημείωση Πάντα δοκιμή κώδικα διορθώνει σε ελεγχόμενο περιβάλλον πριν να εφαρμόσετε τις ενημερώσεις κώδικα στους υπολογιστές παραγωγής.Για να επιλύσετε αυτό το ζήτημα, να αλλάξετε τον κωδικό στο πεδίο ομάδα καταχώρησης εγγραφών.-Post γραμμή μονάδα κώδικα (12). Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:

  1. Προσθέστε την παρακάτω καθολική μεταβλητή:

    TempRejCustLedgEntry@1100047 : TEMPORARY Record 21;
  2. Αλλάξτε τον κωδικό στη συνάρτηση PostCust ως εξής:Υπάρχοντα κωδικό 1

    ...          DiscRiskFactAmountLCY := 0;          DiscUnriskFactAmountLCY := 0;          CollFactAmountLCY := 0;        //--------          IF Cust."No." <> "Account No." THEN            Cust.GET("Account No.");          Cust.CheckBlockedCustOnJnls(Cust,"Document Type",TRUE);          IF "Posting Group" = '' THEN BEGIN...

    Αντικατάσταση κώδικα 1

    ...          DiscRiskFactAmountLCY := 0;          DiscUnriskFactAmountLCY := 0;          CollFactAmountLCY := 0;        //--------// Add the following lines.          TempRejCustLedgEntry.RESET;         TempRejCustLedgEntry.DELETEALL;// End of the lines.          IF Cust."No." <> "Account No." THEN            Cust.GET("Account No.");          Cust.CheckBlockedCustOnJnls(Cust,"Document Type",TRUE);          IF "Posting Group" = '' THEN BEGIN...

    Υπάρχοντα κώδικα 2

    ...            END;          // Post the application          ApplyCustLedgEntry(            CVLedgEntryBuf,DtldCVLedgEntryBuf,GenJnlLine,GLSetup."Appln. Rounding Precision");// Delete the following lines.         IF GenJnlLine."Applies-to Doc. Type" = GenJnlLine."Applies-to Doc. Type"::" " THEN           GenJnlLine."Applies-to Doc. Type" := AppliesToDocType;// End of the lines.          IF AppManagement.AccessToCartera AND NOT GenJnlLine.Prepayment THEN BEGIN            IF "Document Type" = "Document Type"::Bill THEN BEGIN              DocPost.CreateReceivableDoc(GenJnlLine,CVLedgEntryBuf);              CustLedgEntry."Document Situation" := CustLedgEntry."Document Situation"::Cartera;...

    Αντικατάσταση κώδικα 2

    ...            END;          // Post the application          ApplyCustLedgEntry(            CVLedgEntryBuf,DtldCVLedgEntryBuf,GenJnlLine,GLSetup."Appln. Rounding Precision");// Add the following lines.         IF ("Applies-to ID" = '') AND ("Applies-to Doc. Type" = "Applies-to Doc. Type"::" ") THEN           "Applies-to Doc. Type" := AppliesToDocType;// End of the lines.          IF AppManagement.AccessToCartera AND NOT GenJnlLine.Prepayment THEN BEGIN            IF "Document Type" = "Document Type"::Bill THEN BEGIN              DocPost.CreateReceivableDoc(GenJnlLine,CVLedgEntryBuf);              CustLedgEntry."Document Situation" := CustLedgEntry."Document Situation"::Cartera;...
  3. Αλλάξτε τον κωδικό στη συνάρτηση PostVend ως εξής:Υπάρχοντα κώδικα

    ...          // Post the application          ApplyVendLedgEntry(            CVLedgEntryBuf,DtldCVLedgEntryBuf,GenJnlLine,            GLSetup."Appln. Rounding Precision");// Delete the following lines.         IF GenJnlLine."Applies-to Doc. Type" = GenJnlLine."Applies-to Doc. Type"::" " THEN           GenJnlLine."Applies-to Doc. Type" := AppliesToDocType;// End of the lines.          IF AppManagement.AccessToCartera AND NOT GenJnlLine.Prepayment THEN BEGIN            IF "Document Type" = "Document Type"::Bill THEN BEGIN              DocPost.CreatePayableDoc(GenJnlLine,CVLedgEntryBuf);              VendLedgEntry."Document Situation" := VendLedgEntry."Document Situation"::Cartera;...

    Αντικατάσταση κώδικα

    ...          // Post the application          ApplyVendLedgEntry(            CVLedgEntryBuf,DtldCVLedgEntryBuf,GenJnlLine,            GLSetup."Appln. Rounding Precision");// Add the following lines.         IF ("Applies-to ID" = '') AND ("Applies-to Doc. Type" = "Applies-to Doc. Type"::" ") THEN           "Applies-to Doc. Type" := AppliesToDocType;// End of the lines.          IF AppManagement.AccessToCartera AND NOT GenJnlLine.Prepayment THEN BEGIN            IF "Document Type" = "Document Type"::Bill THEN BEGIN              DocPost.CreatePayableDoc(GenJnlLine,CVLedgEntryBuf);              VendLedgEntry."Document Situation" := VendLedgEntry."Document Situation"::Cartera;...
  4. Αλλάξτε τον κωδικό στη συνάρτηση ApplyCustLedgEntry ως εξής:Υπάρχοντα κώδικα

    ...                OldCustLedgEntry."Document Situation"::"Closed Documents",                OldCustLedgEntry."Document Situation"::"Closed BG/PO"]) THEN                FromClosedDoc := TRUE              ELSE                FromClosedDoc := FALSE;              DocPost.UpdateReceivableDoc(                OldCustLedgEntry,GenJnlLine,AppliedAmountLCY + DeltaUnrealAmount + DeltaAmountLCY,                DocAmountLCY,RejDocAmountLCY,DiscDocAmountLCY,CollDocAmountLCY,                DiscRiskFactAmountLCY,DiscUnriskFactAmountLCY,CollFactAmountLCY);            END;...

    Αντικατάσταση κώδικα

    ...                OldCustLedgEntry."Document Situation"::"Closed Documents",                OldCustLedgEntry."Document Situation"::"Closed BG/PO"]) THEN                FromClosedDoc := TRUE              ELSE                FromClosedDoc := FALSE;// Add the following lines.             IF OldCustLedgEntry."Document Status" = OldCustLedgEntry."Document Status"::Rejected THEN BEGIN               TempRejCustLedgEntry := OldCustLedgEntry;               TempRejCustLedgEntry."Remaining Amount (LCY) stats." := AppliedAmountLCY + DeltaUnrealAmount + DeltaAmountLCY;               TempRejCustLedgEntry.INSERT;             END;// End of the lines.              DocPost.UpdateReceivableDoc(                OldCustLedgEntry,GenJnlLine,AppliedAmountLCY + DeltaUnrealAmount + DeltaAmountLCY,                DocAmountLCY,RejDocAmountLCY,DiscDocAmountLCY,CollDocAmountLCY,                DiscRiskFactAmountLCY,DiscUnriskFactAmountLCY,CollFactAmountLCY);            END;...
  5. Αλλάξτε τον κωδικό στη συνάρτηση PostDtldCustLedgEntries ως εξής:Υπάρχοντα κώδικα

    ...              AccNo := CustPostingGr."Bills Account";            END ELSE BEGIN              CustPostingGr.TESTFIELD("Receivables Account");              AccNo := CustPostingGr."Receivables Account";            END;// Delete the following lines.           IF DiscDocAmountLCY <> 0 THEN BEGIN             CustPostingGr.TESTFIELD("Discted. Bills Acc.");             AccNo := CustPostingGr."Discted. Bills Acc.";           END;           IF CollDocAmountLCY <> 0 THEN BEGIN             CustPostingGr.TESTFIELD("Bills on Collection Acc.");             AccNo := CustPostingGr."Bills on Collection Acc.";           END;           IF RejDocAmountLCY <> 0 THEN BEGIN             CASE GenJnlLine."Applies-to Doc. Type" OF               GenJnlLine."Applies-to Doc. Type"::Bill:                 BEGIN                   CustPostingGr.TESTFIELD("Rejected Bills Acc.");                   AccNo := CustPostingGr."Rejected Bills Acc.";                 END;               GenJnlLine."Applies-to Doc. Type"::Invoice:                 BEGIN                   CustPostingGr.TESTFIELD("Rejected Factoring Acc.");                   AccNo := CustPostingGr."Rejected Factoring Acc.";                 END;               ELSE                 IF (GenJnlLine."Document Type" IN [GenJnlLine."Document Type"::"Credit Memo",GenJnlLine."Document Type"::Payment]) AND                   (OldCVLedgEntryBuf4."Applies-to ID" <> '') THEN BEGIN                   CASE OldCVLedgEntryBuf4."Document Type" OF                     OldCVLedgEntryBuf4."Document Type"::Bill:                       BEGIN                         CustPostingGr.TESTFIELD("Receivables Account");                         AccNo := CustPostingGr."Receivables Account";                       END;                     OldCVLedgEntryBuf4."Document Type"::Invoice:                       BEGIN                         CustPostingGr.TESTFIELD("Receivables Account");                         AccNo := CustPostingGr."Receivables Account";                       END;                   END;                 END;             END;           END;           IF (DiscRiskFactAmountLCY <> 0) OR (DiscUnriskFactAmountLCY <> 0) THEN BEGIN             CustPostingGr.TESTFIELD("Factoring for Discount Acc.");             AccNo := CustPostingGr."Factoring for Discount Acc.";           END;           IF CollFactAmountLCY <> 0 THEN BEGIN             CustPostingGr.TESTFIELD("Factoring for Collection Acc.");             AccNo := CustPostingGr."Factoring for Collection Acc.";           END;// End of the lines.            ReceivableAccAmtLCY :=              TotalAmountLCY -              (DocAmountLCY + DiscDocAmountLCY +               CollDocAmountLCY + RejDocAmountLCY + DiscRiskFactAmountLCY +...

    Αντικατάσταση κώδικα

    ...              AccNo := CustPostingGr."Bills Account";            END ELSE BEGIN              CustPostingGr.TESTFIELD("Receivables Account");              AccNo := CustPostingGr."Receivables Account";            END;            ReceivableAccAmtLCY :=              TotalAmountLCY -              (DocAmountLCY + DiscDocAmountLCY +               CollDocAmountLCY + RejDocAmountLCY + DiscRiskFactAmountLCY +...
  6. Αλλάξτε τον κωδικό στη συνάρτηση PostReceivableDocs ως εξής:Υπάρχοντα κώδικα

    ...          GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";          GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";          InsertGLEntry(TRUE);        END;        IF RejDocAmountLCY <> 0 THEN BEGIN// Delete the following lines.         CASE GenJnlLine."Applies-to Doc. Type" OF           GenJnlLine."Applies-to Doc. Type"::Bill:             BEGIN               CustPostingGr.TESTFIELD("Rejected Bills Acc.");               InitGLEntry(CustPostingGr."Rejected Bills Acc.",RejDocAmountLCY,DocAmtCalcAddCurrency(RejDocAmountLCY),TRUE,TRUE);               GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";               GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";               InsertGLEntry(TRUE);             END;           GenJnlLine."Applies-to Doc. Type"::Invoice:             BEGIN               CustPostingGr.TESTFIELD("Rejected Factoring Acc.");               InitGLEntry(CustPostingGr."Rejected Factoring Acc.",RejDocAmountLCY,DocAmtCalcAddCurrency(RejDocAmountLCY),TRUE,TRUE);               GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";               GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";               InsertGLEntry(TRUE);             END;           ELSE             IF (GenJnlLine."Document Type" IN [GenJnlLine."Document Type"::"Credit Memo",GenJnlLine."Document Type"::Payment]) AND               (OldCVLedgEntryBuf4."Applies-to ID" <> '') THEN BEGIN               CASE OldCVLedgEntryBuf4."Document Type" OF                 OldCVLedgEntryBuf4."Document Type"::Bill:                   BEGIN                     CustPostingGr.TESTFIELD("Rejected Bills Acc.");                     InitGLEntry(CustPostingGr."Rejected Bills Acc.",RejDocAmountLCY,DocAmtCalcAddCurrency(RejDocAmountLCY),TRUE,TRUE);                     GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";                     GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";                     InsertGLEntry(TRUE);                   END;                 OldCVLedgEntryBuf4."Document Type"::Invoice:                   BEGIN                     CustPostingGr.TESTFIELD("Rejected Factoring Acc.");                     InitGLEntry(CustPostingGr."Rejected Factoring Acc.",RejDocAmountLCY,DocAmtCalcAddCurrency(RejDocAmountLCY),TRUE,TRUE       );                     GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";                     GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";                     InsertGLEntry(TRUE);                   END;               END;             END;// End of the lines.          END;        END;        IF DiscRiskFactAmountLCY <> 0 THEN BEGIN          CustPostingGr.TESTFIELD("Factoring for Discount Acc.");          InitGLEntry(CustPostingGr."Factoring for Discount Acc.",...

    Αντικατάσταση κώδικα

    ...          GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";          GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";          InsertGLEntry(TRUE);        END;        IF RejDocAmountLCY <> 0 THEN BEGIN// Add the following lines.         WITH TempRejCustLedgEntry DO BEGIN           RESET;           SETCURRENTKEY("Customer No.","Document Type","Document Situation","Document Status");           SETRANGE("Document Type","Document Type"::Bill);           CALCSUMS("Remaining Amount (LCY) stats.");           IF "Remaining Amount (LCY) stats." <> 0 THEN BEGIN             CustPostingGr.TESTFIELD("Rejected Bills Acc.");             InitGLEntry(               CustPostingGr."Rejected Bills Acc.","Remaining Amount (LCY) stats.",               DocAmtCalcAddCurrency("Remaining Amount (LCY) stats."),TRUE,TRUE);             GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";             GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";             InsertGLEntry(TRUE);           END;           SETRANGE("Document Type","Document Type"::Invoice);           CALCSUMS("Remaining Amount (LCY) stats.");           IF "Remaining Amount (LCY) stats." <> 0 THEN BEGIN             CustPostingGr.TESTFIELD("Rejected Factoring Acc.");             InitGLEntry(               CustPostingGr."Rejected Factoring Acc.","Remaining Amount (LCY) stats.",               DocAmtCalcAddCurrency("Remaining Amount (LCY) stats."),TRUE,TRUE);             GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";             GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";             InsertGLEntry(TRUE);           END;// End of the lines.          END;        END;        IF DiscRiskFactAmountLCY <> 0 THEN BEGIN          CustPostingGr.TESTFIELD("Factoring for Discount Acc.");          InitGLEntry(CustPostingGr."Factoring for Discount Acc.",...

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

Πρέπει να έχετε ένα από τα ακόλουθα προϊόντα, για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση:

  • Πορτογαλική έκδοση του Microsoft Dynamics NAV 2009 R2

  • Της πορτογαλικής έκδοσης του Microsoft Dynamics NAV 2009 Service Pack 1

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

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

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".

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

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.