Τα αρνητικά ποσά στο αρχείο .txt είναι σε εσφαλμένη μορφή όταν δημιουργείτε ένα αρχείο Telematic ΦΠΑ .txt στην ισπανική έκδοση του Microsoft Dynamics NAV 5.0 Service Pack 1

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

Όταν εκτελείτε την έκθεση τηλεματικής δήλωσης ΦΠΑ (10715) για να δημιουργήσετε ένα αρχείο Telematic VAT .txt από το παράθυρο διαλόγου δήλωσης ΦΠΑ στην ισπανική έκδοση του Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1), τα αρνητικά ποσά στο αρχείο .txt που δημιουργείται είναι σε εσφαλμένη μορφή. Για παράδειγμα, το ποσό των "-1890.109,00" εμφανίζεται ως "0N000000189010900" στο αρχείο .txt.

Συμπτώματα

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

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

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

Επίλυση

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

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

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

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

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

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

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

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

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

  1. Αλλάξτε τον κωδικό στη συνάρτηση CalcTotLine στην έκθεση τηλεματικής δήλωσης ΦΠΑ (10715) ως εξής:
    Υπάρχων κωδικός 1

    ...
    "VAT StatementLine2"."Amount Type"::"Unrealized Base":
    BEGIN
    VATEntry.CALCSUMS("Unrealized Base","Add.-Currency Unrealized Base");
    Amount := ConditionalAdd(0,VATEntry."Unrealized Base",VATEntry."Add.-Currency Unrealized Base");
    END;
    
    // Delete the following lines.
    "VAT StatementLine2"."Amount Type"::"Amount+Base":
    BEGIN 
    VATEntry.CALCSUMS(Amount,Base,"Additional-Currency Amount","Additional-Currency Base");
    Amount := ConditionalAdd(0,VATEntry.Amount,VATEntry."Additional-Currency Amount");
    Base := ConditionalAdd(0,VATEntry.Base,VATEntry."Additional-Currency Base"); 
    END; 
    // End of the lines.
    
    END;
    CalcTotAmount("VAT StatementLine2",TotalAmount);
    END;
    ...
    
    

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

    ...
    "VAT StatementLine2"."Amount Type"::"Unrealized Base":
    BEGIN
    VATEntry.CALCSUMS("Unrealized Base","Add.-Currency Unrealized Base");
    Amount := ConditionalAdd(0,VATEntry."Unrealized Base",VATEntry."Add.-Currency Unrealized Base");
    END;
    
    // Add the following lines.
    "VAT StatementLine2"."Amount Type"::"Amount+Base": 
    BEGIN 
    VATEntry.CALCSUMS(Amount,Base,"Additional-Currency Amount","Additional-Currency Base");
    IF VATPostSetup.GET(VATEntry."VAT Bus. Posting Group",VATEntry."VAT Prod. Posting Group") THEN BEGIN 
    IF VATPostSetup."VAT+EC %" <> 0 THEN BEGIN 
    VATAmount := (VATEntry.Amount / VATPostSetup."VAT+EC %") * VATEntry."VAT %"; 
    VATAmountAC := (VATEntry."Additional-Currency Amount" / VATPostSetup."VAT+EC %") * 
    VATEntry."VAT %"; 
    END; 
    Amount := ConditionalAdd(0,VATAmount,VATAmountAC); 
    END; 
    Base := ConditionalAdd(0,VATEntry.Base,VATEntry."Additional-Currency Base");
    Amount := Amount + Base; 
    END;
    // End of the lines.
    
    END;
    CalcTotAmount("VAT StatementLine2",TotalAmount);
    END;
    ...
    
    

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

    ...
    "VAT StatementLine2"."Amount Type"::"Unrealized Base":
    BEGIN
    VATEntry.CALCSUMS("Unrealized Base","Add.-Currency Unrealized Base");
    Amount := ConditionalAdd(0,VATEntry."Unrealized Base",VATEntry."Add.-Currency Unrealized Base");
    END;
    
    // Delete the following lines.
    "VAT StatementLine2"."Amount Type"::"Amount+Base":
    BEGIN
    VATEntry.CALCSUMS(Amount,Base,"Additional-Currency Amount","Additional-Currency Base");
    Amount := ConditionalAdd(0,VATEntry.Amount,VATEntry."Additional-Currency Amount");
    Base := ConditionalAdd(0,VATEntry.Base,VATEntry."Additional-Currency Base");
    END;
    // End of the lines.
    
    END;
    CalcTotAmount("VAT StatementLine2",TotalAmount);
    END;
    
    END;
    
    EXIT(TRUE);
    ...
    
    

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

    ...
    "VAT StatementLine2"."Amount Type"::"Unrealized Base":
    BEGIN
    VATEntry.CALCSUMS("Unrealized Base","Add.-Currency Unrealized Base");
    Amount := ConditionalAdd(0,VATEntry."Unrealized Base",VATEntry."Add.-Currency Unrealized Base");
    END;
    
    // Add the following lines.
    "VAT StatementLine2"."Amount Type"::"Amount+Base":
    BEGIN
    VATEntry.CALCSUMS(Amount,Base,"Additional-Currency Amount","Additional-Currency Base");
    IF VATPostSetup.GET(VATEntry."VAT Bus. Posting Group",VATEntry."VAT Prod. Posting Group") THEN BEGIN
    IF VATPostSetup."VAT+EC %" <> 0 THEN BEGIN
    VATAmount := (VATEntry.Amount / VATPostSetup."VAT+EC %") * VATEntry."EC %";
    VATAmountAC := (VATEntry."Additional-Currency Amount" / VATPostSetup."VAT+EC %") *
    VATEntry."EC %";
    END;
    Amount := ConditionalAdd(0,VATAmount,VATAmountAC);
    END;
    Base := ConditionalAdd(0,VATEntry.Base,VATEntry."Additional-Currency Base");
    Amount := Amount + Base; 
    END;
    // End of the lines.
    
    END;
    CalcTotAmount("VAT StatementLine2",TotalAmount);
    END;
    
    END;
    
    EXIT(TRUE);
    ...
    
    
  2. Αλλάξτε τον κωδικό στη συνάρτηση LoadValue στην έκθεση τηλεματικής δήλωσης ΦΠΑ (10715) ως εξής:
    Υπάρχων κώδικας

    ...
    CASE TransFormat.Subtype OF
    
    // Delete the following lines.
    TransFormat.Subtype::"Integer and Decimal Part" :
    BEGIN 
    TransFormat.Value := Negative + FORMAT(Amt,TransFormat.Length - STRLEN(Negative),
    Text1100010+'2'+Text1100011);
    TransFormat.Value := CONVERTSTR(DELCHR(TransFormat.Value,'=',',.'),' ','0');
    TransFormat.Value := PADSTR('',TransFormat.Length - STRLEN(TransFormat.Value),'0') + TransFormat.Value;
    END; 
    TransFormat.Subtype::"Integer Part" :
    BEGIN
    TransFormat.Value := Negative + FORMAT(Amt,TransFormat.Length - STRLEN(Negative),
    Text1100012);
    TransFormat.Value := CONVERTSTR(CONVERTSTR(TransFormat.Value,',','.'),' ','0');
    END;
    TransFormat.Subtype::"Decimal Part" :
    BEGIN
    TransFormat.Value := FORMAT(Amt,TransFormat.Length+1,Text1100010+
    FORMAT(TransFormat.Length,1) +Text1100013);
    TransFormat.Value := CONVERTSTR(DELCHR(TransFormat.Value,'=','.,'),' ','0');
    TransFormat.Value := PADSTR('',TransFormat.Length - STRLEN(TransFormat.Value),'0') + TransFormat.Value;
    END;
    // End of the lines.
    
    END;
    TransFormat.MODIFY;
    ...
    
    

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

    ...
    CASE TransFormat.Subtype OF
    
    // Add the following lines.
    TransFormat.Subtype::"Integer and Decimal Part":
    BEGIN
    TransFormat.Value := FORMAT(Amt,TransFormat.Length,Text1100010 + '2' + Text1100011);
    TransFormat.Value := CONVERTSTR(DELCHR(TransFormat.Value,'=',',.'),' ','0');
    TransFormat.Value := Negative + PADSTR('',TransFormat.Length - STRLEN(Negative) - 
    STRLEN(TransFormat.Value),'0') + TransFormat.Value;
    END;
    TransFormat.Subtype::"Integer Part":
    BEGIN 
    TransFormat.Value := Negative + FORMAT(Amt,TransFormat.Length - STRLEN(Negative), 
    Text1100012); 
    TransFormat.Value := CONVERTSTR(CONVERTSTR(TransFormat.Value,',','.'),' ','0'); 
    END; 
    TransFormat.Subtype::"Decimal Part":
    BEGIN 
    TransFormat.Value := FORMAT(Amt,TransFormat.Length,Text1100010 + '2' + Text1100013);
    TransFormat.Value := CONVERTSTR(DELCHR(TransFormat.Value,'=','.,'),' ','0'); 
    TransFormat.Value := Negative + PADSTR('',TransFormat.Length - STRLEN(Negative) - 
    STRLEN(TransFormat.Value),'0') + TransFormat.Value; 
    END; 
    // End of the lines.
    
    END;
    TransFormat.MODIFY;
    ...
    
    

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

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

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

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

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

Κατάσταση

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