Προσπάθεια να εισαγάγετε μια μοναδική τιμή σε ένα μοναδικό δείκτη. Μια προσπάθεια να εισαγάγετε μια μοναδική τιμή σε ένα μοναδικό ευρετήριο για να αφαιρέσετε τους δείκτες που δεν εκπέμπουν στο αρχείο 1C 8

Συναντήσατε ένα μήνυμα που περιέχει γραμμές:
Microsoft Ole DB Provider για Sql server: Δημιουργία μοναδικού δείκτη που τερματίζεται επειδή βρέθηκε ένα διπλότυπο πλήκτρο για το αναγνωριστικό δείκτη
ή
Δεν μπορεί να υποστηρίξει το διπλό κλειδί σε αντικείμενο
ή
Προσπάθεια να εισαγάγετε μια μοναδική τιμή σε ένα μοναδικό δείκτη.

Επιλογές λύσης:

1. Στο SQL Server Studio Studio, η φυσικά καταστρέφει τον αποτυχημένο δείκτη (στην περίπτωσή μου ήταν ένας δείκτης στον πίνακα του αποτελέσματος του λογιστικού μητρώου). Στο 1C, θα προβάλουμε έγγραφα αποτυχίας. Κατά τη λειτουργία δοκιμής και διόρθωσης, βάζουμε το dunk reindexing των πινάκων + επανυπολογισμός των αποτελεσμάτων. Το 1C αναδημιουργεί τον δείκτη χωρίς σφάλμα. Έχουμε προηγουμένως εκπληκτικά έγγραφα.

2. 1) Χρήση του Studio Management 2005 Δημιουργήθηκε το δημιουργικό σενάριο για να δημιουργήσετε ένα ευρετήριο που ήταν buggy και αποθηκεύτηκε στο αρχείο.
2) Σκοτώθηκε χειροκίνητα ένα δείκτη σακάκι από τον πίνακα _AccumrgTN19455
3) Ξεκίνησε ένα αίτημα προβολής
Κωδικός SQL S_elect Count (*), Fields_index
Από το concerrgtn19455.
Ομάδα με Fields_index.
Έχοντας μετρήσει (*)\u003e 1
Αφού ο δείκτης σκοτώθηκε, εξαφανίστηκα 15 διπλότυπα αρχεία, αν και πριν από την εκτέλεση της παραγράφου 2, δεν επέστρεψα τίποτα.
4) Προβολή όλων των αρχείων και με το χέρι καθαρισμό διπλότυπα. Στην πραγματικότητα, χρησιμοποίησα επίσης την επεξεργασία της "δομής αναφοράς" για να καταλάβω τι ασχολούμαι. Αποδείχθηκε ότι ο πίνακας _ACCUMRGTN19455 αποθηκεύει τον καταχωρητή συσσώρευσης "Παραγωγή (φορολογική λογιστική)". Έχουμε ακόμα τις αιτήσεις SQL, αποκάλυψα 15 αμείλικτα έγγραφα και μετά το τέλος όλων των πράξεων που έλεγξα στο 1Γ ότι τα έγγραφα αυτά διεξάγονται κανονικά, χωρίς σφάλματα. Απλά καθαρίστε το τραπέζι της Namaum, φυσικά, δεν αξίζει τον κόπο: Είναι σημαντικό να καταλάβετε ότι καθαρίζεται και τι μπορεί να μετατραπεί σε.
5) Ξεκίνησε ένα αίτημα για τη δημιουργία ενός δείκτη που αποθηκεύτηκε στο αρχείο.
6) Μετάφραση της βάσης δεδομένων σε λειτουργία ενός χρήστη και ξεκίνησε το DBCC CheckDB - αυτή τη φορά δεν έχει εκδοθεί ένα σφάλμα.
7) Μεταφέρετε τη βάση δεδομένων πίσω στη λειτουργία ενός χρήστη.
Όλα ... το πρόβλημα νίκησε. Λοιπόν, στο 1C ξεκίνησε "δοκιμή και διόρθωση", όλα ήταν καλά εκεί, ήταν φυσιολογικό, σταμάτησε να ορκίζεται σε ένα μη μοναδικό δείκτη.

3. Εάν η μη υποσύνηση βρίσκεται σε ημερομηνίες με μηδενικές τιμέςΤο πρόβλημα επιλύεται δημιουργώντας μια βάση δεδομένων με μια παράμετρο μετατόπισης έως το 2000.

1. Εάν το πρόβλημα της φόρτωσης της βάσης δεδομένων, τότε:
1.1. Εάν κάνετε τη λήψη (χρησιμοποιήστε το αρχείο DT) στη βάση δεδομένων MS SQL Server, στη συνέχεια, όταν δημιουργείτε μια βάση πριν τη λήψη, καθορίστε την αντιστάθμιση των ημερομηνιών - 2000.
Εάν η βάση έχει ήδη δημιουργηθεί με μετατόπιση 0, στη συνέχεια δημιουργήστε ένα νέο από το 2000.

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

1.3. Εάν δεν υπάρχει έκδοση αρχείου, δοκιμάστε να κατεβάσετε από την DT σε μια έκδοση πελάτη-διακομιστή με το DB2 (το οποίο είναι λιγότερο απαιτητικό για μοναδικότητα) και, στη συνέχεια, εκτελέστε δοκιμές και στερέωση, καθώς και διαμόρφωση - έλεγχος διαμόρφωσης - Έλεγχος της αναζήτησης λογικής διαμόρφωσης + αναζήτηση για εσφαλμένους συνδέσμους.

1.4. Για να εντοπίσετε το πρόβλημα, μπορείτε να ορίσετε τα δεδομένα αντικειμένου, τη φόρτωση της οποίας απέτυχε. Για να το κάνετε αυτό, πρέπει να ενεργοποιήσετε το ίχνος στο βοηθητικό πρόγραμμα Profiler κατά τη λήψη ή να ενεργοποιήσετε την εγγραφή στο αρχείο καταγραφής DBMSSQL και EXCP.

2. Εάν το πρόβλημα της δυσάρεσης εκδηλώνεται ενώ οι χρήστες:

