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

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

Συμπτώματα

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

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

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

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



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

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

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

  1. Προσθέστε ένα νέο PrepmtAmtToDeduct (PricesIncludingVAT: Boolean, PrepaymentPct: Δεκαδικά): δεκαδικός συνάρτηση στον πίνακα γραμμή πώλησης (37). Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:

    1. Προσθέστε μια τοπική μεταβλητή και στη συνέχεια καθορίστε τη μεταβλητή ως εξής:

      • Όνομα: VATFactor

      • Τύπος δεδομένων: δεκαδικών

    2. Προσθέστε τον κώδικα ως εξής:

      IF PricesIncludingVAT THENVATFactor := (1 + "VAT %" / 100)
      ELSE
      VATFactor := 1;
      EXIT(
      ROUND(
      ROUND(
      ROUND(
      ROUND("Unit Price" * "Qty. to Invoice",Currency."Amount Rounding Precision") *
      (1 - ("Line Discount %" / 100)),Currency."Amount Rounding Precision") *
      (PrepaymentPct / 100) / VATFactor,Currency."Amount Rounding Precision") * VATFactor,Currency."Amount Rounding Precision"));

  2. Για να αλλάξετε τη συνάρτηση CalcPrepaymentToDeduct στον πίνακα γραμμή πώλησης (37). Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:

    1. Διαγράψτε τις ακόλουθες τοπικές μεταβλητές:

      PrepmtPct: Decimal;AbsoluteAdvCorrection: Boolean;

    2. Προσθέστε τις ακόλουθες τοπικές μεταβλητές:

      TotalPrepmtAmtToDeduct: Decimal;HundredPct: Decimal;

    3. Αντικαταστήστε τον κώδικα ως εξής:

      IF (Quantity - "Quantity Invoiced") <> 0 THEN BEGINTotalPrepmtAmtToDeduct := "Prepmt. Amt. Inv." - "Prepmt Amt Deducted";
      GetSalesHeader;
      IF SalesHeader."Prepayment Type" = SalesHeader."Prepayment Type"::Advance THEN BEGIN
      VATPostingSetup.GET("VAT Bus. Posting Group","VAT Prod. Posting Group");
      CASE VATPostingSetup."Adv. Invoice Correction Type" OF
      VATPostingSetup."Adv. Invoice Correction Type"::Percentage:
      "Prepmt Amt to Deduct" :=
      ROUND("Qty. to Invoice" / (Quantity - "Quantity Invoiced") *
      TotalPrepmtAmtToDeduct,Currency."Amount Rounding Precision");
      VATPostingSetup."Adv. Invoice Correction Type"::Absolute:
      BEGIN
      HundredPct := 100;
      "Prepmt Amt to Deduct" := PrepmtAmtToDeduct(SalesHeader."Prices Including VAT",HundredPct);
      IF "Prepmt Amt to Deduct" > TotalPrepmtAmtToDeduct THEN
      "Prepmt Amt to Deduct" := TotalPrepmtAmtToDeduct;
      END;
      VATPostingSetup."Adv. Invoice Correction Type"::"Fully Invoiced":
      IF "Qty. to Invoice" = Quantity - "Quantity Invoiced" THEN
      "Prepmt Amt to Deduct" := TotalPrepmtAmtToDeduct
      ELSE
      "Prepmt Amt to Deduct" := 0;
      END;
      END ELSE
      "Prepmt Amt to Deduct" := PrepmtAmtToDeduct(SalesHeader."Prices Including VAT","Prepayment %");
      END ELSE
      "Prepmt Amt to Deduct" := 0

  3. Προσθέστε ένα νέο PrepmtAmtToDeduct (PricesIncludingVAT: Boolean, PrepaymentPct: Δεκαδικά): δεκαδικός συνάρτηση στον πίνακα γραμμή αγορών (39). Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:

    1. Προσθέστε μια τοπική μεταβλητή και στη συνέχεια καθορίστε τη μεταβλητή ως εξής:

      • Όνομα: VATFactor

      • Τύπος δεδομένων: δεκαδικών

    2. Προσθέστε τον κώδικα ως εξής:

      IF PricesIncludingVAT THENVATFactor := (1 + "VAT %" / 100)
      ELSE
      VATFactor := 1;
      EXIT(
      ROUND(
      ROUND(
      ROUND(
      ROUND("Unit Cost" * "Qty. to Invoice",Currency."Amount Rounding Precision") *
      (1 - ("Line Discount %" / 100)),Currency."Amount Rounding Precision") *
      (PrepaymentPct / 100) / VATFactor,Currency."Amount Rounding Precision") * VATFactor,Currency."Amount Rounding Precision"));

  4. Για να αλλάξετε τη συνάρτηση CalcPrepaymentToDeduct στον πίνακα γραμμή πώλησης (37). Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:

    1. Διαγράψτε τις ακόλουθες τοπικές μεταβλητές:

      PrepmtPct: Decimal;AbsoluteAdvCorrection: Boolean;

    2. Προσθέστε τις ακόλουθες τοπικές μεταβλητές:

      TotalPrepmtAmtToDeduct: Decimal;HundredPct: Decimal;

    3. Αντικαταστήστε τον κώδικα ως εξής:

      IF (Quantity - "Quantity Invoiced") <> 0 THEN BEGINTotalPrepmtAmtToDeduct := "Prepmt. Amt. Inv." - "Prepmt Amt Deducted";
      GetPurchHeader;
      IF PurchHeader."Prepayment Type" = PurchHeader."Prepayment Type"::Advance THEN BEGIN
      VATPostingSetup.GET("VAT Bus. Posting Group","VAT Prod. Posting Group");
      CASE VATPostingSetup."Adv. Invoice Correction Type" OF
      VATPostingSetup."Adv. Invoice Correction Type"::Percentage:
      "Prepmt Amt to Deduct" :=
      ROUND("Qty. to Invoice" / (Quantity - "Quantity Invoiced") *
      TotalPrepmtAmtToDeduct,Currency."Amount Rounding Precision");
      VATPostingSetup."Adv. Invoice Correction Type"::Absolute:
      BEGIN
      HundredPct := 100;
      "Prepmt Amt to Deduct" := PrepmtAmtToDeduct(PurchHeader."Prices Including VAT",HundredPct);
      IF "Prepmt Amt to Deduct" > TotalPrepmtAmtToDeduct THEN
      "Prepmt Amt to Deduct" := TotalPrepmtAmtToDeduct;
      END;
      VATPostingSetup."Adv. Invoice Correction Type"::"Fully Invoiced":
      IF "Qty. to Invoice" = Quantity - "Quantity Invoiced" THEN
      "Prepmt Amt to Deduct" := TotalPrepmtAmtToDeduct
      ELSE
      "Prepmt Amt to Deduct" := 0;
      END;
      END ELSE
      "Prepmt Amt to Deduct" := PrepmtAmtToDeduct(PurchHeader."Prices Including VAT","Prepayment %");
      END ELSE
      "Prepmt Amt to Deduct" := 0

  5. Αλλάξτε τον κωδικό στη συνάρτηση InitInvoiceRoundingLine στη μονάδα κώδικα προπληρωμές πωλήσεων-Post (442) ως εξής:
    Υπάρχοντα κώδικα

    ...IF SalesHeader."Currency Code" = '' THEN
    Currency.InitRoundingPrecision
    ELSE
    Currency.GET(SalesHeader."Currency Code");
    ...

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

    ...IF SalesHeader."Currency Code" = '' THEN BEGIN
    Currency.SetDocumentType(SalesHeader."Document Type");
    Currency.SetPaymentMethod(SalesHeader."Payment Method Code");
    Currency.InitRoundingPrecision;
    END ELSE
    Currency.GET(SalesHeader."Currency Code");
    ...

  6. Αλλάξτε τον κωδικό στη συνάρτηση InsertLineRelation στη μονάδα κώδικα προπληρωμές πωλήσεων-Post (442) ως εξής:
    Υπάρχοντα κώδικα

    ...IF SalesHeader."Currency Code" = '' THEN
    Currency.InitRoundingPrecision
    ELSE
    Currency.GET(SalesHeader."Currency Code");
    ...

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

    ...IF SalesHeader."Currency Code" = '' THEN BEGIN
    Currency.SetDocumentType(SalesHeader."Document Type");
    Currency.SetPaymentMethod(SalesHeader."Payment Method Code");
    Currency.InitRoundingPrecision;
    END ELSE
    Currency.GET(SalesHeader."Currency Code");
    ...

  7. Αλλάξτε τον κωδικό στη συνάρτηση InsertInvoiceRounding στη μονάδα κώδικα προπληρωμές πωλήσεων-Post (442) ως εξής:
    Υπάρχοντα κώδικα

    ..."G/L Account No." := SalesLine."No.";
    "Dimension Entry No." := InsertInDimBuffer(TempDocDim,SalesLine);
    ...

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

    ..."G/L Account No." := SalesLine."No.";

    // Add the following line
    Description := SalesLine.Description;

    "Dimension Entry No." := InsertInDimBuffer(TempDocDim,SalesLine);
    ...

  8. Αλλάξτε τον κωδικό στη συνάρτηση InsertInvoiceRounding στη μονάδα κώδικα προπληρωμές αγορών-Post (444) ως εξής:
    Υπάρχοντα κώδικα

    ..."G/L Account No." := PurchLine."No.";
    "Dimension Entry No." := InsertInDimBuffer(TempDocDim,PurchLine);
    ...

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

    ..."G/L Account No." := PurchLine."No.";

    // Add the following line.
    Description := PurchLine.Description;

    "Dimension Entry No." := InsertInDimBuffer(TempDocDim,PurchLine);
    ...

  9. Αλλάξτε τον κωδικό στη συνάρτηση InitInvoiceRoundingLine στη μονάδα κώδικα προπληρωμές αγορών-Post (444) ως εξής:
    Υπάρχοντα κώδικα

    ...IF PurchHeader."Currency Code" = '' THEN
    Currency.InitRoundingPrecision
    ELSE
    Currency.GET(PurchHeader."Currency Code");
    ...

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

    ...IF PurchHeader."Currency Code" = '' THEN BEGIN
    Currency.SetDocumentType(PurchHeader."Document Type");
    Currency.SetPaymentMethod(PurchHeader."Payment Method Code");
    Currency.InitRoundingPrecision;
    END
    ELSE
    Currency.GET(PurchHeader."Currency Code");
    ...

  10. Αλλάξτε τον κωδικό στη συνάρτηση InsertLineRelation στη μονάδα κώδικα προπληρωμές αγορών-Post (444) ως εξής:
    Υπάρχοντα κώδικα

    ...IF PurchHeader."Currency Code" = '' THEN
    Currency.InitRoundingPrecision
    ELSE
    Currency.GET(PurchHeader."Currency Code");
    ...

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

    ...IF PurchHeader."Currency Code" = '' THEN BEGIN
    Currency.SetDocumentType(PurchHeader."Document Type");
    Currency.SetPaymentMethod(PurchHeader."Payment Method Code");
    Currency.InitRoundingPrecision;
    END
    ELSE
    Currency.GET(PurchHeader."Currency Code");
    ...

  11. Προσθέσετε ένα νέο LineRelationExists (LetterLine: 26586 εγγραφή): δυαδική συνάρτησης στην καταχώρηση πωλήσεων προκαταβολές μονάδας κώδικα (26585). Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:

    1. Προσθέστε μια τοπική μεταβλητή και στη συνέχεια καθορίστε τη μεταβλητή ως εξής:

      • Όνομα: LineRelation

      • Τύπος δεδομένων: εγγραφή 26592

    2. Προσθέστε τον κώδικα ως εξής:

      WITH LineRelation DO BEGINSETRANGE(Type,Type::Sale);
      SETRANGE("Letter No.",LetterLine."Letter No.");
      SETRANGE("Letter Line No.",LetterLine."Line No.");
      EXIT(NOT ISEMPTY);
      END;

  12. Προσθέστε ένα νέο UpdateAmountToApply (LetterLine: 26592 εγγραφή; ΦΠΑ LinkedAdvanceEntry: Εγγραφή 21) συνάρτησης στην καταχώρηση πωλήσεων προκαταβολές μονάδας κώδικα (26585). Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:

    1. Προσθέστε μια τοπική μεταβλητή και στη συνέχεια καθορίστε τη μεταβλητή ως εξής:

      • Όνομα: σύνδεση

      • Τύπος δεδομένων: εγγραφή 26590

    2. Προσθέστε μια τοπική μεταβλητή και στη συνέχεια καθορίστε τη μεταβλητή ως εξής:

      • Όνομα: CustLedgEntry

      • Τύπος δεδομένων: εγγραφή 21

    3. Προσθέστε τον κώδικα ως εξής:

      WITH Link DO BEGINSETRANGE("Entry Type","Entry Type"::"Link To Letter");
      SETRANGE("Document No.",LetterLine."Letter No.");
      SETRANGE("Line No.",LetterLine."Line No.");
      IF FINDSET THEN
      REPEAT
      IF CustLedgEntry.GET("CV Ledger Entry No.") THEN BEGIN
      CustLedgEntry.CALCFIELDS("Remaining Amount");
      IF CustLedgEntry."Remaining Amount" <> -LinkedAdvanceEntry."Amount to Apply" THEN
      IF LinkedAdvanceEntry.GET(CustLedgEntry."Entry No.") THEN BEGIN
      LinkedAdvanceEntry."Amount to Apply" := LinkedAdvanceEntry."Amount to Apply" + Amount;
      LinkedAdvanceEntry.MODIFY;
      END ELSE BEGIN
      LinkedAdvanceEntry := CustLedgEntry;
      LinkedAdvanceEntry."Amount to Apply" := Amount;
      LinkedAdvanceEntry."Currency Code" := "Currency Code";
      LinkedAdvanceEntry.INSERT;
      END;
      END;
      UNTIL NEXT = 0;
      END;

  13. Προσθέστε ένα νέο AddRoundingLine (LetterLine: 26586 εγγραφή; SalesInvHeader: Εγγραφή 112; VAR LinkedAdvanceEntry: Εγγραφή 21. LastLetterNo: Ο κωδικός [20]): DeductedAmount: δεκαδικό
    λειτουργούν σε προκαταβολές καταχώρηση πωλήσεων μονάδας κώδικα (26585) ως εξής:

    LetterLine.SETRANGE("Letter No.",LetterLine."Letter No.");LetterLine.SETFILTER("Line No.",'>%1',LetterLine."Line No.");
    LetterLine.SETFILTER("Amount To Deduct",'<>0');
    IF LetterLine.FINDSET(TRUE) THEN
    REPEAT
    IF NOT LineRelationExists(LetterLine) THEN BEGIN
    DeductedAmount := DeductedAmount + LetterLine."Amount To Deduct";
    LetterLine."Amount Deducted" := LetterLine."Amount Deducted" + LetterLine."Amount To Deduct";
    LetterLine."Amount To Deduct" := 0;
    LetterLine.MODIFY(TRUE);
    UpdateAmountToApply(LetterLine,LinkedAdvanceEntry);
    AddPrepmtSalesInvLine(LetterLine,SalesInvHeader,LetterLine."Amount Deducted",LetterLine."VAT Amount",LastLetterNo);
    END;
    UNTIL LetterLine.NEXT = 0;

  14. Αλλάξτε τον κωδικό στη συνάρτηση PostInvoiceCorrection στην καταχώρηση πωλήσεων προκαταβολές μονάδας κώδικα (26585) ως εξής:
    Υπάρχοντα κώδικα

    ...FullyDeducted := FullyDeductedCustPrepmt(SalesLine);

    // Delete the following lines.
    IF FullyDeducted THEN
    DeductRndLetterLines(SalesHeader."No.");
    // End of thelines.
    ...

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

    ...FullyDeducted := FullyDeductedCustPrepmt(SalesLine);
    ...

  15. Αλλάξτε τον κωδικό στη συνάρτηση DeductRndLetterLines στην καταχώρηση πωλήσεων προκαταβολές μονάδας κώδικα (26585) ως εξής:
    Υπάρχοντα κώδικα

    ...AddPrepmtSalesInvLine(LetterLine,SalesInvHeader,AmountToDeduct,VATAmount,LastLetterNo);
    END;
    UNTIL LineRelation.NEXT = 0;

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

    ...AddPrepmtSalesInvLine(LetterLine,SalesInvHeader,AmountToDeduct,VATAmount,LastLetterNo);

    // Add the following lines.
    IF SalesLine."Prepmt Amt to Deduct" + SalesLine."Prepmt Amt Deducted" = SalesLine."Prepmt. Amt. Inv." THEN
    InvoicedAmount := InvoicedAmount + AddRoundingLine(LetterLine,SalesInvHeader,LinkedAdvanceEntry,LastLetterNo);
    // End of the lines.

    END;
    UNTIL LineRelation.NEXT = 0;
    ...

  16. Προσθέσετε ένα νέο LineRelationExists (LetterLine: 26588 εγγραφής) συνάρτησης στην καταχώρηση αγορών προχωρά μονάδας κώδικα (26586). Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:

    1. Προσθέστε μια τοπική μεταβλητή και στη συνέχεια καθορίστε τη μεταβλητή ως εξής:

      • Όνομα: LineRelation

      • Τύπος δεδομένων: εγγραφή 26592

    2. Προσθέστε τον κώδικα ως εξής:

      WITH LineRelation DO BEGINSETRANGE(Type,Type::Purchase);
      SETRANGE("Letter No.",LetterLine."Letter No.");
      SETRANGE("Letter Line No.",LetterLine."Line No.");
      EXIT(NOT ISEMPTY);
      END;

  17. Προσθέστε ένα νέο UpdateAmountToApply (LetterLine: 26588 εγγραφή; VAR LinkedAdvanceEntry: Εγγραφή 25) συνάρτησης στην καταχώρηση αγορών προχωρά μονάδας κώδικα (26586). Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:

    1. Προσθέστε μια τοπική μεταβλητή και στη συνέχεια καθορίστε τη μεταβλητή ως εξής:

      • Όνομα: LetterLine

      • Τύπος δεδομένων: εγγραφή 26588

    2. Προσθέστε μια τοπική μεταβλητή και στη συνέχεια καθορίστε τη μεταβλητή ως εξής:

      • Όνομα: VendorLedgEntry

      • Τύπος δεδομένων: εγγραφή 25

    3. Προσθέστε τον κώδικα ως εξής:

      WITH Link DO BEGINSETRANGE("Entry Type","Entry Type"::"Link To Letter");
      SETRANGE("Document No.",LetterLine."Letter No.");
      SETRANGE("Line No.",LetterLine."Line No.");
      IF FINDSET THEN
      REPEAT
      IF VendorLedgEntry.GET("CV Ledger Entry No.") THEN BEGIN
      VendorLedgEntry.CALCFIELDS("Remaining Amount");
      IF VendorLedgEntry."Remaining Amount" <> -LinkedAdvanceEntry."Amount to Apply" THEN
      IF LinkedAdvanceEntry.GET(VendorLedgEntry."Entry No.") THEN BEGIN
      LinkedAdvanceEntry."Amount to Apply" := LinkedAdvanceEntry."Amount to Apply" + Amount;
      LinkedAdvanceEntry.MODIFY;
      END ELSE BEGIN
      LinkedAdvanceEntry := VendorLedgEntry;
      LinkedAdvanceEntry."Amount to Apply" := Amount;
      LinkedAdvanceEntry."Currency Code" := "Currency Code";
      LinkedAdvanceEntry.INSERT;
      END;
      END;
      UNTIL NEXT = 0;
      END;

  18. Προσθέστε ένα νέο AddRoundingLine (LetterLine: 26588 εγγραφή; PurchInvHeader: Εγγραφή 122, και VAR LinkedAdvanceEntry: Εγγραφή 25. LastLetterNo: Κωδικός [20]): DeductedAmount: δεκαδικός λειτουργούν στην καταχώρηση αγορών προχωρά μονάδας κώδικα (26586) ως εξής:

    LetterLine.SETRANGE("Letter No.",LetterLine."Letter No.");LetterLine.SETFILTER("Line No.",'>%1',LetterLine."Line No.");
    LetterLine.SETFILTER("Amount To Deduct",'<>0');
    IF LetterLine.FINDSET(TRUE) THEN
    REPEAT
    IF NOT LineRelationExists(LetterLine) THEN BEGIN
    DeductedAmount := DeductedAmount + LetterLine."Amount To Deduct";
    LetterLine."Amount Deducted" := LetterLine."Amount Deducted" + LetterLine."Amount To Deduct";
    LetterLine."Amount To Deduct" := 0;
    LetterLine.MODIFY(TRUE);
    UpdateAmountToApply(LetterLine,LinkedAdvanceEntry);
    AddPrepmtPurchInvLine(LetterLine,PurchInvHeader,LetterLine."Amount Deducted",LetterLine."VAT Amount",LastLetterNo);
    END;
    UNTIL LetterLine.NEXT = 0;

  19. Αλλάξτε τον κωδικό στη συνάρτηση PostInvoiceCorrection στην καταχώρηση αγορών προχωρά μονάδας κώδικα (26586) ως εξής:
    Υπάρχοντα κώδικα

    ...FullyDeducted := FullyDeductedVendPrepmt(PurchLine);

    // Delete the following lines.
    IF FullyDeducted THEN
    DeductRndLetterLines(PurchHeader."No.");
    // End of the lines.

    PurchLine.SETFILTER("Prepmt Amt to Deduct",'<>0');
    ...

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

    ...FullyDeducted := FullyDeductedVendPrepmt(PurchLine);

    PurchLine.SETFILTER("Prepmt Amt to Deduct",'<>0');
    ...

  20. Διαγράψτε τη συνάρτηση DeductRndLetterLines στην καταχώρηση αγορών προχωρά μονάδας κώδικα (26586).

  21. Αλλάξτε τον κωδικό στη συνάρτηση PostInvLineCorrection στην καταχώρηση αγορών προχωρά μονάδας κώδικα (26586) ως εξής:
    Υπάρχοντα κώδικα

    ...AddPrepmtPurchInvLine(LetterLine,PurchInvHeader,AmountToDeduct,VATAmount,LastLetterNo);
    END;
    UNTIL LineRelation.NEXT = 0;
    ...

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

    ...AddPrepmtPurchInvLine(LetterLine,PurchInvHeader,AmountToDeduct,VATAmount,LastLetterNo);

    // Add the following lines.
    IF PurchLine."Prepmt Amt to Deduct" + PurchLine."Prepmt Amt Deducted" = PurchLine."Prepmt. Amt. Inv." THEN
    InvoicedAmount := InvoicedAmount + AddRoundingLine(LetterLine,PurchInvHeader,LinkedAdvanceEntry,LastLetterNo);
    // End of the lines.

    END;
    UNTIL LineRelation.NEXT = 0;
    ...

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

Πρέπει να έχετε την ουγγρική έκδοση του Microsoft Dynamics NAV 2009 R2 για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση.

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

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

Κατάσταση

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

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

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

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

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

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

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

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

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

×