Αποτελέσματα αναζήτησης κατά φόρμα επιλογής. Κατασκευαστής σχήματος σύνθεσης δεδομένων - καρτέλα ρυθμίσεων 1s επιλογές επεξεργασίας skd

Προσοχή! Ακολουθεί μια δοκιμαστική έκδοση του μαθήματος, το υλικό του οποίου μπορεί να μην είναι πλήρες.

Συνδεθείτε ως φοιτητής

Συνδεθείτε ως μαθητής για πρόσβαση στο σχολικό περιεχόμενο

1C 8.3 Σύστημα σύνθεσης δεδομένων για αρχάριους: δημιουργία σύνδεσης μεταξύ συνόλων δεδομένων

  • Γράψτε μια αναφορά που εμφανίζει τους πελάτες και τα αγαπημένα τους προϊόντα. Κάθε πελάτης έχει ένα αγαπημένο χρώμα και κάθε προϊόν έχει το δικό του χρώμα - με βάση αυτά τα χρώματα πρέπει να προσδιορίσετε το "αγαπημένο" του προϊόντος. Για παράδειγμα, αν το αγαπημένο χρώμα του Αντρέι είναι το κόκκινο, τότε ένα από τα αγαπημένα του φαγητά θα είναι οι ντομάτες (είναι κόκκινες).
  • Εφαρμόστε δύο σετ δεδομένων στην αναφορά. Το πρώτο σύνολο είναι δεδομένα από τον πίνακα αναφοράς "Πελάτες". Το δεύτερο - δεδομένα από τον πίνακα του βιβλίου αναφοράς "Τρόφιμα".
  • Υλοποιώ, εφαρμόζω σύνδεση αυτών των δύο συνόλωνώστε να παραμένουν στην αναφορά μόνο τα αγαπημένα προϊόντα για κάθε έναν από τους πελάτες.

Δημιουργία νέας αναφοράς

Ανοίξτε τη βάση δεδομένων "Gastronom" στο πρόγραμμα διαμόρφωσης και δημιουργήστε μια νέα αναφορά μέσω του κύριου μενού:

Τύπος εγγράφου - "Εξωτερική αναφορά":

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

Αφήστε το προεπιλεγμένο όνομα σχήματος:

Προσθήκη του πρώτου συνόλου δεδομένων

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

Καλούμε τον κατασκευαστή ερωτήματος:

Καθορίστε τον πίνακα "Πελάτες" και τα πεδία που θέλετε να λάβετε από το ερώτημα:

Προσθήκη δεύτερου συνόλου δεδομένων

Προσθήκη δεύτερου συνόλου δεδομένων:

Επιλέξτε το (DataSet2) και καλέστε ξανά τον κατασκευαστή ερωτήματος:

Καθορίστε τον πίνακα του βιβλίου αναφοράς "Τρόφιμα" και τα πεδία που θέλετε να λάβετε από το αίτημα:

Αυτό είναι το κείμενο της αίτησης:

Λάβετε υπόψη ότι τώρα έχουμε δύο σύνολα δεδομένων στην αναφορά: DataSet1 και DataSet2. Το καθένα έχει το δικό του κείμενο αιτήματος και δεδομένα.

Κάνοντας τα ονόματα πιο περιγραφικά

Για λόγους σαφήνειας, ας μετονομάσουμε το Dataset1 σε Clients και το Dataset2 σε Food.

Κάντε το κάνοντας διπλό κλικ σε καθένα από τα σετ:

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

V αυτή τη στιγμήτο σετ "Πελάτες" έχει τα ακόλουθα πεδία: "Όνομα" και "ΑγαπημένοΧρώμα" και το σετ "Τρόφιμα": "Όνομα" και "Χρώμα".

Βλέπουμε ότι τα ονόματα τέμνονται και μπορούμε εύκολα να μπερδευτούμε. Ας αλλάξουμε λοιπόν τα ονόματα των πεδίων για να είναι πιο περιγραφικά.

Επιλέξτε το σύνολο "Πελάτες" και αλλάξτε τα ονόματα των πεδίων ως εξής:

Στη συνέχεια, επιλέξτε το σετ "Τρόφιμα" και αλλάξτε τα ονόματα των πεδίων ως εξής:

Κλήση του κατασκευαστή ρυθμίσεων

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

Τύπος αναφοράς - "Λίστα...":

Επιλέξτε πεδία για την αναφορά και από τα δύο σύνολα:

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

Έλεγχος της αναφοράς

Αποθηκεύουμε την αναφορά και τη δημιουργούμε σε λειτουργία χρήστη:

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

Αλλά από όλες αυτές τις εγγραφές, πρέπει να αφήσουμε μόνο εκείνες για τις οποίες το πεδίο "FavoriteCustomerColor" είναι ίσο με το πεδίο "FoodColor":

Σύνδεση δύο συνόλων δεδομένων

Για να γίνει αυτό, ας συνδέσουμε δύο σύνολα δεδομένων (Πελάτες και Τρόφιμα) με τα πεδία Αγαπημένο Χρώμα και Χρώμα Τροφίμων του Πελάτη.

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

Ρυθμίστε τις παραμέτρους όπως φαίνεται παρακάτω:

Θα κάνω μια εξήγηση.

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

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