2.1. Βρείτε με τη μέθοδο της παραγράφου 1.4 αίτημα προβλημάτων.

2.1.2. Μερικές φορές το σφάλμα παρουσιάζεται κατά την εκτέλεση αιτημάτων, για παράδειγμα:

Αυτό το σφάλμα παρουσιάζεται λόγω του γεγονότος ότι στο μητρώο μητρώου μητρώου "Ώρες εργασίας των εργαζομένων οργανισμών" στη διαδικασία "RealePeakers" στο αίτημα δεν κοστίζουν την επίσημη λέξη "διαφορετική".
Κωδικός 1C V 8.x Ι.Ε. Θα έπρεπε να είναι:
Αίτημα \u003d Νέο αίτημα (
"Επιλέξτε διαφορετικά
| Σημαντικός ερευνός,
. . . . .
Στις τελευταίες απελευθερωμένες κυκλοφορίες του ZUP και του UPP, το σφάλμα δεν συμβαίνει επειδή Υπάρχουν "διαφορετικά".

2.2. Αφού βρούμε ένα δείκτη προβλημάτων από το προηγούμενο στοιχείο, είναι απαραίτητο να βρείτε μια μη μοναδική καταχώρηση.
2.2.1. "Ψάρια" για τον προσδιορισμό μη μοναδικών καταχωρήσεων χρησιμοποιώντας SQL:
Κωδικός SQL S_elect Count (*) Counter,<перечисление всех полей соответствующего индекса> από.<имя таблицы>
Ομάδα από.<перечисление всех полей соответствующего индекса>
Έχοντας μετρητή\u003e 1

2.2.2 Παράδειγμα. Ο δείκτης στο σφάλμα ονομάζεται "_document140_vt1385_intkeyindng".
Κατάλογος των πεδίων πίνακα:
_Document140_IDRRef, _KeyField, _LineNo1386, _Fld1387, _Fld1388, _Fld1389, _Fld1390, _Fld1391RRef, _Fld1392RRef, _Fld1393_TYPE, _Fld1393_RTRef, _Fld1393_RRRef, _Fld1394, _Fld1395, _Fld1396RRef, _Fld1397, _Fld1398, _Fld1399RRef, _Fld22260_TYPE, _Fld22260_RTRef, _Fld22260_RRRef, _Fld22261_TYPE, _Fld22261_RTRef, _Fld22261_RRRef
Πριν εκτελέσετε την ακόλουθη διαδικασία, κάντε αντιγράφων ασφαλείας Βάση δεδομένων.
Εκτελέστε στο MS SQL Server αναλυτής ερώτησης:
SQL S_elect Count (*), _document140_idrref, _keyfield
από το _document140_vt1385.
Ομάδα από το _document140_idrref, _keyfield
Έχοντας μετρήσει (*)\u003e 1
Με αυτό, μάθετε τις τιμές της στήλης _Document140_IDRREF, _Keyfield, διπλές καταχωρήσεις (id, πλήκτρο).

Χρησιμοποιώντας το ερώτημα:
SQL S_elect * Κωδικός *
από το _document140_vt1385.
ή _document140_idrref \u003d id2 και _keyfield \u003d key2 ή ...
Κοιτάξτε τις τιμές άλλων αντιγράφων στηλών δίσκων.
Εάν και τα δύο εγγραφές έχουν ουσιαστικές τιμές και αυτές οι τιμές είναι διαφορετικές, στη συνέχεια διορθώστε την τιμή _keyfield σε ένα μοναδικό. Για να το κάνετε αυτό, καθορίστε τη μέγιστη πολυάσχολη τιμή _keyfield (Keymax):
Sql s_elect max (_keyfield) κώδικα
από το _document140_vt1385.
Όπου _document140_idrref \u003d ID1
Αντικαταστήστε την τιμή _keyfield σε μία από τις επαναλαμβανόμενες εγγραφές στη σωστή:
Κωδικός SQL Ενημέρωση _Document140_VT1385
Ορίστε το _keyfield \u003d keymax + 1
Εδώ _lineno1386 \u003d - Πρόσθετη κατάστασηπου σας επιτρέπει να επιλέξετε μία από τις δύο επαναλαμβανόμενες καταχωρήσεις.

Εάν ένα (ή και τα δύο) από τα επαναλαμβανόμενα αρχεία είναι προφανής εσφαλμένη τιμή, τότε πρέπει να διαγράψετε:
SQL Διαγραφή από _Document140_VT1385 Κωδικός
Όπου _document140_idrref \u003d ID1 και _LINENO1386 \u003d LINENO1
Εάν επαναλαμβανόμενα αρχεία έχουν τις ίδιες τιμές σε όλες τις στήλες, τότε πρέπει να αφήσετε ένα:
Κωδικός SQL S_elect Distinct *
Σε # tmp1
από το _document140_vt1385.
Όπου _document140_idrref \u003d id1 και _keyfield \u003d key1

Διαγράψτε από το _document140_vt1385
Όπου _document140_idrref \u003d id1 και _keyfield \u003d key1

I_nsert στο _document140_vt1385
S_elect # TMP1

D_ROP TABLE # TMP1

Η περιγραφόμενη διαδικασία πρέπει να εκτελείται για κάθε ζεύγος επαναλαμβανόμενων αρχείων.

2.2.3. Δεύτερο παράδειγμα:
Κωδικός SQL S_elect Count (*) ως Expr2, _IDRREF ως EXPR1, _Descriction
Από το _reference8_
Ομάδα από το _idrref, _description
Έχοντας (Count (*)\u003e 1)

2.3.4 Ένα παράδειγμα καθορισμού μη μοναδικών καταχωρήσεων χρησιμοποιώντας το αίτημα 1C: Επιχειρήσεις:
Κωδικός 1C V 8.x Επιλογή συνδέσμου εγχειριδίου
Από το εγχειρίδιο. Εγχειρίδιο ως κατάλογος
Ομάδα στο βιβλίο αναφοράς
Έχοντας ποσότητα (*)\u003e 1

Συναντήσατε ένα μήνυμα που περιέχει γραμμές:
Microsoft Ole DB Provider για SQL Server: Δημιουργία μοναδικού δείκτη που τερματίζεται επειδή βρέθηκε ένα διπλότυπο πλήκτρο για το αναγνωριστικό δείκτη
ή
Δεν μπορεί να υποστηρίξει το διπλό κλειδί σε αντικείμενο
ή
Προσπάθεια να εισαγάγετε μια μοναδική τιμή σε ένα μοναδικό δείκτη.

Επιλογές λύσης:

1. Στο SQL Server Studio Studio, η φυσικά καταστρέφει τον αποτυχημένο δείκτη (στην περίπτωσή μου ήταν ένας δείκτης στον πίνακα του αποτελέσματος του λογιστικού μητρώου). Στο 1C, θα προβάλουμε έγγραφα αποτυχίας. Κατά τη λειτουργία δοκιμής και διόρθωσης, βάζουμε το dunk reindexing των πινάκων + επανυπολογισμός των αποτελεσμάτων. Το 1C αναδημιουργεί τον δείκτη χωρίς σφάλμα. Έχουμε προηγουμένως εκπληκτικά έγγραφα.

2. 1) Χρήση του Studio Management 2005 Δημιουργήθηκε το δημιουργικό σενάριο για να δημιουργήσετε ένα ευρετήριο που ήταν buggy και αποθηκεύτηκε στο αρχείο.
2) Σκοτώθηκε χειροκίνητα ένα δείκτη σακάκι από τον πίνακα _AccumrgTN19455
3) Ξεκίνησε ένα αίτημα προβολής
Κωδικός SQL S_elect Count (*), Fields_index
Από το concerrgtn19455.
Ομάδα με Fields_index.
Έχοντας μετρήσει (*)\u003e 1
Αφού ο δείκτης σκοτώθηκε, εξαφανίστηκα 15 διπλότυπα αρχεία, αν και πριν από την εκτέλεση της παραγράφου 2, δεν επέστρεψα τίποτα.
4) Προβολή όλων των αρχείων και με το χέρι καθαρισμό διπλότυπα. Στην πραγματικότητα, χρησιμοποίησα επίσης την επεξεργασία της "δομής αναφοράς" για να καταλάβω τι ασχολούμαι. Αποδείχθηκε ότι ο πίνακας _ACCUMRGTN19455 αποθηκεύει τον καταχωρητή συσσώρευσης "Παραγωγή (φορολογική λογιστική)". Έχουμε ακόμα τις αιτήσεις SQL, αποκάλυψα 15 αμείλικτα έγγραφα και μετά το τέλος όλων των πράξεων που έλεγξα στο 1Γ ότι τα έγγραφα αυτά διεξάγονται κανονικά, χωρίς σφάλματα. Απλά καθαρίστε το τραπέζι της Namaum, φυσικά, δεν αξίζει τον κόπο: Είναι σημαντικό να καταλάβετε ότι καθαρίζεται και τι μπορεί να μετατραπεί σε.
5) Ξεκίνησε ένα αίτημα για τη δημιουργία ενός δείκτη που αποθηκεύτηκε στο αρχείο.
6) Μετάφραση της βάσης δεδομένων σε λειτουργία ενός χρήστη και ξεκίνησε το DBCC CheckDB - αυτή τη φορά δεν έχει εκδοθεί ένα σφάλμα.
7) Μεταφέρετε τη βάση δεδομένων πίσω στη λειτουργία ενός χρήστη.
Όλα ... το πρόβλημα νίκησε. Λοιπόν, στο 1C ξεκίνησε "δοκιμή και διόρθωση", όλα ήταν καλά εκεί, ήταν φυσιολογικό, σταμάτησε να ορκίζεται σε ένα μη μοναδικό δείκτη.

