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

Πώς να προσθέσετε πρόσθετες λεπτομέρειες σε ένα στοιχείο καταλόγου στο 1C Accounting 8.3 (αναθεώρηση 3.0)

2016-12-07T18:20:33+00:00

Συμβαίνει να μας λείπουν οι δυνατότητες που είναι ήδη διαθέσιμες στο 1C. Και δεν χρειάζεται πάντα να επικοινωνείτε με έναν προγραμματιστή. Θα σας πω για μία από αυτές τις περιπτώσεις σε σχέση με το νέο 1C: Accounting 8.3 (έκδοση 3.0).

Ας μην έχουμε αρκετά πεδία για την εισαγωγή πληροφοριών σχετικά με τους αντισυμβαλλομένους μας. Και θέλουμε να προσθέσουμε ένα νέο πεδίο, το οποίο θα ονομάζεται "Status" και θα έχει μία από τις τρεις τιμές - "High", "Medium" και "Low". Θα σας πω παρακάτω βήμα προς βήμα πώς να προσθέσετε ένα τέτοιο πεδίο χωρίς να μπείτε στο διαμορφωτή.

1. Μεταβείτε στην ενότητα "Διαχείριση" και επιλέξτε " Γενικές Ρυθμίσεις" ():

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

3. Στο αριστερό μέρος του παραθύρου ρυθμίσεων που ανοίγει, επιλέξτε «Λογαριασμός». Κάντε κλικ στο κουμπί Νέο στη γραμμή εργαλείων.

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

5. Για να δημιουργήσετε κάθε επιλογή, μεταβείτε στην καρτέλα "Τιμές", κάντε κλικ στο κουμπί "Δημιουργία" εκεί, εισαγάγετε το όνομα της τιμής (για παράδειγμα, "Υψηλή") και κάντε κλικ στο κουμπί "Αποθήκευση και κλείσιμο".

6. Και ούτω καθεξής μέχρι να δημιουργηθούν και οι τρεις τιμές με τα ονόματα "High", "Medium" και "Low" όπως φαίνεται στο παρακάτω σχήμα. Κάντε κλικ στο κουμπί "Αποθήκευση και κλείσιμο".

7. Όπως μπορείτε να δείτε, ο Αντισυμβαλλόμενος έχει πλέον το χαρακτηριστικό Status στη λίστα πρόσθετων λεπτομερειών.

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

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

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

Αυτή η μορφή

Χρησιμοποιείται στη μονάδα φόρμας, σε διαδικασίες&Στον πελάτη και &στον διακομιστή.

Σας επιτρέπει να έχετε πρόσβαση τόσο σε στοιχεία φόρμας όσο και σε λεπτομέρειες.

Η πρόσβαση στο στοιχείο φόρμας γίνεται μέσω ενός αντικειμένουΣτοιχεία και μοιάζει με αυτό:

ThisForm.Elements.VersionNumber.Header = "v."+ProgramVersion;

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

ThisForm.Advertisement Text="Γεια σας, σύντροφοι!";

Απλοποιημένη πρόσβαση σε στοιχεία και λεπτομέρειες φόρμας

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

// Στοιχείο φόρμας

Elements.VersionNumber.Title = "v."+ProgramVersion;

// Λεπτομέρειες φόρμας

Advertisement Text="Γεια σας, σύντροφοι!";

Δυνατότητες λήψης λεπτομερειών φόρμας (σημαντικό!)

Εάν το χαρακτηριστικό φόρμα έχει απλό τύπο -Συμβολοσειρά, Αριθμός, Ημερομηνία ... τότε μπορείτε να λάβετε (ορίσετε) την τιμή του χαρακτηριστικού απλά με το όνομα:

Text=ProductName; // Το όνομα προϊόντος είναι ένα χαρακτηριστικό φόρμας

Ωστόσο, με αυτόν τον τρόπο είναι αδύνατο να ληφθούν λεπτομέρειες ενός "σύνθετου" τύπου -Πίνακας Αξιών, Δέντρο των Αξιών . Όταν προσπαθείτε να λάβετε ένα χαρακτηριστικό με αυτόν τον τύπο με όνομα, ένα αντικείμενο του τύπου θα επιστραφείDataFormsCollection.

Για να λάβετε την τιμή ενός χαρακτηριστικού με τύπο "σύνθετου", πρέπει να χρησιμοποιήσετε τη συνάρτησηFormAttributesValue():

CurrentTable=FormAttributesValue("SelectedConstructionObjects");