έκφραση δέκτη.Υποδεικνύουμε εδώ μια έκφραση ή απλώς ένα πεδίο από το σύνολο δεδομένων του δέκτη (δηλώσαμε το πεδίο Χρώμα τροφίμων από το σύνολο τροφίμων εδώ).

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

Αποθηκεύστε την αναφορά και εκτελέστε την σε λειτουργία χρήστη:

Πρόστιμο!

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

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

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

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

Στο εργαλείο δημιουργίας ερωτημάτων, όταν καλείται από τη φόρμα ρύθμισης προέλευσης δεδομένων, για το σχήμα σύνθεσης δεδομένων. Υπάρχει μια καρτέλα "χαρακτηριστικά", η χρήση της οποίας δεν περιγράφεται σαφώς στην τεκμηρίωση. Σε αυτό το άρθρο θα προσπαθήσω να εξηγήσω πώς και γιατί χρησιμοποιούνται τα χαρακτηριστικά στο ACS. V τυπικές διαμορφώσεις χρησιμοποιείται ενεργά ο μηχανισμός των ιδιοτήτων και των τιμών των ιδιοτήτων, ο οποίος είναι διαθέσιμος για σχεδόν οποιοδήποτε αντικείμενο. Αρχικά, στα βιβλία αναφοράς, αυτός ο μηχανισμός εφαρμόστηκε σε 7,7 διαμορφώσεις. Τώρα αυτός ο μηχανισμός εφαρμόζεται χρησιμοποιώντας ένα σχέδιο τύπων χαρακτηριστικών και ένα μητρώο πληροφοριών, αλλά η ιδέα παραμένει η ίδια. Όταν συνάντησα για πρώτη φορά την ανάγκη να χρησιμοποιήσω αυτόν τον μηχανισμό στο σύστημα ACS, υπέφερα για πολύ καιρό, οργάνωσα ένθετα ερωτήματα, συνδέθηκα με την κύρια επιλογή και προβληματίστηκα σχετικά με το πώς να λάβω υπόψη την πιθανότητα νέων τύπων ιδιοκτησιών που δεν υπάρχουν κατά τη στιγμή της ανάπτυξης της έκθεσης. Όλος ο μηχανισμός των ιδιοτήτων, όντας απλός και λογικός από τη σκοπιά του χρήστη, δεν προσφέρεται για καμία κανονική επεξεργασία μέχρι να καταλάβω την καρτέλα "Χαρακτηριστικά". Ο πίνακας στην καρτέλα είναι πολύ ιδιότροπος, είτε εισάγετε σωστά ολόκληρη τη γραμμή είτε αρνηθείτε να εισαγάγετε καθόλου τη γραμμή, το σύστημα δεν θα σας επιτρέψει να αφήσετε "για αργότερα" μια γραμμή που δεν είναι πλήρως γεμάτη. Λοιπόν, ας πάμε στα συγκεκριμένα. Πρώτη στήλη: Τύπος - εδώ επιλέγουμε τον τύπο του αντικειμένου στο οποίο θα δεσμευτούν τα χαρακτηριστικά, για παράδειγμα, "DirectoryReference.Nomenclature" Αυτό σημαίνει ότι τώρα θα είναι δυνατή η λήψη τιμών ιδιοτήτων για όλα τα αντικείμενα του καθορισμένου τύπου. Στη συνέχεια, στην επόμενη στήλη Πηγή προβολών, πρέπει να ορίσουμε τις παραμέτρους της πηγής των τύπων ιδιοτήτων. Οι επιλογές πίνακα και ερωτήματος είναι δυνατές, γιατί χρειάζομαι την επιλογή ερωτήματος θα σας πω αργότερα, τώρα θα επιλέξουμε το στοιχείο πίνακα. Στη στήλη Τύποι χαρακτηριστικών, πρέπει να επιλέξουμε τον πίνακα της βάσης πληροφοριών που αποθηκεύει τους απαιτούμενους τύπους χαρακτηριστικών, στο παράδειγμά μας θα είναι "Σχέδιο τύπων χαρακτηριστικών. Ιδιότητες αντικειμένων". Επιπλέον, οι τιμές που είναι διαθέσιμες για επιλογή στις στήλες Key Field, Name Field και Value Type Field εξαρτώνται άμεσα από τα πεδία του πίνακα που έχουμε επιλέξει. Στο πεδίο Κλειδί επιλέγουμε Σύνδεσμος, στο πεδίο Όνομα - Προβολή (ο χρήστης θα το δει ως όνομα χαρακτηριστικού) και στο πεδίο Τύπος, αντίστοιχα, ValueType. Τώρα ας περάσουμε στην πηγή των αξιών. Η πηγή των τιμών θα είναι το μητρώο πληροφοριών «Αξίες ιδιοτήτων αντικειμένων», επομένως επιλέγουμε στη στήλη Πηγή τιμών - τον πίνακα και στη στήλη Τιμές χαρακτηριστικών - «Μητρώο πληροφοριών Τιμές Ιδιοτήτων Αντικειμένων». Στις στήλες Object, Property, Value, επιλέξτε τα αντίστοιχα πεδία του μητρώου Object, Property, Value. Φαίνεται ότι αυτό είναι όλο. Πηγαίνουμε στις ρυθμίσεις του σχήματος, προσθέτουμε μια ομαδοποίηση κατά προϊόντα και προσθέτουμε μια δευτερεύουσα ομαδοποίηση σε αυτήν, για παράδειγμα, κατά Brands, έχουμε μια τέτοια ιδιότητα. Επεκτείνουμε τη λίστα των χαρακτηριστικών της ομαδοποίησης Ονοματολογίας και ... δεν βλέπουμε ιδιότητες εκεί: Το γεγονός είναι ότι βρισκόμαστε στον διαμορφωτή, από όπου δεν υπάρχει πρόσβαση στα δεδομένα. Πώς να κάνετε την επιθυμητή ρύθμιση; Ο πιο βολικός τρόπος για να το κάνετε αυτό είναι να χρησιμοποιήσετε την κονσόλα σύνθεσης δεδομένων, αυτή στο δίσκο ITS ή αυτή που περιλαμβάνεται στο υποσύστημα «Εργαλεία προγραμματιστή». Αλλά μπορείτε επίσης απλώς να ανοίξετε τη ρύθμιση αναφοράς σε Enterprise Mode. Λοιπόν, ας ανοίξουμε την ίδια ρύθμιση, αλλά σε λειτουργία επιχείρησης: Όπως μπορείτε να δείτε, προσθέσαμε νέα "Λεπτομέρειες", ενώ...

