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

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

Η τροποποίηση του προγράμματος της φόρμας μπορεί να απαιτηθεί σε διάφορες περιπτώσεις:

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

Σε μια διαχειριζόμενη φόρμα, μπορείτε να προσθέσετε, να τροποποιήσετε και να αφαιρέσετε μέσω προγραμματισμού:

  • προαπαιτούμενα?
  • Τοπικές εντολές?
  • στοιχεία.

Όλες αυτές οι λειτουργίες είναι δυνατές μόνο στον διακομιστή.

Η αλλαγή του σχήματος μέσω προγραμματισμού έχει περιορισμούς:

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

Αλλαγή εντολών φόρμας

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

    Προσθήκη (< ИмяКоманды >)

    Ποσότητα ()

    Εύρημα (< ИмяКоманды >)

    Διαγράφω (< Команда >)

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

Ως παράδειγμα εργασίας με εντολές φόρμας, ας δημιουργήσουμε μια νέα εντολή ChangeHistory με την επικεφαλίδα "Changelog ...", η οποία θα καλεί τον χειριστή Εμφάνιση Ιστορικού(). Η δημιουργία εκτελείται όταν ανοίξει η φόρμα.

&Στον διακομιστή
Διαδικασία OnCreateAtServer (Αποτυχία, Τυπική Επεξεργασία)
Εντολή = Εντολές. Προσθήκη( "Αλλαγή Ιστορίας");
Εντολή ... Δράση =;
Εντολή ... Τίτλος = "Αλλαγή ιστορίας...";
Τέλος Διαδικασίας
& OnClient
Διαδικασία Connectable_DisplayHistory (Εντολή)
// Ενέργειες εντολών
Τέλος Διαδικασίας

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

Αλλαγή στοιχείων φόρμας

Η ανάγνωση της σύνθεσης των χαρακτηριστικών της φόρμας εκτελείται από τη συνάρτηση Λάβετε λεπτομέρειες(< Путь >) που επιστρέφει έναν πίνακα τύπου Form Attribute. Η παράμετρος συνάρτησης καθορίζει τη διαδρομή προς τα γονικά στηρίγματα (ως συμβολοσειρά). Εάν η παράμετρος παραλειφθεί ή έχει καθοριστεί μια κενή συμβολοσειρά, επιστρέφονται τα στηρίγματα ανώτατου επιπέδου.

Η αλλαγή των λεπτομερειών πραγματοποιείται με τη μέθοδο Τροποποιήστε τις λεπτομέρειες(<Προστέθηκαν λεπτομέρειες>, <Αφαιρούμενες λεπτομέρειες>) αντικείμενο Διαχειριζόμενη Φόρμα... Σε παραμέτρους Προστέθηκαν λεπτομέρειεςκαι Αφαιρούμενες λεπτομέρειεςμεταφέρονται πίνακες με στοιχεία του τύπου Form Attribute.

Προσοχή!

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

Ας δημιουργήσουμε ένα νέο χαρακτηριστικό φόρμας με το όνομα Buyer:


AddedAttributes = Νέος πίνακας;
Χαρακτηριστικά για προσθήκη. Προσθήκη (New Form Props("Αγοραστής", Νέα περιγραφή τύπων ("DirectoryLink.Contractors"), "Πελάτης"));

// Αλλαγές στη σύνθεση των λεπτομερειών
);

Τροποποίηση στοιχείων φόρμας

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

    Εισάγετε (< Имя>, < ТипЭлемента>, < Родитель>, < Элемент >)

    Προσθήκη (< Имя>, < ТипЭлемента>, < Родитель >)

    Ποσότητα ()

    Εύρημα (< Имя >)

    Μετακίνηση (< Элемент>, < Родитель>, < МестоРасположения >)

    Διαγράφω (< Элемент >)

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

  • Ομάδα φόρμας;
  • Πίνακας φόρμας;
  • Πεδίο φόρμας;
  • Κουμπί φόρμας.

