1C Διαγράψτε ένα προκαθορισμένο στοιχείο. Κανονικά και προκαθορισμένα στοιχεία. Διαφορά στην πλευρά της βάσης δεδομένων. Εσφαλμένη ένδειξη του προκαθορισμένου στοιχείου

Καλή μέρα.

Σήμερα θα μιλήσουμε για την καινοτομία στην πλατφόρμα 8.3 σχετικά με τα προκαθορισμένα στοιχεία.

Εισαγωγή

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

Όταν όλοι εντοπίστηκαν και εργάστηκαν, αποδείχθηκε ότι το έργο τέθηκε αντίθετα και λογική για την ανάγκη IP για LLC και τη λογική της LLC για IP. "Δεν υπάρχουν προβλήματα", λέμε και στη λειτουργία επιχειρήσεων, μετονομάζουμε τα στοιχεία. Μετά από όλα, είναι πολύ πιο δύσκολο να αναρριχηθεί στον κώδικα. Χρειάζεται ένα χρόνο και παραδίδεστε Νέα εργασία: Για IP Sidorov, διαμορφώστε κάποια άλλη λογική. Μπορείτε να ανεβείτε στον διαμορφωτή, γράψτε τη λογική, ξεκινήστε τον έλεγχο και δεν λειτουργούν, επειδή Στον διαμορφωτή των Ipsidors, και στην επιχείρηση - ένας τομέας. Ο εγκέφαλος είναι σπασμένος και αυτή η τσουγκράνα θέλει να καταστρέψει. Το απλούστερο και οπτικό είναι να εμφανιστεί το όνομα του προκαθορισμένου στοιχείου στη φόρμα λίστας. Εδώ είναι ένα ενέδριο, είναι δυνατόν να ληφθεί το όνομα του προκαθορισμένου σε 8,2 μόνο με τη μέθοδο. Και η μέθοδος είναι η ταλαιπωρία σας, δεν μπορεί να ληφθεί στο ερώτημα. Εκείνοι. Η πρώτη ταλαιπωρία είναι να πάρετε το όνομα του προκαθορισμένου συνδέσμου με το βιβλίο αναφοράς.

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

Τώρα στην υπόθεση

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

Τι μας δίνει αυτό το πεδίο; Εάν είναι εγκατεστημένο στο "Δεν ενημερώνεται αυτόματα", προσθέτετε ένα προκαθορισμένο στοιχείο, δεν θα το δείτε αμέσως στον κατάλογο. Εκείνοι. Τα μεταδεδομένα δεν σχετίζονται με κανένα τρόπο τα δεδομένα. Και αν δεν το δημιουργήσει στον κατάλογο, τότε η έκκληση σε αυτό με το όνομά του μέσω του διαχειριστή καταλόγου θα προκαλέσει ένα συντακτικό σφάλμα.

Πολύ ενδιαφέρον, γιατί; Πώς δημιουργούμε ένα στοιχείο στον κατάλογο; Και όπως επιθυμείτε, μπορείτε να δημιουργήσετε ή μπορείτε να το συσχετίσετε με ήδη υπάρχον. Τώρα ο κατάλογος έχει τα στηρίγματα "όνομα της διανομής". Δημιουργούμε ένα στοιχείο του Βιβλίου αναφοράς προγραμματικά ως συνήθως μέσω "Βιβλίων αναφοράς. Εργολάβοι. Δημιουργία στοιχείου ()" και γεμίστε το από τα στηρίγματα "Όνομα του ονοματεπαστηρίου" ίση ονομασία του προκαθορισμένου στοιχείου. Ή, εάν το στοιχείο είναι ήδη εκεί, το έχουμε το αντικείμενο και σε αυτό συμπληρώνεται και πάλι το "όνομα της διανομής". Τα παντα.

Και την τελευταία στιγμή ένα μικρό σιρόπι

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

Ευχαριστώ για την προσοχή.