Ε: SKD, πώς να ανοίξετε την επιλογή επιθυμητό σχήμαεπιλογή?


Καλή μέρα! Υπάρχει μια αναφορά για το ACS, έχει την παράμετρο Brand - τον τύπο Directory.Nomenclature. Πώς μπορώ να καλέσω μια συγκεκριμένη φόρμα επιλογής για αυτήν την παράμετρο; Το δοκίμασα στο ACS στην καρτέλα "Παράμετροι", σηκώθηκα στην επιθυμητή παράμετρο - κάντε διπλό κλικ στη στήλη "Επιλογές επεξεργασίας" - επιλέξτε το πλαίσιο ελέγχου "Επιλογή φόρμας" και πληκτρολογήστε την τιμή Directory.Nomenclature.Form.VoiceFormNecessary . Όταν εκτελείτε την αναφορά, η φόρμα επιλογής εξακολουθεί να χρησιμοποιείται από προεπιλογή και όχι αυτή που καθορίζεται στην "Επιλογή φόρμας". Διαμόρφωση UT, κανονικά σχήματα. Πες μου, pzhl, πού, τι συμβαίνει;

Απάντηση: Φράση κλειδίΣυνήθεις φόρμες, μετάβαση σε διαχειριζόμενες

Ερώτηση: Επιλέξτε μια τιμή στη φόρμα επιλογής


Καλή μέρα!

Τακτική εφαρμογή.

Υπάρχει ένα έγγραφο. Έχει πολλά απαιτούμενα τύπου αναφοράς, για παράδειγμα "DirectoryLink.Banks", με την τιμή "Bank1".

Είναι απαραίτητο με τη μορφή επιλογής του καταλόγου «Τράπεζες», ΕΠΙΛΕΞΤΕ μέσω προγραμματισμού το στοιχείο «Τράπεζα1», π.χ. πληκτρολογήστε επιλέξτε ξανά αυτήν την τιμή "Bank1".

Μέχρι στιγμής έχω κάνει τα εξής:
Διαδικασία Perform SelectionIn SelectionForm(Reference)
DirectorySelectionForm = Directories.Banks.GetChoiceForm(,Reference); //λάβετε τη φόρμα για την επιλογή του καταλόγου Τραπεζών από την περασμένη παράμετρο Link
//Ρύθμισα την επιλογή σε αυτήν τη φόρμα επιλογής, σύμφωνα με τον σύνδεσμό μου στα στηρίγματα
HandbookChoiceForm.Selection.Reference.Use = true;
DirectoryChoiceForm.Selection.Link.Value = σύνδεσμος;
CatalogSelectionForm.FormElements.CatalogList.HierarchicalView = False;
HandbookChoiceForm.Open();
//εδώ είναι ο κώδικας που προσομοιώνει το πάτημα του κουμπιού Επιλογή, πώς;;;;
Τελική Διαδικασία

Βοηθήστε, που αντιμετώπισαν, ή έχουν ιδέες.

Σας ευχαριστώ.

Απάντηση:

Το έκανε έτσι:

Διαδικασία ExecuteChoiceInChoiceForm(Link, rec) //παράμετρος "reference" είναι ένας σύνδεσμος τιμής στη φόρμα εγγράφου. Το "rec" είναι το στοιχείο της τρέχουσας μορφής, δηλ. πλαίσιο επιλογής
Dictionary Selection Form = Directories.Banks.Get SelectionForm(,Rec,Reference);
CatalogSelectionForm.FormElements.CatalogList.HierarchicalView = False;
OpenForm(FormChooseCatalog, rivers,);

IfCatalogSelectionForm.Open() Στη συνέχεια
HandbookChoiceForm.Activate();
Τέλος εαν;

HandbookChoiceForm.CurrentItem.CurrentRow = σύνδεσμος;
ChoiceEl = FormCategoryChoice.CurrentItem.CurrentRow;

