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

17.11.2023

Ιστολόγιο της εταιρείας 1C GOODWILL

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

Η εργασία θα είναι η εξής: να δημιουργήσετε το πιο απλό εξωτερική επεξεργασία, το οποίο θα εκτελέσει μια ομαδική ενέργεια στον κατάλογο «Είδος», δηλαδή θα ορίσει το επιλεγμένο ποσοστό συντελεστή ΦΠΑ για την καθορισμένη ομάδα ειδών.

Ενεργοποίηση του μηχανισμού εξωτερικής επεξεργασίας στο πρόγραμμα

Για να γίνει αυτό, θα κάνουμε αμέσως τις απαραίτητες ρυθμίσεις στο πρόγραμμα (εξετάζουμε τη διαμόρφωση 1C 8.3: "Enterprise Accounting 3.0" στο ελεγχόμενες μορφές).

Η επιλογή αυτού του πλαισίου μας δίνει την ευκαιρία να χρησιμοποιήσουμε εξωτερική επεξεργασία.

Δημιουργία νέας εξωτερικής επεξεργασίας στο 1C 8.3 χρησιμοποιώντας ένα παράδειγμα

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

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

Ας προσθέσουμε μια νέα φόρμα ελεγχόμενης επεξεργασίας. Δηλώνουμε ότι αυτή είναι μια μορφή επεξεργασίας και είναι η κύρια:

Θα έχουμε δύο λεπτομέρειες στη φόρμα:

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

Η σειρά των λεπτομερειών μπορεί να αλλάξει χρησιμοποιώντας τα βέλη "Επάνω" - "Κάτω":

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

Μια διαδικασία με το ίδιο όνομα θα δημιουργηθεί στη μονάδα φόρμας. Σε αυτό καλούμε τη διαδικασία στον διακομιστή:

&OnClient

Διαδικασία Ορισμός συντελεστή ΦΠΑ (εντολή)

SetVATRAteOnServer();

Τέλος Διαδικασίας

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

&Στον διακομιστή

Διαδικασία SetVATRAteOnServer()

Request = New Request;

Αίτημα.Κείμενο =

| Κατάλογος.Ονοματολογία AS Nomenclature

| ΚΑΙ ΟΧΙ Ονοματολογία.MarkDeletion

| ΚΑΙ ΟΧΙ Ονοματολογία Αυτή είναι μια ομάδα».

Request.SetParameter("Ομάδα αντικειμένων", Ομάδα αντικειμένων);

ResRequest = Request.Execute();

SelectRecordDet = ResRequest.Select();

Ενώ βρόχος SelectRecordDet.Next().

SprNomObject.VATRate = SelectVATRate;

SprNomObject.Write();

Εξαίρεση

