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

Ισχύει για
Dynamics NAV 2009 Dynamics NAV 2009 Service Pack 1

Αυτό το άρθρο ισχύει για το Microsoft Dynamics NAV για τις τοπικές ρυθμίσεις γλώσσας Γερμανικά (de).

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο στη γερμανική έκδοση του Microsoft Dynamics NAV:

  • Μπορείτε να ενεργοποιήσετε τη ρύθμιση Εξετάστε την έκπτωση σε μια κάρτα ρευστότητας.
  • ou εκτελέστε τη συνάρτηση συμπλήρωσης σε ένα ημερολόγιο ρευστότητας για ένα τιμολόγιο που δεν περιλαμβάνει έκπτωση.

Σε αυτό το σενάριο, προτείνεται εσφαλμένη ημερομηνία ρευστότητας στο χρονικό ρευστότητας. Η ημερομηνία ρευστότητας είναι ίση με την ημερομηνία καταχώρησης του τιμολογίου και όχι με την ημερομηνία λήξης του τιμολογίου.
Αυτό το ζήτημα παρουσιάζεται στα ακόλουθα προϊόντα:

  • Η γερμανική έκδοση του Microsoft Dynamics NAV 2009 R2
  • Η γερμανική έκδοση του Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

Επίλυση

Πληροφορίες επείγουσας επιδιόρθωσης

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

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

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

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

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

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

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

  • Το δικαίωμα τροποποίησης για το αντικείμενο που θα αλλάξετε.
  • Το δικαίωμα εκτέλεσης για το αντικείμενο αναγνωριστικού αντικειμένου συστήματος 5210 και για το αντικείμενο αναγνωριστικού αντικειμένου συστήματος 9015.

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

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

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

  1. Αλλάξτε τον κωδικό στο έναυσμα Cust. Ledger Entry - OnAfterGetRecord στην αναφορά Fill Liquidity Journal (5055250) ως εξής:
    Υπάρχων κώδικας

    ...
          "Payment Discount" := "Cust. Ledger Entry"."Original Pmt. Disc. Possible";
        Amount := "Cust. Ledger Entry"."Remaining Amt. (LCY)" - "Payment Discount";
        "Amount (Currency)" := "Cust. Ledger Entry"."Remaining Amount" - "Cust. Ledger Entry"."Original Pmt. Disc. Possible";
    
        // Delete the following line.
        IF "Cust. Ledger Entry"."Pmt. Discount Date" <> 0D THEN BEGIN
    
          "Liquidity Date" := "Cust. Ledger Entry"."Pmt. Discount Date";
        IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
          "Liquidity Date" := "Cust. Ledger Entry"."Pmt. Disc. Tolerance Date";
        END;
    ...
    
    

    Κωδικός αντικατάστασης

    ...
          "Payment Discount" := "Cust. Ledger Entry"."Original Pmt. Disc. Possible";
        Amount := "Cust. Ledger Entry"."Remaining Amt. (LCY)" - "Payment Discount";
        "Amount (Currency)" := "Cust. Ledger Entry"."Remaining Amount" - "Cust. Ledger Entry"."Original Pmt. Disc. Possible";
    
        // Add the following line.
        IF ("Cust. Ledger Entry"."Pmt. Discount Date" <> 0D) AND ("Payment Discount" <> 0) THEN BEGIN
    
          "Liquidity Date" := "Cust. Ledger Entry"."Pmt. Discount Date";
        IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
          "Liquidity Date" := "Cust. Ledger Entry"."Pmt. Disc. Tolerance Date";
        END;
    ...
    
    
  2. Αλλάξτε τον κωδικό στο έναυσμα Εγγραφή καθολικού προμηθευτή - OnAfterGetRecord στην αναφορά εγγραφών ρευστότητας πλήρωσης (5055250) ως εξής:
    Υπάρχων κώδικας

    ...
          "Payment Discount" := "Vendor Ledger Entry"."Original Pmt. Disc. Possible";
        Amount := "Vendor Ledger Entry"."Remaining Amt. (LCY)" - "Payment Discount";
        "Amount (Currency)" := "Vendor Ledger Entry"."Remaining Amount" - "Vendor Ledger Entry"."Original Pmt. Disc. Possible";
    
        // Delete the following line.
        IF "Vendor Ledger Entry"."Pmt. Discount Date" <> 0D THEN BEGIN
    
          "Liquidity Date" := "Vendor Ledger Entry"."Pmt. Discount Date";
        IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
          "Liquidity Date" := "Vendor Ledger Entry"."Pmt. Disc. Tolerance Date";
        END;
    ...
    
    

    Κωδικός αντικατάστασης

    ...
          "Payment Discount" := "Vendor Ledger Entry"."Original Pmt. Disc. Possible";
        Amount := "Vendor Ledger Entry"."Remaining Amt. (LCY)" - "Payment Discount";
        "Amount (Currency)" := "Vendor Ledger Entry"."Remaining Amount" - "Vendor Ledger Entry"."Original Pmt. Disc. Possible";
    
        // Add the following line.
        IF ("Vendor Ledger Entry"."Pmt. Discount Date" <> 0D) AND ("Payment Discount" <> 0) THEN BEGIN
    
          "Liquidity Date" := "Vendor Ledger Entry"."Pmt. Discount Date";
        IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
          "Liquidity Date" := "Vendor Ledger Entry"."Pmt. Disc. Tolerance Date";
        END;
    ...
    
    
  3. Αλλάξτε τον κωδικό στο έναυσμα Purchase Line - OnAfterGetRecord στην αναφορά Fill Liquidity Journal (5055250) ως εξής:
    Υπάρχων κώδικας

    ...
      "Due Date" := PurchHeader."Due Date";
      "Document No." := "Purchase Line"."Document No.";
    
      // Delete the following lines.
      IF (PurchHeader."Pmt. Discount Date" <> 0D) AND (Liquidity."Consider Discount") THEN BEGIN
        "Liquidity Date" := PurchHeader."Pmt. Discount Date";
      // End of the lines.
    
        IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
          "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date");
      END ELSE
        "Liquidity Date" := PurchHeader."Due Date";
    ...
    

    Κωδικός αντικατάστασης

    ...
      "Due Date" := PurchHeader."Due Date";
      "Document No." := "Purchase Line"."Document No.";
    
      // Add the following lines.
      IF (PurchHeader."Pmt. Discount Date" <> 0D) AND
        (Liquidity."Consider Discount") AND
        (PurchHeader."Payment Discount %" <> 0)
      THEN BEGIN
        "Liquidity Date" := PurchHeader."Pmt. Discount Date";
      // End of the lines.
    
        IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
          "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date");
      END ELSE
        "Liquidity Date" := PurchHeader."Due Date";
    ...
    
  4. Αλλάξτε τον κωδικό στο έναυσμα Sales Line - OnAfterGetRecord στην αναφορά Fill Liquidity Journal (5055250) ως εξής:
    Υπάρχων κώδικας

    ...
      "Due Date" := SalesHeader."Due Date";
      "Document No." := "Sales Line"."Document No.";
    
      // Delete the following lines.
      IF (SalesHeader."Pmt. Discount Date" <> 0D) AND (Liquidity."Consider Discount") THEN BEGIN
        "Liquidity Date" := SalesHeader."Pmt. Discount Date";
      // End of the lines.
    
        IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
          "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date");
      END ELSE
        "Liquidity Date" := SalesHeader."Due Date";
    ...
    

    Κωδικός αντικατάστασης

    ...
      "Due Date" := SalesHeader."Due Date";
      "Document No." := "Sales Line"."Document No.";
    
      // Add the following lines.
      IF (SalesHeader."Pmt. Discount Date" <> 0D) AND
        (Liquidity."Consider Discount") AND
        (SalesHeader."Payment Discount %" <> 0)
      THEN BEGIN
        "Liquidity Date" := SalesHeader."Pmt. Discount Date";
      // End of the lines.
    
        IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
          "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date");
      END ELSE
        "Liquidity Date" := SalesHeader."Due Date";
    ...
    
  5. Αλλάξτε τον κωδικό στο έναυσμα Service Line - OnAfterGetRecord στην αναφορά Fill Liquidity Journal (5055250) ως εξής:
    Υπάρχων κώδικας

    ...
        Customer.GET(ServiceHeader."Bill-to Customer No.");
        IF Customer."Payment Terms Code" <> '' THEN BEGIN
          PaymentTerms.GET(Customer."Payment Terms Code");
    
          // Delete the following line.
          IF Liquidity."Consider Discount" THEN BEGIN
    
            "Liquidity Date" := CALCDATE(PaymentTerms."Discount Date Calculation",ServiceHeader."Document Date");
            IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
              "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date");
          END ELSE
    ...
    

    Κωδικός αντικατάστασης

    ...
        Customer.GET(ServiceHeader."Bill-to Customer No.");
        IF Customer."Payment Terms Code" <> '' THEN BEGIN
          PaymentTerms.GET(Customer."Payment Terms Code");
    
          // Add the following line.
          IF Liquidity."Consider Discount" AND (ServiceHeader."Payment Discount %" <> 0) THEN BEGIN
    
            "Liquidity Date" := CALCDATE(PaymentTerms."Discount Date Calculation",ServiceHeader."Document Date");
            IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN
              "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date");
          END ELSE
    ...
    
    

Προαπαιτούμενα

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

  • Η γερμανική έκδοση του Microsoft Dynamics NAV 2009 R2
  • Η γερμανική έκδοση του Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

              

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

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

Κατάσταση

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

Σημείωση Αυτό είναι ένα άρθρο "FAST PUBLISH" που δημιουργήθηκε απευθείας μέσα από τον οργανισμό υποστήριξης της Microsoft. Οι πληροφορίες που περιέχονται στο παρόν παρέχονται ως έχουν ως απάντηση σε αναδυόμενα ζητήματα. Ως αποτέλεσμα της ταχύτητας διάθεσής του, το υλικό μπορεί να περιλαμβάνει τυπογραφικά λάθη και μπορεί να αναθεωρηθεί ανά πάσα στιγμή χωρίς προειδοποίηση. Ανατρέξτε στους Όρους χρήσης για άλλα ζητήματα.