Διανεμήθηκαν 1. Κατανεμημένη βάση πληροφοριών: Βασικά. Βασικές αρχές λειτουργίας του RIB

Η δημιουργία και η διαμόρφωση μιας κατανεμημένης βάσης δεδομένων (RDB) στο 1C 8.3 Accounting (και άλλες διαμορφώσεις) είναι απαραίτητη σε περιπτώσεις όπου δεν είναι δυνατό για πολλούς χρήστες να εργαστούν ενώ συνδέονται ταυτόχρονα σε μία βάση δεδομένων. Σήμερα αυτό είναι αρκετά σπάνιο, καθώς η τυπική απομακρυσμένη επιφάνεια εργασίας λειτουργεί καλά και υπάρχουν άλλα προγράμματα που παρέχουν απομακρυσμένη σύνδεση με τον κεντρικό υπολογιστή όπου βρίσκεται η βάση δεδομένων.

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

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

Σε αυτήν την οδηγία, θα χρησιμοποιήσουμε ένα παράδειγμα για να δημιουργήσουμε μια κεντρική και περιφερειακή βάση δεδομένων και να ελέγξουμε την ανταλλαγή μεταξύ τους. Αυτό το εγχειρίδιο είναι κατάλληλο τόσο για 1C 8.3 Accounting όσο και για 1C Trade Management (UT) και άλλες διαμορφώσεις.

Ρύθμιση της κύριας (κεντρικής) κατανεμημένης βάσης δεδομένων RIB

Ας πάμε στο μενού "Διαχείριση" 1C και, στη συνέχεια, κάντε κλικ στο σύνδεσμο "Ρυθμίσεις συγχρονισμού δεδομένων". Στο παράθυρο που ανοίγει, πρέπει να επιλέξετε το πλαίσιο ελέγχου "Συγχρονισμός δεδομένων". Ο σύνδεσμος «Συγχρονισμός δεδομένων» θα ενεργοποιηθεί. Εδώ θα ορίσουμε ένα πρόθεμα για την κύρια βάση πληροφοριών - για παράδειγμα, "CB":

Κάντε κλικ στο σύνδεσμο «Συγχρονισμός δεδομένων» και θα ανοίξει ένα παράθυρο με το κουμπί «Ρύθμιση συγχρονισμού δεδομένων». Όταν κάνετε κλικ σε αυτό το κουμπί, θα ανοίξει μια αναπτυσσόμενη λίστα όπου πρέπει να επιλέξετε τη λειτουργία "Πλήρης". Εάν απαιτείται συγχρονισμός μόνο για έναν οργανισμό, πρέπει να επιλέξετε «Κατά οργανισμό...».

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

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

  • μέσω ενός τοπικού καταλόγου ή ενός καταλόγου στο τοπικό δίκτυο.
  • μέσω Διαδικτύου μέσω FTP.

Για απλότητα και σαφήνεια του παραδείγματος, θα επιλέξουμε έναν τοπικό κατάλογο. Καθόρισα την ακόλουθη διαδρομή: "D:\1C Βάσεις δεδομένων\Συγχρονισμός". Θα ήταν καλή ιδέα να ελέγξετε τις καταχωρήσεις σε αυτόν τον κατάλογο· υπάρχει ένα ειδικό κουμπί για αυτό:

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

Παρακάμπτουμε τα επόμενα βήματα με τη ρύθμιση του συγχρονισμού μέσω FTP και email. Ας δούμε τις ρυθμίσεις για τα ονόματα των βασικών και περιφερειακών βάσεων δεδομένων. Εδώ θα ορίσουμε το πρόθεμα για την περιφερειακή βάση δεδομένων:

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

Κάντε κλικ στο «Επόμενο», ελέγξτε τις πληροφορίες που έχετε εισαγάγει και κάντε ξανά κλικ στο «Επόμενο» και μετά στο «Τέλος». Στο πεδίο "Πλήρες όνομα της βάσης αρχείου", υποδείξτε το αρχείο 1Cv8.1CD στον κατάλογο που δημιουργήθηκε για συγχρονισμό. Δημιουργούμε την αρχική εικόνα της κατανεμημένης βάσης δεδομένων 1C:

Αφού δημιουργήσετε την αρχική εικόνα του RIB στο 1C, μπορείτε να ορίσετε ένα πρόγραμμα συγχρονισμού ή να συγχρονίσετε χειροκίνητα:

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

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

Ρύθμιση συγχρονισμού στην περιφερειακή βάση δεδομένων

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