Για να ορίσετε την τιμή ενός χαρακτηριστικού "σύνθετου", μπορείτε να χρησιμοποιήσετε τη συνάρτησηValueInFormAttributes(<Значение>, <ИмяРеквизита>) , απαιτούνται και οι δύο παράμετροι.

Λειτουργίες FormAttributesValue()Και ValueInFormAttributes()διαθέσιμο μόνο στον διακομιστή.

Ενα αντικείμενο

Αυστηρά μιλώντας, αυτό λέξη-κλειδίστο έντυπο αριθ. Απλώς, όταν δημιουργείται μια φόρμα, για παράδειγμα, μια φόρμα στοιχείου, το 1C δημιουργεί αυτόματα ένα χαρακτηριστικό στη φόρμα με το όνομαΕνα αντικείμενο . Διά μέσου αυτό το στήριγμαΟι ιδιότητες του τρέχοντος αντικειμένου που επεξεργάζεται στη φόρμα είναι διαθέσιμες.

ή, πιο πλήρης σημειογραφία:

Αυτό το Αντικείμενο

Περιέχει το ίδιο το αντικείμενο. Προορίζεται για τη λήψη ενός αντικειμένου σε μια ενότητα αντικειμένου ή μια ενότητα φόρμας.

Χρήση: Μόνο για ανάγνωση.

Διαθεσιμότητα: Διακομιστής, παχύς πελάτης, εξωτερική σύνδεση.

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

Οι λεπτομέρειες 1C είναι πεδία καταλόγου και εγγράφου που εμφανίζονται στη φόρμα για να συμπληρώσει ο χρήστης.

Ας ρίξουμε μια πιο προσεκτική ματιά στο θέμα των λεπτομερειών στο 1C.

Τι είναι το 1C Details

Κάθε κατάλογος και έγγραφο 1C αποτελείται από ένα σύνολο πεδίων. Τέτοια πεδία ονομάζονται λεπτομέρειες 1C (για προγραμματιστή 1C).

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

Δείτε πώς φαίνονται οι ίδιες λεπτομέρειες 1C στη φόρμα καταλόγου 1C.

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

Κάντε δεξί κλικ σε οποιοδήποτε χαρακτηριστικό 1C και κάντε κλικ στην επιλογή Ιδιότητες. Μια λίστα με τις ιδιότητες του επιλεγμένου χαρακτηριστικού θα ανοίξει στο παράθυρο στα δεξιά.

Κύριες ιδιότητες των λεπτομερειών 1C:

Τυπικές λεπτομέρειες 1C

Όπως παρατηρήσατε, στη φόρμα καταλόγου υπάρχουν λεπτομέρειες 1C που δεν αναφέρονται στον διαμορφωτή: ομάδα, όνομα, BIC.

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

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

Οι τυπικές λεπτομέρειες 1C μπορούν να προβληθούν ως εξής:

  • Μεταβείτε στον επεξεργαστή του αντικειμένου 1C (κατάλογος ή έγγραφο) κάνοντας διπλό κλικ πάνω του με το ποντίκι
  • Στο πρόγραμμα επεξεργασίας που ανοίγει, επιλέξτε την καρτέλα Δεδομένα
  • Εδώ μπορείτε να διαμορφώσετε τις τυπικές λεπτομέρειες Κωδικός και Όνομα του καταλόγου
  • Κάντε κλικ στο κουμπί 1C Standard Details για να δείτε την πλήρη λίστα.

Γενικές λεπτομέρειες 1C

Ξεκινώντας με την έκδοση 1C 8.2.14, ένα νέο αντικείμενο 1C εμφανίστηκε στο 1C - Γενικές λεπτομέρειες 1C. Χρησιμοποιώντας το, μπορείτε να προσθέσετε μια ιδιότητα (πεδίο) που θα υπάρχει σε πολλούς καταλόγους και έγγραφα ταυτόχρονα.

Ιδιότητες γενικών χαρακτηριστικών 1C:

  • Αυτόματη χρήση – προσθέτει γενικές λεπτομέρειες 1C σε όλους τους καταλόγους και τα έγγραφα ταυτόχρονα
  • Σύνθεση - σας επιτρέπει να προσθέτετε γενικές λεπτομέρειες 1C μόνο στους απαραίτητους καταλόγους και έγγραφα (η αυτόματη χρήση ορίζεται στη συνέχεια σε Μη χρήση).

Πώς να προσθέσετε λεπτομέρειες 1C

Κάντε δεξί κλικ στον κλάδο 1C Details του επιθυμητού καταλόγου και επιλέξτε Προσθήκη.

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

