Το σύστημα ενημερώνει απροσδόκητα την ημερομηνία καταχώρησης μετά την εκτέλεση της συνάρτησης Post Batch για ένα τιμολόγιο πώλησης ή ένα τιμολόγιο αγοράς στην πορτογαλική έκδοση του Microsoft Dynamics NAV 2009

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

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

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο στην πορτογαλική έκδοση του Microsoft Dynamics NAV 2009 R2 και του Microsoft Dynamics NAV 2009 Service Pack 1 (SP1):

  • Έχετε μια σειρά αριθμών που ενεργοποιεί τη ρύθμιση σειράς ημερομηνίας .
  • Έχετε ένα τιμολόγιο πώλησης ή ένα τιμολόγιο αγοράς που εφαρμόζει τη σειρά αριθμών.
  • Το σύστημα εκχωρεί έναν αριθμό καταχώρησης στο τιμολόγιο πώλησης ή στο τιμολόγιο αγοράς.
  • Μπορείτε να εκτελέσετε τη συνάρτηση Post Batch για αυτό το τιμολόγιο και να αντικαταστήσετε την ημερομηνία καταχώρησης στην καρτέλα Επιλογή (Option ) του παραθύρου διαλόγου Τιμολόγιο μετά την πώληση δέσμης (Batch Post Sales Invoice ) ή στο παράθυρο διαλόγου Μαζική έκδοση τιμολογίων μετά την αγορά (Batch Post Purchase Invoices ).

Σε αυτό το σενάριο, το σύστημα ενημερώνει απροσδόκητα την ημερομηνία καταχώρησης αυτού του τιμολογίου και δεν ελέγχει την ημερομηνία παραγγελίας. Ωστόσο, το σύστημα ελέγχει τη σειρά ημερομηνίας εάν αντικαταστήσετε την τιμή στο πεδίο "Ημερομηνία καταχώρησης " στην καρτέλα " Γενικά " αυτού του τιμολογίου.