Το RIB είναι μια κατανεμημένη βάση πληροφοριών, η οποία είναι μια δομή που μοιάζει με δέντρο, οι κλάδοι της οποίας είναι μεμονωμένες βάσεις δεδομένων 1C Enterprise. Αυτές οι βάσεις δεδομένων ονομάζονται κόμβοι βάσης κατανεμημένων πληροφοριών (στο εξής απλώς κόμβοι). Δημιουργείται ανταλλαγή πληροφοριών μεταξύ αυτών των κόμβων για τον συγχρονισμό όλων των κόμβων (διαμορφώσεις και βάσεις δεδομένων).

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

Βασικές αρχές λειτουργίας του RIB

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

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

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

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

Η λήψη και η δημιουργία μηνυμάτων ανταλλαγής στο RIB ρυθμίζονται με μία εντολή

Σχέδια ανταλλαγής. WriteChanges (WriteMessages, 0)

Το περιεχόμενο διαβάζεται χρησιμοποιώντας την εντολή

συμπέρασμα

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

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


1. Εξετάστε την επιλογή με το πρόγραμμα ανταλλαγής "Πλήρης".

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

Ας επιλέξουμε το πρόγραμμα ανταλλαγής "Πλήρης". Θα ανοίξει το παράθυρο «Πλήρες σχέδιο ανταλλαγής».

Συμπληρώνουμε δύο καταχωρήσεις:

Ας ονομάσουμε την πρώτη καταχώρηση "Κύριος κόμβος", υποδείξτε τον κωδικό "GU",

Ας ονομάσουμε τη δεύτερη καταχώρηση "Δευτερεύων κόμβος", υποδείξτε τον κωδικό "PU".

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


Για να δημιουργήσετε ένα αντίγραφο της βάσης πληροφοριών «Κύριος κόμβος», κάντε κλικ στο «Slave node» και κάντε κλικ στο εικονίδιο «Δημιουργία αρχικής εικόνας». Αυτή θα είναι η βάση πληροφοριών «Υποτελείς Κόμβος».


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


Στο πεδίο «Κατάλογος Infobase», επιλέξτε τη θέση όπου θα εγκατασταθεί το αντίγραφο του «Κύριου Κόμβου» και κάντε κλικ στο «Τέλος».


Μετά τη δημιουργία της βάσης πληροφοριών «Υποτελείς κόμβος», θα εμφανιστεί το ακόλουθο μήνυμα:


Κάντε κλικ στο "Ok".

Προσθέστε τη βάση πληροφοριών "Subordinate Node" στο "1C: Enterprise". Πηγαίνουμε στη δευτερεύουσα βάση δεδομένων στη λειτουργία "1C: Enterprise". Ας ανοίξουμε: Λειτουργίες - Σχέδια Ανταλλαγής. Θα ανοίξει το παράθυρο "Επιλογή αντικειμένου: Πρόγραμμα ανταλλαγής". Ας επιλέξουμε το πρόγραμμα ανταλλαγής "Πλήρης". Θα ανοίξει το παράθυρο «Πλήρες σχέδιο ανταλλαγής». Βλέπουμε ότι το εικονίδιο «Κύριος Κόμβος» είναι πορτοκαλί, που σημαίνει ότι αυτός ο κόμβος είναι ο κύριος κόμβος για τη βάση πληροφοριών στην οποία βρισκόμαστε.


Κάνουμε τις ακόλουθες ρυθμίσεις και στους κόμβους Master και Slave:

1. Προσθέστε ένα πρόθεμα για την κατανεμημένη βάση πληροφοριών.

Αυτό γίνεται για να μην υπάρχουν διενέξεις στους αριθμούς και τους κωδικούς των εγγράφων και των καταλόγων που δημιουργούνται σε δύο βάσεις δεδομένων, επομένως σε κάθε βάση δεδομένων υποδεικνύουμε ένα πρόθεμα που θα προστεθεί στους αριθμούς εγγράφων και στους κωδικούς καταλόγου. Άνοιγμα: Εργαλεία - Ρυθμίσεις προγράμματος - καρτέλα «Ανταλλαγή δεδομένων». Στο πεδίο "Πρόθεμα κόμβου για μια κατανεμημένη βάση πληροφοριών:", πληκτρολογήστε "PU" στη δευτερεύουσα βάση δεδομένων και "GU" στην κύρια βάση δεδομένων.


2. Προσθέστε μια ρύθμιση για ανταλλαγή δεδομένων μεταξύ κόμβων:

Open: Service - Distributed Information Base (DIB) - Διαμόρφωση κόμβων RIB. Θα ανοίξει το παράθυρο «Ρυθμίσεις ανταλλαγής δεδομένων».


Κάντε κλικ στο «Προσθήκη» και θα ανοίξει το παράθυρο «Ρυθμίσεις ανταλλαγής δεδομένων». Εισαγάγετε το "Όνομα" της ρύθμισής σας.


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

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

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

Δεν αλλάζουμε τίποτα στα υπόλοιπα πεδία.

Κάντε κλικ στο "Ok". Βλέπουμε ότι έχει εμφανιστεί μια ρύθμιση.

3. Για την ανταλλαγή δεδομένων κάνουμε τα εξής:

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


Μετά τη μεταφόρτωση, θα εμφανιστεί το παράθυρο αποτελεσμάτων μεταφόρτωσης.


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

2. Εξετάστε την επιλογή με το σχέδιο ανταλλαγής «Ανά οργάνωση».

Η ανταλλαγή θα πραγματοποιηθεί μεταξύ επιλεγμένων οργανισμών που βρίσκονται σε μια κατανεμημένη βάση πληροφοριών.

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


Ας επιλέξουμε το σχέδιο ανταλλαγής «Κατά οργανισμό». Θα ανοίξει το παράθυρο «Σχέδιο ανταλλαγής ανά οργανισμό».

Συμπληρώνουμε δύο καταχωρήσεις:

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

Ας ονομάσουμε τη δεύτερη καταχώριση "Δευτερεύων κόμβος", υποδεικνύουμε τον κωδικό "PU", υποδεικνύουμε τον οργανισμό.


Από όλες τις άλλες απόψεις, η ρύθμιση είναι απολύτως η ίδια με το "Σχέδιο ανταλλαγής: Πλήρες".


Λέξεις-κλειδιά: κατανεμημένο, URDB, XML, εγγραφή, κόμβος, κόμβος, αυτόματη εγγραφή, αρχική, εικόνα, POP3, SMTP, MailMessage, περιφερειακό, κεντρικό, αναπαραγωγή, ανταλλαγή

Αποποίηση ευθύνης και όροι χρήσης

Όλα τα εμπορικά σήματα που αναφέρονται κατά λάθος σε αυτό το άρθρο ανήκουν στους αντίστοιχους κατόχους τους.
Αυτό το άρθρο δημοσιεύεται με άδεια Creative Commons Attribution-Share Alike 3.0 Unported License.
http://creativecommons.org/licenses/by-sa/3.0/

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

Βήμα 1: Δημιουργήστε ένα σχέδιο ανταλλαγής

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

Στην καρτέλα "Άλλα", κάντε κλικ στο κουμπί "Σύνθεση" για να προσδιορίσετε ποια αντικείμενα θα συμπεριληφθούν στην ανταλλαγή. Με
Από προεπιλογή, μπορείτε να ενεργοποιήσετε όλα τα αντικείμενα ("Ενέργειες" - "Ενεργοποίηση όλων"). Ένα σημαντικό σημείο είναι η παράμετρος
«Αυτόματη εγγραφή». Γενικά, θα πρέπει να είναι ενεργοποιημένο για όλα τα αντικείμενα.

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

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

Κατ 'αρχήν, αυτές οι ενέργειες είναι αρκετές για να λειτουργεί το RDB σε "χειροκίνητη" λειτουργία. Για να γίνει αυτό ξεκινάμε
Επιχείρηση, ανοίξτε το σχέδιο ανταλλαγής μέσω του μενού "Λειτουργίες". Όσον αφορά την ανταλλαγή, είναι πάντα παρούσα
προκαθορισμένος κόμβος "με μια τελεία". Αυτή είναι μια περιγραφή του τρέχοντος κόμβου. Πρέπει να ανοίξει και να γεμίσει. Στο δικό μας
Σε αυτήν την περίπτωση, τα πεδία «Κωδικός» και «Όνομα» θα είναι διαθέσιμα. Ας αντιστοιχίσουμε τον κωδικό "AA" στον κόμβο μας και ας τον καλέσουμε
"Κεντρικός". Ας προσθέσουμε έναν κόμβο στο σχέδιο ανταλλαγής. Ας του δώσουμε τον κωδικό "BB" και ας το ονομάσουμε "Peripheral".