Ας προσθέσουμε ένα άλλο χαρακτηριστικό 1C με τον ίδιο τρόπο, μόνο που θα επιλέξουμε τον τύπο Boolean και θα τον ονομάσουμε "Works on Weekends".

Πώς να εμφανίσετε λεπτομέρειες σε μια φόρμα 1C (πελάτης πάχους 1C)

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

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

Στον πίνακα διαμόρφωσης, κάντε κλικ στο κουμπί "Τοποθέτηση δεδομένων". Μπορείτε επίσης να χρησιμοποιήσετε το μενού Φόρμα / Τοποθέτηση δεδομένων.

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

Πώς να εμφανίσετε λεπτομέρειες στη φόρμα 1C ( λεπτός πελάτης 1C)

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

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

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

Στοιχεία φόρμας 1C

Στο χοντρό πελάτη η φόρμα έχει τις δικές της λεπτομέρειες. Βρίσκονται στην καρτέλα Λεπτομέρειες.

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

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

Περιοδικές λεπτομέρειες 1C

Στην έκδοση 7.7 1C υπήρχαν περιοδικές λεπτομέρειες. Το νόημά τους είναι το εξής: η έννοια των στηρίξεων είναι διαφορετική σε διαφορετικές ημερομηνίες. Για παράδειγμα, η τιμή την 1η Σεπτεμβρίου είναι μία και την 1η Οκτωβρίου άλλη. Τα ίδια στηρίγματα.

Στο 1C 8 δεν υπάρχουν περιοδικές λεπτομέρειες. Αυτό υλοποιείται ως εξής:

Λεπτομέρειες φόρμας

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

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

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

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

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

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

Τύποι δεδομένων διαθέσιμοι σε διαχειριζόμενη μορφή

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

  • Οι τύποι που χρησιμοποιούνται άμεσα στη φόρμα είναι εκείνοι οι τύποι που υπάρχουν στο πλάι του thin και του προγράμματος-πελάτη Web (για παράδειγμα, Number, DirectoryLink.Products, GraphicScheme, TabularDocument).
  • τύπους που θα μετατραπούν σε ειδικούς τύπους δεδομένων—τύπους δεδομένων διαχειριζόμενης φόρμας. Τέτοιοι τύποι εμφανίζονται στη λίστα με τις λεπτομέρειες της φόρμας σε παρένθεση, για παράδειγμα (DirectoryObject.Products).
  • δυναμική λίστα (για περισσότερες λεπτομέρειες, ανατρέξτε στην ενότητα «Δυναμική λίστα» αυτού του κεφαλαίου).

Μετατροπή αντικειμένων εφαρμογής σε δεδομένα φόρμας

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

Χρησιμοποιούνται οι ακόλουθοι τύποι δεδομένων:

  • Form DataStructure – περιέχει ένα σύνολο ιδιοτήτων αυθαίρετου τύπου. Οι ιδιότητες μπορεί να είναι άλλες δομές, συλλογές ή δομές με συλλογές. Αυτός ο τύπος αναπαρίσταται, για παράδειγμα, με τη μορφή DirectoryObject.
  • Μια FormDataCollection είναι μια λίστα με πληκτρολογημένες τιμές, παρόμοια με έναν πίνακα. Η πρόσβαση σε ένα στοιχείο συλλογής γίνεται με ευρετήριο ή αναγνωριστικό. Η πρόσβαση μέσω αναγνωριστικού ενδέχεται να μην είναι διαθέσιμη σε ορισμένες περιπτώσεις. Αυτό οφείλεται στον τύπο του αντικειμένου εφαρμογής που αντιπροσωπεύεται από αυτήν τη συλλογή. Το αναγνωριστικό μπορεί να είναι οποιοσδήποτε ακέραιος αριθμός. Αυτός ο τύπος αντιπροσωπεύεται, για παράδειγμα, στη μορφή πίνακας τμήματος.
  • Το Form DataStructureWithCollection είναι ένα αντικείμενο που αναπαρίσταται ως δομή και ως συλλογή ταυτόχρονα. Μπορεί να αντιμετωπιστεί όπως οποιαδήποτε από αυτές τις οντότητες. Αυτός ο τύπος αντιπροσωπεύει, για παράδειγμα, ένα σύνολο εγγραφών σε μια φόρμα.
  • Form DataTree – ένα αντικείμενο σχεδιασμένο για την αποθήκευση ιεραρχικών δεδομένων.

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

