Η τιμή ποσό με ΦΠΑ είναι εσφαλμένη σε μια γραμμή τύπου τελικού συνόλου ένα καταχωρημένο τιμολόγιο που έχει μια γραμμή κειμένου "Έναρξη συνόλου" και μια γραμμή τύπου "Τέλος συνόλου" στην Ελβετική έκδοση του Microsoft Dynamics NAV 2009


Αυτό το άρθρο ισχύει για το Microsoft Dynamics NAV για τις ακόλουθες χώρες και τις τοπικές ρυθμίσεις γλώσσας.
  • Γαλλικά (Ελβετίας) (fr-ch)
  • Γερμανικά (Ελβετίας) (gr ch)
  • Ιταλικά (Ελβετίας) (πληροφορικής-ch)

Συμπτώματα


Όταν καταχωρείτε ένα τιμολόγιο πώλησης που έχει μια γραμμή κειμένου " Έναρξη συνόλου " και μια γραμμή τύπου " Τέλος συνόλου " στην Ελβετική έκδοση του Microsoft Dynamics NAV 2009, η τιμή Ποσό με ΦΠΑ είναι λάθος στο Τέλος συνόλου τύπου γραμμής στο καταχωρημένο τιμολόγιο.
Αυτό το ζήτημα παρουσιάζεται στα ακόλουθα προϊόντα:
  • Την Ελβετική έκδοση του Microsoft Dynamics NAV 2009 R2
  • Την Ελβετική έκδοση του Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

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


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

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

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


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

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

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

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

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


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

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

