Αλλάξτε ή απενεργοποιήστε τη λειτουργία συμβατότητας. Επεκτάσεις διαμόρφωσης - πώς να προσθέσετε λειτουργικότητα σε μια τυπική διαμόρφωση χωρίς κατάργηση υποστήριξης (βίντεο 20 λεπτών) Τι επεκτάσεις χρειάζονται

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

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

Σε τι χρησιμεύουν οι επεκτάσεις;

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

Η κατάργηση από την πλήρη υποστήριξη συνεπάγεται μια σειρά από προβλήματα:

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

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

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

Βίντεο - επεκτάσεις σε 1C σε 45 λεπτά

Λάβετε 267 μαθήματα βίντεο στο 1C δωρεάν:

Ένα παράδειγμα προσθήκης επέκτασης στο 1C

Για να δείξετε τι είναι μια επέκταση, είναι καλύτερο να δώσουμε ένα παράδειγμα της δημιουργίας της στον διαμορφωτή 1C.

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

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

Πρόσφατα έγραψα ένα άρθρο για το πώς να το φτιάξετε μόνοι σας. Χρησιμοποιώντας το παράδειγμά της, θέλω να το κάνω ενσωματωμένο χρησιμοποιώντας μια επέκταση.

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

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

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

Λοιπόν, η τελευταία πινελιά. Θέλω η επεξεργασία μου να αντικατοπτρίζεται στο μενού Διαχείριση. Για να το κάνουμε αυτό, θα δανειστούμε το ομώνυμο υποσύστημα από την κύρια διαμόρφωση. Μην ξεχάσετε να αναφέρετε στην επεξεργασία ότι ανήκει σε αυτό το υποσύστημα.

Αυτή είναι η δομή που κατέληξα:

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

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

Πρώτα απ 'όλα, πρέπει να γνωρίζετε τους περιορισμούς που έχουν οι επεκτάσεις.

Περιορισμός σε δημιουργημένα αντικείμενα

Επί αυτή τη στιγμήμπορείτε να δημιουργήσετε:

  • καταλόγους
  • Τεκμηρίωση
  • Μητρώα πληροφοριών
  • Σχέδια ανταλλαγής

Μπορείτε να προσθέσετε λεπτομέρειες σε:

  • καταλόγους
  • Τεκμηρίωση

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

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

Λειτουργία συμβατότητας 8.3.8- μπορείτε να αλλάξετε μόνο τις μορφές των αντικειμένων και τις ενότητες τους, να προσθέσετε τις δικές σας αναφορές και επεξεργασία.

Λειτουργία συμβατότητας 8.3.10- μπορείτε να αλλάξετε γενικές ενότητες, ενότητες αντικειμένων και διαχειριστή, ρόλους, να χρησιμοποιήσετε τις οδηγίες "Πριν", "Μετά", "Αντίθετα" για οποιεσδήποτε ενότητες.

Λειτουργία συμβατότητας "Να μην χρησιμοποιείται"- μπορείτε να χρησιμοποιήσετε όλες τις λειτουργίες των επεκτάσεων, συμπεριλαμβανομένης της προσθήκης νέων αντικειμένων.

Προς το παρόν, το τυπικό UT 11.3 έχει λειτουργία συμβατότητας 8.3.8. Στο UT 11.4, η λειτουργία συμβατότητας είναι 8.3.10, δηλαδή, για παράδειγμα, για το UT, οι περισσότερες από τις λειτουργίες επέκτασης δεν είναι διαθέσιμες, συμπεριλαμβανομένης της δημιουργίας αντικειμένων μεταδεδομένων.

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

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


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


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

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

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

Θέμα "τακτοποιημένο" τροποποιήσεις στα πρότυπαοι διαμορφώσεις είναι πάντα ενημερωμένες.

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