Μπορείτε να εκχωρήσετε μέσω προγραμματισμού χειριστές συμβάντων για στοιχεία φόρμας. Για τους σκοπούς αυτούς, προορίζεται η μέθοδος SetAction (< ИмяСобытия>, < Действие >) .

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

Προσθήκη μιας εντολής και του σχετικού κουμπιού:

// Δημιουργία εντολής
Εντολή = Εντολές. Προσθήκη( "Αλλαγή Ιστορίας");
Εντολή ... Δράση = "Connectable_DisplayHistory"; // Η φόρμα πρέπει να περιέχει μια διαδικασία με το καθορισμένο όνομα
Εντολή ... Επικεφαλίδα = "Αλλαγή ιστορίας...";
// Δημιουργήστε ένα κουμπί και συσχετίστε το με μια εντολή
Στοιχείο = Είδη. Προσθήκη( "Αλλαγή Ιστορίας", Πληκτρολογήστε ("Κουμπί φόρμας"));
Element.CommandName = "Αλλαγή Ιστορίας";

Προσθήκη υποστηρικτικού και σχετικού πεδίου εισαγωγής:

// Περιγραφή των πρόσθετων λεπτομερειών
AddedAttributes = Νέος πίνακας;
Χαρακτηριστικά για προσθήκη. Προσθήκη(New Form Props ("Buyer", New Description of Types ( "DirectoryLink. Contractors"), "Πελάτης" ));
// Αλλαγή της σύνθεσης των λεπτομερειών
Τροποποίηση χαρακτηριστικών (Προστέθηκαν χαρακτηριστικά);
// Δημιουργήστε ένα πεδίο εισαγωγής και συνδέστε τα στηρίγματα
Στοιχείο = Είδη. Προσθήκη ("Αγοραστής", Τύπος ("FormField"));
Στοιχείο ... Προβολή = FormFieldKind. Πεδίο εισαγωγής.
Στοιχείο ... Διαδρομή δεδομένων= "Αγοραστής";

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

Αγοραστής αντικειμένου. Ορισμός δράσης("Όταν αλλάζει" , "Plugin_CustomerOnChange");

& OnClient
Διαδικασία Plugin_BuyerOnChange(Είδος)
// Ενέργειες συμβάντος
Τέλος Διαδικασίας

Προσοχή!

Διαδικασίες που ορίζονται ως χειριστές συμβάντων από κώδικα χρησιμοποιώντας τη μέθοδο SetAction (), συνιστάται να ορίσετε το πρόθεμα Connect_.

Προσοχή!

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

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

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

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

Καταστήματα τυπικών ρυθμίσεων

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

  • ReportOptions Store - για πρόσβαση στις ρυθμίσεις επιλογών αναφοράς.
  • UserReportSettingsStorage - για πρόσβαση προσαρμοσμένες ρυθμίσειςΑναφορές.
  • FormDataSettingsStore - για πρόσβαση στις προτιμήσεις χρήστη των δεδομένων φόρμας.
  • GeneralSettings Store - για πρόσβαση Γενικές Ρυθμίσεις.
  • SystemSettings Store - για πρόσβαση ρυθμίσεις συστήματος.
  • DynamicListsUserSettingsStore - για πρόσβαση σε προσαρμοσμένες ρυθμίσεις για δυναμικές λίστες.

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

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

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

Ρυθμίσεις εγγραφής και λήψης:

Γενικές ρυθμίσεις Storage.Save (ObjectName, SettingsName, SettingsValue, SettingsDescription, Username); SettingsValue = GeneralSettings Storage.Load (ObjectName, SettingsName, SettingsDescription, Username);

Αφαίρεση περιττών / περιττών ρυθμίσεων:

Γενικές Ρυθμίσεις Storage.Delete (ObjectName, SettingsName, Username);

Λήψη λίστας ρυθμίσεων:

SettingsValuesList = GeneralSettings Store.GetList (ObjectName, Username);

Οι παράμετροι "ObjectName", "SettingsName" και "UserName" πρέπει να είναι τύπου συμβολοσειράς.

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

