26.12.2019

Μετατροπή δεδομένων 1s 2.0. Υπάρχουν πάντα πολλές λύσεις.


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

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

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

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

Ας εξετάσουμε μερικά από αυτά:

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

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

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

Μετατροπή δεδομένων - τυπική λύση, αυτο-διαμόρφωση. Κάθε χρήστης με συνδρομή ITS:Prof μπορεί να πραγματοποιήσει λήψη αυτού του πακέτου εντελώς δωρεάν από τον ιστότοπο υποστήριξης χρηστών ή τον δίσκο του ITS. Η εγκατάσταση πραγματοποιείται με τυπικό τρόπο - όπως όλες οι άλλες τυπικές λύσεις από το 1C.

Τώρα λίγα για τα πλεονεκτήματα της λύσης. Ας ξεκινήσουμε με το πιο σημαντικό - την ευελιξία. Η λύση δεν είναι προσαρμοσμένη σε συγκεκριμένες διαμορφώσεις/εκδόσεις πλατφόρμας. Λειτουργεί εξίσου καλά τόσο με τυπικές διαμορφώσεις όσο και με αυτογραμμένες. Οι προγραμματιστές λαμβάνουν μια καθολική τεχνολογία και μια τυποποιημένη προσέγγιση για τη δημιουργία νέων μετεγκαταστάσεων. Η ευελιξία της λύσης σάς επιτρέπει να προετοιμάζετε μετεγκαταστάσεις ακόμη και για πλατφόρμες άλλες από το 1C:Enterprise.

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

Το τρίτο πλεονέκτημα που θα σημειώσω είναι η απουσία περιορισμών στη διανομή δεδομένων. Ο ίδιος ο προγραμματιστής επιλέγει τη μέθοδο παράδοσης δεδομένων στη διαμόρφωση του δέκτη. Δύο επιλογές είναι διαθέσιμες από το κουτί: μεταφόρτωση σε αρχείο xml και άμεση σύνδεση με τη βάση πληροφοριών (COM/OLE).

Εκμάθηση αρχιτεκτονικής

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

Η διαμόρφωση "KD" είναι ένα είδος οπτικού κατασκευαστή με τον οποίο ο προγραμματιστής δημιουργεί κανόνες ανταλλαγής. Δεν ξέρει πώς να ανεβάσει δεδομένα. Υπεύθυνη για αυτό είναι η πρόσθετη εξωτερική επεξεργασία υπηρεσιών που περιλαμβάνεται στο κιτ διανομής CD. Υπάρχουν πολλά από αυτά (το XX στο όνομα του αρχείου είναι ο αριθμός έκδοσης της πλατφόρμας):

  • MDXXExp.epf- η επεξεργασία σάς επιτρέπει να ανεβάσετε μια περιγραφή της δομής της βάσης πληροφοριών σε ένα αρχείο xml. Η περιγραφή της δομής φορτώνεται στο CD για περαιτέρω ανάλυση και δημιουργία κανόνων ανταλλαγής.
  • V8ExchanXX.epf- μεταφορτώνει/κατεβάζει δεδομένα από τη βάση πληροφοριών σύμφωνα με τους κανόνες ανταλλαγής. Στις περισσότερες τυπικές διαμορφώσεις, η επεξεργασία είναι διαθέσιμη εκτός πλαισίου (δείτε το στοιχείο μενού «Υπηρεσία»). Η επεξεργασία είναι καθολική και δεν συνδέεται με συγκεκριμένες διαμορφώσεις/κανόνες.

Εντάξει, τώρα με βάση όλα τα παραπάνω, ας ορίσουμε τα στάδια ανάπτυξης μιας νέας μετατροπής:

  1. Ορισμός εργασίας. Είναι απαραίτητο να κατανοήσουμε με σαφήνεια ποια δεδομένα πρέπει να μεταφερθούν (από ποια αντικείμενα διαμόρφωσης) και, το πιο σημαντικό, πού να μεταφερθούν.
  2. Προετοιμασία περιγραφής δομών διαμόρφωσης (Πηγή/Δέκτης) για μεταγενέστερη φόρτωση στο CD. Η εργασία επιλύεται με την επεξεργασία υπηρεσιών MDXXExp.epf.
  3. Φόρτωση προετοιμασμένων περιγραφών δομών στο IS.
  4. Δημιουργία κανόνων ανταλλαγής χρησιμοποιώντας οπτικά μέσα CD.
  5. Μεταφόρτωση/λήψη σύμφωνα με τους δημιουργημένους κανόνες μετατροπής δεδομένων με χρήση επεξεργασίας V8ExchanXX.epf.
  6. Εντοπισμός σφαλμάτων κανόνων ανταλλαγής (αν είναι απαραίτητο).