Για παράδειγμα, ένα έγγραφο που περιέχει ένα τμήμα πίνακα θα αντιπροσωπεύεται από ένα αντικείμενο του τύπου FormDataStructure (το ίδιο το έγγραφο), στο οποίο υποτάσσεται ένα αντικείμενο του τύπου FormDataCollection (τμήμα πίνακα του εγγράφου).

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

Διαβίβαση δεδομένων μεταξύ τμημάτων πελάτη και διακομιστή μιας διαχειριζόμενης φόρμας

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

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

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

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

Μέθοδοι μετατροπής δεδομένων αντικειμένων εφαρμογής σε δεδομένα φόρμας

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

  • ValueInFormData(),
  • FormDataInValue(),
  • CopyFormData().

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

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

  • ValueInFormData() – μετατρέπει ένα αντικείμενο τύπου εφαρμογής σε δεδομένα φόρμας.
  • FormDataInValue() – μετατρέπει δεδομένα φόρμας σε αντικείμενο τύπου εφαρμογής.
  • CopyFormData() – αντιγράφει δεδομένα φόρμας που έχουν συμβατή δομή. Επιστρέφει True εάν το αντίγραφο ήταν επιτυχές ή False εάν η δομή του αντικειμένου δεν είναι συμβατή.

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

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

&OnServerProcedure When CreateOnServer (Αποτυχία, StandardProcessing)

ObjectProduct = Directories.Products.FindByName("Coffeepot").GetObject(); ValueInFormData(ObjectItem, Object);

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

&OnClient Διαδικασία Εγγραφή()

WriteOnServer();

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

Διαδικασία &OnServer WriteOnServer()

ObjectProduct = FormDataValue(Object, Type("DirectoryObject.Products")); ObjectItem.Write();

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

Το αντικείμενο ManagedForm έχει επίσης μεθόδους διαθέσιμες στον διακομιστή:

  • ValueВFormAttribute() – μετατρέπει ένα αντικείμενο τύπου εφαρμογής στο καθορισμένο χαρακτηριστικό φόρμας.
  • FormAttributeVValue() – μετατρέπει ένα χαρακτηριστικό δεδομένων φόρμας σε αντικείμενο τύπου εφαρμογής.

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

Ας δώσουμε ένα παράδειγμα χρήσης αυτών των μεθόδων.

Διαδικασία &OnServer RecalculateOnServer()

// Μετατρέπει το χαρακτηριστικό Object σε αντικείμενο εφαρμογής. Document = Form AttributesValue("Object"); // Εκτελεί εκ νέου υπολογισμό χρησιμοποιώντας τη μέθοδο που ορίζεται στη λειτουργική μονάδα εγγράφων. Document.Recalculate(); // Μετατρέπει το αντικείμενο της εφαρμογής πίσω σε υποστηρικτικό. ValueВFormAttributes (Έγγραφο, "Αντικείμενο");

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

Διεπαφή λογισμικού

FormDataTree

  • FindById
  • GetItems

Περιγραφή:

Σχεδιασμένο για να μοντελοποιεί ένα δέντρο σε δεδομένα διαχειριζόμενης μορφής.

Αυτό το αντικείμενο μπορεί να σειριοποιηθεί προς/από XDTO. Αντίστοιχος τύπος XDTO αυτό το αντικείμενοορίζεται στον χώρο ονομάτων. Όνομα τύπου XDTO:

GetItems

Σύνταξη:

GetItems()

Επιστρεφόμενη τιμή:

Τύπος: Συλλογή δεδομένων φόρμας στοιχείων δέντρου.

Περιγραφή:

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

Διαθεσιμότητα: πελάτης, διακομιστής, thin client, web client.

FindById

Σύνταξη:

FindById(<Идентификатор>)

Επιλογές:

<Идентификатор>(απαιτείται)

Τύπος: Αριθμός. Αναγνωριστικό στοιχείου δέντρου.

Επιστρεφόμενη τιμή:

Τύπος:FormDataTreeElement.

Περιγραφή:

Λαμβάνει ένα στοιχείο συλλογής με αναγνωριστικό.

Διαθεσιμότητα: πελάτης, διακομιστής, thin client, web client.

FormDataTreeItem

Ιδιότητες:

<Имя свойства> (<Имя свойства>)

  • GetId (GetId)
  • GetParent
  • GetItems
  • Ιδιοκτησία

Περιγραφή:

Στοιχείο δέντρου δεδομένων φόρμας.

FormDataTreeItemCollection

Στοιχεία συλλογής: DataFormTreeElement