Αποθετήρια ρυθμίσεων που δημιουργήθηκαν από τον προγραμματιστή

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

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

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

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

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

Η πρόσβαση στο αποθετήριο που δημιουργήθηκε μπορεί να γίνει με αυτόν τον τρόπο:

RepositoriesSettings.RepositoryName.Load ();

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

Οι διαχειριζόμενες φόρμες έχουν δύο ιδιότητες:

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

Αυτό είναι όλο, ελπίζω αυτό το άρθρο να σας βοήθησε.

Το άρθρο συνεχίζει τον κύκλο "Πρώτα βήματα στην ανάπτυξη στο 1C".

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

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

Εφαρμογή

Το άρθρο εξετάζει τη διαχειριζόμενη διεπαφή στην έκδοση "Έκδοση 8.2" της διαμόρφωσης που αναπτύχθηκε στην πλατφόρμα 1C 8.3.4.482.

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

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

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

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

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

Αφού πατήσετε αυτήν την εντολή, θα εμφανιστεί το παράθυρο "Ρυθμίσεις φόρμας".

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

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

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

Μπορείτε να ορίσετε ένα χαρακτηριστικό που θα ενεργοποιηθεί όταν ανοίξει η φόρμα.

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

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

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

Για να επιστρέψετε στις προεπιλεγμένες ρυθμίσεις στο παράθυρο "Ρυθμίσεις σχήματος" στο μενού Όλες οι ενέργειεςπρέπει να επιλέξετε το στοιχείο Ορίστε προεπιλεγμένες ρυθμίσεις.

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

Με τη μορφή λίστας στο μενού Όλες οι ενέργειεςπεριέχει μια ειδική εντολή Προσαρμογή λίστας.

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

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

Η επιλογή μπορεί να γίνει από πολλά πεδία. Σε αυτήν την περίπτωση, από προεπιλογή, η επιλογή θα λειτουργεί σύμφωνα με τη συνθήκη AND. Μπορείτε επίσης να χρησιμοποιήσετε τις συνθήκες OR και NOT.

Για να χρησιμοποιήσετε τη συνθήκη Ή (NOT), πρέπει να προσθέσετε την κατάλληλη ομάδα (OR Group, NOT Group) χρησιμοποιώντας την εντολή Group conditions.

Το σχήμα δείχνει μια φόρμα για τον ορισμό των πεδίων ταξινόμησης.

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

Το επόμενο σχήμα δείχνει πώς θα γίνει η ομαδοποίηση.

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

Το σχήμα δείχνει το αποτέλεσμα του υπό όρους φόντου του πεδίου Αθροισμα.
Όταν το ποσό είναι> 100.000.

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

Η ιεραρχική προβολή καταλόγων μπορεί να διαμορφωθεί μέσω του στοιχείου Λειτουργία προβολήςστο μενού Όλες οι ενέργειες... Μπορείτε να επιλέξετε μία από τις επιλογές: Ιεραρχικός κατάλογος, Λίστα, Ξύλο.

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

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

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

Η επιλογή των αντικειμένων στη λίστα πραγματοποιείται κρατώντας πατημένο το πλήκτρο Μετατόπισηή Ctrl.

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

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

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

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

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

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

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

Προσαρμογή του πίνακα διαμερισμάτων

Μπορείτε να αλλάξετε τη σύνθεση του πίνακα ενοτήτων στο Configurator σε λειτουργία 1C: Enterprise.

Ρύθμιση της αρχικής σελίδας

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

Διαμόρφωση της διεπαφής εντολών της κύριας ενότητας

Μπορείτε να αλλάξετε τη σύνθεση των εντολών που εμφανίζονται στην κύρια ενότητα του Configurator με ανάλυση κατά ρόλους.

Διαμόρφωση διεπαφών εντολών για κατατμήσεις

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

Προσαρμογή φορμών

Οι φόρμες που υπάρχουν στο 1C: Enterprise έχουν σχεδιαστεί για διαδραστική εργασία χρήστη με δεδομένα βάσης πληροφοριών. Για να δοθεί αυτή η δυνατότητα, η φόρμα «γεμίζεται» με την απαραίτητη λειτουργικότητα.


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