Όταν εργάζεστε στην πλατφόρμα 1C: Enterprise 8.x Συχνά η ανάγκη να συσχετιστεί με τον κωδικό προγράμματος σε κανονικά (μη προκαθορισμένα) στοιχεία των βιβλίων αναφοράς. Για παράδειγμα, ο οργανισμός μπορεί να έχει πέντε τύπους τιμών που χρησιμοποιούνται σε όλους τους μηχανισμούς. Ταυτόχρονα, το πρόγραμμα έκκληση σε μια συγκεκριμένη τιμή στην καλύτερη περίπτωση διεξάγεται είτε με Pisk στον κώδικα στον κατάλογο, στο χειρότερο όνομα στοιχείου.

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

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

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

Ως έξοδος, μπορείτε να αποθηκεύσετε τη σύνδεση σε κάθε συχνά χρησιμοποιούμενο στοιχείο της κατηγορίας "τύπων ονοματολογίας" σε ξεχωριστές σταθερές και να λαμβάνετε τιμές από αυτά στο ερώτημα. Ωστόσο, στην περίπτωση αυτή, ο προγραμματιστής θα πρέπει να προσθέσει μια ξεχωριστή σταθερά για κάθε παρόμοιο στοιχείο. Η κατάσταση θα περιπλέξει σημαντικά εάν τα στοιχεία αυτά δεν είναι μόνο στους τύπους τύπων ποσοστών ονοματολογίας, αλλά και σε άλλα βιβλία αναφοράς ("κατηγορίες αντικειμένων", "ποιότητα", "ονοματολογία" και άλλοι). Στη συνέχεια, ο αριθμός των σταθερών στο σύστημα μπορεί να αυξηθεί αρκετές φορές!

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

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

Καθολική λύση

Η ουσία της καθολικής λύσης θα είναι η εξής: Ο κατάλογος θα δημιουργηθεί στην οποία ο προγραμματιστής θα προσθέσει προκαθορισμένα στοιχεία. Στο εγχειρίδιο, η απαίτηση "αξίας", ο τύπος του οποίου εξαρτάται από τις τιμές για τις οποίες θα δημιουργηθεί η συμμόρφωση "ένα προκαθορισμένο στοιχείο του βιβλίου αναφοράς -\u003e Bound Value". Η δομή των μεταδεδομένων του βιβλίου αναφοράς φαίνεται ως εξής (δείτε το ακόλουθο στιγμιότυπο οθόνης).

Για να αποκτήσετε ένα προκαθορισμένο στοιχείο, η καλύτερη επιλογή είναι η χρήση της παγκόσμιας μεθόδου. "Προ-σύνταγμα (<Имя>)" . Ως παράμετρος στη μέθοδο, μεταδίδεται η πλήρης διαδρομή προς το προκαθορισμένο στοιχείο. Η σύνταξη είναι παρόμοια με τη λειτουργία της γλώσσας ερωτήματος "Αξία ()".

Για ευκολία στην ανάπτυξη, συνιστούμε να πραγματοποιήσετε μια λειτουργία για να αποκτήσετε μια τιμή που σχετίζεται με ένα προκαθορισμένο στοιχείο στο Κοινή μονάδα. Στη διαμόρφωση δοκιμής που διατίθεται για λήψη βάσει αναφοράς στο τέλος του αντικειμένου, δημιουργήθηκε μια κοινή μονάδα "τιμές των στοιχείων τιμής" με τη λειτουργία εξαγωγής. "Αντιπροσωπεία του σχεδιασμένου στοιχείου (<ИмяПредопределенногоЭлемента>)" . Ο κωδικός προγράμματος διαθέτει μια αναφορά σε ένα προκαθορισμένο στοιχείο, τότε το ερώτημα λαμβάνει τις τιμές των στηρίξεων "Αξίας". Το ακόλουθο στιγμιότυπο οθόνης δείχνει την πλήρη λειτουργία καταχώρισης.

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

Αντίκτυπος στην παραγωγικότητα

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