Εάν ChoiceEl = απροσδιόριστη ή NOT τιμή συμπληρωμένη (ChoiceEl) τότε
Show("Η τιμή "+Reference+" δεν βρέθηκε στη φόρμα επιλογής αναζήτησης");
σε διαφορετική περίπτωση
Φόρμα επιλογής εγχειριδίου.NotifyOfChoice(ChoiceEmail);
Τέλος εαν;

Τελική Διαδικασία

Ερώτηση: Το κουμπί "Επιλογή" στη φόρμα επιλογής ή πώς να κάνετε κλικ στο κουμπί "Επιλογή".


Καλή μέρα!

Τακτική εφαρμογή.

Ποιες είναι οι σκέψεις σας για το πώς να κάνετε κλικ στο κουμπί "Επιλογή" στη φόρμα επιλογής εγγράφου/καταλόγου;

Το κλικ με το ποντίκι και το COM δεν προσφέρει αυτοματοποίηση.

Λίστα επιθυμιών: στη φόρμα επιλογής, προσομοιώστε πατώντας το κουμπί "Επιλογή".

Απάντηση:Φαίνεται ότι έλυσε το πρόβλημα ... μερικές δοκιμαστικές διαδρομές.

Προστέθηκε μετά από 17 λεπτά
Μέχρι στιγμής λειτουργεί ως εξής:

1C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Διαδικασία Perform SelectionIn SelectionForm (Αναφορά , rec) //παράμετρος "link" είναι ένας σύνδεσμος τιμής στη φόρμα εγγράφου. Το "rec" είναι το στοιχείο της τρέχουσας μορφής, δηλ. πλαίσιο επιλογής DirectorySelectionForm = Κατάλογοι . Τράπεζες. GetSelectionForm(, Req, Link ) ; FormChoiceDirectory. ElementsForm. Κατάλογος Καταλόγου. HierarchicalView = False ; OpenForm(DirectoryChoiceForm, rivers, ); IfFormSelectionDirectory. Opened() Στη συνέχεια HandbookChoiceForm. Activate() ; Τέλος εαν ; FormChoiceDirectory. CurrentElement. CurrentLine = σύνδεσμος ; ChoiceEl = FormChoiceCatalog. CurrentElement. Τρέχουσα Γραμμή ; εάν ChoiceEmail = απροσδιόριστο ή ΔΕΝ έχει συμπληρωθεί η τιμή (ChoiceEmail) τότε Αναφορά ("Τιμή" + Αναφορά + "δεν βρέθηκε στη φόρμα επιλογής αναζήτησης") ; Διαφορετικά, το HandbookChoiceForm. Ειδοποίηση aboutChoice(ChoiceEl); Τέλος εαν ; Τελική Διαδικασία

Ερώτηση: Γιατί δεν είναι πλέον επιλεγμένη η τιμή από τη φόρμα επιλογής;


Υπάρχει ένα πεδίο στη φόρμα εγγράφου του τύπου αναφοράς DocumentLink.PaymentOrderOutgoing. Όταν επιλεγεί, ανοίγει μια φόρμα για την επιλογή μιας εξερχόμενης εντολής πληρωμής. Μόλις επιλεγεί μια τιμή, δεν αντικαθίσταται στη φόρμα όπως έχει επιλεγεί. Στην αρχή σκέφτηκα ότι η επεξεργασία της επιλογής στην τυπική επεξεργασία και το πρόγραμμα ξέχασε να ορίσει την επεξεργασία της επιλογής. Όλα όμως είναι τυπικά. Το άνοιγμα της φόρμας δεν είναι προγραμματικό, στο πεδίο στο οποίο επιλέγω να μην διεξάγω εκδηλώσεις. Τι θα μπορούσε να είναι;
--- Ένας σύλλογοςμηνύματα, 2 Ιανουαρίου 2018 ---

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

Απάντηση:

Γενικά κατανοητό. Χρήσιμο για να δείτε τι εμφανίζεται στο SelectedValue κατά την επεξεργασία της επιλογής. Αποδείχθηκε ότι ήταν μια συστοιχία. Μπήκα στις φόρμες επιλογής, αποδείχτηκε ότι υπάρχει jackdaw Πολλαπλή επιλογή. Το έβγαλε και όλα λειτούργησαν.

Ερώτηση: Παρακαλώ βοηθήστε με να ορίσω την επιλογή στη φόρμα επιλογής καταλόγου


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

Απάντηση:

Ο elektron είπε:

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

Κάντε κλικ για να αποκαλύψετε...

Αποφασίστηκε. Δημιούργησε ένα εικονικό πληκτρολόγιο στη φόρμα επιλογής του καταλόγου "Εργολάβοι".
Όταν πατάτε οποιοδήποτε πλήκτρο, ενεργοποιείται ο κωδικός
ResultSearchByAttribute = CurrentRequest.FindByName(N,False);
FormElements.CatalogList.CurrentLine=SearchResultByAttribute;
όπου H είναι μια μεταβλητή που περιέχει την τιμή του κλειδιού

Ερώτηση: Φόρμα επιλογής με επιλογή για λίστα τιμών