Για ένα αντικείμενο, είναι δυνατή η διέλευση της συλλογής χρησιμοποιώντας τον τελεστή Για κάθε... Από... Βρόχο. Η διάβαση επιλέγει τα στοιχεία της συλλογής. Είναι δυνατή η πρόσβαση σε ένα στοιχείο συλλογής χρησιμοποιώντας τον τελεστή [...]. Το ευρετήριο του στοιχείου μεταβιβάζεται ως όρισμα.

  • Εισάγετε
  • Προσθήκη
  • Ευρετήριο (IndexOf)
  • μετρώ
  • Σαφή
  • Παίρνω
  • Κίνηση
  • Διαγράφω

Περιγραφή:

Συλλογή από ξύλινα στοιχεία.

Διαθεσιμότητα: πελάτης, διακομιστής, thin client, web client.

Δείτε επίσης:

  • FormDataTreeElement, μέθοδος GetElements
  • DataFormTree, μέθοδος GetItems

Χαρακτηριστικά της εργασίας με ένα δέντρο αξίας

Ενημέρωση δέντρου

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

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

Λύση: Πρέπει να καθαρίσετε το δέντρο πριν από την ενημέρωση.

Για παράδειγμα:

&Στη διαδικασία διακομιστή ClearTree(στοιχεία) Για κάθε στοιχείο από στοιχεία Loop ClearTree(element.GetElements()); EndCycle; στοιχεία.Clear(); Τέλος Διαδικασίας

&Στη Διαδικασία διακομιστή Συμπλήρωση δένδρων εννοιών() dConcepts = srProperties.Build Concept Tree(OnDate, Meta.CurrentIB()); ClearTree(ConceptTree.GetItems()); ValueInFormData(dConcepts, ConceptTree); Τέλος Διαδικασίας

Διαδικασία &OnClient OnDateOnChange(Element) Fill ConceptTree(); Τέλος Διαδικασίας

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

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

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

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

Ο μόνος περιορισμός των γενικών λεπτομερειών είναι η αδυναμία χρήσης τους σε .

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

Χημική ένωση— μια λίστα αντικειμένων στα οποία θα χρησιμοποιηθούν οι γενικές λεπτομέρειες· η ρύθμιση θυμίζει τη δημιουργία ενός σχεδίου ανταλλαγής.

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

Αυτόματη χρήση— η ρύθμιση καθορίζει εάν θα χρησιμοποιηθούν γενικά στηρίγματα για τα αντικείμενα που έχουν καθοριστεί η λειτουργία "Αυτόματη" χρήσης.

Διαχωρισμός δεδομένων— θα εξετάσουμε αυτήν τη ρύθμιση ξεχωριστά.

Διαχωρισμός δεδομένων σε 1C χρησιμοποιώντας κοινές λεπτομέρειες

Διαχωρισμός δεδομένων- μηχανισμός παρόμοιος με τον μηχανισμό. Ωστόσο, η απόδοση αυτού του μηχανισμού είναι πιο αποτελεσματική και είναι πιο εύκολη η διαμόρφωση.

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

Ρύθμιση διαχωρισμού δεδομένων χρησιμοποιώντας γενικές λεπτομέρειες 1C

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

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

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

Παράδειγμα χρήσης κοινών στηρίξεων

Ας δούμε τη ρύθμιση γενικών στηρίξεων στο 1C 8.3 χρησιμοποιώντας το παράδειγμα διαμόρφωσης πλαισίου και στηρίγματα Οργάνωση:

Υπάρχουν 3 έγγραφα στο σύστημα όπου είναι απαραίτητο να αναγράφονται τα στοιχεία του Οργανισμού: αυτά είναι το Τιμολόγιο Απόδειξης, το Τιμολόγιο Δαπανών και το Μισθολόγιο.

Η ρύθμιση είναι απλή:

  1. Δημιουργούμε ένα νέο Γενικό χαρακτηριστικό, καθορίζουμε τον τύπο - DirectoryLink.Organization.
  2. Στη σύνθεση κανονίζουμε τα έγγραφά μας - Χρήση.

Αυτό ήταν, η ρύθμιση ολοκληρώθηκε!

Ας δούμε το αποτέλεσμα:

Το σύστημα εμφανίζει γενικές λεπτομέρειες "σαν να ήταν δικές σας": σε αιτήματα, σε λεπτομέρειες φόρμας και σε άλλα μέρη. Αυτή είναι μια τέτοια μαγεία! 🙂

Γενικές προϋποθέσεις 1C 8.3 δεν προστίθενται