Τα αποτελέσματα έδειξαν ότι για την έκδοση του αρχείου της λειτουργίας, η χρήση προκαθορισμένων στοιχείων για την απόκτηση συχνά χρησιμοποιούμενων αντικειμένων άλλων βιβλίων αναφοράς είναι πιο αργή από σχεδόν 4 φορές!

Σε μια έκδοση πελάτη-διακομιστή, τα αποτελέσματα των δοκιμών δείχνουν μια εντελώς διαφορετική εικόνα. Η ταχύτητα παραλαβής της αναφοράς στο επιθυμητό στοιχείο δεν έχει μειωθεί σημαντικά (μία από τις δοκιμές έδειξε 0.002 δευτερόλεπτα για αναζήτηση με όνομα και 0.0008 δευτερόλεπτα. Όταν εργάζεστε μέσω ενός προκαθορισμένου στοιχείου), ωστόσο, η αξιοπιστία του προγράμματος έχει αυξηθεί με το χρόνο!

συμπεράσματα

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

Κατά τη διάρκεια της εργασίας με την πλατφόρμα, έχει επανειλημμένα συναντήσει με καταστάσεις όταν μετά την αλλαγή του ονόματος, για παράδειγμα, το στοιχείο του βιβλίου αναφοράς "Tipsennerene", η πλειοψηφία των αναφορών μη τύπου πέταξε έξω.

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

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

Αρχεία για λήψη:

  1. Εκφόρτωση μιας βάσης δοκιμής με παραδείγματα από το άρθρο.

Όλοι γνωρίζουν τη διαφορά μεταξύ των προκαθορισμένων στοιχείων από τα συνηθισμένα: "Τα προκαθορισμένα στοιχεία δημιουργούνται στη λειτουργία" Configurator "και δεν μπορούν να αφαιρεθούν σε λειτουργία 1C: Επιχειρήσεις." Στη λειτουργία χρήστη, είναι δυνατόν να διακρίνετε το προκαθορισμένο στοιχείο από τους προστιθέμενους χρήστες με ένα ειδικό εικονίδιο (δείτε το ακόλουθο στιγμιότυπο οθόνης).

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

Αυτό το στοιχείο χρησιμοποιείται σε πολλές μονάδες διαμόρφωσης. Έτσι, στο έγγραφο "παραλαβή αγαθών και υπηρεσιών" κατά την εκτέλεση σε όλα τα μητρώα, όπου υπάρχει μια "ποιότητα" μέτρηση, η τιμή του προκαθορισμένου στοιχείου είναι υποκατεστημένη. Το παρακάτω είναι μια λίστα της συμπλήρωσης του πίνακα της διεξαγωγής ενός μητρώου "προϊόντων":

// Προϊόντα για τα προϊόντα μητρώων. Έθνος \u003d κίνηση. Προϊόντα; Εάν ο έλεγχος πρόσβασης τύπου \u003d απαρίθμηση. Προωθήσεις. Πωλήστε τότε // Λάβετε τον πίνακα τιμών που συμπίπτουν με τη δομή του λογιστικού μητρώου. Εγκαταστάσεις \u003d υποψηφιότητες. Εκφόρτωση (); // Γεμίστε τον πίνακα κίνησης. Παραγωγή. Downloadingavtablitsy (κουταλιές της σούπας, πίνακες); // Λείπει πεδία. Ευκολία. Συμπληρώνοντας (οργάνωση, "οργάνωση"). Ευκολία. Συμπλήρωση (undefined, "αντιπρόσωπος της Επιτροπής") · Ευκολία. Αποτυχία (αναφορές. Ποιότητα. Νέα, "Ποιότητα"). // συμπληρώστε την ποιότητα από το προκαθορισμένο στοιχείο

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

Διαφορές