3. Εάν η μη υποσύνηση βρίσκεται σε ημερομηνίες με μηδενικές τιμέςΤο πρόβλημα επιλύεται δημιουργώντας μια βάση δεδομένων με μια παράμετρο μετατόπισης έως το 2000.

1. Εάν το πρόβλημα της φόρτωσης της βάσης δεδομένων, τότε:
1.1. Εάν κάνετε τη λήψη (χρησιμοποιήστε το αρχείο DT) στη βάση δεδομένων MS SQL Server, στη συνέχεια, όταν δημιουργείτε μια βάση πριν τη λήψη, καθορίστε την αντιστάθμιση των ημερομηνιών - 2000.
Εάν η βάση έχει ήδη δημιουργηθεί με μετατόπιση 0, στη συνέχεια δημιουργήστε ένα νέο από το 2000.

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

1.3. Εάν δεν υπάρχει έκδοση αρχείου, δοκιμάστε να κατεβάσετε από την DT σε μια έκδοση πελάτη-διακομιστή με το DB2 (το οποίο είναι λιγότερο απαιτητικό για μοναδικότητα) και, στη συνέχεια, εκτελέστε δοκιμές και στερέωση, καθώς και διαμόρφωση - έλεγχος διαμόρφωσης - Έλεγχος της αναζήτησης λογικής διαμόρφωσης + αναζήτηση για εσφαλμένους συνδέσμους.

1.4. Για να εντοπίσετε το πρόβλημα, μπορείτε να ορίσετε τα δεδομένα αντικειμένου, τη φόρτωση της οποίας απέτυχε. Για να το κάνετε αυτό, πρέπει να ενεργοποιήσετε το ίχνος στο βοηθητικό πρόγραμμα Profiler κατά τη λήψη ή να ενεργοποιήσετε την εγγραφή στο αρχείο καταγραφής DBMSSQL και EXCP.

2. Εάν το πρόβλημα της δυσάρεσης εκδηλώνεται ενώ οι χρήστες:

2.1. Βρείτε με τη μέθοδο της παραγράφου 1.4 αίτημα προβλημάτων.

2.1.2. Μερικές φορές το σφάλμα παρουσιάζεται κατά την εκτέλεση αιτημάτων, για παράδειγμα:

Αυτό το σφάλμα παρουσιάζεται λόγω του γεγονότος ότι στο μητρώο μητρώου μητρώου "Ώρες εργασίας των εργαζομένων οργανισμών" στη διαδικασία "RealePeakers" στο αίτημα δεν κοστίζουν την επίσημη λέξη "διαφορετική".
Κωδικός 1C V 8.x Ι.Ε. Θα έπρεπε να είναι:
Αίτημα \u003d Νέο αίτημα (
"Επιλέξτε διαφορετικά
| Σημαντικός ερευνός,
. . . . .
Στις τελευταίες απελευθερωμένες κυκλοφορίες του ZUP και του UPP, το σφάλμα δεν συμβαίνει επειδή Υπάρχουν "διαφορετικά".

2.2. Αφού βρούμε ένα δείκτη προβλημάτων από το προηγούμενο στοιχείο, είναι απαραίτητο να βρείτε μια μη μοναδική καταχώρηση.
2.2.1. "Ψάρια" για τον προσδιορισμό μη μοναδικών καταχωρήσεων χρησιμοποιώντας SQL:
Κωδικός SQL S_elect Count (*) Counter,<перечисление всех полей соответствующего индекса> από.<имя таблицы>
Ομάδα από.<перечисление всех полей соответствующего индекса>
Έχοντας μετρητή\u003e 1

2.2.2 Παράδειγμα. Ο δείκτης στο σφάλμα ονομάζεται "_document140_vt1385_intkeyindng".
Κατάλογος των πεδίων πίνακα:
_Document140_IDRRef, _KeyField, _LineNo1386, _Fld1387, _Fld1388, _Fld1389, _Fld1390, _Fld1391RRef, _Fld1392RRef, _Fld1393_TYPE, _Fld1393_RTRef, _Fld1393_RRRef, _Fld1394, _Fld1395, _Fld1396RRef, _Fld1397, _Fld1398, _Fld1399RRef, _Fld22260_TYPE, _Fld22260_RTRef, _Fld22260_RRRef, _Fld22261_TYPE, _Fld22261_RTRef, _Fld22261_RRRef
Πριν εκτελέσετε την ακόλουθη διαδικασία, δημιουργήστε ένα αντίγραφο ασφαλείας της βάσης δεδομένων.
Εκτελέστε στο MS SQL Server αναλυτής ερώτησης:
SQL S_elect Count (*), _document140_idrref, _keyfield
από το _document140_vt1385.
Ομάδα από το _document140_idrref, _keyfield
Έχοντας μετρήσει (*)\u003e 1
Με αυτό, μάθετε τις τιμές της στήλης _Document140_IDRREF, _Keyfield, διπλές καταχωρήσεις (id, πλήκτρο).

Χρησιμοποιώντας το ερώτημα:
SQL S_elect * Κωδικός *
από το _document140_vt1385.
ή _document140_idrref \u003d id2 και _keyfield \u003d key2 ή ...
Κοιτάξτε τις τιμές άλλων αντιγράφων στηλών δίσκων.
Εάν και τα δύο εγγραφές έχουν ουσιαστικές τιμές και αυτές οι τιμές είναι διαφορετικές, στη συνέχεια διορθώστε την τιμή _keyfield σε ένα μοναδικό. Για να το κάνετε αυτό, καθορίστε τη μέγιστη πολυάσχολη τιμή _keyfield (Keymax):
Sql s_elect max (_keyfield) κώδικα
από το _document140_vt1385.
Όπου _document140_idrref \u003d ID1
Αντικαταστήστε την τιμή _keyfield σε μία από τις επαναλαμβανόμενες εγγραφές στη σωστή:
Κωδικός SQL Ενημέρωση _Document140_VT1385
Ορίστε το _keyfield \u003d keymax + 1
Εδώ _Lineno1386 \u003d - Μια πρόσθετη κατάσταση που σας επιτρέπει να επιλέξετε μία από τις δύο επαναλαμβανόμενες εγγραφές.

Εάν ένα (ή και τα δύο) από τα επαναλαμβανόμενα αρχεία έχει προφανή εσφαλμένη τιμή, τότε πρέπει να καταργηθεί:
SQL Διαγραφή από _Document140_VT1385 Κωδικός
Όπου _document140_idrref \u003d ID1 και _LINENO1386 \u003d LINENO1
Εάν επαναλαμβανόμενα αρχεία έχουν τις ίδιες τιμές σε όλες τις στήλες, τότε πρέπει να αφήσετε ένα:
Κωδικός SQL S_elect Distinct *
Σε # tmp1
από το _document140_vt1385.
Όπου _document140_idrref \u003d id1 και _keyfield \u003d key1

Διαγράψτε από το _document140_vt1385
Όπου _document140_idrref \u003d id1 και _keyfield \u003d key1

I_nsert στο _document140_vt1385
S_elect # TMP1

D_ROP TABLE # TMP1

Η περιγραφόμενη διαδικασία πρέπει να εκτελείται για κάθε ζεύγος επαναλαμβανόμενων αρχείων.

2.2.3. Δεύτερο παράδειγμα:
Κωδικός SQL S_elect Count (*) ως Expr2, _IDRREF ως EXPR1, _Descriction
Από το _reference8_
Ομάδα από το _idrref, _description
Έχοντας (Count (*)\u003e 1)

2.3.4 Ένα παράδειγμα καθορισμού μη μοναδικών καταχωρήσεων χρησιμοποιώντας το αίτημα 1C: Επιχειρήσεις:
Κωδικός 1C V 8.x Επιλογή συνδέσμου εγχειριδίου
Από το εγχειρίδιο. Εγχειρίδιο ως κατάλογος
Ομάδα στο βιβλίο αναφοράς
Έχοντας ποσότητα (*)\u003e 1

Αυτό το άρθρο θα περιγράψει τι να κάνει αν, κατά την εργασία με 1C: επιχείρηση 8.1, συναντήσατε ένα μήνυμα που περιέχει γραμμές:

Δεν είναι δυνατή η εισαγωγή διπλής γραμμής πλήκτρου στο αντικείμενο

Προσπάθεια να εισαγάγετε μια μοναδική τιμή σε ένα μοναδικό δείκτη.

Ποιος είναι ο δείκτης;

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

Αν και ο δείκτης συνδέεται με μια συγκεκριμένη στήλη (ή στήλες) του πίνακα, εξακολουθεί να είναι ένα ανεξάρτητο αντικείμενο βάσης δεδομένων.

Δείκτες πίνακα στη βάση δεδομένων 1C: Η εταιρεία δημιουργείται σιωπηρά κατά τη δημιουργία αντικειμένων διαμόρφωσης, καθώς και αυτά ή άλλα αντικείμενα διαμόρφωσης.

Η φυσική ουσία των ευρετηρίων στο MS SQL Server 2005.

Φυσικά αποθηκευμένα δεδομένα σε σελίδες 8kb. Αμέσως μετά τη δημιουργία, έως ότου ο πίνακας έχει δείκτες, ο πίνακας μοιάζει με ένα σωρό (σωρό) δεδομένων. Τα αρχεία δεν έχουν κάποια εντολή αποθήκευσης.
Όταν θέλετε να έχετε πρόσβαση στα δεδομένα, ο SQL Server θα παράγει Πίνακας σάρωσης (Σάρωση πίνακα). Ο SQL Server σαρώνει ολόκληρο το τραπέζι για να βρει τις επιθυμητές αρχεία.
Από εδώ, οι βασικές λειτουργίες των δεικτών γίνονται κατανοητές:
- Αύξηση ταχύτητας πρόσβασης δεδομένων
- Υποστήριξη της μοναδικότητας των δεδομένων.

Παρά τα πλεονεκτήματα, οι δείκτες έχουν επίσης ορισμένες ελλείψεις. Το πρώτο είναι ευρετήριο ασχολούμαι Πρόσθετο μέρος Στο δίσκο και Β. μνήμη τυχαίας προσπέλασης. Κάθε φορά που δημιουργείτε ένα ευρετήριο, διατηρείτε τα κλειδιά σε φθίνουσα σειρά ή αύξουσα, η οποία μπορεί να έχει μια δομή πολλαπλών επιπέδων. Και το περισσότερο / μακρύτερο το κλειδί Περισσότερο μέγεθος δείκτης. Το δεύτερο μειονέκτημα - Αργές λειτουργίες Εισαγωγή, ενημερώσεις και διαγραφή αρχείων.
Στο MS SQL Server 2005, εφαρμόζονται αρκετοί τύποι δεικτών:

  • Δείκτες μη συγκρατήσεων.
  • (ή συσσωρευμένους) δείκτες.
  • Μοναδικοί δείκτες.
  • Δείκτες με στήλες που περιλαμβάνονται
  • Ευρετηριακή απόψεις
  • πλήρες κείμενο

Μοναδικός δείκτης

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

1C: Επιχειρήσεις 8.1 ξεκινώντας από την έκδοση 8.1 ενεργά χρησιμοποιεί μοναδικούς δείκτες συμπλέγματος. Αυτό σημαίνει ότι κατά τη μετατροπή από 8,0 ή η μετάβαση από 8.1.7, μπορείτε να πάρετε ένα σφάλμα του μη αναγνωρισμένου δείκτη.

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

Τι να κάνω?

1. Εάν το πρόβλημα της φόρτωσης της βάσης δεδομένων, τότε:

1.1. Εάν κάνετε τη λήψη (χρησιμοποιήστε το αρχείο DT) στη βάση δεδομένων MS SQL Server, στη συνέχεια, όταν δημιουργείτε μια βάση πριν τη λήψη, καθορίστε την αντιστάθμιση των ημερομηνιών - 2000.

Εάν η βάση έχει ήδη δημιουργηθεί με μετατόπιση 0, στη συνέχεια δημιουργήστε ένα νέο από το 2000.

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

1.3. Εάν δεν υπάρχει έκδοση αρχείου, δοκιμάστε να κατεβάσετε από την DT σε μια έκδοση πελάτη-διακομιστή με το DB2 (το οποίο είναι λιγότερο απαιτητικό για μοναδικότητα) και, στη συνέχεια, εκτελέστε δοκιμές και στερέωση, καθώς και διαμόρφωση - έλεγχος διαμόρφωσης - Έλεγχος της αναζήτησης λογικής διαμόρφωσης + αναζήτηση για εσφαλμένους συνδέσμους.

1.4. Για να εντοπίσετε το πρόβλημα, μπορείτε να ορίσετε τα δεδομένα αντικειμένου, τη φόρτωση της οποίας απέτυχε. Για να το κάνετε αυτό, πρέπει να ενεργοποιήσετε το ίχνος στο βοηθητικό πρόγραμμα Profiler κατά τη λήψη ή να ενεργοποιήσετε την εγγραφή του αρχείου καταγραφής DBMSQL και EXCP.

1.5. Εάν ο κόμβος είναι διαθέσιμος (σχέδια ανταλλαγής), τότε εκτελείτε ανταλλαγή. Μπορείτε επίσης να ολοκληρώσετε την ανταλλαγή για την εκτέλεση της ρήτρας 2.3.5.

2. Εάν το πρόβλημα της δυσάρεσης εκδηλώνεται ενώ οι χρήστες:

2.1. Βρείτε με τη μέθοδο της παραγράφου 1.4 αίτημα προβλημάτων.

2.1.2. Μερικές φορές το σφάλμα παρουσιάζεται κατά την εκτέλεση αιτημάτων, για παράδειγμα:

Το σφάλμα αυτό προκύπτει λόγω του γεγονότος ότι στο μητρώο της συσσώρευσης «ωρών εργασίας των εργαζομένων οργανισμών» στη διαδικασία εγγραφής χαρτιού, η επίσημη λέξη "διαφορετική" δεν αξίζει τον κόπο.

Εκείνοι. Πρέπει να είναι:

Αίτημα \u003d Νέο αίτημα (
"Επιλέξτε διαφορετικά
| Σημαντικός ερευνός,

Στις τελευταίες απελευθερωμένες κυκλοφορίες του ZUP και του UPP, το σφάλμα δεν συμβαίνει επειδή Υπάρχουν "διαφορετικά".

2.2. Αφού βρούμε ένα δείκτη προβλημάτων από το προηγούμενο στοιχείο, είναι απαραίτητο να βρείτε μια μη μοναδική καταχώρηση.

2.2.1. "Ψάρια" για τον προσδιορισμό μη μοναδικών καταχωρήσεων χρησιμοποιώντας SQL:
Επιλέξτε Count (*) Counter,<перечисление всех полей соответствующего индекса> από.<имя таблицы>
Ομάδα από.<перечисление всех полей соответствующего индекса>
Έχοντας μετρητή\u003e 1

2.2.2 Παράδειγμα. Ο δείκτης στο σφάλμα ονομάζεται "_document140_vt1385_intkeyindng".

Κατάλογος των πεδίων πίνακα:

Document140_idrref, _keyfield, _lineno1386, _fld1387, _fld1388, _fld1389, _fld1389, _fld1399, _fld1399, _fld1392rref, _fld1393rref, _fld1393_type, _fld1393_rtref, _fld1393_rrref, _fld1394,

Fld1395, _fld1396, _fld1398, _fld13998, _fld1399rref, _fld22260_type, _fld22260_rrref, _fld22261_rrrref, _fld22261_type, _fld22261_rtref, _fld22261_rrrref

Πριν εκτελέσετε την ακόλουθη διαδικασία, δημιουργήστε ένα αντίγραφο ασφαλείας της βάσης δεδομένων.
Εκτελέστε στο MS SQL Server αναλυτής ερώτησης:

Επιλέξτε Count (*), _document140_idrref, _keyfield
από το _document140_vt1385.
Ομάδα από το _document140_idrref, _keyfield
Έχοντας μετρήσει (*)\u003e 1

Με αυτό, μάθετε τις τιμές της στήλης _Document140_IDRREF, _Keyfield, διπλές καταχωρήσεις (id, πλήκτρο).

Χρησιμοποιώντας το ερώτημα:

Επιλέξτε *
από το _document140_vt1385.
ή _document140_idrref \u003d id2 και _keyfield \u003d key2 ή ...

Κοιτάξτε τις τιμές άλλων αντιγράφων στηλών δίσκων.

Εάν και τα δύο εγγραφές έχουν ουσιαστικές τιμές και αυτές οι τιμές είναι διαφορετικές, στη συνέχεια διορθώστε την τιμή _keyfield σε ένα μοναδικό. Για να το κάνετε αυτό, καθορίστε τη μέγιστη πολυάσχολη τιμή _keyfield (Keymax):

Επιλέξτε max (_keyfield)
από το _document140_vt1385.
Όπου _document140_idrref \u003d ID1

Αντικαταστήστε την τιμή _keyfield σε μία από τις επαναλαμβανόμενες εγγραφές στη σωστή:

Ενημέρωση _Document140_VT1385
Ορίστε το _keyfield \u003d keymax + 1

Εδώ _Lineno1386 \u003d - Μια πρόσθετη κατάσταση που σας επιτρέπει να επιλέξετε μία από τις δύο επαναλαμβανόμενες εγγραφές.

Εάν ένα (ή και τα δύο) από τα επαναλαμβανόμενα αρχεία έχει προφανή εσφαλμένη τιμή, τότε πρέπει να καταργηθεί:


Όπου _document140_idrref \u003d ID1 και _LINENO1386 \u003d LINENO1

Εάν επαναλαμβανόμενα αρχεία έχουν τις ίδιες τιμές σε όλες τις στήλες, τότε πρέπει να αφήσετε ένα:

Επιλέξτε διακριτό *
Σε # tmp1
από το _document140_vt1385.
Όπου _document140_idrref \u003d id1 και _keyfield \u003d key1

Διαγράψτε από το _document140_vt1385
Όπου _document140_idrref \u003d id1 και _keyfield \u003d key1

Εισάγετε στο _document140_vt1385.
Επιλέξτε # TMP1

Πίνακας πτώσης # TMP1

Η περιγραφόμενη διαδικασία πρέπει να εκτελείται για κάθε ζεύγος επαναλαμβανόμενων αρχείων.

2.2.3. Δεύτερο παράδειγμα:

Επιλέξτε Count (*) ως EXPR2, _IDRREF ως EXPR1, _Descriction
Από το _reference8_
Ομάδα από το _idrref, _description
Έχοντας (Count (*)\u003e 1)

2.3.4 Ένα παράδειγμα καθορισμού μη μοναδικών καταχωρήσεων χρησιμοποιώντας το αίτημα 1C: Επιχειρήσεις:

Ή για λογιστική

ΕΠΙΛΕΓΩ
Subquery.period,
Socquity .Registry,
<измерения>,
Ποσό (επικεφαλής. Εθνικότητα του ρεκόρ) ως ποσότητα
ΤΟΥ
(ΕΠΙΛΕΓΩ
Hosiest.teriod ως περίοδος,
Hosiest.registry ως γραμματέας,
<измерения>,
1 ως ποσότητα
ΤΟΥ
ΕγγραφήBuchelling. Πηγή ως εμπόριο) ως υποκείμενο

Ομαδοποιημένο από
Subquery.period,
Socquity .Registry,
<измерения>

Έχοντας
Ποσό (υπαίθριος.

2.3.5 Κάντε το δείκτη DBMS δεν είναι μοναδικό. Swisp ο δείκτης χρησιμοποιώντας το Studio Management.

2.3.6 Ιδιωτική περίπτωση Κατά την ανταλλαγή RBD. Ένα σφάλμα πέφτει σε πίνακες "βοηθητικών" που σχετίζονται με τον υπολογισμό των αποτελεσμάτων ή των αναλύσεων. Για παράδειγμα:

Σφάλμα κατά την κλήση μιας μεθόδου περιβάλλοντος (εγγραφή): Μια προσπάθεια να εισαγάγετε μια μοναδική τιμή σε ένα μοναδικό δείκτη:
Microsoft OLE DB Provider για SQL Server: Δεν είναι δυνατή η εισαγωγή διπλής γραμμής πλήκτρων στο Object 'DBO._Accntreged10319' με μοναδικό δείκτη '_ACCNT10319_BYPERIPER_TRNRN'.
HRESULT \u003d 80040E2F, SQLSRVR: κατάσταση σφάλματος \u003d 1, σοβαρότητα \u003d E, Native \u003d 2601, Line \u003d 1

Σε αυτή την περίπτωση, πριν τη λήψη, απενεργοποιήστε τη χρήση του αποτελέσματος, κατεβάστε το μήνυμα, ενεργοποιήστε τη χρήση των αποτελεσμάτων και επανυπολογίστε.

Συναντήσατε ένα μήνυμα που περιέχει γραμμές:
Microsoft Ole DB Provider για SQL Server: Δημιουργία μοναδικού δείκτη που τερματίζεται επειδή βρέθηκε ένα διπλότυπο πλήκτρο για το αναγνωριστικό δείκτη
ή
Δεν μπορεί να υποστηρίξει το διπλό κλειδί σε αντικείμενο
ή
Προσπάθεια να εισαγάγετε μια μοναδική τιμή σε ένα μοναδικό δείκτη.

Επιλογές λύσης:

1. Στο SQL Server Studio Studio, η φυσικά καταστρέφει τον αποτυχημένο δείκτη (στην περίπτωσή μου ήταν ένας δείκτης στον πίνακα του αποτελέσματος του λογιστικού μητρώου). Στο 1C, θα προβάλουμε έγγραφα αποτυχίας. Κατά τη λειτουργία δοκιμής και διόρθωσης, βάζουμε το dunk reindexing των πινάκων + επανυπολογισμός των αποτελεσμάτων. Το 1C αναδημιουργεί τον δείκτη χωρίς σφάλμα. Έχουμε προηγουμένως εκπληκτικά έγγραφα.

2. 1) Χρήση του Studio Management 2005 Δημιουργήθηκε το δημιουργικό σενάριο για να δημιουργήσετε ένα ευρετήριο που ήταν buggy και αποθηκεύτηκε στο αρχείο.
2) Σκοτώθηκε χειροκίνητα ένα δείκτη σακάκι από τον πίνακα _AccumrgTN19455
3) Ξεκίνησε ένα αίτημα προβολής
Κωδικός SQL S_elect Count (*), Fields_index
Fr om securegrgtn19455.
Ομάδα με Fields_index.
Έχοντας μετρήσει (*)\u003e 1
Αφού ο δείκτης σκοτώθηκε, εξαφανίστηκα 15 διπλότυπα αρχεία, αν και πριν από την εκτέλεση της παραγράφου 2, δεν επέστρεψα τίποτα.
4) Προβολή όλων των αρχείων και με το χέρι καθαρισμό διπλότυπα. Στην πραγματικότητα, χρησιμοποίησα επίσης την επεξεργασία της "δομής αναφοράς" για να καταλάβω τι ασχολούμαι. Αποδείχθηκε ότι ο πίνακας _ACCUMRGTN19455 αποθηκεύει τον καταχωρητή συσσώρευσης "Παραγωγή (φορολογική λογιστική)". Έχουμε ακόμα τις αιτήσεις SQL, αποκάλυψα 15 αμείλικτα έγγραφα και μετά το τέλος όλων των πράξεων που έλεγξα στο 1Γ ότι τα έγγραφα αυτά διεξάγονται κανονικά, χωρίς σφάλματα. Απλά καθαρίστε το τραπέζι της Namaum, φυσικά, δεν αξίζει τον κόπο: Είναι σημαντικό να καταλάβετε ότι καθαρίζεται και τι μπορεί να μετατραπεί σε.
5) Ξεκίνησε ένα αίτημα για τη δημιουργία ενός δείκτη που αποθηκεύτηκε στο αρχείο.
6) Μετάφραση της βάσης δεδομένων σε λειτουργία ενός χρήστη και ξεκίνησε το DBCC CheckDB - αυτή τη φορά δεν έχει εκδοθεί ένα σφάλμα.
7) Μεταφέρετε τη βάση δεδομένων πίσω στη λειτουργία ενός χρήστη.
Όλα ... το πρόβλημα νίκησε. Λοιπόν, στο 1C ξεκίνησε "δοκιμή και διόρθωση", όλα ήταν καλά εκεί, ήταν φυσιολογικό, σταμάτησε να ορκίζεται σε ένα μη μοναδικό δείκτη.

