Μετάβαση στο κύριο περιεχόμενο
Υποστήριξη
Είσοδος με Microsoft
Είσοδος ή δημιουργία λογαριασμού.
Γεια σας,
Επιλέξτε διαφορετικό λογαριασμό.
Έχετε πολλούς λογαριασμούς
Επιλέξτε τον λογαριασμό με τον οποίο θέλετε να εισέλθετε.

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

Συμπτώματα

Ας υποθέσουμε ότι ορίζετε την τιμή Τύπος έκπτωσης πληρωμής σε Υπολογισμός Εκπτ. Στις γραμμές στο πλαίσιο διαλόγου " Παραμετροποίηση γενικής λογιστικής " στην Πορτογαλική έκδοση του Microsoft Dynamics NAV 2009. Μπορείτε να ορίσετε μια έκπτωση τιμολογίου για ένα τιμολόγιο αγοράς που έχει περισσότερες από μία γραμμή με δεκαδικά ψηφία. Όταν υπολογίζετε τα στατιστικά στοιχεία του τιμολογίου αγοράς, το ποσό έκπτωσης τιμολογίου υπολογίζεται εσφαλμένα.

Αυτό το ζήτημα παρουσιάζεται στα ακόλουθα προϊόντα:

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

  • Πορτογαλική έκδοση του Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)


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

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

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

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

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

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

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

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

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

  • Το δικαίωμα "Τροποποίηση" για το αντικείμενο που θα αλλάξετε.

  • Τα δικαιώματα εκτέλεσης για το αντικείμενο 5210 Αναγνωριστικό αντικειμένου συστήματος και για την 9015 Αναγνωριστικό αντικειμένου συστήματος

    το αντικείμενο.

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

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

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