Καλό απόγευμα. Χρειάζομαι τη βοήθειά σας για να λύσω ένα απλό πρόβλημα.

Config ZUP 2 .5 .113 .1 Υπάρχει μια εξωτερική αναφορά, η αναφορά έχει το χαρακτηριστικό "λίστα βάσεων", τύπος λίστας τιμών.
Υπάρχει μια φόρμα αναφοράς. Στη φόρμα αναφοράς, το πεδίο "εισαγωγή λίστας βάσεων", ValueType = "ValueList" και ListValueType = "ReferenceReference.ObjectPropertyValue".

Πώς να ανοίξετε μια φόρμα επιλογής με επιλογή από τον ιδιοκτήτη κάποιου ακινήτου;

Ευχαριστώ εκ των προτέρων!

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

Ερώτηση: Ανοίξτε μέσω προγραμματισμού τη φόρμα επιλογής εγγράφου 1s 8.3


Πώς να ανοίξετε μέσω προγραμματισμού τη φόρμα επιλογής εγγράφου 1s 8.3 και να αποθηκεύσετε την επιλεγμένη τιμή σε μια μεταβλητή;

Η Google έδωσε κάποιες λύσεις για δεκανίκι, θα ήθελα να μάθω πώς να το κάνω σωστά.

Απάντηση:+ () Το PM έχει επίσης μια τέτοια μαγική μέθοδο - λήψη.

Τομή σε πίνακα
Φορτώνω
Σύνταξη:

Κατεβάστε(<Таблица>)
Παράμετροι:

<Таблица>(απαιτείται) Τύπος: ValueTable.
Πίνακας τιμών από όπου φορτώθηκε πίνακας τμήμα. Οι στήλες του πίνακα συνδυάζονται με το όνομα.
Περιγραφή:

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

Διαθεσιμότητα:

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

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

Composition.Load(CompositionTable);

Ερώτηση: Διαβίβαση παραμέτρων στη φόρμα επιλογής.


Ζητώ υποδείξεις.
Από το έγγραφο «Πωλήσεις αγαθών και υπηρεσιών» ονομάζεται η φόρμα επιλογής συμβολαίου (ERP). Το conf διορθώνεται, το συγκρίνω με το τυπικό. Στο ProcessingCreationOnServer της φόρμας επιλογής, κοιτάζω το πρόγραμμα εντοπισμού σφαλμάτων Parameters.Selection. Απλώς δεν μπορώ να καταλάβω πώς σχηματίζεται η λίστα επιλογής - δεν υπάρχει ρητή κλήση σε αυτήν τη φόρμα με παραμέτρους, υπάρχει μόνο ένα στοιχείο επιλογής στην ιδιότητα "ChoiceParametersConnection" και υπάρχουν ήδη πολλά στο Parameters.Filter. Μπορεί κάποιος να μου πει πού να κοιτάξω.

Δυνατότητες δημιουργίας αναφορών σε 1C v8 σε λειτουργία παχύρρευστου πελάτη

Πώς να επιλέξετε μια επιλογή;

  • Στον πίνακα αναφοράς τοποθετούμε το κουμπί "Επιλογή επιλογής"
  • Στη φόρμα βάζουμε το πεδίο "OnDate"

Παράδειγμα κώδικα: Form Action ProcedureOptionSelection(Button) layout = GetLayout("MainDataCompositionScheme"); spOptions = New ValueList; Για κάθε επιλογή από Layout.OptionsSettings Loop spOptions.Add(Option.Settings, Option.View); EndCycle;

select = spOptions.SelectItem(); Εάν επιλέξτε = Απροσδιόριστο Στη συνέχεια Επιστροφή; Τέλος εαν;

SettingsComposer.LoadSettings(selection.Value);

Μορφή(); Τελική Διαδικασία

Διαδικασία OnDateOnChange(Element) Generate(); Τελική Διαδικασία

Διαδικασία Form() Form Elements.Result.Clear(); SettingsComposer.Settings.DataParameters.SetParameterValue("Period", OnDate); ComposeResult(FormElements.Result); Τελική Διαδικασία

Διαδικασία OnOpening() OnDate = CurrentDate(); Μορφή(); Τελική Διαδικασία

Δυνατότητες δημιουργίας αναφορών μέσω ACS