Τώρα μπορούμε να δημιουργήσουμε μια εικόνα της περιφερειακής βάσης. Αυτό γίνεται κάνοντας κλικ στο κουμπί "Δημιουργία αρχικού".
εικόνα". Η περιφερειακή βάση πρέπει να επιλεγεί στη λίστα των κόμβων. Η εικόνα της βάσης δεδομένων δημιουργείται με τη μορφή έτοιμης ασφάλειας πληροφοριών
στον κατάλογο ή στον διακομιστή 1C:Enterprise. (σε αντίθεση με το 7.7, όπου η εικόνα ασφάλειας πληροφοριών δημιουργήθηκε ως αρχείο
εκφόρτωση). Στη συνέχεια, η δημιουργημένη βάση δεδομένων μπορεί να μετακινηθεί στην επιθυμητή θέση αντιγράφοντας απλώς το αρχείο 1CV8.1CD
(για την έκδοση του αρχείου), ή μέσω του Configurator μέσω μεταφόρτωσης και λήψης δεδομένων.

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

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

Βήμα 2: Ανεβάστε αλλαγές σε ένα αρχείο XML και στείλτε τις μέσω email

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

Προσθέτουμε δύο λεπτομέρειες στο σχέδιο ανταλλαγής: Διεύθυνση email τύπου "string" και τύπου "Execute Exchange"
"boolean". Στη διεύθυνση E-mail θα αποθηκεύσουμε τη διεύθυνση email του κόμβου, δηλ. τη διεύθυνση στην οποία θα βρισκόμαστε
αποστολή μηνυμάτων ανταλλαγής. Το Props ExecuteExchange είναι απαραίτητο για γρήγορη απενεργοποίηση της αυτόματης λειτουργίας
αποστολή-αποστολή μηνυμάτων.

Ας κάνουμε τη διαδικασία για την εργασία με το email καθολική, π.χ. ας το κάνουμε δυνατό
χρήση τόσο του MAPI (αποστολή-λήψη μέσω προγράμματος-πελάτη email, για παράδειγμα, MS Outlook) όσο και
άμεση πρόσβαση σε διακομιστές SMTP/POP3.

Ας προσθέσουμε αρκετές σταθερές στη διαμόρφωση:

Κάπου σε μια γενική μορφή παρέχουμε επεξεργασία των τιμών αυτών των σταθερών.

Ας προσθέσουμε μια κοινή ενότητα, την ονομάζουμε "rbDistributedBase". Γράφουμε σε αυτό:

Διαδικασία rbSendExchangeMessages() Εξαγωγή UseSMTP = Constants.UseSMTPExchange.Receive(); //Πρώτα δημιουργούμε ένα αντικείμενο Mail, το οποίο, ανάλογα με τις ρυθμίσεις, θα είναι τύπου InternetMail, //αν χρησιμοποιείται άμεση πρόσβαση σε διακομιστές ή Mail εάν χρησιμοποιείται MAPI.Αν Χρησιμοποιήστε SMTP Τότε //Για ένα αντικείμενο του τύπου InternetMail, δημιουργήστε και συμπληρώστε ένα προφίλ αλληλογραφίας. MailProfile = Νέο InternetMailProfile; MailProfile.SMTPServerAddress = Constants.SMTPExchangeServerAddress.Get(); MailProfile.SMTPPort = Constants.SMTPExchangeServerPort.Receive(); MailProfile.SMTPUser = Constants.SMTPExchangeServerUser.Receive(); MailProfile.SMTP Κωδικός πρόσβασης = Constants.SMTPExchangeUserPassword.Receive(); MailProfile.WaitTime = Constants.ServerWaitTime.Get(); Mail = New InternetMail(); Προσπάθεια Mail.Connect(MailProfile); Αναφορά εξαίρεσης(" EXCHANGE: Σφάλμα σύνδεσης στο προφίλ αλληλογραφίας! Η ανταλλαγή απέτυχε!" + ErrorDescription(), MessageStatus.VeryImportant); Return; EndAttempt; Διαφορετικά Mail = New Mail(); Attempt Mail.Connect(); Αναφορά εξαίρεσης("" + ErrorDescription(), MessageStatus.VeryImportant); Return; EndAttempt; Endf ; //Στη συνέχεια, επιλέξτε όλους τους κόμβους από το σχέδιο ανταλλαγής, εκτός από τον τρέχοντα, //τα οποία έχουν το σύνολο χαρακτηριστικών Perform Exchange. SelectionNodes = ExchangePlans.DistributedBase.Select(); Ενώ το SelectNodes.Next() κάνει βρόχο, εάν όχι SelectNodes.PerformExchange, Στη συνέχεια, συνεχίστε. τέλος εαν; Αν SelectionNodes.Link = ExchangePlans.DistributedBase.ThisNode() Τότε Συνέχεια. τέλος εαν; ElectronicAddress = AbbrLP(SelectionNodes.ElectronicAddress); If EmailAddress = "" Τότε Συνέχεια; τέλος εαν; //Χρησιμοποιώντας τα αντικείμενα XMLRecord και MessageRecord, καταγράφουμε τις αλλαγές //για τον επιλεγμένο κόμβο στο αρχείο xml.Κόμβος = SelectionNodes.Link; XMLRecord = NewXMLRecord(); MessageFileName = TemporaryFileDirectory() + "Message_" + AbbreviatedLP(ExchangePlans.DistributedBase.ThisNode().Code) + "_ " + AbbreviatedLP(Node.Code) + ".xml "; EntryXML.OpenFile(MessageFileName); MessageRecord = ExchangePlans.CreateMessageRecord(); MessageRecord.StartRecord(XMLRecord, Node); ExchangePlans.WriteChanges(WriteMessage); WriteMessage.FinishRecord(); WriteXML.Close(); //Στη συνέχεια δημιουργούμε ένα νέο γράμμα, επισυνάπτουμε το αρχείο xml που προκύπτει σε αυτό και //αποστολή στη διεύθυνση που καθορίζεται στη διεύθυνση email του κόμβου.Αρχείο = Νέο αρχείο (MessageFileName); Θέμα μηνύματος = "1C:Exchange" + Abbr.LP(ExchangePlans.DistributedBase.ThisNode().Code) + "_" + Abbr.LP(Node.Code); Αν UseSMTP Τότε MailMessage = Νέο InternetMailMessage; MailMessage.Subject = MessageSubject; MailMessage.Attachments.Add(MessageFileName, File.Name); MailMessage.Recipients.Add(EmailAddress); Mail.Send(MailMessage); Else MailMessage = νέο MailMessage; MailMessage.Subject = MessageSubject; MailMessage.Attachments.Add(MessageFileName); MailMessage.Recipients.Add(EmailAddress); Mail.Send(MailMessage, False); τέλος εαν; If Constants.OutputExchangeMessages.Get() Τότε Report(" EXCHANGE: Ανταλλαγή μηνύματος για τον κόμβοΤο " + Node.Name + " στάλθηκε! ", MessageStatus.Information); EndIf; DeleteFiles(MessageFileName); EndCycle; Mail.Disconnect(); EndProcedure

