"Παρακολούθηση στοιχείου που έχει οριστεί για το στοιχείο [Αριθμός στοιχείου.] στο στοιχείο γραμμή χρονικού αντιπροσωπεύει περισσότερο από την ποσότητα που έχετε εισαγάγει" μήνυμα λάθους όταν προσπαθείτε να καταχωρήσετε ένα μερικό αποτέλεσμα για μια παραγγελία παραγωγής στο Microsoft Dynamics NAV 2009

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

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

Συμπτώματα

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

Σημείωση

Παρακολούθηση στοιχείου που έχει οριστεί για το στοιχείο Ο αριθμός στοιχείου στη γραμμή χρονικού στοιχείων αντιπροσωπεύει περισσότερο από την ποσότητα που έχετε εισαγάγει. Πρέπει να προσαρμόσετε την παρακολούθηση των υπαρχόντων στοιχείων και να εισαγάγετε ξανά τη νέα ποσότητα.

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

Σημείωση

Η διόρθωση δεν μπορεί να εξοικονομηθεί καθώς έχει καθοριστεί πλεονάζουσα ποσότητα. Κλείστε τη φόρμα ούτως ή άλλως;

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

  • 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 Dynamics NAV έχουν αποσυνδεθεί από το σύστημα. Αυτό περιλαμβάνει υπηρεσίες διακομιστή εφαρμογών Microsoft Dynamics NAV (NAS). Θα πρέπει να είστε ο μόνος χρήστης-πελάτης που είναι συνδεδεμένος όταν υλοποιείτε αυτήν την επείγουσα επιδιόρθωση.

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

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

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

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

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

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

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

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

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

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

    ...
    CODE
    ...
    PROCEDURE DeleteReservEntries2@31(DeleteAll@1000 : Boolean;DownToQuantity@1001 : Decimal;VAR ReservEntry@1002 : Record 337);
    ...
    IF QtyToRelease <> 0 THEN BEGIN
    IF ItemTrackingHandling = ItemTrackingHandling::None THEN
    IF DeleteAll THEN
    ERROR(Text010,ReservEntry."Item No.",ReservEntry.TextCaption)
    ELSE
    
    // Delete the following line.
    ERROR(Text008,ReservEntry."Item No.",ReservEntry.TextCaption);
    // End of the deleted line.
    
    ...THEN
    CalcReservedQtyOnPick(TotalAvailQty,QtyAllocInWhse);
    END;
    BEGIN
    END.
    ...
    

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

    ...
    CODE
    ...
    PROCEDURE DeleteReservEntries2@31(DeleteAll@1000 : Boolean;DownToQuantity@1001 : Decimal;VAR ReservEntry@1002 : Record 337);
    ...
    IF QtyToRelease <> 0 THEN BEGIN
    IF ItemTrackingHandling = ItemTrackingHandling::None THEN
    IF DeleteAll THEN
    ERROR(Text010,ReservEntry."Item No.",ReservEntry.TextCaption)
    ELSE
    
    // Add the following lines.
    IF NOT ProdJnlLineEntry(ReservEntry) THEN
    ERROR(Text008,ReservEntry."Item No.",ReservEntry.TextCaption);
    // End of the added lines.
    
    ...
    THEN
    CalcReservedQtyOnPick(TotalAvailQty,QtyAllocInWhse);
    END;
    BEGIN
    
    // Add the following lines.
    WITH ReservationEntry DO
    EXIT(("Source Type" = DATABASE::"Item Journal Line") AND ("Source Subtype" = 6));
    END;
    BEGIN
    // End of the added lines.
    
    END.
    ...
    
  2. Αλλάξτε τον κωδικό στη φόρμα γραμμών παρακολούθησης στοιχείων (6510) ως εξής:
    Υπάρχων κωδικός 1

    ...
    Text018@1057 : TextConst 'ENU=Saving item tracking line changes';
    ForBinCode@1043 : Code[20];
    Text019@1013 : TextConst 'ENU=There are availability warnings on one or more lines.\Close the form anyway?';
    Text020@1002 : TextConst 'ENU=Placeholder';
    IsPick@1042 : Boolean;
    PROCEDURE SetFormRunMode@19(Mode@1000 : ',Reclass,Combined Ship/Rcpt,Drop Shipment');
    ...
    

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

    ...
    Text018@1057 : TextConst 'ENU=Saving item tracking line changes';
    ForBinCode@1043 : Code[20];
    Text019@1013 : TextConst 'ENU=There are availability warnings on one or more lines.\Close the form anyway?';
    Text020@1002 : TextConst 'ENU=Placeholder';
    IsPick@1042 : Boolean;
    
    // Add the following line.
    ProdOrderLineHandling@2002 : Boolean;
    // End of the added line.
    
    PROCEDURE SetFormRunMode@19(Mode@1000 : ',Reclass,Combined Ship/Rcpt,Drop Shipment');
    ...
    

    Υπάρχων κωδικός 2

    ...
    THEN
    CurrentEntryStatus := CurrentEntryStatus::Surplus
    ELSE
    CurrentEntryStatus := CurrentEntryStatus::Prospect;
    
    // Delete the following lines.
    IF (TrackingSpecification."Source Type" IN
    [DATABASE::"Item Ledger Entry",
    DATABASE::"Item Journal Line",
    DATABASE::"Job Journal Line",
    DATABASE::"BOM Journal Line",
    DATABASE::"Requisition Line"]) OR
    ((TrackingSpecification."Source Type" IN [DATABASE::"Sales Line",DATABASE::"Purchase Line",DATABASE::"Service Line"]) AND
    (TrackingSpecification."Source Subtype" IN [0,2,3]))
    THEN
    SetControls(Controls::Handle,FALSE)
    ELSE
    SetControls(Controls::Handle,TRUE);
    // End of the deleted lines.
    
    SetControls(Controls::Reclass,FormRunMode = FormRunMode::Reclass);
    ...
    

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

    ...
    THEN
    CurrentEntryStatus := CurrentEntryStatus::Surplus
    ELSE
    CurrentEntryStatus := CurrentEntryStatus::Prospect;
    
    // Add the following lines.
    // Set controls for Qty To Handle:
    SetControls(Controls::Handle,GetHandleSource(TrackingSpecification));
    // Set controls for Qty To Invoice:
    SetControls(Controls::Invoice,GetInvoiceSource(TrackingSpecification));
    // End of the added lines.
    
    SetControls(Controls::Reclass,FormRunMode = FormRunMode::Reclass);
    ...
    

    Υπάρχων κωδικός 3

    ...
    SetControls(Controls::Handle,TRUE);
    
    // Delete the following lines.
    IF (TrackingSpecification."Source Type" IN
    [DATABASE::"Item Ledger Entry",
    DATABASE::"Item Journal Line",
    DATABASE::"Job Journal Line",
    DATABASE::"BOM Journal Line",
    DATABASE::"Requisition Line",
    DATABASE::"Transfer Line",
    DATABASE::"Prod. Order Line",
    DATABASE::"Prod. Order Component"]) OR
    ((TrackingSpecification."Source Type" IN [DATABASE::"Sales Line",DATABASE::"Purchase Line",DATABASE::"Service Line"]) AND
    (TrackingSpecification."Source Subtype" IN [0,2,3,4]))
    THEN
    SetControls(Controls::Invoice,FALSE)
    ELSE
    SetControls(Controls::Invoice,TRUE);
    // End of the deleted lines.
    
    SetControls(Controls::Reclass,FormRunMode = FormRunMode::Reclass);
    ...
    

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

    ...
    SetControls(Controls::Handle,TRUE);
    SetControls(Controls::Reclass,FormRunMode = FormRunMode::Reclass);
    ...
    

    Υπάρχων κωδικός 4

    ...
    BEGIN
    UndefinedQtyArray[1] := SourceQuantityArray[1] - TotalItemTrackingLine."Quantity (Base)";
    UndefinedQtyArray[2] := SourceQuantityArray[2] - TotalItemTrackingLine."Qty. to Handle (Base)";
    UndefinedQtyArray[3] := SourceQuantityArray[3] - TotalItemTrackingLine."Qty. to Invoice (Base)";
    
    // Delete the following lines.
    IF ABS(SourceQuantityArray[1]) < ABS(TotalItemTrackingLine."Quantity (Base)") THEN BEGIN
    ColorOfQuantityArray[1] := 255;
    QtyIsValid := FALSE;
    END ELSE BEGIN
    // End of the deleted lines.
    
    ColorOfQuantityArray[1] := 0;
    
    // Delete the following lines.
    QtyIsValid := TRUE;
    END;
    // End of the deleted lines.
    
    IF ABS(SourceQuantityArray[2]) < ABS(TotalItemTrackingLine."Qty. to Handle (Base)") THEN
    ...
    

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

    ...
    BEGIN
    UndefinedQtyArray[1] := SourceQuantityArray[1] - TotalItemTrackingLine."Quantity (Base)";
    UndefinedQtyArray[2] := SourceQuantityArray[2] - TotalItemTrackingLine."Qty. to Handle (Base)";
    UndefinedQtyArray[3] := SourceQuantityArray[3] - TotalItemTrackingLine."Qty. to Invoice (Base)";
    
    // Add the following lines.
    QtyIsValid :=
    ProdOrderLineHandling OR (ABS(SourceQuantityArray[1]) >= ABS(TotalItemTrackingLine."Quantity (Base)"));
    
    IF ABS(SourceQuantityArray[1]) < ABS(TotalItemTrackingLine."Quantity (Base)") THEN
    ColorOfQuantityArray[1] := 255
    ELSE
    // End of the added lines.
    
    ColorOfQuantityArray[1] := 0;
    IF ABS(SourceQuantityArray[2]) < ABS(TotalItemTrackingLine."Qty. to Handle (Base)") THEN
    ...
    

    Υπάρχων κωδικός 5

    ...
    CurrForm."Appl.-from Item Entry".VISIBLE(FALSE);
    END;
    BEGIN
    {
    In order to provide F6 invoked lookup from availability bitmap columns, a menu button has been hidden behind control 1.
    ...
    

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

    ...
    CurrForm."Appl.-from Item Entry".VISIBLE(FALSE);
    END;
    
    // Add the following lines.
    PROCEDURE GetHandleSource@63(TrackingSpecification@2004 : Record 336) : Boolean;
    VAR
    QtyToHandleColumnIsHidden@2005 : Boolean;
    // End of the added lines.
    
    BEGIN
    
    // Add the following lines.
    WITH TrackingSpecification DO BEGIN
    IF ("Source Type" = DATABASE::"Item Journal Line") AND ("Source Subtype" = 6) THEN BEGIN // 6 => Prod.order line
    ProdOrderLineHandling := TRUE;
    EXIT(TRUE); // Display Handle column for prod. orders
    END;
    QtyToHandleColumnIsHidden :=
    ("Source Type" IN
    [DATABASE::"Item Ledger Entry",
    DATABASE::"Item Journal Line",
    DATABASE::"Job Journal Line",
    DATABASE::"Requisition Line"]) OR
    (("Source Type" IN [DATABASE::"Sales Line",DATABASE::"Purchase Line",DATABASE::"Service Line"]) AND
    ("Source Subtype" IN [0,2,3]));
    END;
    EXIT(NOT QtyToHandleColumnIsHidden);
    END;
    
    PROCEDURE GetInvoiceSource@73(TrackingSpecification@2007 : Record 336) : Boolean;
    VAR
    QtyToInvoiceColumnIsHidden@2009 : Boolean;
    BEGIN
    WITH TrackingSpecification DO BEGIN
    QtyToInvoiceColumnIsHidden :=
    ("Source Type" IN
    [DATABASE::"Item Ledger Entry",
    DATABASE::"Item Journal Line",
    DATABASE::"Job Journal Line",
    DATABASE::"Requisition Line",
    DATABASE::"Transfer Line",
    DATABASE::"Prod. Order Line",
    DATABASE::"Prod. Order Component"]) OR
    (("Source Type" IN [DATABASE::"Sales Line",DATABASE::"Purchase Line",DATABASE::"Service Line"]) AND
    ("Source Subtype" IN [0,2,3,4]))
    END;
    EXIT(NOT QtyToInvoiceColumnIsHidden);
    END;
    
    BEGIN
    // End of the added lines.
    
    {
    In order to provide F6 invoked lookup from availability bitmap columns, a menu button has been hidden behind control 1.
    ...
    

          

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

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

  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 Service Pack 1

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

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

Κατάσταση

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

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