Δημιουργία αναφοράς βήμα προς βήμα

  1. Δημιουργήστε μια αναφορά στον κόμβο Αναφορές
  2. Δημιουργήστε μια διάταξη σε μια αναφορά του οποίου ο τύπος είναι Σχήμα σύνθεσης δεδομένων
  3. Στις ιδιότητες αναφοράς, ορίστε: Σχήμα σύνθεσης κύριου δεδομένων = Δημιουργημένη διάταξη
  4. Στις ιδιότητες της αναφοράς, ορίστε το υποσύστημα στο οποίο ανήκει (η αναφορά στο Enterprise θα εμφανίζεται στον επάνω πίνακα πλοήγησης)
  5. Δημιουργήστε ένα ερώτημα στο Layout (στοιχείο: Προσθήκη δεδομένων - Ερώτημα)
  6. Στην καρτέλα Παράμετροι της Διάταξης, πρέπει να καταργήσετε την επιλογή όλων των γραμμών στη στήλη Περιορισμός προσβασιμότητας - π.χ. όλες οι παράμετροι θα είναι επεξεργάσιμες από τον χρήστη
  7. Στην καρτέλα Ρυθμίσεις της Διάταξης, στο παράθυρο όπου εμφανίζεται ο κόμβος αναφοράς, δημιουργήστε μια νέα ομαδοποίηση χωρίς να καθορίσετε το πεδίο ομαδοποίησης - θα δημιουργηθεί μια λεπτομερής γραμμή
  8. Στην καρτέλα Ρυθμίσεις της Διάταξης, στο παράθυρο όπου επιπλέον σετσελιδοδείκτες, επιλέξτε επιπλέον την καρτέλα Παράμετροι - επισημάνετε όλες τις παραμέτρους με ένα σημάδι επιλογής και σε κάθε παράμετρο κάντε κλικ στο κουμπί Ιδιότητες του στοιχείου ρυθμίσεων χρήστη, θα ανοίξει το παράθυρο ρυθμίσεων παραμέτρων, όπου πρέπει να επιλέξετε το πλαίσιο - Συμπερίληψη παραμέτρου στις ρυθμίσεις χρήστη
  9. Στην καρτέλα Ρυθμίσεις της Διάταξης, στο παράθυρο όπου εμφανίζεται ένα επιπλέον σύνολο σελιδοδεικτών, επιλέξτε επιπλέον. σελιδοδείκτης SelectedFields - εκεί πρέπει να προσθέσετε στήλες που θα εμφανίζονται στην αναφορά
  10. Ξεκινήστε το Enterprise, ανοίξτε την αναφορά, ορίστε τις τιμές παραμέτρων, Δημιουργία (ελέγξτε ότι είναι επιλεγμένη η Βασική επιλογή για τη δημιουργία της αναφοράς)

Πώς να προσθέσετε μια παράμετρο μη επεξεργάσιμη από το χρήστη;

Για παράδειγμα, πρέπει να ορίσουμε την παράμετρο ερωτήματος "Infobase"

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


  • Στη μονάδα φόρμας αναφοράς, στον χειριστή συμβάντων "On VariantLoadOnServer" (είναι επίσης δυνατό OnOpening, αλλά ΟΧΙ OnCreatingOnServer, επειδή εκτελείται ΠΡΙΝ φορτωθούν οι ρυθμίσεις αναφοράς και οι ρυθμίσεις θα αντικατασταθούν) ορίστε μέσω προγραμματισμού την παράμετρο:

Διαδικασία &OnServer WhenLoadingVariantOnServer(Ρυθμίσεις)

//Ρύθμιση της παραμέτρου Settings = Report.Settings Composer.Settings; Settings.DataParameters.SetParameterValue("InfoBase", Report.InfoBase); Τελική Διαδικασία

Πώς να ορίσετε τις επιλογές αναφοράς;

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

Πώς να ορίσετε ομαδοποιήσεις;

  • Στη φόρμα διάταξης στην καρτέλα Ρυθμίσεις στο πεδίο επάνω δεξιά, μπορείτε να δημιουργήσετε τις απαραίτητες ομαδοποιήσεις

Πώς να εμφανίσετε μέσω προγραμματισμού μια αναφορά;

Στη μονάδα φόρμας:

&Στη διαδικασία πελάτη GenerateReportExecute()

ThisForm.ComposeResult();

Τελική Διαδικασία

Πώς να δοκιμάσετε μια αναφορά;

Πρέπει να κάνετε:

  • Η διαμόρφωση μιας κατάστασης σε μια δοκιμή πελάτη είναι πιο βολική μέσω ενός πίνακα καταστάσεων
  • λήψη φόρμας αναφοράς - φόρμα = GetForm("Report.ProcessMovement.Form.ReportForm");
  • Κατεβάστε επιθυμητή επιλογήαναφορά - ορίστε την παράμετρο επέκτασης φόρμας αναφοράς "VariantKey" (το όνομα της ρύθμισης στη διάταξη σύνθεσης δεδομένων)
  • φόρτωση των απαιτούμενων ρυθμίσεων αναφοράς - ? Η συμπλήρωση της παραμέτρου επέκτασης φόρμας αναφοράς "UserSettings" (τύπος "DataCompositionUserSettings") δεν λειτούργησε έτσι, όλα είναι περίπλοκα, δείτε παρακάτω.
  • open form - form.Open()
  • execute formation - form.ComposeResult();
  • ελέγξτε το περιεχόμενο έγγραφο υπολογιστικού φύλλου form.Result - θα ήταν ωραίο να υπάρχουν συναρτήσεις σύγκρισης με την αναφορά mxl
  • Close form - form.Close(); - ή ίσως δεν μπορείτε να το ανοίξετε, πρέπει να ελέγξετε

δείτε επίσης

  • περιγραφή: Μενού βοήθειας/Βοηθός σύνταξης/καρτέλα Περιεχόμενα/Αντικείμενα/Επεκτάσεις διασύνδεσης εφαρμογών διαχείρισης διαχειριζόμενη φόρμα/Επέκταση της διαχειριζόμενης φόρμας για τις παραμέτρους αναφοράς/Φόρμας

Πώς να φορτώσετε τις απαιτούμενες ρυθμίσεις αναφοράς;

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

