1c βρείτε στο τραπέζι. Εδώ είναι ο πλήρης κώδικας του παραδείγματος

(Αυτό το άρθρο αναφέρεται στα άρθρα 1C από το μηδέν. Προγραμματισμός 1C από το μηδέν. Τιμές 1C)

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

Ας επεκτείνουμε αυτές τις γνώσεις για πιο βολική εργασία με τον πίνακα των αξιών. Ας ξεκινήσουμε με μερικούς Χρήσιμες ιδιότητες Πίνακες τιμών.

1. Ενεργοποίηση των σειρών του πίνακα τιμών χρησιμοποιώντας δείκτες σειράς (αριθμοί γραμμών)

Μέθοδος Πίνακες. Αριθμός () - Επιστρέφει τον αριθμό των σειρών στον πίνακα τιμών.

Σας υπενθυμίζω ότι αν η μέθοδος Πίνακες. Αριθμός () Έδειξε ότι στις γραμμές του Πίνακα 5, οι δείκτες (αριθμοί) αυτών των σειρών είναι οι εξής: 0, 1, 2, 3, 4.

Ας υποθέσουμε ότι έχουμε Τιμές 1s τιμές με μια στήλη "οικογενειακό τελετουργικό"

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

Για ένα σημείο αρίθμησης \u003d 0 από το εξωτερικό. Εθνικότητα () - 1 Κύκλος // Γραμμές τρέχοντοςRamilia \u003d Soundable [Reters]. Οικογενειακή γραμμή. // "Οικογενειακό Slait" είναι το όνομα της στήλης που περιέχει την οικογένεια του πελάτη να ενημερώσει (τρέχουσα familia). Κολύγιο;

Παρακαλείστε να σημειώσετε ότι ο μετρητής κύκλου αυξάνεται σε μια τιμή ίση με τον αριθμό των γραμμών πίνακα μείον ένα: Isrodable. Σημαντικό () - 1

Ας μάθουμε τι σημαίνει ο κώδικας: Σίδηρος [Φρούριο]. Αυτή είναι μια έκκληση σε μια συγκεκριμένη σειρά του πίνακα τιμών για τον δείκτη του (αριθμός).

Στο παρακάτω παράδειγμα, θα δείξω πώς Σίδηρος [Φρούριο] Μας επιστρέφει ένα αντικείμενο που έχει έναν τύπο "StinkaTebaby".
Σε μια πρόσθετη μεταβλητή, τοποθετώ το αποτέλεσμα έκκληση σε μια συμβολοσειρά με αριθμό: StricatLacks \u003d Omotive [φρούριο]

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

Για μια αρίθμηση \u003d 0 με εξωτερικό υλικό. Κύκλος () - 1. // λαμβάνουμε την τρέχουσα γραμμή του πίνακα τιμών για τον δείκτη του (αριθμός) του treretfamilia \u003d rabar. Οικογενειακή Lien; // "Οικογενειακό Slait" είναι το όνομα της στήλης που περιέχει την οικογένεια του πελάτη να ενημερώσει (τρέχουσα familia). Κολύγιο;

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

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

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

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

Για τη χορδή busting Πίνακες τιμών 1S Μπορούμε να χρησιμοποιήσουμε μια άλλη επιλογή κύκλου. Αυτός είναι ένας ειδικός κύκλος για τη φασαρία των στοιχείων των αντικειμένων-συλλογές. Ο πίνακας τιμών 1C αντιπροσωπεύει το λεγόμενο Συλλογή. Σε αυτή την περίπτωση, η συλλογή σειράς.

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

Για κάθε έναν από τους κύκλους ....... δράση μέσα στον κύκλο της ενδυσωμάτωσης

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

Για κάθε αγεληφόρο από το ταλαντωμένο, ο κύκλος αναφέρεται (διμητήρες. Οικογένεια Lien); Ενδύω

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

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

3.Α. Τώρα: επανάληψη του υλικού.

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

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