Η απλούστερη μετατροπή

Για την επίδειξη, χρειαζόμαστε δύο αναπτυγμένες διαμορφώσεις. Αποφάσισα να σταματήσω στην επιλογή: «Trade Management» 10η έκδοση και μια μικρή αυτογραφική λύση. Η εργασία θα είναι η μεταφορά δεδομένων από την τυπική διαμόρφωση UT. Για συντομία, θα ονομάσουμε την αυτο-γραμμένη λύση «Δέκτη» και τη διαχείριση εμπορίου «Πηγή». Ας ξεκινήσουμε να λύνουμε το πρόβλημα μεταφέροντας τα στοιχεία του καταλόγου "Ονοματολογία".

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

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

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

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

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

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

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

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

  • όνομα αρχείου κανόνων ανταλλαγής - οι δημιουργημένοι κανόνες ανταλλαγής θα αποθηκευτούν με αυτό το όνομα. Το όνομα του αρχείου μπορεί να αλλάξει ανά πάσα στιγμή, αλλά είναι καλύτερο να το ορίσετε τώρα. Αυτό θα εξοικονομήσει χρόνο στο μέλλον. Ονόμασα τους κανόνες για την επίδειξη: "rules-ut-to-priemnik.xml".
  • όνομα - το όνομα της μετατροπής. Το όνομα μπορεί να είναι απολύτως οτιδήποτε, περιορίστηκα στο «Demo. UT στον Δέκτη».

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

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

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

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

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

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

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

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

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

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

Η βάση για τους κανόνες ανταλλαγής είναι έτοιμη. Επιλέξαμε τα αντικείμενα για συγχρονισμό και οι κανόνες μετατροπής ιδιοτήτων και κανόνων μεταφόρτωσης δημιουργήθηκαν αυτόματα. Ας αποθηκεύσουμε τους κανόνες ανταλλαγής σε ένα αρχείο και, στη συνέχεια, ανοίξτε την "Πηγή" IB (στην περίπτωσή μου, είναι UT) και ξεκινήστε την επεξεργασία της υπηρεσίας σε αυτό V8Exchan82.epf.

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

Αφού ολοκληρωθεί η διαδικασία μεταφόρτωσης δεδομένων σε ένα αρχείο, μεταβείτε στο IB " Δέκτης". Ανοίγουμε και επεξεργασία σε αυτό V8Exchan82.epf, μόνο αυτή τη φορά πηγαίνουμε στην καρτέλα «Φόρτωση δεδομένων». Επιλέξτε το αρχείο δεδομένων και κάντε κλικ στο κουμπί "Μεταφόρτωση". Όλα, τα δεδομένα μεταφέρθηκαν με επιτυχία.

Εργασίες από τον πραγματικό κόσμο

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

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

Εργασία αριθμός 1. Συμπληρώστε τα στοιχεία που λείπουν

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

Υπάρχουν αρκετές λύσεις στο πρόβλημα. Θα εξετάσουμε την επιλογή να συμπληρώσουμε τα στηρίγματα " Οργάνωση“Ακριβώς στη βάση” Δέκτης», δηλ. τη στιγμή της φόρτωσης των δεδομένων. Η τρέχουσα οργάνωση αποθηκεύεται σε μια σταθερά, επομένως δεν υπάρχει εμπόδιο για τη λήψη αυτής της τιμής. Ας ανοίξουμε τον κανόνα μετατροπής αντικειμένου (εφεξής θα αναφέρεται ως FRP) " Πελάτες" (διπλό κλικ στο αντικείμενο) και στον οδηγό ρύθμισης κανόνων, μεταβείτε στην ενότητα "Χειριστές συμβάντων". Στη λίστα των χειριστών βρίσκουμε " Μετά τη φόρτωση”.

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

Αν NOT Object.ThisGroup Τότε Object.Organization = Constants.CurrentOrganization.Get(); Τέλος εαν;

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

Εργασία αριθμός 2. Λεπτομέρειες στο μητρώο πληροφοριών