3. Εάν η μη υποσύνηση βρίσκεται σε ημερομηνίες με μηδενικές τιμέςΤο πρόβλημα επιλύεται δημιουργώντας μια βάση δεδομένων με μια παράμετρο μετατόπισης έως το 2000.

1. Εάν το πρόβλημα της φόρτωσης της βάσης δεδομένων, τότε:
1.1. Εάν κάνετε τη λήψη (χρησιμοποιήστε το αρχείο DT) στη βάση δεδομένων MS SQL Server, στη συνέχεια, όταν δημιουργείτε μια βάση πριν τη λήψη, καθορίστε την αντιστάθμιση των ημερομηνιών - 2000.
Εάν η βάση έχει ήδη δημιουργηθεί με μετατόπιση 0, στη συνέχεια δημιουργήστε ένα νέο από το 2000.

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

1.3. Εάν δεν υπάρχει έκδοση αρχείου, δοκιμάστε να κατεβάσετε από την DT σε μια έκδοση πελάτη-διακομιστή με το DB2 (το οποίο είναι λιγότερο απαιτητικό για μοναδικότητα) και, στη συνέχεια, εκτελέστε δοκιμές και στερέωση, καθώς και διαμόρφωση - έλεγχος διαμόρφωσης - Έλεγχος της αναζήτησης λογικής διαμόρφωσης + αναζήτηση για εσφαλμένους συνδέσμους.