Μπορείτε να έχετε πρόσβαση στον πίνακα του πίνακα τιμών από το δείκτη του, το οποίο ξεκινά από το μηδέν. Με κώδικα Mattattastric \u003d πλύσιμο - Παίρνουμε την τέταρτη γραμμή του πίνακα των αξιών, καθώς η αρίθμηση των χορδών αρχίζει με το Scratch: 0, 1, 2, 3.

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

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

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

Το παρακάτω παράδειγμα θα εμφανίσει τον αριθμό όλων των γραμμών στον πίνακα τιμών 1C:

Για κάθε κουρτίνα από το ταλαντωμένο, ο κύκλος είναι πληροφορητής (яродебрей.index (διμητήρες)). Ενδύω

Η συνέχιση των υλικών θα είναι στα ακόλουθα άρθρα .....

Degtyarev Ρωμαίος.

Πώς να μάθετε να προγραμματίσετε το 1C από το μηδέν;

Πώς να εργαστείτε προγραμματιστές 1C και να λάβετε έως και 150.000 ρούβλια ανά μήνα;

ΕΓΓΡΑΦΕΙΤΕ ΔΩΡΕΑΝ

2 εβδομάδων

"Προγραμματισμός σε 1C για αρχάριους"

Το μάθημα θα έρθει ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ. Γίνετε προγραμματιστής, εκτελώντας εργασίες βήμα προς βήμα.

Για να συμμετάσχετε μόνο στον υπολογιστή και το Διαδίκτυο

Δωρεάν πρόσβαση σε μαθήματα:

SP-Force-Hide (οθόνη: μπλοκ; φόντο: # eff2f4; padding: 5px; πλάτος: 270px; max-πλάτος: 100%; συνοριακή ακτίνα: 0px; -moz-border -Radius: 0px; Ακτίνα: 0px; Font-Face: Arial, "Helvetica Neue", Sans-Serif, Επαναλάβετε την Επαναλάβετε: Όχι Επαναλάβετε; Θέση φόντου: Κέντρο; Εισαγωγή φόντου - μπλοκ, αδιαφάνεια: 1; ορατότητα: ορατό;). SP-Form-Form-Fields-Wrapper (MARGIN: 0 AUTO, πλάτος: 260px;). SP-Form .sps -ffff. Στυλ συνόρων: Στερεά, πλάτος των συνόρων: 1px; Μέγεθος γραμματοσειράς: 15px; Padding-αριστερά: 8.75px; Padding-δεξιά: 8.75px; Border -Radius: 4px; -Moz-Border-Racius: Ακτίνα συνοριακής ακτίνας: 4px; Ύψος: 35px; πλάτος: 100%;). SP-Form Field Label (Χρώμα: # 444444; Γραμματοσειρά- Μέγεθος: 13px; Στυλ γραμματοσειράς: . SP-Form. Button (ακτίνα συνόρων: 4px; -Moz-Border-Racius: 4px; -Webkit-Border-Racius: 4px; Χρώμα Ιστορικό: # F4394C; Χρώμα: 100%; Γραμματοσειρά -γιά ΗΤ: 700; Στυλ γραμματοσειράς: Κανονική; Οικογένεια γραμματοσειράς: Arial, "Helvetica Neue", Sans-Serif. Box-Shadow: Κανένα; -Moz-Box-Shadow: Κανένα; -Webkit-box-σκιά: καμία? Ιστορικό: γραμμική κλίση (προς τα πάνω, # E30D22, # F77380);). SP-Form. Button-Button-Container (Κείμενο-Ευθυγράμμιση: Κέντρο, Πλάτος: Αυτόματη;)

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

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

Ως εκ τούτου, η προεξέχουσα καταλογίζει με τα τραπέζια.

Οι πίνακες στο 1C ονομάζονται επίσης "πίνακες". Έχουν βιβλία αναφοράς, έγγραφα και άλλα.

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

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

// Επιλογή 1 - Διαδοχική πρόσβαση στα αποτελέσματα του ερωτήματος

// Λήψη πίνακα
Δειγματοληψία \u003d ερώτημα. Γεμίστε (). Επιλέξτε ();
// για να πάμε γύρω από όλες τις σειρές του αποτελέσματος του ερωτήματος
Ενώ δείγμα. Επόμενο () κύκλος
Έκθεση (δείγμα. Όνομα);
Κολύγιο;

// Επιλογή 2 - Εκφόρτωση στον πίνακα τιμών
Αίτηση \u003d Νέο ερώτημα ("Επιλέξτε το όνομα από τον κατάλογο. Επαναφορά");
// Λήψη πίνακα
Πίνακας \u003d ερώτημα. Συμπληρώστε (). Unload ().
// τότε μπορούμε επίσης να πάρουμε όλες τις γραμμές
Για κάθε σειρά από τον κύκλο του πίνακα
Αναφορά (συμβολοσειρά. Όνομα);
Κολύγιο;
// ή αυθαίρετα πρόσβαση σε γραμμές
Line \u003d πίνακας. Init ("φτυάρι", "όνομα").

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

Πίνακας σχετικά με το σχήμα (πάχος πελάτης)

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

Οι βασικές αρχές της εργασίας με τα έντυπα, συζητήσαμε στο μάθημα στο μάθημα

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

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

Πατήστε το κουμπί "..." στην ιδιότητα δεδομένων. Για να δείτε τη λίστα Πίνακας, Πρέπει να αποκαλύψετε το αντικείμενο υποκαταστήματος.

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

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

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

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

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

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

Στις ιδιότητες του πίνακα εντολών, επιλέξτε ένα tick autofill που εμφανίζονται αυτόματα τα κουμπιά στον πίνακα.

Πίνακας σχετικά με το σχήμα (λεπτός / διαχειριζόμενος πελάτης)

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

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

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

Μετά από αυτό, σύρετε επίσης το τραπέζι αριστερά.

Προκειμένου ο πίνακας να εμφανιστεί ο πίνακας εντολών, στις ιδιότητες του πίνακα, επιλέξτε τις τιμές στην ενότητα Χρήση - τη θέση του πίνακα εντολών.

Πίνακας απενεργοποίησης στο Excel

Οποιοσδήποτε πίνακας 1C, που βρίσκεται στη μορφή, μπορεί να εκτυπωθεί ή να εκφορτωθεί στο Excel.

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

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

Πίνακας 1S αξίες

Πίνακας 1S αξίες Χρησιμοποιείται για την έγκαιρη αποθήκευση και επεξεργασία. Για μεγάλος αριθμός Στιγμοί Οι ταχύτητες αναζήτησης δεδομένων πέφτουν απότομα. Πολλοί προγραμματιστές υποτιμούν τη σημασία της εφαρμογής του δείκτη κατά την αναζήτηση πληροφοριών στον πίνακα τιμών. Σκοπεύω να σας δείξω ότι η χρήση των ευρετηρίων επιταχύνει την εργασία με το TK ( Πίνακας 1S αξίες) πριν 100 φορές.

Έτσι, για δοκιμή, δημιούργησα ένα μικρό κώδικα που λειτουργεί έτσι.

  • 20 χιλιάδες σειρές από το πίνακα μέρους του εγγράφου "πωλήσεων" στον πίνακα τιμών ανακτώνται. Ονομάζεται T1.
  • Έγινε αντίγραφο του ίδιου πίνακα τιμών, ο δεύτερος πίνακας, το κάλεσε T2. Έτσι, αποδείχθηκε 2 πίνακες τιμών, Τ1 και Τ2, σε κάθε μία από τις 20 χιλιάδες γραμμές.
  • Στη συνέχεια στον κύκλο από 1 έως 5 κάνουμε πέντε περάσματα. Το πέρασμα έχει ως εξής:
  • Στον κύκλο (το οποίο επενδύεται σε έναν κύκλο από 1 έως 5), όλες οι σειρές του πίνακα τιμών του T1, και οι 20 χιλιάδες σειρές μετακινούνται.
  • Για κάθε γραμμή ρεύματος Τ1, αφαιρέστε την τιμή στο άθροισμα των τιμών T1 από τις τιμές Τ1 - τον αριθμό.
  • Ψάχνουμε για μια συμβολοσειρά στον πίνακα τιμών Τ2 που περιέχει στο άθροισμα του ποσού του ίδιου αριθμού που αφαιρείται στο προηγούμενο βήμα.
  • Μετράμε τον χρόνο κάθε διέλευσης σε χιλιοστά του δευτερολέπτου και στην οθόνη στην οθόνη.

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

Παρακάτω βλέπετε το τραπέζι των αποτελεσμάτων των δοκιμών. Η δεύτερη στήλη αντικατοπτρίζει τον χρόνο εκτέλεσης καθενός από τα πέντε περάσματα στη συνηθισμένη, μη βελτιστοποιημένη επιλογή εκκίνησης και κάτω από τη στήλη υπάρχει ένας συνολικός χρόνος δοκιμής της δοκιμής, ίσος με 279641 χιλιοστά του δευτερολέπτου, ή περίπου 279 δευτερόλεπτα. Η τρίτη στήλη δείχνει τον χρόνο εκτέλεσης της ίδιας δοκιμής, αλλά με μια βελτιστοποιημένη επιλογή αναζήτησης, Χρησιμοποιώντας το δείκτη στον πίνακα τιμών. Για λόγους σαφήνειας, πρόσθεσα ένα χρόνο που δαπανάται χρόνο που δαπανάται για τη δημιουργία ενός δείκτη (πρώτη γραμμή κάτω από την επικεφαλίδα), είναι πολύ μικρό, μόνο 0, 047 δευτερόλεπτα. Ο συνολικός χρόνος δοκιμής στη δεύτερη υλοποίηση είναι 2781 χιλιοστά του δευτερολέπτου, ή 2.78 δευτερόλεπτα.

Έτσι, στην πρώτη ενσωμάτωση έχουμε - 279 δευτερόλεπτα, στη δεύτερη έκδοση - 2,78 δευτερόλεπτα. Διαφορά 100 φορές! Επιπλέον, μια τέτοια επιτάχυνση επιτυγχάνεται με την προσθήκη μόνο μιας γραμμής του κώδικα!

Χρόνος απόδοσης, χιλιοστά του δευτερολέπτου
Δοκιμή Αριθμός εκκίνησης 1 επιλογή, κανονική 2 επιλογές βέλτιστη
Ώρα να δημιουργήσετε ένα ευρετήριο - 47
1 46531 563
2 55516 547
3 60969 531
4 58688 562
5 57937 531
Συνολικός χρόνος 279641 2781
Επιτάχυνση κατά καιρούς: 100,5541172

Εδώ είναι ο πλήρης κώδικας του παραδείγματος:

Διαδικασία των ονομασιών Bandext (στοιχείο) // Δημιουργήστε ένα αίτημα για δειγματοληψία δεδομένων Αίτηση \u003d νέο αίτημα. Ερευνα. Κείμενο \u003d. "Επιλέξτε τις πρώτες 20.000 | Εφαρμογή. Σύνδεσμος, Εφαρμογή. Κατασκευαστές, Εφαρμογή. Αριθμός, | Εφαρμογή. Summum, Εφαρμογή. Επιστροφή | από την εφαρμογή"; // τοποθετήστε τα επιλεγμένα δεδομένα στον πίνακα τιμών T1 T1 \u003d αίτημα. Εκτελέστε (). Εκφόρτωση (); // Δημιουργήστε έναν πίνακα τιμών Τ2, αντιγράφοντας τα περιεχόμενα του πίνακα τιμών T1 T2 \u003d t1. Αντίγραφο (); Δείκτης επαγωγής πίεσης \u003d λήψη (); Τ2. Δείκτες. Προσθέστε ("άθροισμα"); // Αυτή είναι η πιο σημαντική γραμμή, προσθέτοντας ένα δείκτη με στήλη "ποσό" Commodapleaseindex \u003d λειτουργίες (); Να αναφέρουν ( "Η ώρα προσθήκης δείκτη" + (Συνέλευση επαγωγής - Εισαγωγή εκκίνησης) + "MS"). Να αναφέρουν ( "Συνολικές γραμμές στον πίνακα των αξιών μας:" + Τ2. Αριθμός() ) ; // Τοποθετήστε τον κύκλο των πέντε περασμάτων, ουσιαστικά - δοκιμή πέντε φορές Για SCH \u003d 1 έως 5 Κύκλος Έναρξη \u003d Λειτουργίες VarevillinEncundes (); // Θυμηθείτε την ώρα έναρξης Ίδρυσε \u003d 0; Για κάθε σελίδα του κύκλου T1 // Παρακολουθήστε όλες τις σειρές του πίνακα T1 Διαχείριση επεξεργασίας() ; // Ψάχνουμε για τη γραμμή T2 T2 στην οποία η στήλη SUM // συμπίπτει με την τρέχουσα τιμή "άθροισμα" t1 t1 Ίδρυμα \u003d t2. Βρείτε (P. Ποσό, "Sum"). // εάν η σύμπτωση είναι σταθερή (εντοπίζεται η συμβολοσειρά), αυξάνουμε τον μετρητή των βρωμάτων Αν βρεθεί<> Είναι απεριόριστο να βρεθεί \u003d βρέθηκε + 1. Τελείωσε. Κολύγιο; // Πάρτε το χρόνο ολοκλήρωσης του κύκλου του τμήματος των χορδών τραπεζιών T1 End \u003d κυκλοφορίες (); // Ενημερώνουμε τον αριθμό διέλευσης της δοκιμής, ο αριθμός της σύμπτωσης που βρέθηκε και ο χρόνος εκτέλεσης σε χιλιοστά του δευτερολέπτου Αναφορά ("αριθμός περάσματος" + s). Ειδοποίηση ("Μόλις βρεθεί:" ίδρυμα); Να αναφέρουν ( "Χρόνος μολύβδου" + String (τελική εκκίνηση) + "Milliseconds"). Κολύγιο; // πηγαίνετε να κάνετε το επόμενο πέρασμα Εξηγητές


Ένα παράδειγμα σχολιάζεται και πρέπει να γίνει κατανοητό. Το κύριο πράγμα είναι να απευθυνθείτε T2.IDEXES. Προσθέστε ("άθροισμα"). Ενημερώνουμε το 1C ότι πρόκειται να εκτελέσουμε τη λειτουργία αναζήτησης στη στήλη του ποσού, στον πίνακα τιμών Τ1 και να απαιτήσει τη δημιουργία ενός δείκτη σε αυτή τη στήλη. Το σύστημα δημιουργεί ένα ευρετήριο και, στη συνέχεια, με όλες τις εργασίες αναζήτησης στη στήλη SUM, το χρησιμοποιεί αυτόματα. Θα πρέπει να σημειωθεί ότι ο δημιουργημένος δείκτης ισχύει μόνο για αναζήτηση ανά στήλη "ποσό", όπως δημιουργείται για αυτή τη στήλη. Εάν χρειαζόμαστε άλλες στήλες για αναζήτηση, θα πρέπει να δημιουργήσετε κατάλληλους δείκτες, υποδεικνύοντας τα επιθυμητά ονόματα στήλης.

Σε ένα τραπέζι, μπορούμε να δημιουργήσουμε αρκετούς δείκτες εάν πρόκειται να αναζητήσουμε τιμές για διαφορετικές στήλες. Οι δείκτες αποθηκεύονται στη συλλογή δεικτών του πίνακα τιμών 1CΤι ακολουθεί από τον κώδικα: tz.indexes. Προσθέστε (ονόματος-συλλογής)

Εάν χρειαζόμαστε μια αναζήτηση από έναν συνδυασμό τιμών ηχείων, για παράδειγμα, ταυτόχρονα στις στήλες "Αριθμός" και "Ποσό" - ο σύνθετος δείκτης πρέπει να δημιουργηθεί: T2.Indexes. Attly ("ποσότητα, ποσό")Ένας τέτοιος δείκτης θα συμμετάσχει όταν αναζητούμε μια τιμή στον πίνακα χρησιμοποιώντας τη μέθοδο "Flight ()" για παράδειγμα:

Masswordsnew tests \u003d t2. natries (νέα δομή ("ποσότητα, ποσό", incoMoquoity, δήλωσε).

Που χρησιμοποιούνται στο κείμενο του παραδείγματος.
Λοιπόν, Degtyarev Roman.

Πώς να μάθετε να προγραμματίσετε το 1C από το μηδέν;

Πώς να εργαστείτε προγραμματιστές 1C και να λάβετε έως και 150.000 ρούβλια ανά μήνα;

ΕΓΓΡΑΦΕΙΤΕ ΔΩΡΕΑΝ

2 εβδομάδων

"Προγραμματισμός σε 1C για αρχάριους"

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

Για να συμμετάσχετε μόνο στον υπολογιστή και το Διαδίκτυο

Δωρεάν πρόσβαση σε μαθήματα:

SP-Force-Hide (οθόνη: μπλοκ; φόντο: # eff2f4; padding: 5px; πλάτος: 270px; max-πλάτος: 100%; συνοριακή ακτίνα: 0px; -moz-border -Radius: 0px; Ακτίνα: 0px; Font-Face: Arial, "Helvetica Neue", Sans-Serif, Επαναλάβετε την Επαναλάβετε: Όχι Επαναλάβετε; Θέση φόντου: Κέντρο; Εισαγωγή φόντου - μπλοκ, αδιαφάνεια: 1; ορατότητα: ορατό;). SP-Form-Form-Fields-Wrapper (MARGIN: 0 AUTO, πλάτος: 260px;). SP-Form .sps -ffff. Στυλ συνόρων: Στερεά, πλάτος των συνόρων: 1px; Μέγεθος γραμματοσειράς: 15px; Padding-αριστερά: 8.75px; Padding-δεξιά: 8.75px; Border -Radius: 4px; -Moz-Border-Racius: Ακτίνα συνοριακής ακτίνας: 4px; Ύψος: 35px; πλάτος: 100%;). SP-Form Field Label (Χρώμα: # 444444; Γραμματοσειρά- Μέγεθος: 13px; Στυλ γραμματοσειράς: . SP-Form. Button (ακτίνα συνόρων: 4px; -Moz-Border-Racius: 4px; -Webkit-Border-Racius: 4px; Χρώμα Ιστορικό: # F4394C; Χρώμα: 100%; Γραμματοσειρά -γιά ΗΤ: 700; Στυλ γραμματοσειράς: Κανονική; Οικογένεια γραμματοσειράς: Arial, "Helvetica Neue", Sans-Serif. Box-Shadow: Κανένα; -Moz-Box-Shadow: Κανένα; -Webkit-box-σκιά: καμία? Ιστορικό: γραμμική κλίση (προς τα πάνω, # E30D22, # F77380);). SP-Form. Button-Button-Container (Κείμενο-Ευθυγράμμιση: Κέντρο, Πλάτος: Αυτόματη;)

Χαιρετισμοί Όλοι οι αναγνώστες infostart'a. Αυτό το άρθρο θα αφιερωθεί στο θέμα της δημιουργίας αυθαίρετου πίνακα αξιών με τη μορφή διαχειριζόμενης εφαρμογής Λογισμικό.

Χαρακτηριστικά της εργασίας.

Όλοι όσοι προγραμματίστηκαν στο συνηθισμένο προσάρτημα συχνά αντιμετώπισαν το έργο της απόκτησης ενός αυθαίρετου πίνακα τιμών με τη μορφή. Κάτω από έναν αυθαίρετο πίνακα τιμών νοείται ως ο πίνακας, ο αριθμός και ο τύπος των κονσερβών των οποίων δεν είναι γνωστός. Δηλαδή, οι στήλες μπορούν να είναι 3, και ίσως 6, ή ίσως 8. Στη συνήθη εφαρμογή, όλα είναι απλά: Ήταν δυνατή η τοποθέτηση του στοιχείου "καταθέσεων πίνακα" στη φόρμα σχηματισμού και στη συνέχεια μεταφέρετε τον πίνακα τιμών στο τιμές σε αυτό το στοιχείο σε αυτό το στοιχείο. Στη συνέχεια, μια απλή ομάδα:

Elementforms. Ticketpassed. Υπολογισμοί ();

Πάρτε έναν έτοιμο πίνακα τιμών στη φόρμα. Φαίνεται ότι μπορεί να είναι ευκολότερο.

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

Τη λύση του προβλήματος.

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

Η δημιουργία ενός πίνακα στη φόρμα συμβαίνει μέσω της περιγραφής του πίνακα τιμών ως απαιτώντας:
Massiferboabor \u003d Νέα συστοιχία. Μερενούς πελάτες. Προσθέστε (τύπος ("Πίνακας Apposition")); ΠεριγραφήCarebar \u003d Νέες περιγραφές (μασχαλικότητα); Ματιά \u003d νέα συστοιχία. Ματιά. Προσθέστε (νέα απαραίτητα ("tablescript", περιγραφές "," tzn ")); Τώρα πρέπει να δημιουργήσουμε έναν πίνακα λογισμικού τιμών που περιέχουν δεδομένα. Εάν ο πίνακας αξίας επιτυγχάνεται από την αίτηση, τότε όλα είναι μικρότερα από τη σειρά. Εάν ο πίνακας δημιουργηθεί με το χέρι, η τιμή των ηχείων που θα περιέχει αριθμούς ή ημερομηνίες μπορούν να δημιουργηθούν μέσω της "Περιγραφή". Η κατώτατη γραμμή είναι ότι οι στήλες στον πίνακα τιμών πρέπει να έχουν κάποιο είδος τύπου. Εάν, για παράδειγμα, θεωρείται ότι ο χρήστης θα συμπληρώσει διαδραστικά τα δεδομένα σε αυτές τις στήλες, τότε δεν μπορείτε να προσθέσετε τις τιμές της στήλης τιμών απλά με το όνομα, θα πρέπει να είναι τύπος. Λάβετε υπόψη σας - αυτό είναι πολύ σημαντικό γιατί Θα δώσουμε αυτούς τους τύπους στο τραπέζι με τη μορφή.
Δημιουργήστε έναν πίνακα που περιέχει διάφορες στήλες:
Kd \u003d νέες προτιμητικές ημερομηνίες (σωματίδια. Βέροια); Massigs \u003d Νέα συστοιχία. Όπλα. Πρόσθετα (τύπος ("ημερομηνία")); Lookup graphics \u003d νέες περιγραφές (όπλα, cd); TK \u003d Νέοι πίνακες.
TK.Colonki. Attly ("c", περιγραφές.
TK.Colonks. Attly ("to", περιγραφές.
TK.Colonki. Attly ("πλήρες όνομα");
Tk. Solonks. Attly ("Σημείωση"); // Πλήρης Σημείωση - Γραμμές Επόμενο, θα γεμίσουμε το τραπέζι του λογισμικού TK με τα απαραίτητα δεδομένα. Λαμβάνουμε το τραπέζι TK που περιέχει τις απαραίτητες τιμές και είναι έτοιμη για μετάδοση στις δημιουργημένες στηρίγματα μορφής. Για κάθε στήλη Tk. Κύκλος στήλης

Massiverevizites. Προσθέστε (νέα απαραίτητη (στήλη, εννοώ, στήλη. Τύπος, "Ταχογράφοι"));
Κολύγιο;
Αλλάζει (μαζικάVizites).
Πίνακες αιχμαλωσία \u003d στοιχεία. Attly ("tzn", τύπος ("πίνακα"));
Συγκόλληση πίνακες. Powded \u003d "Ταχογράφοι".
Τραπέζι. ΠΑΡΑΔΕΙΓΜΑ \u003d Εμφανίζεται. Ταιριάζει.

Εδώ είναι ένας τόσο απλή συνδυασμός και το τραπέζι μας είναι έτοιμο.

Για κάθε στήλη Tk. Κύκλος στήλης

NEWELENT \u003d στοιχεία. Πρόσθετα (στήλη, εννοώ, τύπος ("προπονάδα"), πίνακες);
Νέο στοιχείο. Vid \u003d vidpolar μορφή. Ισχύς;
Νέο στοιχείο. Powdly \u003d "Ταχογράφοι". + Στήλη.
Νέο στοιχείο.Shirina \u003d 10;
Κολύγιο;

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

Συγκόλληση πίνακες. Ρύθμιση ("επιλογή", "tznvybor").

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

& Svalette
Διαδικασία tznvsb (tk, επιλεγμένο, πεδίο, standardworking)
// Εντολές επεξεργαστή Τερματίστε τον έλεγχο

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

& Svalette

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

Πρόσθετα προτιμήσεις (TK, "Ταχογράφοι").

Εδώ είναι αυτό που έχουμε ως αποτέλεσμα:


Αλλά η επεξεργασία της εκδήλωσης "επιλογή":



Afterword.

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

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

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

Άρθρα σχετικά με άλλες παγκόσμιες συλλογές των τιμών 1C

Εξερευνήστε τον προγραμματισμό στο 1C στη θέση του από το βιβλίο μου στο 1C για 11 βήματα "

  1. Το βιβλίο γράφεται από κατανοητό και Απλή γλώσσα - Για αρχάριους.
  2. Μάθετε να κατανοείτε την αρχιτεκτονική του 1C;
  3. Θα γράψουμε κώδικα στη γλώσσα 1C.
  4. Ανάβει τις βασικές τεχνικές προγραμματισμού.
  5. Ασφαλίζουν τις γνώσεις που αποκτήθηκαν χρησιμοποιώντας την εργασία ·

Εξαιρετικό επίδομα ανάπτυξης σε μια διαχειριζόμενη αίτηση 1C, τόσο για αρχάριους προγραμματιστές όσο και για έμπειρους προγραμματιστές.

  1. Πολύ προσιτή και κατανοητή γλώσσα παρουσίασης
  2. Το βιβλίο αποστέλλεται στο e-mail στο Μορφή pdf. Μπορεί να ανοίξει σε οποιαδήποτε συσκευή!
  3. Θα καταλάβετε την ιδεολογία της διαχειριζόμενης εφαρμογής 1C
  4. Μάθετε πώς να αναπτύξετε μια διαχειριζόμενη εφαρμογή.
  5. Μάθετε να αναπτύσσεται Ελεγχόμενες μορφές 1c;
  6. Μπορείτε να εργαστείτε με τα κύρια και απαραίτητα στοιχεία των ελεγχόμενων μορφών.
  7. Προγραμματισμός κάτω Διαχειριζόμενο παράρτημα Γίνεται σαφής

Κωδικός προώθησης για έκπτωση 15% - 48pvxheyu.


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

Μπορείτε να πληρώσετε χειροκίνητα:

Yandex.money - 410012882996301
Web Money - R955262494655

Συμμετοχή στις ομάδες μου.