Στο εγχειρίδιο" αντισυμβαλλόμενοι"Διαμόρφωση UT, υπάρχουν λεπτομέρειες" Αγοραστής" Και " Προμηθευτής". Και τα δύο στηρίγματα είναι τύπου " boolean” και χρησιμοποιούνται για τον προσδιορισμό του τύπου του αντισυμβαλλομένου. στο IB" Δέκτης», στο βιβλίο αναφοράς « Πελάτες«Δεν υπάρχουν παρόμοιες λεπτομέρειες, αλλά υπάρχει μητρώο πληροφοριών» Τύποι πελατών". Εκτελεί παρόμοια λειτουργία και μπορεί να αποθηκεύσει πολλές ετικέτες για έναν μόνο πελάτη. Το καθήκον μας είναι να μεταφέρουμε τις τιμές των στοιχείων σε ξεχωριστές εγγραφές του μητρώου πληροφοριών.

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

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

  • μέθοδος δειγματοληψίας. Αλλαγή σε "Αυθαίρετος αλγόριθμος".
  • κανόνας μετατροπής. Επιλέξτε το μητρώο πληροφοριών «Τύποι πελατών».
  • Κωδικός (όνομα) του κανόνα. Το γράφουμε ως "Μεταφόρτωση ειδών πελάτη".

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

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

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

DataFetch = NewValueTable(); Data Selection.Columns.Add("Client"); Data Selection.Columns.Add("ClientType"); Επιλέγοντας DataFrom the Directory = Directories.Contractors.Select(); Κατά την ανάκτηση DataFromCatalog.Next() Επανάληψη βρόχου If FetchingDataFromCatalog.ThisGroup Στη συνέχεια, συνεχίστε. Τέλος εαν; Αν DataFetchFromCatalog.Buyer Τότε NewString = DataFetch.Add(); NewString.Client = SamplingDataFromCatalog.Reference; NewString.ClientType = "Αγοραστής"; Τέλος εαν; Αν DataFetchFromCatalog.Provider Τότε NewString = DataFetch.Add(); NewString.Client = SamplingDataFromCatalog.Reference; NewString.ClientType = "Προμηθευτής"; Τέλος εαν; EndCycle;

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

//Για την ιδιότητα "Πελάτης" Τιμή = Source.Client; //Για την ιδιότητα "CustomerType" If Source.Customer = "Buyer" Then Expression = "Enumerations.CustomerTypes.Buyer" ElseIf Source.Customer = "Supplier" then Expression = "Enumerations.CustomerTypes.Supplier"; Τέλος εαν;

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

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

Εργασία αριθμός 3. Πίνακες κόλπα

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

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

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

DataFetch = NewValueTable(); //Εδώ θα υπάρχει μια ακόμη ενότητα πίνακας Data Selection.Columns.Add("Products"); //Εδώ θα υπάρχει επίσης μια ενότητα πίνακας Data Selection.Columns.Add("Υπηρεσίες"); Επιλογή δεδομένων από.Columns.Add("Σύνδεσμος");

Εργασία αριθμός 4. Μεταφορά δεδομένων σε λειτουργία

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

Στη διαμόρφωση " BP"υπάρχει ένα καθολικό έγγραφο" Λειτουργία” και είναι ιδανικό για το σχηματισμό περισσότερων συρμάτων. Εδώ υπάρχει μόνο ένα πρόβλημα - το έγγραφο είναι κατασκευασμένο με πονηριά και δεν είναι τόσο εύκολο να μεταφέρετε δεδομένα σε αυτό.

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

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

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

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

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

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

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

Έχουμε το δικαίωμα να επιλέξουμε μόνοι μας τα πεδία. Έχοντας σημειώσει το ΑΦΜ, KPP, Όνομα, θα υποδείξουμε αμέσως πολλά κριτήρια αναζήτησης. Ανετος? Αρκετά, αλλά και πάλι, αυτό δεν είναι αρκετό. Και τι γίνεται αν θέλουμε να αλλάξουμε τα κριτήρια αναζήτησης; Για παράδειγμα, πρώτα ψάχνουμε για ένα μάτσο TIN + KPP και αν δεν βρούμε τίποτα, τότε αρχίζουμε να δοκιμάζουμε την τύχη μας με το όνομα.

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