1.4. Για να εντοπίσετε το πρόβλημα, μπορείτε να ορίσετε τα δεδομένα αντικειμένου, τη φόρτωση της οποίας απέτυχε. Για να το κάνετε αυτό, πρέπει να ενεργοποιήσετε το ίχνος στο βοηθητικό πρόγραμμα Profiler κατά τη λήψη ή να ενεργοποιήσετε την εγγραφή στο αρχείο καταγραφής DBMSSQL και EXCP.

2. Εάν το πρόβλημα της δυσάρεσης εκδηλώνεται ενώ οι χρήστες:

2.1. Βρείτε με τη μέθοδο της παραγράφου 1.4 αίτημα προβλημάτων.

2.1.2. Μερικές φορές το σφάλμα παρουσιάζεται κατά την εκτέλεση αιτημάτων, για παράδειγμα:

Αυτό το σφάλμα παρουσιάζεται λόγω του γεγονότος ότι στο μητρώο μητρώου μητρώου "Ώρες εργασίας των εργαζομένων οργανισμών" στη διαδικασία "RealePeakers" στο αίτημα δεν κοστίζουν την επίσημη λέξη "διαφορετική".
Κωδικός 1C V 8.x Ι.Ε. Θα έπρεπε να είναι:
Αίτημα \u003d Νέο αίτημα (
"Επιλέξτε διαφορετικά
| Σημαντικός ερευνός,
. . . . .
Στις τελευταίες απελευθερωμένες κυκλοφορίες του ZUP και του UPP, το σφάλμα δεν συμβαίνει επειδή Υπάρχουν "διαφορετικά".

2.2. Αφού βρούμε ένα δείκτη προβλημάτων από το προηγούμενο στοιχείο, είναι απαραίτητο να βρείτε μια μη μοναδική καταχώρηση.
2.2.1. "Ψάρια" για τον προσδιορισμό μη μοναδικών καταχωρήσεων χρησιμοποιώντας SQL:
Κωδικός SQL S_elect Count (*) Counter,<перечисление всех полей соответствующего индекса> ΑΠΟ.<имя таблицы>
Ομάδα από.<перечисление всех полей соответствующего индекса>
Έχοντας μετρητή\u003e 1

2.2.2 Παράδειγμα. Ο δείκτης στο σφάλμα ονομάζεται "_document140_vt1385_intkeyindng".
Κατάλογος των πεδίων πίνακα:
_Document140_IDRRef, _KeyField, _LineNo1386, _Fld1387, _Fld1388, _Fld1389, _Fld1390, _Fld1391RRef, _Fld1392RRef, _Fld1393_TYPE, _Fld1393_RTRef, _Fld1393_RRRef, _Fld1394, _Fld1395, _Fld1396RRef, _Fld1397, _Fld1398, _Fld1399RRef, _Fld22260_TYPE, _Fld22260_RTRef, _Fld22260_RRRef, _Fld22261_TYPE, _Fld22261_RTRef, _Fld22261_RRRef
Πριν εκτελέσετε την ακόλουθη διαδικασία, δημιουργήστε ένα αντίγραφο ασφαλείας της βάσης δεδομένων.
Εκτελέστε στο MS SQL Server αναλυτής ερώτησης:
SQL S_elect Count (*), _document140_idrref, _keyfield
Fr om _document140_vt1385
Ομάδα από το _document140_idrref, _keyfield
Έχοντας μετρήσει (*)\u003e 1
Με αυτό, μάθετε τις τιμές της στήλης _Document140_IDRREF, _Keyfield, διπλές καταχωρήσεις (id, πλήκτρο).

Χρησιμοποιώντας το ερώτημα:
SQL S_elect * Κωδικός *
Fr om _document140_vt1385
Όπου _document140_idrref \u003d id1 και _keyfield \u003d key1 ή _document140_idrref \u003d id2 και _keyfield \u003d key2 ή ...
Κοιτάξτε τις τιμές άλλων αντιγράφων στηλών δίσκων.
Εάν και τα δύο εγγραφές έχουν ουσιαστικές τιμές και αυτές οι τιμές είναι διαφορετικές, στη συνέχεια διορθώστε την τιμή _keyfield σε ένα μοναδικό. Για να το κάνετε αυτό, καθορίστε τη μέγιστη πολυάσχολη τιμή _keyfield (Keymax):
Sql s_elect max (_keyfield) κώδικα
Fr om _document140_vt1385
Wh _document140_idrref \u003d ID1
Αντικαταστήστε την τιμή _keyfield σε μία από τις επαναλαμβανόμενες εγγραφές στη σωστή:
SQL UPD ATE _DOCAMENT140_VT1385 Κωδικός
Ορίστε το _keyfield \u003d keymax + 1

Εδώ _Lineno1386 \u003d - Μια πρόσθετη κατάσταση που σας επιτρέπει να επιλέξετε μία από τις δύο επαναλαμβανόμενες εγγραφές.

Εάν ένα (ή και τα δύο) από τα επαναλαμβανόμενα αρχεία έχει προφανή εσφαλμένη τιμή, τότε πρέπει να καταργηθεί:
SQL Διαγραφή από _Document140_VT1385 Κωδικός
WHITY _DOCAMENT140_IDRREF \u003d ID1 και _LINENO1386 \u003d Lineno1
Εάν επαναλαμβανόμενα αρχεία έχουν τις ίδιες τιμές σε όλες τις στήλες, τότε πρέπει να αφήσετε ένα:
Κωδικός SQL S_elect Distinct *
Σε # tmp1
από το _document140_vt1385.

Διαγράψτε από το _document140_vt1385
Wh ate _document140_idrref \u003d id1 και _keyfield \u003d key1

I_nsert στο _document140_vt1385
S_elect # TMP1

D_ROP TABLE # TMP1

Η περιγραφόμενη διαδικασία πρέπει να εκτελείται για κάθε ζεύγος επαναλαμβανόμενων αρχείων.

2.2.3. Δεύτερο παράδειγμα:
Κωδικός SQL S_elect Count (*) ως Expr2, _IDRREF ως EXPR1, _Descriction
Από το _reference8_
Ομάδα από το _idrref, _description
Έχοντας (Count (*)\u003e 1)

2.3.4 Ένα παράδειγμα καθορισμού μη μοναδικών καταχωρήσεων χρησιμοποιώντας το αίτημα 1C: Επιχειρήσεις:
Κωδικός 1C V 8.x Επιλογή συνδέσμου εγχειριδίου
Από το εγχειρίδιο. Εγχειρίδιο ως κατάλογος
Ομάδα στο βιβλίο αναφοράς
Έχοντας ποσότητα (*)\u003e 1

Πληροφορίες που λαμβάνονται από τον ιστότοπο