Η διαμόρφωση δοκιμής δημιουργεί ένα βιβλίο αναφοράς "εμπορεύματα". Δημιουργεί μια ομάδα "δοκιμαστικά στοιχεία". Τα περιεχόμενα της ομάδας που θα μπορούσατε να δείτε στο στιγμιότυπο οθόνης στην αρχή του άρθρου. Για το βιβλίο αναφοράς "εμπορεύματα" στη βάση δεδομένων SQL υπάρχει ένα αντίστοιχο τραπέζι "_reference37" με την ακόλουθη δομή:

Αλλά πώς να προσδιορίσετε τη συμμόρφωση των λεπτομερειών του δέντρου και των πεδίων διαμόρφωσης στον πίνακα SQL;

Χρησιμοποιούμε Τυπική μέθοδος Το παγκόσμιο πλαίσιο "Παγκόσμια δομική βάση ()", η οποία θα επιστρέψει σε εμάς τον πίνακα των αξιών με την περιγραφή των τακτικών.

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

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

Στην είσοδο για ένα προκαθορισμένο στοιχείο, η τιμή του πεδίου "Ismetadata" ρυθμίζεται στο "0x01", το οποίο αντιστοιχεί στη σημαία της αλήθειας. Για συμβατικά αντικείμενα, η τιμή έχει οριστεί σε "0x00". Αυτή είναι η κύρια διαφορά μεταξύ των προκαθορισμένων στοιχείων από το συνηθισμένο. Όλα τα άλλα πεδία αποθηκεύονται στη βάση δεδομένων, παρόμοια με τα πεδία των συμβατικών στοιχείων που προστέθηκαν από τους χρήστες.

Τα προκαθορισμένα στοιχεία μπορούν να βρεθούν πολύ ενδιαφέρουσα σκοπός. Με τη βοήθειά τους, μπορείτε να απαγορεύσετε τη διαγραφή / ανατρέξτε στην επιλογή να διαγράψετε μια ομάδα αντικειμένων στον κατάλογο και άλλα αντικείμενα όπου μπορείτε να τα προσθέσετε. Εάν προσπαθήσουμε να διαγράψουμε ή να επισημανθούν για τη διαγραφή ομαδικών "στοιχείων δοκιμής". Θα λάβω τέτοια σφάλματα:

Έτσι, τα προκαθορισμένα στοιχεία καθιστούν την ομάδα στην οποία τοποθετούνται, επίσης "προκαθορισμένες".

Ολοκλήρωση

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

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

Ξυλεία 4 Μαθήματα μαθήματος:

00:19 Αλλαγές στον κατάλογο των εργαζομένων μετά την εκτέλεση εργασία για το σπίτι 3 μάθημα μαθήματος
00:35 Επεξεργασία της διαδικασίας για τις ακόλουθες λεπτομέρειες στα βιβλία αναφοράς
02:54 Δημιουργία ονοματολογίας καταλόγου
03:40 Δημιουργία και διαμόρφωση ενός ιεραρχικού βιβλίου αναφοράς
05:10 Δημιουργία υπηρεσιών υπηρεσιών και αγαθών στην ονοματολογία των εγχειριδίων
06:05 Συμπλήρωση στην ονοματολογία καταλόγου
07:14 3 τρόποι μεταφοράς αναφοράς σε άλλη ομάδα
08:21 Δημιουργία βιβλίου αναφοράς
09:19 Δημιουργία προκαθορισμένων στοιχείων του βιβλίου αναφοράς
11:25 Συμπλήρωση ενός βιβλίου αναφοράς
12:20 Πάρτε μια δοκιμή για το υλικό 4 μάθημα

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

Επιπλέον, οι κατάλογοι υποστηρίζουν επίσης τον άλλο τύπο ιεραρχίας, στην οποία τα στοιχεία του βιβλίου αναφοράς δεν θα αφορούν ομάδες, αλλά σε άλλα στοιχεία του ίδιου βιβλίου αναφοράς. Ένα τέτοιο είδος ιεραρχίας ( Στοιχεία ιεραρχίας) Μπορεί να χρησιμοποιηθεί, για παράδειγμα, κατά τη δημιουργία ενός καταλόγου της μονάδας, όπου μία μονάδα (η διαίρεση σε αυτή την περίπτωση είναι ένα στοιχείο του βιβλίου αναφοράς και όχι η ομάδα) μπορεί να περιλαμβάνει πολλές άλλες μονάδες. Αυτό το είδος ιεραρχίας είναι αρκετά σπάνιο.

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