Πραγματικά λειτουργικό σχέδιο:

1. Δημιουργήστε παραμέτρους στην αναφορά

  • Τύπος περιόδου StandardPeriod
  • Επιλογή του τύπου ValueList (θα ήταν καλύτερα να υπάρχει Δομή, αλλά δεν υπάρχει στη λίστα τύπων παραμέτρων, καθώς και αυθαίρετος τύπος)

2. Περάστε τις απαιτούμενες παραμέτρους στη διαδικασία GetForm:

περίοδος = New StandardPeriod; period.Variant = VariantStandardPeriod.CustomPeriod; period.StartDate = τρέχουσαΗμερομηνία; period.EndDate = αύριοΗμερομηνία;

επιλογή = Νέα λίστα τιμών. selection.Add(Testing.GetObject(stSituation, "BP1"), "BusinessProcess");

stParameters = Νέα δομή ("OptionKey, Period, Filter", "Main", τελεία, φίλτρο); // OpenFormModally("Report.ProcessMovement.Form.ReportForm", stParameters); form = GetForm("Report.ProcessMovement.Form.ReportForm", stParameters);

3. Ορίστε τις παραμέτρους στους χειριστές συμβάντων φόρμας

Συνάρτηση &AtServer cGet(cList, View) Εξαγωγή για κάθε στοιχείο από ListList Βρόχος Εάν item.View = view Στη συνέχεια Return item.Value; Τέλος εαν; EndCycle; Επιστροφή Απροσδιόριστη. EndFunctions

Διαδικασία &AtServer SetUserSettingValue(Settings, Name, Value) Για κάθε στοιχείο από Setting.Elements Loop If ValueType(element) = Type("DataCompositionSettingsParameterValue") Στη συνέχεια, If String(element.Parameter) = Name then element.Value = Value; στοιχείο.Χρήση = true; Τέλος εαν; Τέλος εαν; EndCycle; Τελική Διαδικασία

Διαδικασία &AtServer SetCustomFilterValue(Ρυθμίσεις, όνομα, τιμή) Για κάθε στοιχείο από Settings.Elements Loop If ValueType(στοιχείο) = Τύπος("Επιλογή Σύνθεσης Δεδομένων") Στη συνέχεια για κάθε Επιλογή Στοιχείων.Στοιχεία Από Στοιχεία Βρόχος Εάν Συμβολοσειρά(selection.LeftValue) Στη συνέχεια επιλέξτε .RightValue = Value; επιλογή.Χρήση = true; Τέλος εαν; EndCycle; Τέλος εαν; EndCycle; Τελική Διαδικασία

Διαδικασία &OnServer WhenLoadingVariantOnServer(Ρυθμίσεις)

CurrentVariantName = CurrentVariantRepresentation;

Ρυθμίσεις = Report.SettingsComposer.Settings; Settings.DataParameters.SetParameterValue("InfoBase", Report.InfoBase);

Τελική Διαδικασία

Διαδικασία &AtServer WhenLoadingCustomSettingsAtServer(Settings) Settings = Report.SettingsComposer.UserSettings;

<>"00010101" Στη συνέχεια Ρυθμίσεις = Report.SettingsComposer.UserSettings; SetUserSettingValue(Ρυθμίσεις, "Period", Parameters.Period); Τέλος εαν;

ssBusinessProcess = spGet(Parameters.Filter, "BusinessProcess"); Εάν ssBusinessProcess<>Undefined then SetCustomFilterValue(Ρυθμίσεις, "BusinessProcess", sBusinessProcess); Τέλος εαν;

Τελική Διαδικασία