Σχέση μεταξύ ομάδων, σκηνικών και στοιχείων φόρμας

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

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

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

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

Προεπιλεγμένη λειτουργικότητα

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

ΠΡΟΣΟΧΗ!
Μόνο ένα στηρίγματα μπορεί να επιλεγεί ως κύριο
από τη σύνθεση των λεπτομερειών της φόρμας.

Είναι σημαντικό να κατανοήσουμε ότι:

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

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

Εντολές φόρμας

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

Προσθήκη υποφόρμας


Αυτό θα ανοίξει το παράθυρο σχεδιαστή φόρμας. Στο παράθυρο σχεδίασης, επιλέξτε τον τύπο φόρμας - Φόρμα εγγράφου, επιλέξτε το Αντιστοιχίστε τη φόρμα στην κύρια και ορίστε το όνομα MainForm. Κάντε κλικ στο κουμπί Τέλος.

Παράθυρο σχεδιαστή φορμών

1C8: Παράθυρο σχεδιαστή φορμών

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

Επεξεργαστής φόρμας με φόρμα εγγράφου που δημιουργείται αυτόματα


ΣΗΜΕΙΩΣΗ
Στο πρόγραμμα επεξεργασίας φόρμας, τα κύρια χαρακτηριστικά της φόρμας επισημαίνονται με έντονη γραφή.

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

Έντυπο για την επεξεργασία του εγγράφου "Κατανάλωση αγαθών"


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

Για επεξεργασία δεδομένων φόρμας - τυπικές εντολές φόρμας NS

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

Εντολές τυπικής μορφής στον επεξεργαστή και τη διεπαφή

1C8: Τυπικές εντολές φόρμας στο πρόγραμμα επεξεργασίας και στη διεπαφή

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

  • αναφορά
  • Άλλαξε σχήμα...
  • Κλείσε
  • Αποθήκευση παραμέτρων...
  • Επαναφορά παραμέτρων...

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

  • Σύρετε και κλείστε
  • Σημειωσε
  • Ξαναδιάβασε
  • αντίγραφο
  • Επισήμανση για διαγραφή
  • Κατάργηση επισήμανσης διαγραφής
  • Διαγράφω
  • Συμπεριφορά
  • Ακύρωση της εκδήλωσης.

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

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

  • Οχι,
  • Ματαίωση,
  • Κάνω αποβολή,
  • Παραλείπω,
  • Επαναλαμβάνω.

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

  • για μια φόρμα που ανοίγει σε τρόπο λειτουργίας, η φόρμα είναι κλειστή και η αντίστοιχη τιμή για την επιλεγμένη εντολή επιστρέφεται ως DialogReturnCode
  • για μια φόρμα που ανοίγει σε κατάσταση λειτουργίας χωρίς mode, μόνο η φόρμα είναι κλειστή.

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

Τυπικές εντολές πίνακα στον επεξεργαστή και τη διεπαφή


Για εργασία με συνδεδεμένα δεδομένα - καθολικές παραμετροποιημένες εντολές

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

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

Καθολικές παραμετροποιήσιμες εντολές στον επεξεργαστή και τη διεπαφή


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

Καθολικές ανεξάρτητες εντολές στον επεξεργαστή και τη διεπαφή


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

Μέθοδοι διαμόρφωσης της σύνθεσης των ομάδων της φόρμας

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

ΣΗΜΕΙΩΣΗ
Μια άλλη πηγή εντολών για τη φόρμα είναι ο προγραμματιστής, ο οποίος μπορεί να δημιουργήσει αυθαίρετες εντολές τοπικής φόρμας. Θα μιλήσουμε για αυτές τις εντολές λίγο αργότερα (δείτε «Εάν δεν υπάρχουν αρκετές τυπικές εντολές»).

Στην πιο γενική περίπτωση, υπάρχουν τρεις επιλογές:

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

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