Εάν SearchOptionNumber = 1, τότε SearchPropertyNameString = "TIN, KPP"; ElseIfSearchVariantNumber = 2 ThenSearchPropertyNameString = "Όνομα"; Τέλος εαν;

Υπάρχουν πάντα πολλές λύσεις.

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

Κατά τη γνώμη μου, η εταιρεία 1C παρακάμπτει αδικαιολόγητα το θέμα της χρήσης μετατροπής δεδομένων. Καθ' όλη τη διάρκεια της ύπαρξης της τεχνολογίας, έχει εκδοθεί μόνο ένα βιβλίο σε αυτήν: «1C: Enterprise 8. Μετατροπή δεδομένων: ανταλλαγή μεταξύ λύσεων εφαρμογών». Το βιβλίο είναι αρκετά παλιό (2008), αλλά είναι ακόμα επιθυμητό να εξοικειωθείτε με αυτό.

Η γνώση της πλατφόρμας εξακολουθεί να απαιτείται

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

1. Εισαγωγή.

2. Τι χρειάζεστε: Διαμόρφωση 1C: Μετατροπή δεδομένων 2. * και επεξεργασία από το πακέτο. Για παράδειγμα εργασιών, λαμβάνουμε τις διαμορφώσεις 1C: Trade Management 11 και 1C: BP 3. *.

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

Για παράδειγμα, έχουμε ήδη αναπτύξει τη βάση μετατροπών και την εκκινήσαμε.

Θα γράψουμε την ανάπτυξη κανόνων ανταλλαγής μεταξύ της διαμόρφωσης 1C: Trade Management 11 και 1C: Enterprise Accounting 3 (Κανόνες ανταλλαγής UT / BUH).

3. Θα χρειαστούμε Επεξεργασία για να ξεφορτωθεί η δομή και η ανταλλαγή μεταδεδομένων.

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

Στην πραγματικότητα, στον μη συσκευασμένο κατάλογο ρυθμίσεων για διαμορφώσεις ενεργές διαχειριζόμενες φόρμεςμας ενδιαφέρει η επεξεργασία του MD83Exp.epf. Εάν η εκφόρτωση πρέπει να γίνει από διαμορφώσεις σε κανονικές φόρμες, τότε χρησιμοποιείται η επεξεργασία MD82Exp.epf. Αυτό συμβαίνει εάν, για παράδειγμα, πρέπει να λάβετε μια δομή από τέτοιες διαμορφώσεις όπως 1C: UT 10, 1C: Διαχείριση εργοστάσιο παραγωγής 1.3, 1C: Ενσωματωμένος αυτοματισμός 1.1, 1C: Zup 2.5 και ούτω καθεξής.

Επιπλέον, για να ανεβάσετε και να κατεβάσετε δεδομένα σε 1C χρησιμοποιώντας τους κανόνες μας, θα χρειαστείτε την επεξεργασία της "Καθολικής ανταλλαγής δεδομένων σε μορφή XML" V8Exchan83.epf για διαμορφώσεις σε διαχειριζόμενες φόρμες όπως 1C: Trade Management 11. *, 1C BP 3, 1C : ERP 2. * και τα παρόμοια. Και κατά συνέπεια V8Exchan83.epf - για διαμορφώσεις σε κανονικές φόρμες.

4. Μεταφόρτωση της δομής μεταδεδομένων διαμόρφωσης 1C: Trade Management 11.3 και 1C: Enterprise Accounting 3.0. *

Ας ξεκινήσουμε με την εκφόρτωση της δομής μεταδεδομένων από τη διαμόρφωση 1C: Enterprise Accounting 3.
Άνοιγμα επεξεργασίας MD83Exp.epf

Με τη μορφή επεξεργασίας υπάρχουν επιπρόσθετες ρυθμίσεις, όπου μπορούμε να ενεργοποιήσουμε ή να απενεργοποιήσουμε την επιλογή εκφόρτωσης καταχωρητών και κινήσεων σε 1C. Υπάρχει επίσης μια επιλογή πού θα πραγματοποιηθεί η εκφόρτωση: στον διακομιστή 1C ή "στον πελάτη". Καθορίστε το όνομα του αρχείου όπου θα εκφορτωθεί η δομή δεδομένων. Ομοίως, ξεφορτώνουμε τη δομή μεταδεδομένων διαμόρφωσης Trade Management 11.

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

Στο παράθυρο διαλόγου, φορτώστε τη δομή BP:

Και ομοίως - η δομή του Υπουργείου Εμπορίου.

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

6. Δημιουργία κανόνων για τη μετατροπή σε 1C on συγκεκριμένο παράδειγμακαθήκοντα.

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

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

Δεν θα κάνουμε τίποτα σε αυτό το παράθυρο διαλόγου, απλώς κάντε κλικ - "Κλείσιμο".

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

Έτσι, δημιουργούμε ένα νέο PKO (ο κανόνας για τη μετατροπή αντικειμένων σε 1C)

Επιλέξτε την πηγή Realization of Goods of Services και τον παραλήπτη της Receipt of Goods of Services και κάντε κλικ στο OK.
Σε αυτήν την περίπτωση, θα εμφανιστεί ένα παράθυρο διαλόγου, όπου αρνούμαστε και πάλι την αυτόματη δημιουργία του PKC (Κανόνες μετατροπής ιδιοτήτων). Στη συνέχεια, επιλέγουμε μόνο τα απαραίτητα.

Αλλά στην πρόταση για δημιουργία PVD (κανόνες μεταφόρτωσης δεδομένων), απαντάμε «Ναι».

Δημιουργούνται VDP, τα οποία θα αντικατοπτρίζονται στην επεξεργασία της καθολικής ανταλλαγής XML για επιλογή:

Θα δημιουργηθούν επίσης κανόνες μετατροπής δεδομένων με κανόνες μετατροπής κενών ιδιοτήτων.

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

Κατάργηση της αναζήτησης για UIO:

Τώρα ας αρχίσουμε να ταιριάζουμε τις απαραίτητες ιδιότητες (προϋποθέσεις) του αντικειμένου. Για να το κάνετε αυτό, κάντε κλικ στο "Συγχρονισμός ιδιοτήτων" (επισήμανση "1" στην οθόνη). Καταργούμε την αναδρομική δημιουργία κανόνων ("2"). Αφαιρούμε όλες τις επισημασμένες λεπτομέρειες ("3"). Και θα επιλέξουμε μόνοι μας αυτό που χρειαζόμαστε.

Για παράδειγμα, επιλέξτε αυτό που χρειάζεστε:

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

Όπου βλέπουμε ότι δεν υπάρχουν ακόμη κανόνες μετατροπής.

Ας ξεκινήσουμε με λεπτομέρειες για να περάσουμε και να περιγράψουμε. Αρχικά, ρυθμίζουμε την αναζήτηση για το έγγραφο όπως έγραψα νωρίτερα, ξεφορτώνουμε και αναζητούμε το έγγραφο στην αρχή της ημερομηνίας και θα αλλάξουμε την αρίθμηση. Θα αντικαταστήσουμε τους τρεις πρώτους χαρακτήρες με το πρόθεμά μας "UTB". Και επειδή στο BP και στο UT η αρίθμηση είναι 11 χαρακτήρες το καθένα, φτιάχνουμε έναν σύνθετο αριθμό: το πρόθεμά μας και 8 χαρακτήρες από την πηγή. Παράδειγμα στιγμιότυπου οθόνης παρακάτω.

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

Για να γίνει αυτό, το PCS, έχοντας ορίσει πόσο δεν κρατιέται, 0 ή 1, χρησιμοποιείται ως boolean.

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

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

Ως αποτέλεσμα, έχουμε την επιλογή:

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

Για συμφωνίες PKO των αντισυμβαλλομένων, αναζητούμε Αντισυμβαλλόμενο PKS, όνομα και ιδιοκτήτη.

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

Το παρακάτω δείχνει πώς να ορίσετε χωρίς δυσκολία και στις περισσότερες περιπτώσεις PKS για Πολλαπλότητα Διακανονισμού, Ποσοστό Διακανονισμού, Λογαριασμούς.

Για την Ονοματολογία PKO, αφήνουμε την αναζήτηση με εσωτερικό μοναδικό αναγνωριστικό. Αλλά θα δώσω προσοχή στο πώς μπορείτε να επαναπροσδιορίσετε την ομάδα σας. Για παράδειγμα, συμφωνούμε ότι θα εκφορτωθεί μια νέα ονοματολογία από τη διαμόρφωση 1C: Trade Management 11, αλλά είναι απαραίτητο η ονοματολογία να συλλέγεται σε μια συγκεκριμένη ομάδα "OurGroup".