Το σύστημα δημιουργεί (δημιουργεί) σχηματίζει αυτόματα, αλλά, εάν είναι απαραίτητο, ο προγραμματιστής μπορεί να "σχεδιάσει" από μόνη της.

Συνολικά, υπάρχουν 5 μορφές (τύποι μορφών) για βιβλία αναφοράς:

  • Στοιχείο μορφής - Για να δημιουργήσετε ή να επεξεργαστείτε το στοιχείο καταλόγου.
  • Σχήμα ομάδας - να δημιουργήσετε ή να επεξεργαστείτε μια ομάδα καταλόγου.
  • Μορφή λίστας - για να εμφανίσετε τη λίστα των στοιχείων αναφοράς.
  • Μορφή επιλογής - Χρησιμοποιείται για την επιλογή ενός από τα στοιχεία σε ένα συγκεκριμένο πεδίο φόρμας Αυτό το βιβλίο αναφοράς. Για παράδειγμα, για να επιλέξετε μια συγκεκριμένη αποθήκη από το βιβλίο αναφοράς στην αποθήκη στο πεδίο της αποθήκης.
  • Μορφή της επιλογής ομάδας - Χρησιμοποιείται για να επιλέξει μία από τις ομάδες αυτής της αναφοράς σε ένα συγκεκριμένο πεδίο φόρμας.

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

Υπάρχει μια θεμελιώδης διαφορά μεταξύ των συνήθων και προκαθορισμένων στοιχείων του βιβλίου αναφοράς. Τα συμβατικά στοιχεία είναι ασυμβίβαστα στη διαμόρφωση. Στη διαδικασία εργασίας του χρήστη, μπορούν να δημιουργηθούν, να επεξεργαστούν και να αφαιρεθούν και γι 'αυτό δεν πρέπει να προσκομιστούν κατά την εκτέλεση οποιωνδήποτε αλγορίθμων (κωδικός και όνομα στοιχείου του στοιχείου μπορεί να αλλάξει από τον χρήστη).Προκαθορισμένα στοιχεία, αντίθετα, σταθερά. Κατά τη διάρκεια της εργασίας, ακόμη και αν ο χρήστης μειωθεί ένα τέτοιο στοιχείο, θα είναι δυνατό να επικοινωνήσετε με την ενσωματωμένη γλώσσα 1C. Αυτό επιτυγχάνεται λόγω του γεγονότος ότι το προκαθορισμένο στοιχείο έχει στηρίγματα Ονομαπου δεν είναι διαθέσιμο στον χρήστη. Δεν υπάρχουν τέτοιες στηρίγματα από τα συνήθη στοιχεία του βιβλίου αναφοράς.

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

Εργασία στο μάθημα 4 μαθήματος

Αρχική Εργασίες για το τέταρτο μάθημα μαθήματος θα είναι διαθέσιμες αμέσως μετά την επιτυχή λύση της θεωρητικής δοκιμής.

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

Πρώτα πρέπει να συνειδητοποιήσετε σαφώς για τον εαυτό σας ότι υπάρχουν προκαθορισμένα στοιχεία στη διαμόρφωση και υπάρχουν προκαθορισμένα στοιχεία στη βάση πληροφόρησης (IB). Τεχνικά προκαθορισμένα στοιχεία IB Αυτά είναι τα πιο συνηθισμένα στοιχεία των βιβλίων αναφοράς, στα οποία ορίζει το "όνομα του ονόματος διανομής", το προκαθορισμένο στοιχείο διαμόρφωσης αντιστοιχεί. Δεν διαφέρουν πλέον από τα συνηθισμένα στοιχεία. Συνεπώς, οποιοδήποτε συμβατικό στοιχείο IB μπορεί να γίνει προκαθορισμένο, οποιοδήποτε προκαθορισμένο. Για να το κάνετε αυτό, αρκεί να εισέλθετε στην επιθυμητή τιμή στα στηρίγματα "ΌνομαPremedeshestiny".