Συνιστώ να προσθέσετε ένα πρόσθετο πλαίσιο στη διεπαφή, σε ένα από τα κουμπιά του οποίου μπορείτε να πραγματοποιήσετε μια κλήση σε αυτό
διαδικασίες. Τώρα το μόνο που απομένει είναι να εκκινήσετε το Enterprise, να διαμορφώσετε τη διεύθυνση email της περιφερειακής ασφάλειας πληροφοριών,
επιλέξτε το πλαίσιο "Ανταλλαγή", κάντε κλικ στο κουμπί διαδικασίας στον πίνακα και τρέξτε για να λάβετε αλληλογραφία
καθορισμένο email διευθύνσεις. Θα πρέπει να λάβετε μια επιστολή με θέμα "1C:Exchange AA_BB" και ένα συνημμένο αρχείο
"Message_AA_BB.xml".

Έτσι, η μισή δουλειά έχει γίνει: μάθαμε στο G8 να στέλνει μηνύματα ανταλλαγής RDB μέσω email
ταχυδρομείο.

Βήμα 3. Λάβετε ενημερώσεις μέσω email και καταγράψτε τις στην ασφάλεια πληροφοριών

Τώρα ας κάνουμε την αντίστροφη διαδικασία: λήψη ενημερώσεων μέσω email και καταγραφή τους στην ασφάλεια πληροφοριών.

Στις παραμέτρους της περιόδου λειτουργίας, προσθέστε την παράμετρο "Distributed Database Exchange in Progress" τύπου Boolean. Θα το εξηγήσω παρακάτω
ραντεβού.

Ας προσθέσουμε την ακόλουθη διαδικασία στην κοινή λειτουργική μονάδα rbDistributedBase:

Διαδικασία rbGetExchangeMessages() Εξαγωγή UseSMTP = Constants.UseSMTPExchange.Receive(); //ακριβώς όπως στη διαδικασία rbSendExchangeMessages(), δημιουργήστε πρώτα ένα αντικείμενο Mail If Use SMTP then MailProfile = Νέο InternetMailProfile; MailProfile.POP3ServerAddress = Constants.POP3ExchangeServerAddress.Get(); MailProfile.POP3Port = Constants.POP3ExchangeServerPort.Get(); MailProfile.User = Constants.POP3ExchangeServerUser.Get(); MailProfile.Password = Constants.UserPasswordPOP3Exchange.Receive(); MailProfile.WaitTime = Constants.ServerWaitTime.Get(); Mail = New InternetMail(); Προσπάθεια Mail.Connect(MailProfile); Αναφορά εξαίρεσης(" EXCHANGE: Σφάλμα σύνδεσης στο προφίλ αλληλογραφίας! |Η ανταλλαγή απέτυχε!", MessageStatus.VeryImportant); Return; EndAttempt; Διαφορετικά Mail = New Mail(); Attempt Mail.Connect(); Αναφορά εξαίρεσης(" EXCHANGE: Σφάλμα σύνδεσης στο προφίλ email του χρήστη! |Η ανταλλαγή απέτυχε!", MessageStatus.VeryImportant); Return; EndAttempt; EndIf; MessageArray = Νέος πίνακας; If UseSMTP Τότε AllMessages = Mail.Select(False); Else AllMessages = Mail.Select(False, False); EndIf; //Επιλέξτε ανάμεσα σε όλα τα γράμματα εκείνα που έχουν το θέμα "1C:Exchange". //Μικρή αλλά σημαντική σημείωση: //πιστεύουμε ότι προορίζονται όλες οι επιστολές που ελήφθησαν με θέμα "1C:Exchange". //ακριβώς για τον τρέχοντα κόμβο, //εκείνοι. ότι διαφορετικοί κόμβοι όσον αφορά την ανταλλαγή έχουν ΔΙΑΦΟΡΕΤΙΚΕΣ διευθύνσεις email.Για κάθε μήνυμα από όλα τα μηνύματα Κύκλος Αν Λέων (Μήνυμα. Θέμα, 8 )<>"1C:Exchange" Στη συνέχεια, Συνέχεια. τέλος εαν; TryMessageArray.Add(Message); //Αποθηκεύστε το συνημμένο email στο δίσκο. //Θα αφήσουμε προς το παρόν τον προσεκτικό έλεγχο του συνημμένου στα παρασκήνια.Συνημμένο = Μήνυμα. Συνημμένα; MessageFileName = TemporaryFileDirectory() + Attachment.Name; ExchangeData = Attachment.Data; ExchangeData.Write(MessageFileName); //Χρησιμοποιώντας τα αντικείμενα XMLReader και MessageReader διαβάζουμε τα δεδομένα //ενημερώσεις από το αποθηκευμένο αρχείο. Πριν από την εγγραφή ενημερώσεων στην ασφάλεια πληροφοριών //ορίστε την παράμετρο περιόδου λειτουργίας Διανεμημένη ανταλλαγή βάσεων δεδομένων σε εξέλιξη σε True. //Στη συνέχεια διαβάζουμε τις αλλαγές στην ασφάλεια πληροφοριών: Exchange Plans.ReadChanges(ReadMessage). //Ταυτόχρονα, αποθηκεύουμε τα μηνύματα σε έναν πίνακα, ώστε αργότερα να μπορούμε να τα διαγράψουμε όλα ταυτόχρονα. ReadXML = νέο ReadXML(); ReadXML.OpenFile(MessageFileName); MessageReader = ExchangePlans.CreateMessageReader(); ReadMessage.StartReading(ReadingXML); SessionParameters.DistributedBaseExchange σε εξέλιξη = True; ExchangePlans.ReadChanges(ReadMessage); ReadMessage.FinishReading(); ReadXML.Close(); If Constants.OutputExchangeMessages.Get() Τότε Report(" EXCHANGE: Δεκτά δεδομένα ανταλλαγής",MessageStatus.Information); EndIf; Αναφορά εξαίρεσης(" EXCHANGE: Σφάλμα κατά τη λήψη δεδομένων ανταλλαγής:" + ErrorDescription(), MessageStatus.VeryImportant); EndAttempt; //Μετά την ολοκλήρωση της ανάγνωσης των δεδομένων ανταλλαγής, επιστρέψτε //η παράμετρος περιόδου λειτουργίας DistributedBase Exchange είναι σε εξέλιξη ορίζεται σε False. SessionParameters.DistributedBaseExchange σε εξέλιξη = False; Προσπάθεια διαγραφής αρχείων (MessageFileName); Εξαίρεση //αν δεν τα καταφέρει, οκ EndAttempt; EndCycle; Εάν χρησιμοποιείτε SMTP Τότε Mail.DeleteMessages(MessageArray); τέλος εαν; Mail.Disconnect(); Τέλος Διαδικασίας