Για να επιλύσετε αυτό το ζήτημα, ακολουθήστε τα εξής βήματα:

  1. Αλλάξτε τον κωδικό στη συνάρτηση CalculateInvoiceDiscount στο Πωλήσεις-Υπολογισμός Έκπτωσης μονάδας κώδικα (60) ως εξής:
    Υπάρχοντα κωδικό 1

    ...GLAcc@1110002 : Record 15;
    BEGIN
    ...

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

    ...GLAcc@1110002 : Record 15;

    // Add the following lines.
    TempSalesLineRemainder@1110000 : Record 37;
    TotRoundedInvDiscAmt@1110001 : Decimal;
    TotRoundedPmtDiscAmt@1110003 : Decimal;
    // End of the added lines.

    BEGIN
    ...

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

    ...GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":

    // Delete the following lines.
    SalesLine2."Inv. Discount Amount" :=
    ROUND(SalesLine2."Line Amount" * CustInvDisc."Discount %" / 100,0.01);
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
    SalesLine2."Inv. Discount Amount" :=
    ROUND(
    (SalesLine2."Line Amount" + SalesLine2."Line Discount Amount" ) *
    CustInvDisc."Discount %" / 100,0.01);
    END;
    // End of the deleted lines.

    IF GLSetup."Payment Discount Type" =
    ...

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

    ...GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":

    // Add the following lines.
    BEGIN
    TempSalesLineRemainder."Inv. Discount Amount" +=
    SalesLine2."Line Amount" * CustInvDisc."Discount %" / 100;
    SalesLine2."Inv. Discount Amount" :=
    CalcRoundedAmt(TempSalesLineRemainder."Inv. Discount Amount",TotRoundedInvDiscAmt,0.01);
    END;
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
    BEGIN
    TempSalesLineRemainder."Inv. Discount Amount" +=
    (SalesLine2."Line Amount" + SalesLine2."Line Discount Amount" ) *
    CustInvDisc."Discount %" / 100;
    SalesLine2."Inv. Discount Amount" :=
    CalcRoundedAmt(TempSalesLineRemainder."Inv. Discount Amount",TotRoundedInvDiscAmt,0.01);
    END;
    END;
    // End of the added lines.

    IF GLSetup."Payment Discount Type" =
    ...

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

    ...GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.":

    // Delete the following lines.
    SalesLine2."Pmt. Disc. Given Amount" :=
    ROUND(
    (SalesLine2."Line Amount" + SalesLine2."Line Discount Amount")
    * SalesHeader."Payment Discount %" / 100,0.01);
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
    SalesLine2."Pmt. Disc. Given Amount" :=
    ROUND(
    (SalesLine2."Line Amount" - SalesLine2."Inv. Discount Amount") *
    SalesHeader."Payment Discount %" / 100,0.01);
    GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.":
    SalesLine2."Pmt. Disc. Given Amount" :=
    ROUND(
    (SalesLine2."Line Amount" + SalesLine2."Line Discount Amount") *
    SalesHeader."Payment Discount %" / 100,0.01);
    GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
    SalesLine2."Pmt. Disc. Given Amount" :=
    ROUND(
    (SalesLine2."Line Amount" - SalesLine2."Inv. Discount Amount") *
    SalesHeader."Payment Discount %" / 100,0.01);
    // End of the deleted lines.

    END;
    ...

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

    ...GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.":

    // Add the following lines.
    BEGIN
    TempSalesLineRemainder."Pmt. Disc. Given Amount" +=
    (SalesLine2."Line Amount" + SalesLine2."Line Discount Amount" ) *
    SalesHeader."Payment Discount %" / 100;
    SalesLine2."Pmt. Disc. Given Amount" :=
    CalcRoundedAmt(TempSalesLineRemainder."Pmt. Disc. Given Amount",TotRoundedPmtDiscAmt,0.01);
    END;
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
    BEGIN
    TempSalesLineRemainder."Pmt. Disc. Given Amount" +=
    (SalesLine2."Line Amount" - SalesLine2."Line Discount Amount" ) *
    SalesHeader."Payment Discount %" / 100;
    SalesLine2."Pmt. Disc. Given Amount" :=
    CalcRoundedAmt(TempSalesLineRemainder."Pmt. Disc. Given Amount",TotRoundedPmtDiscAmt,0.01);
    END;
    GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.":
    BEGIN
    TempSalesLineRemainder."Pmt. Disc. Given Amount" +=
    (SalesLine2."Line Amount" + SalesLine2."Line Discount Amount" ) *
    SalesHeader."Payment Discount %" / 100;
    SalesLine2."Pmt. Disc. Given Amount" :=
    CalcRoundedAmt(TempSalesLineRemainder."Pmt. Disc. Given Amount",TotRoundedPmtDiscAmt,0.01);
    END;
    GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
    BEGIN
    TempSalesLineRemainder."Pmt. Disc. Given Amount" +=
    (SalesLine2."Line Amount" - SalesLine2."Line Discount Amount" ) *
    SalesHeader."Payment Discount %" / 100;
    SalesLine2."Pmt. Disc. Given Amount" :=
    CalcRoundedAmt(TempSalesLineRemainder."Pmt. Disc. Given Amount",TotRoundedPmtDiscAmt,0.01);
    END;
    // End of the added lines.

    END;
    ...
  2. Δημιουργήστε μια λειτουργία στη πωλήσεων-Υπολογισμός Έκπτωσης μονάδας κώδικα (60) ως εξής:

    PROCEDURE CalcRoundedAmt@1110000(TotAmt@1110000 : Decimal;VAR TotAmtRnded@1110001 : Decimal;AmountRoundingPrecision@1110002 : Decimal) RndAmt : Decimal;BEGIN
    RndAmt := ROUND(TotAmt,AmountRoundingPrecision) - TotAmtRnded;
    TotAmtRnded := TotAmtRnded + RndAmt;
    END;
  3. Να αλλάξετε τον κωδικό στη συνάρτηση CalculateInvoiceDiscount αγορές.-μονάδα κώδικα Calc.Discount (70) ως εξής:
    Υπάρχοντα κωδικό 1

    ...GLAcc@1110002 : Record 15;
    BEGIN
    ...

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

    ...GLAcc@1110002 : Record 15;

    // Add the following lines.
    TempPurchLineRemainder@1110000 : Record 39;
    TotRoundedInvDiscAmt@1110001 : Decimal;
    TotRoundedPmtDiscAmt@1110004 : Decimal;
    // End of the added lines.

    BEGIN
    ...

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

    ...GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":

    // Delete the following lines.
    PurchLine2."Inv. Discount Amount" :=
    ROUND(PurchLine2."Line Amount" * VendInvDisc."Discount %" / 100,0.01);
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
    PurchLine2."Inv. Discount Amount" :=
    ROUND(
    (PurchLine2."Line Amount" + PurchLine2."Line Discount Amount" ) *
    VendInvDisc."Discount %" / 100,0.01);
    // End of the deleted lines.

    END;
    ...

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

    ...GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":

    // Add the following lines.
    BEGIN
    TempPurchLineRemainder."Inv. Discount Amount" +=
    PurchLine2."Line Amount" * VendInvDisc."Discount %" / 100;
    PurchLine2."Inv. Discount Amount" :=
    CalcRoundedAmt(TempPurchLineRemainder."Inv. Discount Amount",TotRoundedInvDiscAmt,0.01);
    END;
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
    BEGIN
    TempPurchLineRemainder."Inv. Discount Amount" +=
    (PurchLine2."Line Amount" + PurchLine2."Line Discount Amount" ) *
    VendInvDisc."Discount %" / 100;
    PurchLine2."Inv. Discount Amount" :=
    CalcRoundedAmt(TempPurchLineRemainder."Inv. Discount Amount",TotRoundedInvDiscAmt,0.01);
    END;
    // End of the added lines.

    END;
    ...

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

    ...GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.":

    // Delete the following lines.
    PurchLine2."Pmt. Disc. Rcd. Amount" :=
    ROUND(
    (PurchLine2."Line Amount" + PurchLine2."Line Discount Amount") *
    PurchHeader."Payment Discount %" / 100,0.01);
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
    PurchLine2."Pmt. Disc. Rcd. Amount" :=
    ROUND(
    (PurchLine2."Line Amount" - PurchLine2."Inv. Discount Amount") *
    PurchHeader."Payment Discount %" / 100,0.01);
    GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.":
    PurchLine2."Pmt. Disc. Rcd. Amount" :=
    ROUND(
    (PurchLine2."Line Amount" + PurchLine2."Line Discount Amount") *
    PurchHeader."Payment Discount %" / 100,0.01);
    GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
    PurchLine2."Pmt. Disc. Rcd. Amount" :=
    ROUND(
    (PurchLine2."Line Amount" - PurchLine2."Inv. Discount Amount") *
    PurchHeader."Payment Discount %" / 100,0.01);
    // End of the deleted lines.

    END;
    ...

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

    ...GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.":

    // Add the following lines.
    BEGIN
    TempPurchLineRemainder."Pmt. Disc. Rcd. Amount" +=
    (PurchLine2."Line Amount" + PurchLine2."Line Discount Amount" ) *
    PurchHeader."Payment Discount %" / 100;
    PurchLine2."Pmt. Disc. Rcd. Amount" :=
    CalcRoundedAmt(TempPurchLineRemainder."Pmt. Disc. Rcd. Amount",TotRoundedPmtDiscAmt,0.01);
    END;
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
    BEGIN
    TempPurchLineRemainder."Pmt. Disc. Rcd. Amount" +=
    (PurchLine2."Line Amount" - PurchLine2."Line Discount Amount" ) *
    PurchHeader."Payment Discount %" / 100;
    PurchLine2."Pmt. Disc. Rcd. Amount" :=
    CalcRoundedAmt(TempPurchLineRemainder."Pmt. Disc. Rcd. Amount",TotRoundedPmtDiscAmt,0.01);
    END;
    GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.":
    BEGIN
    TempPurchLineRemainder."Pmt. Disc. Rcd. Amount" +=
    (PurchLine2."Line Amount" + PurchLine2."Line Discount Amount" ) *
    PurchHeader."Payment Discount %" / 100;
    PurchLine2."Pmt. Disc. Rcd. Amount" :=
    CalcRoundedAmt(TempPurchLineRemainder."Pmt. Disc. Rcd. Amount",TotRoundedPmtDiscAmt,0.01);
    END;
    GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
    BEGIN
    TempPurchLineRemainder."Pmt. Disc. Rcd. Amount" +=
    (PurchLine2."Line Amount" - PurchLine2."Line Discount Amount" ) *
    PurchHeader."Payment Discount %" / 100;
    PurchLine2."Pmt. Disc. Rcd. Amount" :=
    CalcRoundedAmt(TempPurchLineRemainder."Pmt. Disc. Rcd. Amount",TotRoundedPmtDiscAmt,0.01);
    END;
    // End of the added lines.

    END;
    ...
  4. Δημιουργία συνάρτησης σε αγορές.-μονάδα κώδικα Calc.Discount (70) ως εξής:

    PROCEDURE CalcRoundedAmt@1110000(TotAmt@1110000 : Decimal;VAR TotAmtRnded@1110001 : Decimal;AmountRoundingPrecision@1110002 : Decimal) RndAmt : Decimal;BEGIN
    RndAmt := ROUND(TotAmt,AmountRoundingPrecision) - TotAmtRnded;
    TotAmtRnded := TotAmtRnded + RndAmt;
    END;
  5. Αλλάξτε τον κωδικό στη συνάρτηση CalculateInvoiceDiscount στην υπηρεσία-Υπολογισμός Έκπτωσης μονάδας κώδικα (5950) ως εξής:
    Υπάρχοντα κωδικό 1

    ...GLAcc@1110002 : Record 15;
    BEGIN
    ...

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

    ...GLAcc@1110002 : Record 15;

    // Add the following lines.
    TempServLineRemainder@1110000 : Record 5902;
    TotRoundedInvDiscAmt@1110001 : Decimal;
    TotRoundedPmtDiscAmt@1110003 : Decimal;
    // End of the added lines.

    BEGIN
    ...

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

    ...GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":

    // Delete the following lines.
    ServiceLine2."Inv. Discount Amount" :=
    ROUND(ServiceLine2."Line Amount" * CustInvDisc."Discount %" / 100,0.01);
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
    ServiceLine2."Inv. Discount Amount" :=
    ROUND(
    (ServiceLine2."Line Amount" + ServiceLine2."Line Discount Amount" ) *
    CustInvDisc."Discount %" / 100,0.01);
    END;
    // End of the deleted lines.

    IF GLSetup."Payment Discount Type" =
    ...

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

    ...GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":

    // Add the following lines.
    BEGIN
    TempServLineRemainder."Inv. Discount Amount" +=
    ServiceLine2."Line Amount" * CustInvDisc."Discount %" / 100;
    ServiceLine2."Inv. Discount Amount" :=
    CalcRoundedAmt(TempServLineRemainder."Inv. Discount Amount",TotRoundedInvDiscAmt,0.01);
    END;
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.",
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
    BEGIN
    TempServLineRemainder."Inv. Discount Amount" +=
    (ServiceLine2."Line Amount" + ServiceLine2."Line Discount Amount" ) *
    CustInvDisc."Discount %" / 100;
    ServiceLine2."Inv. Discount Amount" :=
    CalcRoundedAmt(TempServLineRemainder."Inv. Discount Amount",TotRoundedInvDiscAmt,0.01);
    END;
    END;
    // End of the added lines.

    IF GLSetup."Payment Discount Type" =
    ...

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

    ...GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.":

    // Delete the following lines.
    ServiceLine2."Pmt. Disc. Given Amount" :=
    ROUND(
    (ServiceLine2."Line Amount" + ServiceLine2."Line Discount Amount")
    * ServHeader."Payment Discount %" / 100,0.01);
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
    ServiceLine2."Pmt. Disc. Given Amount" :=
    ROUND(
    (ServiceLine2."Line Amount" - ServiceLine2."Inv. Discount Amount") *
    ServHeader."Payment Discount %" / 100,0.01);
    GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.":
    ServiceLine2."Pmt. Disc. Given Amount" :=
    ROUND(
    (ServiceLine2."Line Amount" + ServiceLine2."Line Discount Amount") *
    ServHeader."Payment Discount %" / 100,0.01);
    GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
    ServiceLine2."Pmt. Disc. Given Amount" :=
    ROUND(
    (ServiceLine2."Line Amount" - ServiceLine2."Inv. Discount Amount") *
    ServHeader."Payment Discount %" / 100,0.01);
    // End of the deleted lines.

    END;

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

    ...GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. + Payment Disc.":

    // Add the following lines.
    BEGIN
    TempServLineRemainder."Pmt. Disc. Given Amount" +=
    (ServiceLine2."Line Amount" + ServiceLine2."Line Discount Amount" ) *
    ServHeader."Payment Discount %" / 100;
    ServiceLine2."Pmt. Disc. Given Amount" :=
    CalcRoundedAmt(TempServLineRemainder."Pmt. Disc. Given Amount",TotRoundedPmtDiscAmt,0.01);
    END;
    GLSetup."Discount Calculation"::"Line Disc. + Inv. Disc. * Payment Disc.":
    BEGIN
    TempServLineRemainder."Pmt. Disc. Given Amount" +=
    (ServiceLine2."Line Amount" - ServiceLine2."Line Discount Amount" ) *
    ServHeader."Payment Discount %" / 100;
    ServiceLine2."Pmt. Disc. Given Amount" :=
    CalcRoundedAmt(TempServLineRemainder."Pmt. Disc. Given Amount",TotRoundedPmtDiscAmt,0.01);
    END;
    GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. + Payment Disc.":
    BEGIN
    TempServLineRemainder."Pmt. Disc. Given Amount" +=
    (ServiceLine2."Line Amount" + ServiceLine2."Line Discount Amount" ) *
    ServHeader."Payment Discount %" / 100;
    ServiceLine2."Pmt. Disc. Given Amount" :=
    CalcRoundedAmt(TempServLineRemainder."Pmt. Disc. Given Amount",TotRoundedPmtDiscAmt,0.01);
    END;
    GLSetup."Discount Calculation"::"Line Disc. * Inv. Disc. * Payment Disc.":
    BEGIN
    TempServLineRemainder."Pmt. Disc. Given Amount" +=
    (ServiceLine2."Line Amount" - ServiceLine2."Line Discount Amount" ) *
    ServHeader."Payment Discount %" / 100;
    ServiceLine2."Pmt. Disc. Given Amount" :=
    CalcRoundedAmt(TempServLineRemainder."Pmt. Disc. Given Amount",TotRoundedPmtDiscAmt,0.01);
    END;
    // End of the added lines.

    END;
    ...
  6. Δημιουργήστε μια λειτουργία στη υπηρεσία-Υπολογισμός Έκπτωσης μονάδας κώδικα (5950) ως εξής:

    PROCEDURE CalcRoundedAmt@1110000(TotAmt@1110000 : Decimal;VAR TotAmtRnded@1110001 : Decimal;AmountRoundingPrecision@1110002 : Decimal) RndAmt : Decimal;BEGIN
    RndAmt := ROUND(TotAmt,AmountRoundingPrecision) - TotAmtRnded;
    TotAmtRnded := TotAmtRnded + RndAmt;
    END;


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

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

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

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

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

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

Κατάσταση

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

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

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

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

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

Οι κοινότητες σάς βοηθούν να κάνετε και να απαντάτε σε ερωτήσεις, να δίνετε σχόλια και να ακούτε από ειδικούς με πλούσια γνώση.

Σας βοήθησαν αυτές οι πληροφορίες;

Πόσο ικανοποιημένοι είστε με τη γλωσσική ποιότητα;
Τι επηρέασε την εμπειρία σας;
Πατώντας "Υποβολή" τα σχόλια σας θα χρησιμοποιηθούν για τη βελτίωση των προϊόντων και των υπηρεσιών της Microsoft. Ο διαχειριστής IT θα έχει τη δυνατότητα να συλλέξει αυτά τα δεδομένα. Δήλωση προστασίας προσωπικών δεδομένων.

Σας ευχαριστούμε για τα σχόλιά σας!

×