Περιοδικά, αυτή η ιδιοκτησία αποδεικνύεται ότι η αξία που έχει παράσχει ο προγραμματιστής. Ως αποτέλεσμα, τα σφάλματα συμβαίνουν στο 1C. Από την κρίσιμη, στην οποία η εργασία είναι κατ 'αρχήν αδύνατη, σε μη κρίσιμη, στην οποία η λογική της λειτουργίας των αλγορίθμων διαταράσσεται.

Υπό όρους μπορείτε να επισημάνετε Τρεις τύποι σφαλμάτων:
1. "Το προκαθορισμένο στοιχείο απουσιάζει στα δεδομένα".

3. Μη έγκυρη ένδειξη του προκαθορισμένου στοιχείου.

1. "Το προκαθορισμένο στοιχείο λείπει στα δεδομένα" - ΣχετικάΑγγίξτε το προκαθορισμένο στοιχείο που περιγράφεται στη διαμόρφωση στα δεδομένα IB.

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

Όταν αναφέρεται στο στοιχείο που λείπει στο κώδικα "Βιβλία αναφοράς". Vidacontact τις πληροφορίες. MailContact Αυτό έχει εκδώσει ένα μήνυμα.

Κατά την επαφή με το στοιχείο στο ερώτημα "Σημασία (Εγχειρίδιο .VidkonetActionAlinformation.EmailContact)" Ένα μήνυμα εκδίδεται:

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

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

Επίσης δεν χρησιμοποιήθηκε Αυτόματη δημιουργία προκαθορισμένα στοιχεία κατά την εργασία σε λειτουργία RIB. Δεδομένου ότι τα νέα στοιχεία πρέπει να μεταδίδονται από την κεντρική βάση και να μην δημιουργηθούν σε κόμβους με διαφορετικά πλάτη.

Εκείνοι. Μερικές φορές ένα σφάλμα είναι να προσελκύσει ένα αναπόφευκτο στοιχείο και όχι την ίδια την παρουσία ενός τέτοιου στοιχείου.

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

Εάν η λογική παρέχεται για να γεμίσει τα προκαθορισμένα στοιχεία που δεν είναι αυτόματα, αλλά μια ξεχωριστή λειτουργία, στη συνέχεια, πριν χρησιμοποιήσετε το όνομα κλήσης " Βιβλία αναφοράς. Πληροφορίες Lifactoncontact. MailContActNometrics"Για να αποφευχθεί μια εξαιρετική κατάσταση, συνιστάται να επαληθεύσετε ότι το στοιχείο είναι ήδη στη βάση δεδομένων. Εάν το στοιχείο λείπει, θα πω στον χρήστη για αυτό και θα εξηγήσω σε ποια λειτουργία πρέπει να εκτελεστεί για να γεμίσει το στοιχείο. Για τέτοιες Μια επιταγή, μπορείτε να κάνετε ένα αίτημα στα δεδομένα.

Αίτηση \u003d νέο αίτημα. Αίτημα. Text \u003d "Επιλέξτε | SpeciesContacts. Σύνδεσμος | από | Εγχειρίδιο .Vidkonecontincent Πληροφορίες ως Speedkontacultiformition | όπου | SpeedContacts. EmailContact Togolitsa"" "ElementAtonsvutvytnyy \u003d ερώτημα. Γεμίστε () κενό ();

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

2. "Το προκαθορισμένο στοιχείο δεν είναι μοναδικό" -Προηγμένα προκαθορισμένα στοιχεία:

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

Η πλατφόρμα θα αναφέρει ένα σφάλμα "Το προκαθορισμένο στοιχείο δεν είναι μοναδικό μόνο όταν προσπαθείτε να επεξεργαστείτε ένα μετατρέψιμο στοιχείο.