Τώρα για το τι χρειάζεται η παράμετρος συνεδρίας ανταλλαγής κατανεμημένων βάσεων δεδομένων σε εξέλιξη.
Το γεγονός είναι ότι κατά την ανάγνωση δεδομένων χρησιμοποιώντας τη μέθοδο ExchangePlans.ReadChanges(), πραγματοποιείται κλήση
διαδικασίες χειριστή για το συμβάν BeforeWrite() τροποποιημένων/προστιθέμενων αντικειμένων. Και αν κατά την εγγραφή
Για οποιοδήποτε αντικείμενο στη διαδικασία χειριστή, η παράμετρος Απόρριψη θα οριστεί σε True, τότε
κατά την εκτέλεση της ExchangePlans.ReadChanges() θα προκύψει μια εξαίρεση και, κατά συνέπεια, η ανταλλαγή
δεν θα εκτελεστεί. Η τιμή της παραμέτρου περιόδου λειτουργίας DistributedBase Exchange In Progress μπορεί να είναι
αναλύονται σε διαδικασίες χειριστή προκειμένου να αποφευχθεί μια τέτοια κατάσταση.
Με την κυκλοφορία της έκδοσης 12 (αν και μπορεί να κάνω λάθος για τις εκδόσεις), η συνάφεια αυτής της μεθόδου είναι κάπως
deprecatedA, αφού τα αντικείμενα έχουν πλέον την ιδιότητα Επιλογές ανταλλαγής, από τον οποίο, στο δικό του. Αυτή η ιδιότητα έχει οριστεί σε True when
αποθήκευση δεδομένων μέσω σχεδίου κοινής χρήσης.

Τώρα στη διεπαφή στον πίνακα μας προσθέτουμε ένα άλλο κουμπί στο οποίο κλείνουμε μια κλήση σε αυτό
διαδικασίες. Ας ξεκινήσουμε το Enterprise και ας απολαύσουμε.
Σχεδόν όλα έχουν γίνει, μένει μόνο λίγο: να κάνουμε τις διαδικασίες μας να τρέχουν αυτόματα.
Βήμα 4. Ρύθμιση αυτόματης ανταλλαγής

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

Ας προσθέσουμε ένα σταθερό, DistributedBase Autoexchange Interval, τύπου Number(5,0).

Ας προσθέσουμε την παράμετρο Perform Distributed Database Exchange στις ρυθμίσεις χρήστη. Για διαμόρφωση
Η "διαχείριση εμπορίου" γίνεται ως εξής:

* Στο σχέδιο τύπων χαρακτηριστικών «Ρυθμίσεις χρήστη» θα προσθέσουμε ένα προκαθορισμένο
χαρακτηριστικό Εκτέλεση Ανταλλαγής Κατανεμημένων Βάσεων Δεδομένων τύπου Boolean.
* Με τη μορφή του στοιχείου καταλόγου "Χρήστες" ορίσαμε μια αλλαγή σε αυτήν την παράμετρο (όπως αυτή
μπορεί να γίνει στη μονάδα φόρμας, κατ' αναλογία με άλλες παραμέτρους).

Προσθέστε τη διαδικασία στη λειτουργική μονάδα rbDistributedBase:

Διαδικασία rbPerformExchange(user) Export If npGetDefaultValue(user, "") Στη συνέχεια rbGetExchangeMessages(); rbSendExchangeMessages(); τέλος εαν; Τέλος Διαδικασίας

στην ενότητα εφαρμογής:

Διαδικασία CheckConnectionAutoExchange() Εξαγωγή If npGetDefaultValue(chCurrentUser, " Εκτελέστε την ανταλλαγή κατανεμημένων βάσεων δεδομένων") Και Constants.DistributedBaseAutoExchangeInterval.Get() > 0 Στη συνέχεια ConnectWaitHandler(" Εκτελέστε Autoexchange", Constants.DistributedBaseAutoExchangeInterval.Get()); Διαφορετικά, DisableWaitHandler(" Εκτελέστε Autoexchange"); EndIf; EndProcedure Procedure ExecuteAutoExchange() Εξαγωγή rbExchange(glCurrentUser); DisableWaitHandler(" Εκτελέστε Autoexchange"); Εάν npGetDefaultValue(chCurrentUser, " Εκτελέστε την ανταλλαγή κατανεμημένων βάσεων δεδομένων") Και Constants.DistributedBaseAutoExchangeInterval.Get() > 0 Στη συνέχεια ConnectWaitHandler(" Εκτελέστε Autoexchange", Constants.DistributedBaseAutoExchangeInterval.Get()); EndIf; EndProcedure Procedure DisableAutoExchange() Εξαγωγή DisableWaitHandler(" Εκτελέστε Autoexchange"); Τέλος Διαδικασίας

Προσθέστε τις ακόλουθες γραμμές στη διαδικασία WhenSystemStart() της ενότητας εφαρμογής:

(μετά τη σύνδεση του εμπορικού εξοπλισμού)
...
SessionParameters.DistributedBaseExchange σε εξέλιξη = False; CheckAutoExchangeConnection();

Ας προσθέσουμε μερικά ακόμη κουμπιά στον πίνακα ελέγχου μας για να ελέγξουμε τη διαδικασία: προσθέστε μια διαδικασία σε ένα
CheckConnectAutoExchange(), από την άλλη - DisableAutoExchange()

Ξεκινάμε την επιχείρηση, διαμορφώνουμε τις ιδιότητες χρήστη και το διάστημα αυτόματης ανταλλαγής και αυτό είναι!

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

Μια ακόμη μικρή αλλά σημαντική σημείωση:

Σε όλη την ομορφιά που δημιουργήσαμε, υπάρχει ένα πρόβλημα: μια αλλαγή στη διαμόρφωση. Στο
Όταν η περιφερειακή βάση λαμβάνει ένα μήνυμα που περιέχει αλλαγές διαμόρφωσης, αυτό
θα γίνει δεκτό, αλλά θα υπάρξει εξαίρεση. Σε αυτήν την περίπτωση, η τροποποιημένη διαμόρφωση θα είναι
φορτωμένος. Για να ενημερώσετε τη διαμόρφωση της βάσης δεδομένων, πρέπει να αποκλείσετε όλους τους χρήστες, μεταβείτε στο
διαμορφωτή και ενημερώστε τη διαμόρφωση της βάσης δεδομένων (είναι καλή ιδέα να ανεβάσετε τα δεδομένα πριν το κάνετε αυτό). ΠΡΟΣ ΤΗΝ
Δυστυχώς, αυτό είναι αναγκαίο κακό. Μπορείτε να κάνετε τη ζωή σας λίγο πιο εύκολη γράφοντας ένα σύντομο αρχείο bat
κάτι σαν αυτό:

1cv8.exe CONFIG /F<путь к ИБ>/Ν<Пользователь>/Π<Пароль>/UpdateIBCfg

Και μια ακόμη σημείωση:

Δυστυχώς, τα αρχεία xml δεν είναι συμπαγή, αλλά, ευτυχώς, είναι τέλεια συμπιεσμένα. Δυνατότητα σε
διαδικασίες αποστολής και λήψης μηνυμάτων, προσθήκης συσκευασίας και αποσυσκευασίας αρχείων. COLOR="#666666">Αυτό μπορεί να γίνει είτε με εξωτερικό αρχειοθέτημα είτε χρησιμοποιώντας VK, για παράδειγμα Wheel.AddIn
(http://1c.proclub.ru/modules/mydownloads/personal.php?cid=81&lid=2714) .
Με την κυκλοφορία της 10ης (φαίνεται) έκδοσης, η προηγούμενη πρόταση είναι κάπως ξεπερασμένη, αφού η πλατφόρμα
Υπήρχαν ενσωματωμένα εργαλεία συμπίεσης αρχείων χρησιμοποιώντας τον αλγόριθμο ZIP. Εκείνοι. είναι πλέον δυνατή η συμπίεση αρχείων
χωρίς τη χρήση VK.

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

Η δεύτερη επιλογή είναι να δημιουργήσετε μια κατανεμημένη βάση πληροφοριών (RIB). Μια κατανεμημένη βάση πληροφοριών είναι μια ιεραρχική δομή που αποτελείται από ξεχωριστές βάσεις πληροφοριών στην πλατφόρμα 1C:Enterprise, μεταξύ της οποίας οργανώνεται η ανταλλαγή δεδομένων για το σκοπό του συγχρονισμού της διαμόρφωσης και των δεδομένων. Αυτές οι μεμονωμένες βάσεις πληροφοριών ονομάζονται κόμβοι RIB.

Μπορεί να δημιουργηθεί μια κατανεμημένη βάση πληροφοριών με βάση διάφορες διαμορφώσεις του συστήματος 1C:Enterprise. Ας εξετάσουμε τη δημιουργία του χρησιμοποιώντας το παράδειγμα 1C: Trade Management 10.3.

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


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

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

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

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