Για την υλοποίηση αυτής της εργασίας, δημιουργούμε ένα άλλο PKO. Ας το ονομάσουμε "Γονική ονοματολογία", το οποίο θα υποδείξουμε στο PDN του γονέα στον κανόνα μετατροπής.

Ορίσαμε δύο αναζητήσεις: κατά όνομα, όπου το όνομα της ομάδας μας είναι κωδικοποιημένο και η υποχρεωτική ιδιότητα του χαρακτηριστικού "ThisGroup" σε true.

Εφόσον αποφασίσαμε ότι όλη η ονοματολογία εμπίπτει στην ομάδα μας, δεν χρειάζεται να ξεφορτωθούν οι ομάδες από το UT 11 κατά την εκφόρτωση. Για να γίνει αυτό, στο PKO Ονοματολογίας, στον χειριστή συμβάντων "Πριν από την εκφόρτωση", θα βάλουμε ένα φίλτρο ότι δεν είναι απαραίτητο να ξεφορτώσετε τις ομάδες "Αποτυχία = Πηγή". Αυτή η ομάδα;".

Στο DRP (κανόνες μεταφόρτωσης δεδομένων) Υλοποίηση Αγαθών και Υπηρεσιών, θα προσθέσουμε ένα φίλτρο ώστε να μην ανεβαίνουν έγγραφα που έχουν επισημανθεί για διαγραφή. Για να γίνει αυτό, στο PDP στους χειριστές συμβάντων "BeforeUnloading" θα γράψουμε το φίλτρο "Rejection = Object.DeletionMark;".


Αποθηκεύστε τους αναπτυγμένους κανόνες σε ένα αρχείο.


7. Σύνοψη: Μεταφόρτωση και λήψη δεδομένων χρησιμοποιώντας τους αναπτυγμένους κανόνες ανταλλαγής δεδομένων.

Ανοίγουμε στο 1C: Trade Management 11 την επεξεργασία "Καθολική ανταλλαγή δεδομένων σε μορφή XML" V8Exchan83.epf.

Η εκφόρτωση έχει περάσει, τώρα με την ίδια επεξεργασία φορτώνουμε στο 1C: Enterprise Accounting 3.


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

Ελέγχουμε τη φόρτωση της ονοματολογίας. Βλέπουμε ότι όλα έγιναν όπως τα είχαμε σχεδιάσει.


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

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

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

Εξειδικευμένη διαμόρφωση "1C: Μετατροπή δεδομένων 2.0"

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

Για να διευκολυνθεί η επίλυση αυτού του προβλήματος (μεταφορά δεδομένων από την έκδοση 7.7 στην έκδοση 8), η 1C κυκλοφόρησε μια εξειδικευμένη διαμόρφωση "Μετατροπή δεδομένων 2.0". Δημιουργήθηκε για να βοηθήσει τους ειδικούς στην επίλυση διαφόρων προβλημάτων μεταφοράς δεδομένων. Το 1C έχει κυκλοφορήσει έτοιμους κανόνες για τη μεταφορά δεδομένων από διαμορφώσεις του ίδιου τύπου, για παράδειγμα, από 1C: Accounting 7.7 σε 1C: Accounting 8, αλλά χρήστες μη τυπικών ή τροποποιημένων τυπικών διαμορφώσεων κατά τη μετάβαση στην πλατφόρμα 1C: Enterprise 8 θα πρέπει να δημιουργήσετε μόνοι σας δεδομένα κανόνων μεταφοράς.

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

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

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

Δημιουργία επαρκών αρχικών προϋποθέσεων για τήρηση λογιστικών μητρώων ΟΙΚΟΝΟΜΙΚΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑ(μεταφορά υπολειμμάτων εμπορευμάτων κ.λπ.).