Report("Σφάλμα κατά την εγγραφή του αντικειμένου """ + SprNomObject + """!

|» + DescriptionError());

EndAttempt;

EndCycle;

Τέλος Διαδικασίας

Επιστρέφουμε στην καρτέλα "Φόρμα", προσθέτουμε ένα κουμπί στη φόρμα και το συσχετίζουμε με την εντολή:

Ως εκ τούτου, η επεξεργασία μας είναι έτοιμη για χρήση. Για να το καλέσετε, στη λειτουργία "1C Enterprise", πρέπει να μεταβείτε στο μενού "Αρχείο" - "Άνοιγμα" και να επιλέξετε το αρχείο που δημιουργήθηκε.

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

Για αυτό προορίζεται η ενότητα "Πρόσθετες αναφορές και επεξεργασία".

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

Περιγραφή της λειτουργίας "Πληροφορίες σχετικά με την εξωτερική επεξεργασία"

Θα δώσω ένα παράδειγμα των περιεχομένων αυτής της συνάρτησης. Πρέπει να είναι εξαγώγιμο και, κατά συνέπεια, να βρίσκεται στη μονάδα επεξεργασίας:

Λειτουργία InformationOnExternalProcessing() Εξαγωγή

DataForReg = Νέα Δομή();

DataForReg.Insert("Όνομα", "Ρύθμιση συντελεστή ΦΠΑ");

DataForReg.Insert("SafeMode", True);

DataForReg.Insert("Version", "ver.: 1.001");

DataForReg.Insert("Πληροφορίες", "Επεξεργασία για τον καθορισμό του συντελεστή ΦΠΑ στον κατάλογο Ονοματολογίας");

DataForReg.Insert("View", "AdditionalProcessing");

CommandTable = NewValueTable;

TabZnCommands.Columns.Add("Identifier");

TabZnCommands.Columns.Add("Χρήση");

TabZnCommands.Columns.Add("Προβολή");

NewRow = TabZnCommands.Add();

NewString.Identifier = "OpenProcessing";

NewRow.Use = "OpenForm";

NewRow.View = "Άνοιγμα επεξεργασίας";

DataForReg.Insert("Commands", TabZnCommands);

Επιστροφή DataForReg;

EndFunction

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

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

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

Σύνδεση εξωτερικής επεξεργασίας στο 1C 8.3

Ας μεταβούμε τώρα στη λειτουργία "1C Enterprise" και ας προσθέσουμε εξωτερική επεξεργασία:

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

Η ανάρτηση Πώς να δημιουργήσετε εξωτερική επεξεργασία σε 1C 8.3 (διαχειριζόμενες φόρμες) εμφανίστηκε για πρώτη φορά στο ιστολόγιο της εταιρείας 1C GOODWILL.

Ως μέρος αυτού του άρθρου, θα γράψουμε επεξεργασία για τη συμπλήρωση του τμήματος πίνακα στο 1C 8.3 για τυπική διαμόρφωση 1C:ERP 2.1. Ας υποθέσουμε ότι ο στόχος της εργασίας είναι να ορίσετε μια μη αυτόματη έκπτωση 5% για όλα τα είδη προϊόντων του παρόντος εγγράφου. Ένα παράδειγμα από το άρθρο μπορεί να ληφθεί από ή από άλλη παρόμοια επεξεργασία.

Αυτή η οδηγίασχεδιασμένο για διαχειριζόμενες φόρμες (8.2 και 8.3). Για κανονικά σχήματα(8.1, 8.2) μπορούν να χρησιμοποιηθούν.

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

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

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

Συμπληρώνοντας το τμήμα του πίνακα του εγγράφου

Ας δημιουργήσουμε μια νέα φόρμα επεξεργασίας.

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

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

&Στη διαδικασία διακομιστή Εκτέλεση Εντολής(Εντολή, Αντικείμενα Εκχώρησης) Για κάθε Παραγγελία Πελάτη από Αντικείμενα Εκχώρησης Κύκλος Παραγγελίας Πελάτη = Παραγγελία Πελάτη. GetObject() ;

Για κάθε γραμμή TK από το Customer OrderObject. Products Cycle LineTZ. ManualDiscountPercent = 5 ;

LineTZ. ManualDiscount Amount = Γραμμή TK. Ποσό * 0 . 05 ;

EndCycle ; CustomerOrderObject. Write() ; EndCycle ;

Τέλος Διαδικασίας

Καταχώρηση εξωτερικής επεξεργασίας

Εκκινήστε το 1C σε λειτουργία "Enterprise" και ανοίξτε τον κατάλογο "Πρόσθετες αναφορές και επεξεργασία". Ας το βρούμε μέσα από το μενού "Όλες οι λειτουργίες". Δημιουργώ->->.

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

Μεταβείτε στο επάνω μενού

Υπηρεσία

Εμφανίζεται η φόρμα λίστας καταλόγου εξωτερικής επεξεργασίας. ΣΕ Δημιουργώ->επάνω μενού->πατήστε το κουμπί.

Προσθέτω

Θα εμφανιστεί η φόρμα Προσθήκη νέου αντικειμένου. Κάντε κλικ στο κουμπί άνοιγμα και επιλέξτε το αρχείο με την επιθυμητή επεξεργασία. Αφού επιλέξετε το επιθυμητό αρχείο, εάν είναι απαραίτητο, καθορίστε ένα όνομα επεξεργασίας (πεδίο Όνομα). Μετά από αυτό, πρέπει να κάνετε κλικ στο OK για να αποθηκεύσετε τις αλλαγές που έγιναν.

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

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


Πρόσθετες αναφορές και επεξεργασία

Πρόσθετη εξωτερική επεξεργασία Για BP 3.0, ZUP 3.0, UT 11, ERP 2.0.:


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


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


Επιλέξτε μια αυθαίρετη ενότητα (ή πολλές) για τοποθέτηση:


Γράψτε και κλείστε την κάρτα εξωτερικού αντικειμένου:


Τώρα ας ανοίξουμε την επεξεργασία από τη διεπαφή:


Η λίστα είναι κενή, κάντε κλικ Προσαρμόστε τη λίστα:


Επιλέξτε την επεξεργασία μας:


Είναι πλέον διαθέσιμο για επιλογή. Για να ανοίξετε την επεξεργασία, πρέπει να κάνετε κλικ Εκτελώ:


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


Εάν θέλετε, η λίστα τοποθετήσεων μπορεί να προσαρμοστεί ( Μην προσθέσετε πρόσθετη τοποθέτηση, αλλά αφαιρέστε τα περιττά):


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

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

Ενότητα διαμόρφωσης: Αντικείμενα εφαρμογής

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

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

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

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

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

Λειτουργία InformationOnExternalProcessing() Εξαγωγή
// Ας δηλώσουμε μια μεταβλητή στην οποία θα αποθηκεύσουμε και θα επιστρέψουμε τα απαραίτητα δεδομένα "εκτός"
Παράμετροι Εγγραφής = Νέα Δομή;

// Ας δηλώσουμε μια άλλη μεταβλητή που θα χρειαστούμε παρακάτω
ArrayDestinations = Νέος πίνακας;

// Η πρώτη παράμετρος που πρέπει να καθορίσουμε είναι το είδος της επεξεργασίας που πρέπει να καταχωρήσει το σύστημα.
// Έγκυροι τύποι: AdditionalProcessing, AdditionalReport, FillingObject, Report, PrintForm, CreatingLinkedObjects
Registration Parameters.Insert("View", "AdditionalProcessing");

// Τώρα πρέπει να περάσουμε με τη μορφή μιας σειράς ονομάτων με τι θα συνδεθεί το VPF μας
// Λάβετε υπόψη ότι μπορείτε να ορίσετε το όνομα με την ακόλουθη μορφή: Document.* - σε αυτήν την περίπτωση, η επεξεργασία θα συνδεθεί με όλα τα έγγραφα του συστήματος,
// που υποστηρίζουν τον μηχανισμό VPF
Array of Assignments.Add("Subsystems.RegulatedAccounting");
Registration Parameters.Insert("Destination", Array of Destination);

// Τώρα ας ορίσουμε το όνομα με το οποίο θα καταχωρηθεί το VPF στον εξωτερικό κατάλογο επεξεργασίας
Registration Parameters.Insert("Name", "Analysis of negative balances by register");

// Ορίστε το δικαίωμα επεξεργασίας για χρήση ασφαλής λειτουργία. Περισσότερες λεπτομέρειες μπορείτε να βρείτε στη βοήθεια της πλατφόρμας (μέθοδος SetSafeMode)
Registration Parameters.Insert("SafeMode", True);

// Οι επόμενες δύο παράμετροι παίζουν περισσότερο πληροφοριακό ρόλο, δηλ. αυτό θα δει ο χρήστης στις πληροφορίες για επεξεργασία
Registration Parameters.Insert("Version", "1.0");
Registration Parameters.Insert("Information", "Analysis of negative balances by registers");

// Δημιουργία πίνακα εντολών (δείτε λεπτομέρειες παρακάτω)
CommandTable = GetCommandTable();

// Προσθήκη εντολής στον πίνακα
Προσθήκη Εντολής(Πίνακας εντολών, "Ανάλυση αρνητικών υπολοίπων ανά μητρώα", "Ανάλυση αρνητικών υπολοίπων ανά μητρώα", "Έντυπο ανοίγματος");

// Αποθηκεύστε τον πίνακα εντολών στις παραμέτρους εγγραφής επεξεργασίας
Registration Parameters.Insert("Commands", CommandTable);

// Τώρα ας επιστρέψουμε τις παραμέτρους μας στο σύστημα
ReturnRegistrationParameters;
EndFunction

Συνάρτηση GetTableCommand()

// Δημιουργήστε έναν κενό πίνακα εντολών και στήλες σε αυτόν
Εντολές = New ValueTable;

// Πώς θα μοιάζει η περιγραφή της έντυπης φόρμας για τον χρήστη
Commands.Columns.Add("Προβολή", NewTypeDescription("Σειρά"));

// Το όνομα της διάταξης μας, ώστε να μπορούμε να διακρίνουμε την καλούμενη εντολή στην επεξεργασία εκτύπωσης
Commands.Columns.Add("Identifier", New TypeDescription("String"));

// Αυτό ορίζει τον τρόπο κλήσης της εντολής επεξεργασίας
// Πιθανές επιλογές:
// - OpeningForm - σε αυτήν την περίπτωση, η στήλη αναγνωριστικού θα πρέπει να υποδεικνύει το όνομα της φόρμας που θα ανοίξει το σύστημα
// - CallClientMethod - καλέστε τη διαδικασία εξαγωγής πελάτη από τη μονάδα φόρμας επεξεργασίας
// - Call ServerMethod - κλήση μιας διαδικασίας εξαγωγής διακομιστή από τη μονάδα αντικειμένου επεξεργασίας
Commands.Columns.Add("Usage", New TypeDescription("Row"));

// Η επόμενη παράμετρος καθορίζει εάν μια ειδοποίηση θα πρέπει να εμφανίζεται όταν ξεκινά και τελειώνει μια εργασία επεξεργασίας. Δεν έχει νόημα όταν ανοίγετε τη φόρμα
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));

// Για μια έντυπη φόρμα, πρέπει να περιέχει τη συμβολοσειρά PrintMXL
Commands.Columns.Add("Modifier", New TypeDescription("Row"));
Ομάδα Επιστροφών.
EndFunction

Διαδικασία AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "")
// Προσθέστε μια εντολή στον πίνακα εντολών σύμφωνα με την περιγραφή που πέρασε.
// Οι παράμετροι και οι τιμές τους μπορούν να προβληθούν στη συνάρτηση GetCommandTable
NewCommand = CommandTable.Add();
NewCommand.View = Προβολή;
NewCommand.Identifier = Αναγνωριστικό;
NewCommand.Use = Χρήση;
NewCommand.ShowAlert = ShowAlert;
NewCommand.Modifier = Τροποποιητής;

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

Δημιουργούμε εξωτερική επεξεργασία στο 1C 8.3

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

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

  • Χαρακτηριστικά – πεδίο για τον καθορισμό της ονοματολογίας.
  • Ένα κουμπί που θα καλέσει τον κωδικό.

Προσθέστε το χαρακτηριστικό "Nomenclature" με τον τύπο δεδομένων "DirectoryLink.Nomenclature" στην αντίστοιχη ενότητα και το κουμπί "Show" στο μενού "Commands" -> "Form Commands".

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


Θραύσμα 1

&OnClient Procedure Show(Command) ShowOnServer(); Τέλος διαδικασίας &Διαδικασία OnServer ShowOnServer() //Εισαγάγετε τα περιεχόμενα του προγράμματος χειρισμού. Τέλος Διαδικασίας

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


Θραύσμα 2

&OnClient Procedure Show(Command) ShowOnServer(Ονοματολογία); EndProcedure &OnServer Procedure ShowOnServer(Nomenclature) Request = New Request;

Query.Text = "ΕΠΙΛΟΓΗ ΔΙΑΦΟΡΩΝ | Σύνθεση Παραγγελίας Πελάτη. Σύνδεσμος ΩΣ Σύνδεσμος | ΑΠΟ | Έγγραφο. Παραγγελία πελάτη. Σύνθεση ΩΣ Σύνθεση παραγγελίας πελάτη | ΠΟΥ | Σύνθεση παραγγελίας πελάτη. Ονοματολογία = &Ονοματολογία";

Για να τοποθετήσετε εξωτερική επεξεργασία στην ενότητα 1C, είναι απαραίτητο να καταχωρίσετε τη διαδικασία "Πληροφορίες ΣΧΕΤΙΚΑ ΜΕ Εξωτερική επεξεργασία" στη μονάδα αντικειμένου. Από το κύριο μενού επεξεργασίας, κάντε κλικ στο Actions και επιλέξτε Object Module. Εδώ πρέπει να καταχωρήσετε όλες τις απαραίτητες ρυθμίσεις για το 1C, ώστε το σύστημα να καταλάβει τι απαιτείται από αυτό και τι είδους αρχείο βρίσκεται μπροστά του. Το στιγμιότυπο οθόνης δείχνει τον κωδικό για τη λειτουργία "Πληροφορίες ΣΧΕΤΙΚΑ ΜΕ Εξωτερική επεξεργασία".

Συνάρτηση InformationOnExternalProcessing() Export DataForReg = New Structure();

DataForReg.Insert("Όνομα","Νέα εξωτερική επεξεργασία");

DataForReg.Insert("SafeMode", True);

DataForReg.Insert("Version", "ver.: 1.001"); DataForReg.Insert("View", "AdditionalProcessing"); CommandTable = NewValueTable;


TabZnCommands.Columns.Add("Identifier"); TabZnCommands.Columns.Add("Χρήση"); TabZnCommands.Columns.Add("Προβολή");

  • NewRow = TabZnCommands.Add();
  • NewString.Identifier = "NewExternalProcessing"; NewRow.Use = "OpenForm"; NewRow.View = "Νέα εξωτερική επεξεργασία"; DataForReg.Insert("Commands", TabZnCommands);Επιστροφή DataForReg; EndFunction
  • Απόσπασμα 3 Σύνδεση εξωτερικής επεξεργασίας σε 1CΠριν συνδέσετε την εξωτερική επεξεργασία σε μια τυπική διαμόρφωση, πρέπει να ενεργοποιήσετε τη χρήση αυτού του εργαλείου. Στη «Διοίκηση» στην υποενότητα «
  • Αφού πατήσουν το κουμπί «Εγγραφή» στην επιλεγμένη ενότητα στο μενού «Πρόσθετη επεξεργασία», οι χρήστες θα βρουν την εντολή μας και θα μπορούν να τη χρησιμοποιήσουν.

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

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


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