Σημείωση Πάντα δοκιμή κώδικα διορθώνει σε ελεγχόμενο περιβάλλον πριν να εφαρμόσετε τις ενημερώσεις κώδικα στους υπολογιστές παραγωγής.
Για να επιλύσετε αυτό το ζήτημα, ακολουθήστε τα εξής βήματα:
  1. Αλλάξτε τον κωδικό του εναύσματος Ποσό με ΦΠΑ - OnFormat στη φόρμα καταχωρούνται Υποφόρμα τιμολογίου πώλησης (133) ως εξής:
    Υπάρχοντα κώδικα
    ...IF (Type = Type::"End-Total") AND ("Subtotal net" <> 0) THEN BEGIN

    // Delete the following line.
    Text := FORMAT("Subtotal net",0,'<Sign><Integer Thousand><Decimals,3>');

    CurrForm."Amount Including VAT".UPDATEFONTBOLD := TRUE;
    END;
    ...
    Αντικατάσταση κώδικα
    ...IF (Type = Type::"End-Total") AND ("Subtotal net" <> 0) THEN BEGIN

    // Add the following line.
    Text := FORMAT(CalcTotalAmountIncludingVAT("Document No.","Line No."),0,'<Sign><Integer Thousand><Decimals,3>');

    CurrForm."Amount Including VAT".UPDATEFONTBOLD := TRUE;
    END;
    ...
  2. Δημιουργία ιστολόγιου μια νέα τοπική λειτουργία CalcTotalAmountIncludingVAT με τη μορφή καταχωρηθεί Υποφόρμα τιμολογίου πώλησης (133), για να δημιουργήσετε τη συνάρτηση, ακολουθήστε τα εξής βήματα:
    1. Προσθέστε μια νέα τοπική παράμετρος στη συνάρτηση CalcTotalAmountIncludingVAT στη φόρμα καταχωρούνται Υποφόρμα τιμολογίου πώλησης (133) και, στη συνέχεια, καθορίστε την παράμετρο ως εξής:
      • Var: No
      • Όνομα: DocumentNo
      • Τύπος δεδομένων: Κωδικός
      • Μήκος: 20
    2. Προσθέστε μια νέα τοπική παράμετρος στη συνάρτηση CalcTotalAmountIncludingVAT στη φόρμα καταχωρούνται Υποφόρμα τιμολογίου πώλησης (133) και, στη συνέχεια, καθορίστε την παράμετρο ως εξής:
      • Var: No
      • Όνομα: EndLineNo
      • Τύπος δεδομένων: Ακέραιος αριθμός
    3. Προσθέσετε μια νέα τιμή επιστροφής της συνάρτησης CalcTotalAmountIncludingVAT στη φόρμα καταχωρούνται Υποφόρμα τιμολογίου πώλησης (133) και, στη συνέχεια, καθορίστε την τιμή επιστροφής ως εξής:
      • Όνομα: AmountIncludingVAT
      • Τύπος επιστροφής: δεκαδικών
    4. Προσθέσετε μια νέα τοπική μεταβλητή στη συνάρτηση CalcTotalAmountIncludingVAT στη φόρμα καταχωρούνται Υποφόρμα τιμολογίου πώλησης (133) και, στη συνέχεια, καθορίστε τη μεταβλητή ως εξής:
      • Όνομα: SalesInvoiceLine
      • Τύπος δεδομένων: εγγραφή
      • Δευτερεύων τύπος: γραμμή τιμολογίου πώλησης
    5. Προσθέσετε μια νέα τοπική μεταβλητή στη συνάρτηση CalcTotalAmountIncludingVAT στη φόρμα καταχωρούνται Υποφόρμα τιμολογίου πώλησης (133) και, στη συνέχεια, καθορίστε τη μεταβλητή ως εξής:
      • Όνομα: μέτρηση
      • Τύπος δεδομένων: Ακέραιος αριθμός
    6. Προσθέσετε μια νέα τοπική μεταβλητή στη συνάρτηση CalcTotalAmountIncludingVAT στη φόρμα καταχωρούνται Υποφόρμα τιμολογίου πώλησης (133) και, στη συνέχεια, καθορίστε τη μεταβλητή ως εξής:
      • Όνομα: BeginLineNo
      • Τύπος δεδομένων: Ακέραιος
    7. Προσθέστε τις ακόλουθες γραμμές στη συνάρτηση CalcTotalAmountIncludingVAT στη φόρμα καταχωρούνται Υποφόρμα τιμολογίου πώλησης (133):
      PROCEDURE CalcTotalAmountIncludingVAT(DocumentNo : Code[20];EndLineNo : Integer) AmountIncludingVAT : Decimal
      Count := -1;
      BeginLineNo := 0;
      SalesInvoiceLine.RESET;
      SalesInvoiceLine.SETRANGE("Document No.",DocumentNo);
      SalesInvoiceLine.SETRANGE("Line No.",0,EndLineNo);
      IF SalesInvoiceLine.FINDLAST THEN
      REPEAT
      IF SalesInvoiceLine.Type = SalesInvoiceLine.Type::"Begin-Total" THEN
      IF Count = 0 THEN
      BeginLineNo := SalesInvoiceLine."Line No."
      ELSE
      Count := Count - 1
      ELSE
      IF SalesInvoiceLine.Type = SalesInvoiceLine.Type::"End-Total" THEN
      Count := Count + 1;
      UNTIL (SalesInvoiceLine.NEXT(-1) = 0) OR (BeginLineNo <> 0);
      SalesInvoiceLine.SETRANGE("Line No.",BeginLineNo,EndLineNo);
      SalesInvoiceLine.CALCSUMS("Amount Including VAT");
      AmountIncludingVAT := SalesInvoiceLine."Amount Including VAT";CalcTotalAmountIncludingVAT(DocumentNo : Code[20];EndLineNo : Integer) AmountIncludingVAT : Decimal

      Count := -1;
      BeginLineNo := 0;
      SalesInvoiceLine.RESET;
      SalesInvoiceLine.SETRANGE("Document No.",DocumentNo);
      SalesInvoiceLine.SETRANGE("Line No.",0,EndLineNo);
      IF SalesInvoiceLine.FINDLAST THEN
      REPEAT
      IF SalesInvoiceLine.Type = SalesInvoiceLine.Type::"Begin-Total" THEN
      IF Count = 0 THEN
      BeginLineNo := SalesInvoiceLine."Line No."
      ELSE
      Count := Count - 1
      ELSE
      IF SalesInvoiceLine.Type = SalesInvoiceLine.Type::"End-Total" THEN
      Count := Count + 1;
      UNTIL (SalesInvoiceLine.NEXT(-1) = 0) OR (BeginLineNo <> 0);
      SalesInvoiceLine.SETRANGE("Line No.",BeginLineNo,EndLineNo);
      SalesInvoiceLine.CALCSUMS("Amount Including VAT");
      AmountIncludingVAT := SalesInvoiceLine."Amount Including VAT";
  3. Αλλάξτε τον κωδικό του εναύσματος Ποσό με ΦΠΑ - OnFormat στη φόρμα καταχωρούνται πωλήσεις Υποφόρμα Πιστ. (135) ως εξής:
    Υπάρχοντα κώδικα
    ...IF (Type = Type::"End-Total") AND ("Subtotal net" <> 0) THEN BEGIN

    // Delete the following line.
    Text := FORMAT("Subtotal net",0,'<Sign><Integer Thousand><Decimals,3>');

    CurrForm."Amount Including VAT".UPDATEFONTBOLD := TRUE;
    END;
    ...
    Αντικατάσταση κώδικα
    ...IF (Type = Type::"End-Total") AND ("Subtotal net" <> 0) THEN BEGIN

    // Add the following line.
    Text := FORMAT(CalcTotalAmountIncludingVAT("Document No.","Line No."),0,'<Sign><Integer Thousand><Decimals,3>');

    CurrForm."Amount Including VAT".UPDATEFONTBOLD := TRUE;
    END;
    ...
  4. Δημιουργία ιστολόγιου μια νέα τοπική λειτουργία CalcTotalAmountIncludingVAT στη φόρμα καταχωρούνται πωλήσεις Υποφόρμα Πιστ. (135), για να δημιουργήσετε τη συνάρτηση, ακολουθήστε τα εξής βήματα:
    1. Προσθέστε μια νέα τοπική παράμετρος στη συνάρτηση CalcTotalAmountIncludingVAT στη φόρμα καταχωρούνται πωλήσεις Υποφόρμα Πιστ. (135) και, στη συνέχεια, καθορίστε την παράμετρο ως εξής:
      • Var: No
      • Όνομα: DocumentNo
      • Τύπος δεδομένων: Κωδικός
      • Μήκος: 20
    2. Προσθέστε μια νέα τοπική παράμετρος στη συνάρτηση CalcTotalAmountIncludingVAT στη φόρμα καταχωρούνται πωλήσεις Υποφόρμα Πιστ. (135) και, στη συνέχεια, καθορίστε την παράμετρο ως εξής:
      • Var: No
      • Όνομα: EndLineNo
      • Τύπος δεδομένων: Ακέραιος αριθμός
    3. Προσθέσετε μια νέα τιμή επιστροφής της συνάρτησης CalcTotalAmountIncludingVAT στη φόρμα καταχωρούνται πωλήσεις Υποφόρμα Πιστ. (135) και, στη συνέχεια, καθορίστε την τιμή επιστροφής ως εξής:
      • Όνομα: AmountIncludingVAT
      • Τύπος επιστροφής: δεκαδικών
    4. Προσθέσετε μια νέα τοπική μεταβλητή στη συνάρτηση CalcTotalAmountIncludingVAT στη φόρμα καταχωρούνται πωλήσεις Υποφόρμα Πιστ. (135) και, στη συνέχεια, καθορίστε τη μεταβλητή ως εξής:
      • Όνομα: SalesCrMemoLine
      • Τύπος δεδομένων: εγγραφή
      • Δευτερεύων τύπος: γραμμή πιστωτικού τιμολογίου
    5. Προσθέσετε μια νέα τοπική μεταβλητή στη συνάρτηση CalcTotalAmountIncludingVAT στη φόρμα καταχωρούνται πωλήσεις Υποφόρμα Πιστ. (135) και, στη συνέχεια, καθορίστε τη μεταβλητή ως εξής:
      • Όνομα: μέτρηση
      • Τύπος δεδομένων: Ακέραιος αριθμός
    6. Προσθέσετε μια νέα τοπική μεταβλητή στη συνάρτηση CalcTotalAmountIncludingVAT στη φόρμα καταχωρούνται πωλήσεις Υποφόρμα Πιστ. (135) και, στη συνέχεια, καθορίστε τη μεταβλητή ως εξής:
      • Όνομα: BeginLineNo
      • Τύπος δεδομένων: Ακέραιος
    7. Προσθέστε τις ακόλουθες γραμμές στη συνάρτηση CalcTotalAmountIncludingVAT στη φόρμα καταχωρούνται πωλήσεις Υποφόρμα Πιστ. (135):
      PROCEDURE CalcTotalAmountIncludingVAT(DocumentNo : Code[20];EndLineNo : Integer) AmountIncludingVAT : Decimal
      Count := -1;
      BeginLineNo := 0;
      SalesCrMemoLine.RESET;
      SalesCrMemoLine.SETRANGE("Document No.",DocumentNo);
      SalesCrMemoLine.SETRANGE("Line No.",0,EndLineNo);
      IF SalesCrMemoLine.FINDLAST THEN
      REPEAT
      IF SalesCrMemoLine.Type = SalesCrMemoLine.Type::"Begin-Total" THEN
      IF Count = 0 THEN
      BeginLineNo := SalesCrMemoLine."Line No."
      ELSE
      Count := Count - 1
      ELSE
      IF SalesCrMemoLine.Type = SalesCrMemoLine.Type::"End-Total" THEN
      Count := Count + 1;
      UNTIL (SalesCrMemoLine.NEXT(-1) = 0) OR (BeginLineNo <> 0);
      SalesCrMemoLine.SETRANGE("Line No.",BeginLineNo,EndLineNo);
      SalesCrMemoLine.CALCSUMS("Amount Including VAT");
      AmountIncludingVAT := SalesCrMemoLine."Amount Including VAT";CalcTotalAmountIncludingVAT(DocumentNo : Code[20];EndLineNo : Integer) AmountIncludingVAT : Decimal

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

Πρέπει να έχετε ένα από τα ακόλουθα προϊόντα, για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση:
  • Την Ελβετική έκδοση του Microsoft Dynamics NAV 2009 R2
  • Την Ελβετική έκδοση του Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

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

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

Κατάσταση


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