Οι δομές αποθήκευσης δεδομένων στο 1C:Enterprise διαφορετικών εκδόσεων ή/και διαμορφώσεων είναι διαφορετικές, επομένως η μεταφορά δεδομένων δεν συνίσταται απλώς στην αντιγραφή αρχείων ή πινάκων, αλλά στη μετατροπή τους. Προκειμένου ο μετασχηματισμός να είναι ξεκάθαρος και σωστός, είναι απαραίτητο να δημιουργηθούν και να διαμορφωθούν κανόνες για τη μεταφορά δεδομένων. Η δημιουργία και η διαμόρφωση κανόνων για τη μεταφορά δεδομένων μεταξύ διαφορετικών βάσεων πληροφοριών είναι δυνατή εάν είναι γνωστή η δομή της αποθήκευσης δεδομένων στις βάσεις δεδομένων προέλευσης και προορισμού. Η περιγραφή της δομής μεταδεδομένων διαμόρφωσης θα πρέπει να είναι ενοποιημένη. Η διαμόρφωση Data Conversion 2.0 χρησιμοποιείται για τη δημιουργία και τη διαμόρφωση κανόνων μεταφοράς δεδομένων με βάση τις περιγραφές της δομής μεταδεδομένων διαμόρφωσης προέλευσης και προορισμού.

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

  • 1. Δημιουργία αρχείων περιγραφής μεταδεδομένων.
  • 2. Δημιουργία Διαμορφώσεων στη «Μετατροπή Δεδομένων».
  • 3. Δημιουργία της ίδιας της μετατροπής.
  • 4. Συνεπής δημιουργία κανόνων μετατροπής δεδομένων.
  • 5. Συνεπής δημιουργία κανόνων μεταφόρτωσης δεδομένων.
  • 6. Η πραγματική διαδικασία για την εκφόρτωση και τη φόρτωση δεδομένων από τη μία διαμόρφωση στην άλλη.

Επειδή Η χρήση αυτής της εξειδικευμένης διαμόρφωσης είναι από τις πιο αποτελεσματικές αυτή τη στιγμήτρόπους επίλυσης προβλημάτων αυτού του είδους, και επιπλέον, μια πηγή πολύ χρήσιμη για εκπαιδευτικούς σκοπούς προσωπική εμπειρία, στη συνέχεια για την ανάπτυξη ενός μηχανισμού ανταλλαγής δεδομένων μεταξύ του IS "Server: Rent Calculation" και του "1C: Enterprise Accounting" για την LLC "LLC", επιλέχθηκε μια μέθοδος που βασίζεται στη χρήση της διαμόρφωσης "Data Conversion 2.0".

Η μετατροπή δεδομένων 2.0 και 2.1 είναι μια τεχνολογική διαμόρφωση 1C που εφαρμόζεται σε εκδόσεις πλατφόρμας από 8.1 έως 8.3.

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

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

Η διαμόρφωση είναι πολύ βολική στη χρήση όταν .

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

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

Θα είναι πολύ χρήσιμο να κατανοήσετε τους "τυπικούς" κανόνες της ανταλλαγής 1C 8.3, εκεί μπορείτε συχνά να βρείτε ενδιαφέροντα παραδείγματα υλοποίησης εργασιών.

Για να κατανοήσετε τα βασικά, θα χρειαστείτε υλικά, εξετάστε τα παρακάτω.

Οδηγίες βίντεο για τη μετατροπή

Για τα βασικά της ρύθμισης της ανταλλαγής δεδομένων σε 1C χρησιμοποιώντας τη διαμόρφωση "1C Data Conversion", δείτε το βίντεο για παράδειγμα:

Υλικά, εγχειρίδια για τη μελέτη 1C Data Conversion 2.0

Δεν υπάρχουν πάρα πολλά υλικά και τεκμηρίωση στο διαδίκτυο, προσπάθησα να συγκεντρώσω τα πιο σημαντικά και ενδιαφέροντα υλικά:

0. Πρώτα απ 'όλα, συμβουλεύω το δωρεάν μάθημα βίντεο του Ilya Leontiev, είναι διαθέσιμο στη διεύθυνση Σύνδεσμος.

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

2. Η δεύτερη πιο σημαντική πηγή πληροφοριών είναι ο ιστότοπος http://www.mykod.info/ (ο ιστότοπος έκλεισε), εξειδικευμένος μόνο στη μετατροπή δεδομένων. Εκεί μπορείτε να κατεβάσετε μεγάλο αριθμό υλικών μετατροπής.

3. Ξεχωριστά, θα ήθελα να επισημάνω το εγχειρίδιο εκπαίδευσης - (συγγραφέας - Olga Kuznetsova).


2023
newmagazineroom.ru - Λογιστικές καταστάσεις. UNVD. Μισθός και προσωπικό. Συναλλαγματικές πράξεις. Πληρωμή φόρων. ΔΕΞΑΜΕΝΗ. Ασφάλιστρα