Σημειώσεις:

  • Υπάρχουν Παράμετροι Δεδομένων, δηλαδή ό,τι ορίζεται στις παραμέτρους ερωτήματος του ACS
  • Ορισμένα από αυτά έχουν εκχωρηθεί στη ρύθμιση παραλλαγής στις Ρυθμίσεις χρήστη (στις ιδιότητες παραμέτρων υπάρχει μια σημαία "Συμπερίληψη στις ρυθμίσεις χρήστη"
  • Ακόμα κι αν, κατά τη φόρτωση στον διακομιστή, φορτωθούν οι απαραίτητες τιμές στις παραμέτρους δεδομένων, τότε ανοίγει μια φόρμα στην οποία φορτώνονται αυτόματα οι ρυθμίσεις που αποθηκεύτηκαν την τελευταία φορά. Αυτές οι ρυθμίσεις "παρακάμπτουν" τις ρυθμίσεις δεδομένων κατά τη δημιουργία μιας αναφοράς
  • Στο πρόγραμμα χειρισμού OnLoadingUserSettingsOnServer, το αντικείμενο Ρυθμίσεις που πέρασε είναι αντίγραφοπραγματικές ρυθμίσεις, επομένως για να αλλάξετε τις ρυθμίσεις που θα εμφανίζονται στη φόρμα, πρέπει να συμπληρώσετε το αντικείμενο Report.SettingsComposer.UserSettings

Πώς να δημιουργήσετε πολλαπλές παραμέτρους ερωτήματος (λίστα) στο SKD;

Το ερώτημα πρέπει να χρησιμοποιεί την έκφραση "Στο (&ParameterName)"(δείτε εκφράσεις Boolean στη γλώσσα ερωτήματος 1Cv8)

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

Πώς να κάνετε απενεργοποιημένες παραμέτρους ερωτήματος στο SKD;

Στο ερώτημα SKD, πρέπει να χρησιμοποιήσετε κατασκευές που περιβάλλονται από σγουρά στηρίγματα "{}" .

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

Για περισσότερες λεπτομέρειες, βλ Επέκταση γλώσσας ερωτήματος για σύστημα σύνθεσης δεδομένων (1Cv8)

Πώς να κάνετε μια αναφορά με διάδοση ανά στήλες;

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

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

Πώς να προσαρμόσετε τη μορφή εξόδου των πεδίων;

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

Υπάρχουν δύο πιθανότητες:

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

Για πεδία πόρων, μπορείτε να ορίσετε εκφράσεις υπολογισμού (την καρτέλα "Πόροι") - για παράδειγμα,

Ποσό(Χρόνος)/3600,0

για μετατροπή από δευτερόλεπτα σε ώρες.

Η απαιτούμενη ακρίβεια μπορεί να οριστεί μέσω του πεδίου "Σχεδίαση" στην καρτέλα "Σύνολα δεδομένων".

Χαρακτηριστικά ρύθμισης παραμέτρων του συστήματος σύνθεσης δεδομένων

Υπάρχουν τουλάχιστον ΤΡΕΙΣ τύποι παραμέτρων και απαιτούν διαφορετική επεξεργασία:

ParametersData

Οι παράμετροι δεδομένων ορίζονται στο ερώτημα (πηγή δεδομένων) του ACS.

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

Το αντικείμενο SettingsComposer έχει μια ειδική ιδιότητα για εργασία με παραμέτρους δεδομένων SettingsComposer.Settings.ParametersData

Μπορεί να ρυθμιστεί καλώντας την προβολή

Ρυθμίσεις = Report.SettingsComposer.Settings; Settings.DataParameters.SetParameterValue("InfoBase", Report.InfoBase);

Επιλογή

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

Το αντικείμενο SettingsComposer έχει μια ειδική ιδιότητα για εργασία με επιλογές ComposerSettings.Settings.Selection.

Για παράδειγμα: Ρυθμίσεις = Report.SettingsComposer.Settings; Settings.DataParameters.SetParameterValue("InfoBase", Report.InfoBase);

Για κάθε στοιχείο From Parameters.Filter LoopFilterElement = Settings.Filter.Elements.Add(Type("DataCompositionFilterItem")); Selection Element.ComparisonType = DataCompositionComparisonType.Equal; SelectionItem.LeftValue = New DataCompositionField(element.View); FilterElement.RightValue = στοιχείο.Τιμή; EndCycle;

Προσαρμοσμένες ρυθμίσεις

Οι προτιμήσεις χρήστη καθορίζουν τα δεδομένα που μπορεί να προσαρμόσει ο χρήστης στη φόρμα.

Οι ρυθμίσεις χρήστη μπορούν να εμφανιστούν στη φόρμα σε ειδικό πίνακα και να καλούνται από το κουμπί "Ρυθμίσεις" και από το μενού "Όλες οι ενέργειες".

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

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

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

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

Διαδικασία &OnServer WhenLoadingUserSettingsOnServer(Ρυθμίσεις)

Εάν Parameters.Period.EndDate<>"00010101" Στη συνέχεια Ρυθμίσεις = Report.SettingsComposer.UserSettings; Settings.Items.Value = Parameters.Period; Τέλος εαν;

Τελική Διαδικασία

Χρησιμοποιώντας μια πηγή δεδομένων ως αντικείμενο

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

DecryptData = απροσδιόριστο;

Layout Layout Builder = Νέα διάταξη Data Layout Layout Builder. LayoutLayout = LayoutComposer.Run(DataCompositionScheme, SettingsComposer.Settings, DecodeData);

CompositionProcessor = NewDataCompositionProcessor; Layout Processor.Initialize(LayoutLayout, New Structure("Data", GetExternalSourceData()), DecodeData);

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

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

Πρόσθετες ρυθμίσεις για τα πεδία ACS.

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

Ομιλητής "Διαθέσιμες τιμές"σας επιτρέπει να καθορίσετε τις τιμές που είναι διαθέσιμες για επιλογή και να περιορίσετε την επιλογή του χρήστη σε ορισμένα όρια.

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

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

Υπολογισμένα πεδία

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

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

Στη στήλη του υπολογιζόμενου πεδίου "Έκφραση" πρέπει να γράψετε μια αυθαίρετη έκφραση που χρησιμοποιεί τα πεδία της σύνθεσης δεδομένων, παραπέμποντας στη διαδρομή τους (στήλη "Διαδρομή" στην καρτέλα "Σύνολα δεδομένων"). Είτε μπορείτε να χρησιμοποιήσετε τις συναρτήσεις μαθηματικού μετασχηματισμού είτε μπορείτε να ανατρέξετε στις συναρτήσεις κοινές ενότητες. Για παράδειγμα, ας γράψουμε το όνομα του υπολογιζόμενου πεδίου «Deviation» στη στήλη «Path to data» και το ακόλουθο στο πεδίο «Expression».