Μέχρι να χρειάζεται κάποιος να επεξεργαστεί ένα στοιχείο, κανείς δεν γνωρίζει το σφάλμα.

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

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

Τέτοια σφάλματα στη βάση δεδομένων μπορούν να αποκαλυφθούν από την άποψη της φόρμας:

Επιλέξτε πληροφορίες SpeciesTenectin. Imaiped λεπτομέρειες, αριθμός (διάφορες ειδικές πληροφορίες. Σύνδεσμος) Ως κατάλογος που κατανεμημένων βοηθητικών στο βουνό .Vidkonongont Πληροφορίες Πώς να Sonekontin Πληροφορίες Ξεβιδωμένες

Αυτό το αίτημα θα επιστρέψει μια λίστα προκαθορισμένων στοιχείων με τα οποία συνδέονται περισσότερα από ένα στοιχεία της IB.

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

3. Εσφαλμένη ένδειξη του προκαθορισμένου στοιχείου.

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

Για να το κάνετε αυτό, απλά εκτελέστε μία από τις εντολές.

// Ορισμός ενός στοιχείου IB που συνδέεται με το επιθυμητό προκαθορισμένο για να ενημερώσει (βιβλία αναφοράς. Lidkontact information.EmalightContact) // Προσδιορίστε το προκαθορισμένο στοιχείο στο οποίο συνδέεται η επιλεγμένη αναφορά (αντανακλαστικό στοιχείο.

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

Καλά, για λίγο για τα λάθη όταν Λογισμικό ή σε λειτουργία διαμόρφωσης:

"Το προκαθορισμένο στοιχείο δεν ανήκει<Имя справочника>" - Το σφάλμα παρουσιάζεται όταν προσπαθείτε να εγγράψετε ένα προκαθορισμένο στοιχείο με ένα όνομα που δεν ταιριάζει με το όνομα στο konofurator.

"Δεν υπάρχουν προκαθορισμένα αντικείμενα δεν μπορούν να έχουν προκαθορισμένα αρχεία ειδών subconto" - Σφάλμα προκύπτει όταν προσπαθείτε να κάνετε ένα στοιχείο ένα προκαθορισμένο σχέδιο λογαριασμού για απροσδόκητο. Για την εξάλειψη των σφαλμάτων, είναι απαραίτητο για κάθε γραμμή του υποτομετικού στοιχείου να απομακρύνει το σημάδι "προκαθορισμένο".

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

"Τα προκαθορισμένα στοιχεία δεν είναι μοναδικά" - Το σφάλμα εκδίδεται στον διαμορφωτή κατά την ενημέρωση της βάσης πληροφοριών στην απελευθέρωση διαμόρφωσης χωρίς λειτουργία συμβατότητας από 8.3.4. Είναι απαραίτητο πριν από την ενημέρωση ελέγξτε τα duplicas και να τα εξαλείψετε.

"Το όνομα του προκαθορισμένου στοιχείου δεν είναι μοναδικό" - Το σφάλμα παρουσιάζεται εάν υπάρχουν πολλά από τα ίδια προκαθορισμένα στοιχεία στη διαμόρφωση κατά την ενημέρωση στην πλατφόρμα8.3.6.2332 και υψηλότερη. Είναι απαραίτητο να εξαλείψουμε το αντίγραφο της διαμόρφωσης.

Για να εργαστείτε με προκαθορισμένα δεδομένα, συνιστώμενες. Ξέρει πώς να εκτελέσει οποιεσδήποτε ενέργειες με προκαθορισμένα δεδομένα και μπορεί επίσης να ελέγξει τη διαμόρφωση με ένα μέλος για διαθεσιμότητα σε όλα τα αντικείμενα IB (κατάλογο, σχέδια λογαριασμού, PVC, PVR) Σφάλματα των δύο πρώτων τύπων (κρυμμένα και λείπουν στοιχεία).