Επίλυση

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

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

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

          

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

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

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

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

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

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

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

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

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

  1. Αλλάξτε τον κωδικό στον πίνακα "Κεφαλίδα πωλήσεων" (36). Για να το κάνετε αυτό, ακολουθήστε τα παρακάτω βήματα:

    1. Αλλάξτε τον κωδικό σε πεδία ως εξής:
      Υπάρχων κώδικας

      ...
      END;
      
      CaptionML=[ENU=Order Date;
      PTG=Data Encomenda] }
      { 20 ; ;Posting Date ;Date ;OnValidate=BEGIN
      
      // Delete the following lines.
       TestNoSeriesDate(
       "Posting No.","Posting No. Series",
       FIELDCAPTION("Posting No."),FIELDCAPTION("Posting No. Series"));
       TestNoSeriesDate(
       "Prepayment No.","Prepayment No. Series",
       FIELDCAPTION("Prepayment No."),FIELDCAPTION("Prepayment No. Series"));
       TestNoSeriesDate(
       "Prepmt. Cr. Memo No.","Prepmt. Cr. Memo No. Series",
       FIELDCAPTION("Prepmt. Cr. Memo No."),FIELDCAPTION("Prepmt. Cr. Memo No. Series"));
      
       VALIDATE("Document Date","Posting Date");
      
       IF ("Document Type" IN ["Document Type"::Invoice,"Document Type"::"Credit Memo"]) AND
       NOT ("Posting Date" = xRec."Posting Date")
       THEN
       PriceMessageIfSalesLinesExist(FIELDCAPTION("Posting Date"));
      
       IF "Currency Code" <> '' THEN BEGIN
       UpdateCurrencyFactor;
       IF "Currency Factor" <> xRec."Currency Factor" THEN
       ConfirmUpdateCurrencyFactor;
       END;
      // End of the deleted lines.
      
      END;
      
      CaptionML=[ENU=Posting Date;
      PTG=Data Registo] }
      { 21 ; ;Shipment Date ;Date ;OnValidate=BEGIN
      ...
      

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

      ...
      END;
      
      CaptionML=[ENU=Order Date;
      PTG=Data Encomenda] }
      { 20 ; ;Posting Date ;Date ;OnValidate=BEGIN
      
      // Add the following lines.
       IF "Posting Date" <> xRec."Posting Date" THEN BEGIN
       TestNoSeriesDate(
       "Posting No.","Posting No. Series",
       FIELDCAPTION("Posting No."),FIELDCAPTION("Posting No. Series"));
       TestNoSeriesDate(
       "Prepayment No.","Prepayment No. Series",
       FIELDCAPTION("Prepayment No."),FIELDCAPTION("Prepayment No. Series"));
       TestNoSeriesDate(
       "Prepmt. Cr. Memo No.","Prepmt. Cr. Memo No. Series",
       FIELDCAPTION("Prepmt. Cr. Memo No."),FIELDCAPTION("Prepmt. Cr. Memo No. Series"));
      
       VALIDATE("Document Date","Posting Date");
      
       IF ("Document Type" IN ["Document Type"::Invoice,"Document Type"::"Credit Memo"]) AND
       NOT ("Posting Date" = xRec."Posting Date")
       THEN
       PriceMessageIfSalesLinesExist(FIELDCAPTION("Posting Date"));
      
       IF "Currency Code" <> '' THEN BEGIN
       UpdateCurrencyFactor;
       IF "Currency Factor" <> xRec."Currency Factor" THEN
       ConfirmUpdateCurrencyFactor;
       END;
      END;
      // End of the added lines.
      
      END;
      
      CaptionML=[ENU=Posting Date;
      PTG=Data Registo] }
      { 21 ; ;Shipment Date ;Date ;OnValidate=BEGIN
      ...
      
    2. Αλλάξτε τον κωδικό στη συνάρτηση UpdatePmtDiscDate ως εξής:
      Υπάρχων κώδικας

      ...
      IF NOT("Document Type" IN ["Document Type"::"Credit Memo", "Document Type"::"Return Order"]) THEN
      "Pmt. Discount Date" := "Due Date";
      END;
      
      BEGIN
      END.
      }
      }
      ...
      

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

      ...
      IF NOT("Document Type" IN ["Document Type"::"Credit Memo", "Document Type"::"Return Order"]) THEN
      "Pmt. Discount Date" := "Due Date";
      END;
      
      BEGIN
      
      // Add the following lines.
       {
       <changelog>
       <change id="VSTF300295" dev="v-mokuma" feature="VSTF300295"
       date="2012-01-20" area="Sales" baseversion="PT6.00.01"
       releaseversion="PT6.00.02">
       Problem with number series with date order setting and batch posting
       </change>
       </changelog>
       }
      // End of the added lines.
      
      END.
      }
      }
      ...
      
  2. Αλλάξτε τον κωδικό στον πίνακα "Κεφαλίδα αγοράς" (38). Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:

    1. Αλλάξτε τον κωδικό σε πεδία ως εξής:
      Υπάρχων κώδικας

      ...
      END;
      
      CaptionML=[ENU=Order Date;
      PTG=Data Encomenda] }
      { 20 ; ;Posting Date ;Date ;OnValidate=BEGIN
      
      // Delete the following lines.
       TestNoSeriesDate(
       "Posting No.","Posting No. Series",
       FIELDCAPTION("Posting No."),FIELDCAPTION("Posting No. Series"));
       TestNoSeriesDate(
       "Prepayment No.","Prepayment No. Series",
       FIELDCAPTION("Prepayment No."),FIELDCAPTION("Prepayment No. Series"));
       TestNoSeriesDate(
       "Prepmt. Cr. Memo No.","Prepmt. Cr. Memo No. Series",
       FIELDCAPTION("Prepmt. Cr. Memo No."),FIELDCAPTION("Prepmt. Cr. Memo No. Series"));
      
       VALIDATE("Document Date","Posting Date");
      
       IF ("Document Type" IN ["Document Type"::Invoice,"Document Type"::"Credit Memo"]) AND
       NOT ("Posting Date" = xRec."Posting Date")
       THEN
       PriceMessageIfPurchLinesExist(FIELDCAPTION("Posting Date"));
      
       IF "Currency Code" <> '' THEN BEGIN
       UpdateCurrencyFactor;
       IF "Currency Factor" <> xRec."Currency Factor" THEN
       ConfirmUpdateCurrencyFactor;
       END;
       IF PurchLinesExist THEN
       JobUpdatePurchLines;
      // End of the deleted lines.
      
      
      END;
      
      CaptionML=[ENU=Posting Date;
      PTG=Data Registo] }
      { 21 ; ;Expected Receipt Date;Date ;OnValidate=BEGIN
      ...
      

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

      ...
      END;
      
      CaptionML=[ENU=Order Date;
      PTG=Data Encomenda] }
      { 20 ; ;Posting Date ;Date ;OnValidate=BEGIN
      
      // Add the following lines.
       IF "Posting Date" <> xRec."Posting Date" THEN BEGIN
       TestNoSeriesDate(
       "Posting No.","Posting No. Series",
       FIELDCAPTION("Posting No."),FIELDCAPTION("Posting No. Series"));
       TestNoSeriesDate(
       "Prepayment No.","Prepayment No. Series",
       FIELDCAPTION("Prepayment No."),FIELDCAPTION("Prepayment No. Series"));
       TestNoSeriesDate(
       "Prepmt. Cr. Memo No.","Prepmt. Cr. Memo No. Series",
       FIELDCAPTION("Prepmt. Cr. Memo No."),FIELDCAPTION("Prepmt. Cr. Memo No. Series"));
      
       VALIDATE("Document Date","Posting Date");
      
       IF ("Document Type" IN ["Document Type"::Invoice,"Document Type"::"Credit Memo"]) AND
       NOT ("Posting Date" = xRec."Posting Date")
       THEN
       PriceMessageIfPurchLinesExist(FIELDCAPTION("Posting Date"));
      
       IF "Currency Code" <> '' THEN BEGIN
       UpdateCurrencyFactor;
       IF "Currency Factor" <> xRec."Currency Factor" THEN
       ConfirmUpdateCurrencyFactor;
       END;
       IF PurchLinesExist THEN
       JobUpdatePurchLines;
       END;
      // End of the added lines.
      
      END;
      
      CaptionML=[ENU=Posting Date;
      PTG=Data Registo] }
      { 21 ; ;Expected Receipt Date;Date ;OnValidate=BEGIN
      ...
      
    2. Αλλάξτε τον κωδικό στη συνάρτηση UpdatePmtDiscDate ως εξής:
      Υπάρχων κώδικας

      ...
      IF NOT("Document Type" IN ["Document Type"::"Credit Memo", "Document Type"::"Return Order"]) THEN
      "Pmt. Discount Date" := "Due Date";
      END;
      
      BEGIN
      END.
      }
      }
      ...
      

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

      ...
      IF NOT("Document Type" IN ["Document Type"::"Credit Memo", "Document Type"::"Return Order"]) THEN
      "Pmt. Discount Date" := "Due Date";
      END;
      
      BEGIN
      
      // Add the following lines.
       {
       <changelog>
       <change id="VSTF300295" dev="v-mokuma" feature="VSTF300295"
       date="2012-01-20" area="Sales" baseversion="PT6.00.01"
       releaseversion="PT6.00.02">
       Problem with number series with date order setting and batch posting
       </change>
       </changelog>
       }
      // End of the added lines.
      
      END.
      }
      }
      ...
      
  3. Αλλάξτε τον κωδικό στη μονάδα κώδικα Sales-Post (80). Για να το κάνετε αυτό, ακολουθήστε τα παρακάτω βήματα:

    1. Αλλάξτε τον κώδικα ιδιοτήτων ως εξής:
      Υπάρχων κώδικας

      ...
      DocType@1022 : ' ,Payment,Invoice,Credit Memo,Finance Charge Memo,Reminder,Refund,Shipment';
      TempJnlLineDim2@1023 : TEMPORARY Record 356;
      TempPrePmtAmtToDeduct@1003 : Decimal;
      BEGIN
      IF PostingDateExists AND (ReplacePostingDate OR ("Posting Date" = 0D)) THEN BEGIN
      
      // Delete the following line.
      "Posting Date" := PostingDate;
      
      VALIDATE("Currency Code");
      END;
      
      IF PostingDateExists AND (ReplaceDocumentDate OR ("Document Date" = 0D)) THEN
      VALIDATE("Document Date",PostingDate);
      ...
      

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

      ...
      DocType@1022 : ' ,Payment,Invoice,Credit Memo,Finance Charge Memo,Reminder,Refund,Shipment';
      TempJnlLineDim2@1023 : TEMPORARY Record 356;
      TempPrePmtAmtToDeduct@1003 : Decimal;
      BEGIN
      IF PostingDateExists AND (ReplacePostingDate OR ("Posting Date" = 0D)) THEN BEGIN
      
      
      // Add the following line.
      VALIDATE("Posting Date",PostingDate);
      
      VALIDATE("Currency Code");
      END;
      
      IF PostingDateExists AND (ReplaceDocumentDate OR ("Document Date" = 0D)) THEN
      VALIDATE("Document Date",PostingDate);
      ...
      
    2. Αλλάξτε τον κωδικό στη συνάρτηση ItemLedgerEntryExist ως εξής:
      Υπάρχων κώδικας

      ...
      EXIT(HasItemLedgerEntry);
      END;
      
      BEGIN
      END.
      }
      }
      ...
      

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

      ...
      EXIT(HasItemLedgerEntry);
      END;
      
      BEGIN
      
      // Add the following lines.
       {
       <changelog>
       <change id="VSTF300295" dev="v-mokuma" feature="VSTF300295"
       date="2012-01-20" area="Sales" baseversion="PT6.00.01"
       releaseversion="PT6.00.02">
       Problem with number series with date order setting and batch posting
       </change>
       </changelog>
       }
      // End of the added lines.
      
      END.
      }
      }
      ...
      
  4. Αλλάξτε τον κωδικό ιδιοτήτων στη μονάδα κώδικα Purch.-Post (90) ως εξής:
    Υπάρχων κώδικας

    ...
    TrackingSpecificationExists@1010 : Boolean;
    EndLoop@1009 : Boolean;
    TempPrePmtAmtToDeduct@1004 : Decimal;
    BEGIN
    IF PostingDateExists AND (ReplacePostingDate OR ("Posting Date" = 0D)) THEN BEGIN
    
    // Delete the following line.
    "Posting Date" := PostingDate;
    
    
    VALIDATE("Currency Code");
    END;
    
    IF PostingDateExists AND (ReplaceDocumentDate OR ("Document Date" = 0D)) THEN
    VALIDATE("Document Date",PostingDate);
    ...
    
    

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

    ...
    TrackingSpecificationExists@1010 : Boolean;
    EndLoop@1009 : Boolean;
    TempPrePmtAmtToDeduct@1004 : Decimal;
    BEGIN
    IF PostingDateExists AND (ReplacePostingDate OR ("Posting Date" = 0D)) THEN BEGIN
    
    
    // Add the following line.
    VALIDATE("Posting Date",PostingDate);
    
    VALIDATE("Currency Code");
    END;
    
    IF PostingDateExists AND (ReplaceDocumentDate OR ("Document Date" = 0D)) THEN
    VALIDATE("Document Date",PostingDate);
    ...
    

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

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

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

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

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

Κατάσταση

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

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