Ως παράδειγμα εμείς ας επεκτείνουμε την τυπική λειτουργικότητα"1C: Λογιστική 8" - θα προσθέσουμε ελέγχους για την πληρότητα των στοιχείων του εγγράφου. Ως αποτέλεσμα, το σύστημα θα εκδώσει διαγνωστικά εάν τα στοιχεία συμπληρωθούν με "λανθασμένες" τιμές.

Κυριολεκτικά σε 15 λεπτάΘα μάθετε τεχνικές που μπορείτε να χρησιμοποιήσετε για να λύσετε διάφορα προβλήματα.

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

Όνειρα για δικός άφθαρτοςμπορεί να γίνει πραγματικότητα :)

Ας ξεκινήσουμε λοιπόν:

Βίντεο 1. Τεχνικές εργασίας με επεκτάσεις - χρησιμοποιώντας το παράδειγμα του "1C: Accounting 8"

Αφού μελετήσετε το βίντεο, θα μάθετε:

  • Δημιουργήστε και συνδεθείτεεπεκτάσεις στη διαμόρφωση
  • Εκπληρώ αποσφαλμάτωσηεπεκτάσεις
  • Βελτιώστε τις τυπικές φόρμεςεπεξεργασία/έγγραφα με χρήση επεκτάσεων
  • Υποκλοπή συμβάντωντυπικές φόρμες διαμόρφωσης
  • Αποθήκευση δεδομένωνόχι σε πίνακες ασφάλειας πληροφοριών (αποθήκευση ρυθμίσεων)
  • Χρησιμοποιήστε θεραπείες ως αποθετήριο αλγορίθμων

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

Βίντεο 2. Δημιουργία καθολικών μηχανισμών με χρήση επεκτάσεων

Σε αυτό το βίντεο θα δείξουμε:

  • Σύνδεση επέκτασης σε λειτουργία χρήστη ( χωρίς διαμορφωτή)
  • Παράδειγμα καθολική επαλήθευση πλήρωση
  • Χαρακτηριστικά της υλοποίησης επεκτάσεων - δημιουργία φορμών με αυθαίρετες επιλογές και αποθήκευση δεδομένων σε επεκτάσεις

Συνάδελφοι γεια σε όλους.

Τις προάλλες κυκλοφόρησε ένα δοκιμαστικό Enterprise Accounting με απενεργοποιημένη τη λειτουργία συμβατότητας για την πλατφόρμα 8.3.6.
Αυτό σημαίνει ότι αυτή η έκδοση χρησιμοποιεί μια νέα μηχανή που αποδίδει φόρμες με νέο τρόπο.
Μπορείτε να διαβάσετε για αυτό στο Through the Looking Glass.

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

Σημείωμα:


1. Μεταφέρετε την επέκταση σε νέα πλατφόρμα

Για να το κάνετε αυτό, αλλάξτε τη λειτουργία συμβατότητας επέκτασης στη λειτουργία συμβατότητας διαμόρφωσης.
Η έκδοση Enterprise Accounting έχει τις ακόλουθες ιδιότητες:

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


2. Διορθώστε προβλήματα σύνδεσης

Για να γίνει αυτό, εκκινούμε τη διαμόρφωση σε λειτουργία επιχείρησης και βλέπουμε αν απογειώνεται ή όχι.
Τα σφάλματα λόγω των οποίων δεν ήταν δυνατή η σύνδεση της επέκτασης μπορούν να προβληθούν στο αρχείο καταγραφής
(Διαχείριση - Υποστήριξη και Συντήρηση - Ημερολόγιο)
Μας ενδιαφέρουν οι εκδηλώσεις - «Συνεδρία. Σφάλμα κατά την εφαρμογή της επέκτασης διαμόρφωσης":

Τις περισσότερες φορές, το πρόβλημα σύνδεσης επιλύεται αφαιρώντας περιττές λεπτομέρειες ή αντικείμενα.

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



3. Ενημερώστε τις φόρμες στην επέκταση

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

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


4. Προσαρμόζουμε τη φόρμα στους κανόνες του νέου κινητήρα.

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

Κατέληξα στην εξής διαδικασία:

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