Skd υπολογισμένα πεδία. Λειτουργίες της γλώσσας έκφρασης του συστήματος σύνθεσης δεδομένων. Γλώσσα έκφρασης συστήματος σύνθεσης δεδομένων

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

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

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

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

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

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

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

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

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

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

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

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

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

1. Ρυθμίστε ένα αίτημα στο ACS.

2. Ρυθμίστε τα υπολογισμένα πεδία στο ACS

3. Διαμορφώνουμε τη διάταξη δεδομένων στην καρτέλα ρυθμίσεων

4. Ξεκινάμε το 1C Enterprise 8.2.14. Ανοίγουμε την αναφορά. Σχηματίζουμε, λαμβάνουμε.

Περιγραφή των ίδιων των νέων χαρακτηριστικών:

1. Η τρέχουσα ημερομηνία()

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

2. COMPUTE EXPRESSION()

Σύνταξη:

Υπολογισμός έκφρασης(,)

Περιγραφή:

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

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

Η συνάρτηση δεν μπορεί να εφαρμοστεί σε μια ομαδοποίηση στην επιλογή ομάδας αυτής της ομαδοποίησης. Για παράδειγμα, στην επιλογή της ομαδοποίησης Ονοματολογίας, δεν μπορείτε να χρησιμοποιήσετε την έκφραση Υπολογισμός έκφρασης ("Sum(SumTurnover)", "TotalTotal") > 1000. Αλλά μια τέτοια έκφραση μπορεί να χρησιμοποιηθεί στην ιεραρχική επιλογή.

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

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

Εργαλείο δημιουργίας διάταξης κατά τη δημιουργία μιας έκφρασης συνάρτησης Υπολογισμός Έκφρασης, εάν η παράσταση σειράς περιέχει πεδία που δεν μπορούν να χρησιμοποιηθούν στην ομαδοποίηση, αντικαθιστά τη συνάρτηση Υπολογισμός Έκφρασηςστο ΜΗΔΕΝΙΚΟ.

Επιλογές

Τύπος: Γραμμή. Η έκφραση που πρέπει να αξιολογηθεί.

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

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

Sum(Sales.SumTurnover)/Calculate("Sum(Sales.SumTurnover)", "TotalTotal")

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

Τύπος: Γραμμή. Η παράμετρος μπορεί να λάβει τις ακόλουθες τιμές:

· Το συνολικό αποτέλεσμα— η έκφραση θα αξιολογηθεί για όλες τις εγγραφές ομαδοποίησης.

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

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

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

Κατά τον υπολογισμό της συνάρτησης Υπολογισμός έκφρασης() με νόημα GroupingNotResourceγια ομαδικές εγγραφές που δεν είναι ομαδοποιήσεις κατά πόρους, η συνάρτηση υπολογίζεται με τον ίδιο τρόπο που θα υπολογίζονταν εάν η τιμή της παραμέτρου ήταν ίση με την τιμή ομαδοποίηση.

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

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

· Πρώτη (Πρώτη)

· Τελευταίο (Τελευταίο)

· Προηγούμενο (Προηγούμενο )

· Επόμενο (Επόμενο)

· Τρέχον (Τρέχον)

· LimitingValue(BoundaryValue) LimitingValue

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

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

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

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

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

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

Εάν η προηγούμενη εγγραφή είναι εκτός της ομαδοποίησης (για παράδειγμα, η δεύτερη εγγραφή ομαδοποίησης απαιτεί Previous(3) , τότε λαμβάνεται η πρώτη εγγραφή ομαδοποίησης.

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

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

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

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

· Τρέχον (Τρέχον). Πρέπει να λάβετε την τρέχουσα καταχώρηση.

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

· LimitingValue(BoundaryValue). Η ανάγκη λήψης της εγγραφής με την καθορισμένη τιμή. Μετά τη λέξη LimitingValueσε παρενθέσεις, πρέπει να καθορίσετε την έκφραση με την τιμή της οποίας θέλετε να ξεκινήσετε το τμήμα, το πρώτο πεδίο σειράς.

Η εγγραφή θα είναι η πρώτη εγγραφή της οποίας η τιμή του πεδίου παραγγελίας είναι μεγαλύτερη ή ίση με την καθορισμένη τιμή. Για παράδειγμα, εάν χρησιμοποιείτε το πεδίο Περίοδος ως πεδίο παραγγελίας και έχει τις τιμές 01/01/2010 , 02/01/2010 , 03/01/2010 και θέλετε να λάβετε LimitValue(DateTime(2010, 1, 15)), τότε θα ληφθεί ένα αρχείο με ημερομηνία 02/01/2010.

Τύπος: Γραμμή. Παρατίθενται εκφράσεις διαχωρισμένες με κόμμα που περιγράφουν τους κανόνες σειράς. Εάν δεν προσδιορίζεται, τότε η σειρά εκτελείται με τον ίδιο τρόπο όπως για την ομαδοποίηση για την οποία αξιολογείται η έκφραση. Μετά από κάθε έκφραση, μπορείτε να καθορίσετε λέξη-κλειδί Asc(για αύξουσα σειρά), Φθίνων(για φθίνουσα σειρά) και Αυτόματη τακτοποίηση(για ταξινόμηση πεδίων αναφοράς με βάση τα πεδία με τα οποία θέλετε να παραγγείλετε το αντικείμενο στο οποίο γίνεται αναφορά). Λέξη Αυτόματη τακτοποίησημπορεί να χρησιμοποιηθεί όπως με τη λέξη Asc, και με τη λέξη Φθίνων.

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

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

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

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

Για παράδειγμα, εάν η ακολουθία που προκύπτει είναι ταξινομημένη κατά ημερομηνία:

η ημερομηνία Πλήρες όνομα Εννοια
1 1 Ιανουαρίου 2001

Ιβάνοφ Μ.

10
2 02 Ιανουαρίου 2001 Πετρόφ Σ. 20
3 03 Ιανουαρίου 2001 Σιντόροφ Ρ. 30
4 4 Ιανουαρίου 2001 Πετρόφ Σ. 40

Χωριστά, τότε:

§ η προηγούμενη καταχώρηση στην καταχώριση 3 θα είναι η καταχώριση 2.

ρεύμα, ρεύμα(αντίστοιχα οι παράμετροι Αρχήκαι Τέλος), τότε για την εγγραφή 2 αυτό το τμήμα θα αποτελείται από μία εγγραφή 2. Η έκφραση θα είναι ίση με 20.

Εάν η τιμή της παραμέτρου είναι Μαζί, τότε:

§ η προηγούμενη καταχώρηση στην καταχώριση 3 θα είναι η καταχώριση 1.

§ εάν το υπολογιζόμενο θραύσμα ορίζεται ως ρεύμα, ρεύμα(αντίστοιχα οι παράμετροι Αρχήκαι Τέλος), τότε για την εγγραφή 2 αυτό το κομμάτι θα αποτελείται από τις εγγραφές 2 και 3. Η έκφραση CalculateExpression("Sum(Value)", Current, Current)θα ισούται με 50.

Όταν καθορίζετε μια τιμή παραμέτρου ίση με Μαζί, σε παραμέτρους Αρχήκαι Τέλοςδεν μπορείτε να καθορίσετε μια μετατόπιση για θέσεις Πρώτη, Τελευταία, Προηγούμενη, Επόμενη.

CalculateExpression("Amount(AmountTurnover)", "First", "Current")

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

CalculateExpression("Course", "Previous")

Λίστα νέοςχαρακτηριστικά:

ComputeExpressionGroupedArray(,) -

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

ComputeExpressionGroupedValueTable(,) -

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

ValueFilled() - Επιστρέφει True εάν η τιμή είναι διαφορετική από την προεπιλεγμένη τιμή αυτού του τύπου, εκτός από NULL , εκτός από μηδενική αναφορά, διαφορετική από Undefined . Οι τιμές Boole ελέγχονται έναντι NULL. Οι συμβολοσειρές ελέγχονται για χαρακτήρες χωρίς κενά.

Μορφή(, ) - Λάβετε τη μορφοποιημένη συμβολοσειρά της τιμής που περάσατε. Η συμβολοσειρά μορφοποίησης ορίζεται σύμφωνα με τη συμβολοσειρά μορφοποίησης του συστήματος 1C:Enterprise.

Υποσυμβολοσειρά(, , ) - Αυτή η συνάρτηση έχει σχεδιαστεί για να επιλέγει μια υποσυμβολοσειρά από μια συμβολοσειρά.

Μήκος χορδής() - Η συνάρτηση έχει σχεδιαστεί για να προσδιορίζει το μήκος μιας συμβολοσειράς. Η παράμετρος είναι μια έκφραση τύπου συμβολοσειράς

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

1. Υπολογίστε (Eval)- έχει σχεδιαστεί για να αξιολογεί μια έκφραση στο πλαίσιο κάποιας ομαδοποίησης. Η λειτουργία χρησιμοποιείται για συμβατότητα με ΠΡΟΗΓΟΥΜΕΝΕΣ ΕΚΔΟΣΕΙΣπλατφόρμες. Αντίθετα, συνιστάται η χρήση της συνάρτησης Evaluate Expression.

Σύνταξη :
Υπολογισμός (Έκφραση, Ομαδοποίηση, Τύπος Υπολογισμού)

Επιλογές:

  • Εκφραση(Γραμμή). Περιέχει μια υπολογισμένη έκφραση.
  • ομαδοποίηση(Γραμμή). Περιέχει το όνομα της ομάδας στο πλαίσιο της οποίας θα αξιολογηθεί η έκφραση. Εάν χρησιμοποιείται μια κενή συμβολοσειρά ως όνομα ομαδοποίησης, ο υπολογισμός θα εκτελεστεί στο πλαίσιο της τρέχουσας ομαδοποίησης. Εάν η συμβολοσειρά GrandTotal χρησιμοποιείται ως όνομα ομαδοποίησης, ο υπολογισμός θα εκτελεστεί στο πλαίσιο του γενικού συνόλου. Διαφορετικά, ο υπολογισμός θα εκτελεστεί στο πλαίσιο της γονικής ομαδοποίησης με αυτό το όνομα.
    Για παράδειγμα:
    Amount(Sales.AmountTurnover) / Υπολογισμός("Amount(Sales.AmountTurnover)", "TotalTotal").
    Σε αυτό το παράδειγμα, το αποτέλεσμα θα είναι η αναλογία του ποσού στο πεδίο "Sales.AmountTurnover" της εγγραφής ομαδοποίησης προς το ποσό του ίδιου πεδίου σε ολόκληρη τη διάταξη.
  • Τύπος Υπολογισμού(Γραμμή). Εάν αυτή η παράμετρος οριστεί σε "GeneralTotal", η έκφραση θα υπολογιστεί για όλες τις εγγραφές ομαδοποίησης. Εάν η τιμή της παραμέτρου είναι "Group", οι τιμές θα υπολογιστούν για την τρέχουσα εγγραφή ομάδας της ομάδας.
2. Αξιολόγηση έκφρασης (EvalExpression) - έχει σχεδιαστεί για να αξιολογεί μια έκφραση στο πλαίσιο κάποιας ομαδοποίησης. Η συνάρτηση λαμβάνει υπόψη την επιλογή ομαδοποιήσεων, αλλά δεν λαμβάνει υπόψη τις ιεραρχικές επιλογές. Η συνάρτηση δεν μπορεί να εφαρμοστεί σε μια ομαδοποίηση στην επιλογή ομάδας αυτής της ομαδοποίησης.

Σύνταξη :
CalculateExpression(Expression, Grouping, CalculationType, Start, End, Sort, HierarchicalSort, HandleSameOrderValues)

Επιλογές:

  • Εκφραση(Γραμμή). Περιέχει μια υπολογισμένη έκφραση.
  • ομαδοποίηση(Γραμμή). Περιέχει το όνομα της ομάδας στο πλαίσιο της οποίας θα αξιολογηθεί η έκφραση. Εάν χρησιμοποιείται μια κενή συμβολοσειρά ως όνομα ομαδοποίησης, ο υπολογισμός θα εκτελεστεί στο πλαίσιο της τρέχουσας ομαδοποίησης. Εάν η συμβολοσειρά GrandTotal χρησιμοποιείται ως όνομα ομαδοποίησης, ο υπολογισμός θα εκτελεστεί στο πλαίσιο του γενικού συνόλου. Διαφορετικά, ο υπολογισμός θα εκτελεστεί στο πλαίσιο της γονικής ομαδοποίησης με αυτό το όνομα.
  • Τύπος Υπολογισμού(Γραμμή). Εάν αυτή η παράμετρος οριστεί σε "GeneralTotal", η έκφραση θα υπολογιστεί για όλες τις εγγραφές ομαδοποίησης. Εάν η τιμή της παραμέτρου είναι "Group", οι τιμές θα υπολογιστούν για την τρέχουσα εγγραφή ομάδας της ομάδας. Εάν η παράμετρος έχει την τιμή "GroupingNotResource", τότε κατά τον υπολογισμό της συνάρτησης για μια εγγραφή ομάδας ανά πόρους, η έκφραση θα υπολογιστεί για την πρώτη εγγραφή ομάδας της αρχικής ομαδοποίησης. Κατά την αξιολόγηση της συνάρτησης CalculateExpression με την τιμή "GroupingNotResource" για εγγραφές ομάδας που δεν είναι ομαδοποιήσεις κατά πόρους, η συνάρτηση αξιολογείται με τον ίδιο τρόπο όπως θα υπολογιστεί με την τιμή της παραμέτρου "Grouping". Το εργαλείο δημιουργίας διάταξης διάταξης σύνθεσης δεδομένων, όταν δημιουργεί μια διάταξη διάταξης σύνθεσης δεδομένων, όταν εμφανίζει ένα πεδίο, έναν πόρο με τον οποίο εκτελείται η ομαδοποίηση, εξάγει μια έκφραση στη διάταξη που υπολογίζεται χρησιμοποιώντας τη συνάρτηση Υπολογισμός έκφρασης, με την καθορισμένη παράμετρο "GroupingNotResource" . Για τους υπόλοιπους πόρους που ομαδοποιούνται ανά πόρο, επιστρέφονται οι τυπικές εκφράσεις πόρων. Εάν η παράμετρος έχει οριστεί σε "Ιεραρχία", τότε η έκφραση πρέπει να αξιολογηθεί για τη γονική ιεραρχική καταχώρηση, εάν υπάρχει, και για ολόκληρη την ομαδοποίηση, εάν δεν υπάρχει γονική ιεραρχική καταχώρηση. Το εργαλείο δημιουργίας διάταξης, όταν δημιουργεί μια έκφραση για το πεδίο "% σε μια ομάδα ιεραρχίας", δημιουργεί μια παράσταση που περιέχει τη σχέση της έκφρασης πόρου με τη συνάρτηση CalculateExpression για την έκφραση πόρων που αξιολογείται για την τρέχουσα ομαδοποίηση με τον υπολογισμό "Ιεραρχία" τύπος.
  • Αρχή. Καθορίζει ποια εγγραφή θα ξεκινήσει το τμήμα στο οποίο θα υπολογιστούν οι συγκεντρωτικές συναρτήσεις της έκφρασης και από ποια εγγραφή θα ληφθούν οι τιμές των πεδίων εκτός των συναρτήσεων συγκεντρωτικών στοιχείων. Μια συμβολοσειρά που περιέχει ένα από τα:
    • "Πρώτα". Πρέπει να λάβετε την πρώτη εγγραφή ομαδοποίησης. Μετά τη λέξη σε αγκύλες, μπορείτε να καθορίσετε μια έκφραση, το αποτέλεσμα της οποίας θα χρησιμοποιηθεί ως μετατόπιση από την αρχή της ομαδοποίησης. Η τιμή που προκύπτει πρέπει να είναι ακέραιος μεγαλύτερος από το μηδέν. Για παράδειγμα, First(3) - λήψη της τρίτης εγγραφής από την αρχή της ομαδοποίησης. Εάν η πρώτη καταχώριση είναι εκτός ομαδοποίησης, τότε θεωρείται ότι δεν υπάρχουν καταχωρήσεις. Για παράδειγμα, εάν υπάρχουν 3 εγγραφές και θέλετε να πάρετε την Πρώτη (4), τότε θεωρείται ότι δεν υπάρχουν εγγραφές.
    • "Τελευταίος". Πρέπει να λάβετε την πιο πρόσφατη καταχώριση ομαδοποίησης. Μετά τη λέξη σε αγκύλες, μπορείτε να καθορίσετε μια έκφραση, το αποτέλεσμα της οποίας θα χρησιμοποιηθεί ως μετατόπιση από το τέλος της ομαδοποίησης. Η τιμή που προκύπτει πρέπει να είναι ακέραιος μεγαλύτερος από το μηδέν. Για παράδειγμα, Last(3) - λάβετε την τρίτη εγγραφή από το τέλος της ομαδοποίησης. Εάν η τελευταία καταχώριση είναι εκτός ομαδοποίησης, τότε θεωρείται ότι δεν υπάρχουν καταχωρήσεις. Για παράδειγμα, εάν υπάρχουν 3 εγγραφές και θέλετε να πάρετε το Last(4), τότε θεωρείται ότι δεν υπάρχουν εγγραφές.
    • "Προηγούμενος". Πρέπει να λάβετε την προηγούμενη καταχώρηση ομαδοποίησης. Μετά τη λέξη σε παρένθεση, μπορείτε να καθορίσετε μια έκφραση, το αποτέλεσμα της οποίας θα χρησιμοποιηθεί ως μετατόπιση από την τρέχουσα εγγραφή ομαδοποίησης. Για παράδειγμα, Προηγούμενο(2) - λάβετε το προηγούμενο από την προηγούμενη εγγραφή. Εάν η προηγούμενη εγγραφή είναι εκτός της ομαδοποίησης (για παράδειγμα, η δεύτερη εγγραφή ομαδοποίησης πρέπει να λάβει Previous(3)), τότε λαμβάνεται η πρώτη εγγραφή ομαδοποίησης. Όταν λαμβάνεται η προηγούμενη εγγραφή για το σύνολο της ομαδοποίησης, θεωρείται ότι λαμβάνεται η πρώτη εγγραφή.
    • "Επόμενο". Πρέπει να λάβετε την επόμενη καταχώριση ομαδοποίησης. Μετά τη λέξη σε αγκύλες, μπορείτε να καθορίσετε μια έκφραση, το αποτέλεσμα της οποίας θα χρησιμοποιηθεί ως μετατόπιση προς τα εμπρός από την τρέχουσα εγγραφή ομαδοποίησης. Για παράδειγμα, Next(2) - λάβετε το επόμενο από την επόμενη εγγραφή. Εάν η επόμενη εγγραφή υπερβαίνει την ομαδοποίηση, τότε θεωρείται ότι δεν υπάρχουν εγγραφές. Για παράδειγμα, εάν υπάρχουν 3 εγγραφές και η τρίτη εγγραφή πάρει Επόμενο, τότε θεωρείται ότι δεν υπάρχουν εγγραφές. Όταν ληφθεί η επόμενη εγγραφή για το σύνολο της ομαδοποίησης, θεωρείται ότι δεν υπάρχει εγγραφή.
    • "Ρεύμα". Πρέπει να λάβετε την τρέχουσα καταχώρηση. Όταν ανακτάται για ένα σύνολο ομαδοποίησης, ανακτάται η πρώτη εγγραφή.
    • "BoundaryValue". Η ανάγκη λήψης της εγγραφής με την καθορισμένη τιμή. Μετά τη λέξη RestrictingValue σε αγκύλες, πρέπει να καθορίσετε την έκφραση με την τιμή της οποίας θέλετε να ξεκινήσετε το τμήμα, το πρώτο πεδίο παραγγελίας. Η εγγραφή θα είναι η πρώτη εγγραφή της οποίας η τιμή του πεδίου παραγγελίας είναι μεγαλύτερη ή ίση με την καθορισμένη τιμή. Για παράδειγμα, εάν το πεδίο Περίοδος χρησιμοποιείται ως πεδίο παραγγελίας και έχει τις τιμές 01/01/2010, 02/01/2010, 03/01/2010 και θέλετε να λάβετε το LimitValue(DateTime(2010 , 1, 15)), στη συνέχεια θα ληφθεί ένα αρχείο με την ημερομηνία 02/01. 2010.
  • Τέλος. Καθορίζει σε ποια εγγραφή θα συνεχιστεί το τμήμα στο οποίο θα αξιολογηθεί η συγκεντρωτική έκφραση. Μια συμβολοσειρά που περιέχει ένα από τα:
    • "Πρώτα".
    • "Τελευταίος".
    • "Προηγούμενος".
    • "Επόμενο".
    • "Ρεύμα".
    • "BoundaryValue".
  • Ταξινόμηση. Μια συμβολοσειρά που παραθέτει τις εκφράσεις που χωρίζονται με κόμματα προς ποια κατεύθυνση να διαταχθεί η ακολουθία. Εάν δεν προσδιορίζεται, τότε η σειρά εκτελείται με τον ίδιο τρόπο όπως για την ομαδοποίηση για την οποία αξιολογείται η έκφραση. Μετά από κάθε έκφραση, μπορείτε να καθορίσετε τη λέξη-κλειδί Αύξουσα, για ταξινόμηση με αύξουσα σειρά, Φθίνουσα, για ταξινόμηση με φθίνουσα σειρά, Αυτόματη ταξινόμηση, για ταξινόμηση των αναφερόμενων πεδίων κατά τα πεδία με τα οποία θέλετε να ταξινομήσετε το αντικείμενο αναφοράς. Η λέξη Αυτόματη Παραγγελία μπορεί να χρησιμοποιηθεί με λέξεις Αύξουσα και Φθίνουσα.
  • Ιεραρχική Ταξινόμηση. Παρόμοια με τη διαλογή. Χρησιμοποιείται για την τακτοποίηση ιεραρχικών εγγραφών. Εάν δεν καθορίζεται, το εργαλείο δημιουργίας διάταξης δημιουργεί μια σειρά σύμφωνα με τη σειρά που καθορίζεται στην παράμετρο Ταξινόμηση.
  • Χειρισμός Παραγγελίας Ίδιων Αξιών. Μια συμβολοσειρά που περιέχει ένα από τα:
    • "Μαζί" - υποδεικνύει ότι χρησιμοποιείται μια ακολουθία διατεταγμένων εγγραφών για τον προσδιορισμό της προηγούμενης και της επόμενης εγγραφής.
    • "Ξεχωριστά" - σημαίνει ότι η προηγούμενη και η επόμενη εγγραφή καθορίζονται με βάση τις τιμές των εκφράσεων σειράς.
    Για παράδειγμα, εάν η ακολουθία που προκύπτει είναι ταξινομημένη κατά ημερομηνία:
    1. 1 Ιανουαρίου 2001 Ivanov M. 10
    2. 2 Ιανουαρίου 2001 Petrov S. 20
    3. 2 Ιανουαρίου 2001 Sidorov R. 30
    4. 03 Ιανουαρίου 2001 Petrov S. 40
    Όταν χρησιμοποιείτε την επεξεργασία των ίδιων τιμών παραγγελίας "Ξεχωριστά", η προηγούμενη στην εγγραφή 3 θα είναι η εγγραφή 2 και όταν χρησιμοποιείτε το "Μαζί" - η εγγραφή 1. Και το θραύσμα για την τρέχουσα εγγραφή για την εγγραφή 2 για το "Ξεχωριστά" θα είναι η εγγραφή 2 και για το "Μαζί" - οι εγγραφές 2 και 3. Έτσι, το σύνολο για την τρέχουσα εγγραφή για το "Separate" θα είναι 20 και για το "Together" - 50. Εάν το "Together" έχει καθοριστεί στο Start και Παράμετροι τέλους, δεν μπορείτε να καθορίσετε μια μετατόπιση για τις θέσεις "Πρώτο", "Τελευταίο", "Προηγούμενο", "Επόμενο". Η προεπιλεγμένη τιμή είναι "Separate".
Παράδειγμα :
Λήψη της αναλογίας του ποσού στο πεδίο "Sales.AmountTurnover" μιας εγγραφής ομαδοποίησης προς το ποσό του ίδιου πεδίου σε ολόκληρη τη διάταξη:
Amount(Sales.AmountTurnover) / CalculateExpression("Amount(Sales.AmountTurnover)", "TotalTotal").

Σε αυτό το παράδειγμα, η τιμή της τρέχουσας ιεραρχίας υπολογίζεται:
Επιλογή
Όταν Level() > 0
Στη συνέχεια, EvaluateExpression ("Αναφορά", "Ιεραρχία")
Αλλιώς Null
Τέλος

Σημειώσεις :
Η συνάρτηση λαμβάνει υπόψη την επιλογή ομαδοποιήσεων, αλλά δεν λαμβάνει υπόψη τις ιεραρχικές επιλογές. Η συνάρτηση δεν μπορεί να εφαρμοστεί σε μια ομαδοποίηση στην επιλογή ομάδας αυτής της ομαδοποίησης. Για παράδειγμα, στην επιλογή της ομαδοποίησης Ονοματολογίας, δεν μπορείτε να χρησιμοποιήσετε την έκφραση Υπολογισμός Έκφρασης ("Sum(SumTurnover)", "TotalTotal") > 1000 . Αλλά μια τέτοια έκφραση μπορεί να χρησιμοποιηθεί στην ιεραρχική επιλογή. Εάν η εγγραφή τέλους προηγείται της εγγραφής έναρξης, τότε θεωρείται ότι δεν υπάρχουν εγγραφές για τον υπολογισμό αναλυτικών δεδομένων και τον υπολογισμό συγκεντρωτικών συναρτήσεων. Κατά τον υπολογισμό παραστάσεων διαστήματος για ένα γενικό σύνολο (η παράμετρος Grouping έχει οριστεί σε "GrandTotal"), θεωρείται ότι δεν υπάρχουν εγγραφές για τον υπολογισμό λεπτομερών δεδομένων και τον υπολογισμό συναρτήσεων συγκεντρωτικών στοιχείων. Το εργαλείο δημιουργίας διάταξης, όταν δημιουργεί την έκφραση της συνάρτησης Υπολογισμός έκφρασης, εάν η παράσταση σειράς περιέχει πεδία που δεν μπορούν να χρησιμοποιηθούν στην ομαδοποίηση, αντικαθιστά τη συνάρτηση Υπολογισμός έκφρασης με NULL.

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

Σύνταξη :
ComputeExpressionGroupedArray(Expression, GroupingFieldExpressions, SelectRecords, SelectGroups)

Επιλογές:

  • Εκφραση(Συμβολοσειρά) - Η έκφραση που θα αξιολογηθεί. Για παράδειγμα, "Amount(AmountTurnover)";
  • Ομάδες εκφράσεων πεδίων
  • Επιλογή εγγραφής
  • Επιλογή Ομαδοποίησης- επιλογή που εφαρμόζεται σε ομαδικές εγγραφές. Για παράδειγμα: "Amount(AmountTurnover) > &Parameter1".
Παράδειγμα :
Maximum(Calculate ExpressionWith GroupingArray("Amount(AmountTurnover)", "Counterparty"));


Εργαλείο δημιουργίας διάταξης κατά τη δημιουργία παραστάσεων για έξοδο προσαρμοσμένο πεδίο, στην έκφραση της οποίας υπάρχει μόνο η συνάρτηση CalculateArrayWithGrouping δημιουργεί μια έκφραση εξόδου με τέτοιο τρόπο ώστε τα δεδομένα να εμφανίζονται στην προβολή και τα δεδομένα να ταξινομούνται.
Για παράδειγμα, για ένα προσαρμοσμένο πεδίο με μια έκφραση:
Υπολογισμός ExpressionWith GroupingArray("Amount(AmountTurnover)", "Counterparty")
το πρόγραμμα δημιουργίας διάταξης θα δημιουργήσει την ακόλουθη έκφραση για έξοδο:
ConcatenateStrings(Array(Order(CalculateExpressionGroupedValueTable("View(Amount(DataSet.AmountTurnover))", Amount(DataSet.AmountTurnover)", "DataSet.Counterparty"), "2"))

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

Σύνταξη :
Υπολογισμός έκφρασης με GroupingValueTable (Έκφραση, Ομαδοποίηση παραστάσεων πεδίων, Επιλογή εγγραφών, Επιλογή ομαδοποιήσεων)

Επιλογές:

  • Εκφραση(Συμβολοσειρά) - Η έκφραση που θα αξιολογηθεί. Μια γραμμή μπορεί να περιέχει πολλές εκφράσεις που χωρίζονται με κόμμα. Κάθε έκφραση μπορεί να ακολουθείται από την προαιρετική λέξη-κλειδί AS και το όνομα της στήλης του πίνακα τιμών. Για παράδειγμα: "Contractor, Amount(AmountTurnover) As SalesVolume".
  • Ομάδες εκφράσεων πεδίων- ομαδοποίηση εκφράσεων πεδίων διαχωρισμένων με κόμματα. Για παράδειγμα, "Εργολάβος, συμβαλλόμενο μέρος"?
  • Επιλογή εγγραφήςείναι μια έκφραση που εφαρμόζεται σε λεπτομερείς εγγραφές. Για παράδειγμα, "DeletionMark = False". Εάν χρησιμοποιείται μια αθροιστική συνάρτηση σε αυτήν την παράμετρο, θα προκύψει σφάλμα κατά τη σύνθεση των δεδομένων.
  • Επιλογή Ομαδοποίησης- επιλογή που εφαρμόζεται σε ομαδικές εγγραφές. Για παράδειγμα: "Amount(AmountTurnover) > &Parameter1".
Παράδειγμα :
Υπολογισμός έκφρασης με τον πίνακα GroupingValue ("Αντισυμβαλλόμενος AS Αντισυμβαλλόμενος, Ποσό(Ποσό Κύκλος Εργασιών) Ως Όγκος Πωλήσεων", "Αντισυμβαλλόμενος")

Το αποτέλεσμα αυτής της συνάρτησης θα είναι ένας πίνακας τιμών με στήλες Αντισυμβαλλόμενος και Όγκος Πωλήσεων, οι οποίοι θα περιέχουν αντισυμβαλλόμενους με τους όγκους πωλήσεών τους.
Το πρόγραμμα δημιουργίας διάταξης, όταν δημιουργεί μια διάταξη, μετατρέπει τις παραμέτρους συνάρτησης σε πεδία διάταξης διάταξης δεδομένων. Για παράδειγμα, το πεδίο Λογαριασμός θα μετατραπεί σε Σύνολο δεδομένων.
Για παράδειγμα, ένα προσαρμοσμένο πεδίο με μια έκφραση:
Υπολογισμός έκφρασης με τον πίνακα GroupingValue ("Counterparty, Amount(AmountTurnover)", "Counterparty")
Το πρόγραμμα δημιουργίας διάταξης θα δημιουργήσει την ακόλουθη έκφραση για έξοδο:
ConnectStrings(GetPart(Order(CalculateExpressionWithGroupingValueTable("DataSet.Account, DataSet.AccountView, Sum(DataSet.AmountTurnover), View(DataSet.AmountTurnover), DataSet.OrderingSetSet", "DataSet. " ), "2, 4"))

5. Επίπεδο (Επίπεδο) - η λειτουργία έχει σχεδιαστεί για να λαμβάνει το τρέχον επίπεδο εγγραφής.

Σύνταξη :
Επίπεδο()

Παράδειγμα :
Επίπεδο()

6. Αριθμός κατά σειρά (SequenceNumber) - λάβετε τον επόμενο σειριακό αριθμό.

Σύνταξη :
Αριθμός παραγγελίας()

Παράδειγμα :
Αριθμός παραγγελίας()

7. SequenceNumberInGrouping - επιστρέφει τον επόμενο αριθμό σειράς στην τρέχουσα ομαδοποίηση.

Παράδειγμα :
NumberInOrderInGroup()

8. Μορφοποίηση - λάβετε τη μορφοποιημένη συμβολοσειρά της τιμής που πέρασε.

Σύνταξη :
Μορφή (Τιμή, FormatString)

Επιλογές:

  • Εννοια- την έκφραση που πρέπει να μορφοποιηθεί.
  • FormatString- η συμβολοσειρά μορφής ορίζεται σύμφωνα με τη συμβολοσειρά μορφής 1C:Enterprise.
Παράδειγμα :
Μορφή(Τιμολόγια Δαπανών.AmountDoc, "NPV=2")

9. Έναρξη της περιόδου (BeginOfPeriod)

Σύνταξη :
StartPeriod(Ημερομηνία,Τύπος περιόδου)

Επιλογές:

  • η ημερομηνία(Η ημερομηνία). δεδομένη ημερομηνία?
  • Τύπος περιόδου
Παράδειγμα :
PeriodStart(DateTime(2002, 10, 12, 10, 15, 34), "Month")
Αποτέλεσμα: 01.10.2002 0:00:00

10. EndPeriod (EndOfPeriod) - η συνάρτηση έχει σχεδιαστεί για να εξάγει μια συγκεκριμένη ημερομηνία από μια δεδομένη ημερομηνία.

Σύνταξη :
EndPeriod(Ημερομηνία,Type Period)

Επιλογές:

  • η ημερομηνία(Η ημερομηνία). δεδομένη ημερομηνία?
  • Τύπος περιόδου(Γραμμή). Περιέχει μία από τις ακόλουθες τιμές: Minute; Ωρα; Ημέρα; Μια εβδομάδα; Μήνας; Τέταρτο; Ετος; Δεκαετία; Μισός χρόνος.
Παράδειγμα :
EndPeriod(DateTime(2002, 10, 12, 10, 15, 34), "Week")
Αποτέλεσμα: 13.10.2002 23:59:59

11. AddKdate (DateAdd) - η συνάρτηση έχει σχεδιαστεί για να προσθέτει μια συγκεκριμένη τιμή στην ημερομηνία.

Σύνταξη :
AddToDate (Έκφραση, IncrementType, Value)

Επιλογές:

  • Εκφραση(Η ημερομηνία). αρχική ημερομηνία·
  • Τύπος μεγέθυνσης(Γραμμή). Περιέχει μία από τις ακόλουθες τιμές: Minute; Ωρα; Ημέρα; Μια εβδομάδα; Μήνας; Τέταρτο; Ετος; Δεκαετία; Μισός χρόνος.
  • αξία(Αριθμός). Κατά πόσο πρέπει να αυξήσετε την ημερομηνία, το κλασματικό μέρος αγνοείται.
Παράδειγμα :
AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Month", 1)
Αποτέλεσμα: 11/12/2002 10:15:34 π.μ

12. Διαφορά ημερομηνίας - η λειτουργία έχει σχεδιαστεί για να λαμβάνει τη διαφορά μεταξύ δύο ημερομηνιών.

Σύνταξη :
DifferenceDate(Expression1, Expression2, DifferenceType)

Επιλογές:

  • Έκφραση 1(Η ημερομηνία). Ημερομηνία αφαίρεσης.
  • Έκφραση 2(Η ημερομηνία). αρχική ημερομηνία·
  • Διαφορά Τύπου(Γραμμή). Περιέχει μία από τις ακόλουθες τιμές: Second; Λεπτό; Ωρα; Ημέρα; Μήνας; Τέταρτο; Ετος.
Παράδειγμα :
ΔΙΑΦΟΡΑ ΗΜΕΡΟΜΗΝΙΑΣ(DATETIME(2002, 10, 12, 10, 15, 34),
DATETIME(2002, 10, 14, 9, 18, 06), "DAY")
Αποτέλεσμα: 2

13. Υποχορδή - αυτή η λειτουργία έχει σχεδιαστεί για να επιλέγει μια υποσυμβολοσειρά από μια συμβολοσειρά.

Σύνταξη :
Υποσυμβολοσειρά (Συμβολοσειρά, Θέση, Μήκος)

Επιλογές:

  • Γραμμή(Γραμμή). Η συμβολοσειρά από την οποία εξάγεται η υποσυμβολοσειρά.
  • Θέση(Αριθμός). Η θέση του χαρακτήρα από την οποία ξεκινά η υποσυμβολοσειρά που θα εξαχθεί από τη συμβολοσειρά.
  • Μήκος(Αριθμός). Το μήκος της επιλεγμένης υποσυμβολοσειράς.
Παράδειγμα :
SUBSTRING(Λογαριασμοί.Διεύθυνση, 1, 4)

14. Μήκος χορδής - η συνάρτηση έχει σχεδιαστεί για να προσδιορίζει το μήκος της χορδής.

Σύνταξη :
Μήκος συμβολοσειράς (String)

Παράμετρος:

  • Γραμμή(Γραμμή). Η χορδή της οποίας το μήκος προσδιορίζεται.
Παράδειγμα :
Συμβολοσειρά (Λογαριασμοί. Διεύθυνση)

15. Έτος- αυτή η συνάρτηση έχει σχεδιαστεί για να εξάγει το έτος από μια τιμή του τύπου Date.

Σύνταξη :
Έτος (Ημερομηνία)

Παράμετρος:

  • η ημερομηνία(Η ημερομηνία). Η ημερομηνία κατά την οποία καθορίζεται το έτος.
Παράδειγμα :
ΕΤΟΣ (Συμπεριλαμβανομένης Ημερομηνίας)

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

Σύνταξη :
Τρίμηνο (Ημερομηνία)

Παράμετρος:

  • η ημερομηνία(Η ημερομηνία). Η ημερομηνία κατά την οποία καθορίζεται το τρίμηνο
Παράδειγμα :
ΤΡΙΜΗΝΟ (Τιμολόγιο.Ημερομηνία)

17. Μήνας - αυτή η λειτουργία έχει σχεδιαστεί για να εξάγει τον αριθμό του μήνα από την τιμή του τύπου Date. Ο αριθμός του μήνα είναι συνήθως στην περιοχή από 1 έως 12.

Σύνταξη :
Μήνας (Ημερομηνία)

Παράμετρος:

  • η ημερομηνία(Η ημερομηνία). Η ημερομηνία κατά την οποία καθορίζεται ο μήνας.
Παράδειγμα :
MONTH (Τιμολόγιο.Ημερομηνία)

18. DayOfYear - αυτή η λειτουργία έχει σχεδιαστεί για να παίρνει την ημέρα του έτους από μια τιμή τύπου Ημερομηνίας. Η ημέρα του έτους κυμαίνεται κανονικά από 1 έως 365(366).

Σύνταξη :
ΗμέραΈτος (Ημερομηνία)

Παράμετρος:

  • η ημερομηνία(Η ημερομηνία). Η ημερομηνία κατά την οποία καθορίζεται η ημέρα του έτους.
Παράδειγμα :
ΗΜΕΡΑ ΤΟΥ ΧΡΟΝΟΥ (Ημερομηνία Exp.Inc.)

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

Σύνταξη :
Ημέρα (Ημερομηνία)

Παράμετρος:

  • η ημερομηνία(Η ημερομηνία). Η ημερομηνία κατά την οποία καθορίζονται οι ημέρες του μήνα.
Παράδειγμα :
DAY (Ημερομηνία Λήξης)

20. Εβδομάδα - αυτή η συνάρτηση έχει σχεδιαστεί για να λαμβάνει τον αριθμό της εβδομάδας του έτους από μια τιμή του τύπου Ημερομηνία. Οι εβδομάδες του έτους αριθμούνται ξεκινώντας από το 1.

Σύνταξη :
Εβδομάδα (Ημερομηνία)

Παράμετρος:

  • η ημερομηνία(Η ημερομηνία). Η ημερομηνία κατά την οποία καθορίζονται οι αριθμοί της εβδομάδας.
Παράδειγμα :
ΕΒΔΟΜΑΔΑ (Ημερομηνία Λήξης)

21. Ημέρα της εβδομάδας (WeekDay) - αυτή η λειτουργία έχει σχεδιαστεί για να παίρνει την ημέρα της εβδομάδας από μια τιμή τύπου Ημερομηνίας. Η ημέρα της εβδομάδας κυμαίνεται κανονικά από 1 (Δευτέρα) έως 7 (Κυριακή).

Σύνταξη :
WeekDay (Ημερομηνία)

Παράμετρος:

  • η ημερομηνία(Η ημερομηνία). Η ημερομηνία κατά την οποία καθορίζεται η ημέρα της εβδομάδας.
Παράδειγμα :
ΗΜΕΡΑ ΤΗΣ ΕΒΔΟΜΑΔΑΣ (Ημερομηνία Exp.Inc.)

22. Ώρα- αυτή η λειτουργία έχει σχεδιαστεί για να παίρνει την ώρα της ημέρας από μια τιμή του τύπου Ημερομηνία. Η ώρα της ημέρας κυμαίνεται από 0 έως 23.

Σύνταξη :
Ώρα (Ημερομηνία)

Παράμετρος:

  • η ημερομηνία(Η ημερομηνία). Η ημερομηνία κατά την οποία καθορίζεται η ώρα της ημέρας.
Παράδειγμα :
HOUR (Ημερομηνία Exp.Inc.)

23. Λεπτό - αυτή η λειτουργία έχει σχεδιαστεί για να λαμβάνει τα λεπτά της ώρας από την τιμή του τύπου Ημερομηνία. Το λεπτό της ώρας κυμαίνεται από 0 έως 59.

Σύνταξη :
Λεπτό (Ημερομηνία)

Παράμετρος:

  • η ημερομηνία(Η ημερομηνία). Η ημερομηνία κατά την οποία καθορίζεται το λεπτό της ώρας.
Παράδειγμα :
MINUTE(Ημερομηνία Exp.Inc.)

24. Δεύτερον - αυτή η συνάρτηση έχει σχεδιαστεί για να λαμβάνει το δευτερόλεπτο του λεπτού από μια τιμή τύπου Ημερομηνίας. Το δευτερόλεπτο του λεπτού κυμαίνεται από 0 έως 59.

Σύνταξη :
Δεύτερη (Ημερομηνία)

Παράμετρος:

  • η ημερομηνία(Η ημερομηνία). Η ημερομηνία κατά την οποία καθορίζονται τα δευτερόλεπτα του λεπτού.
Παράδειγμα :
SEC (Ημερομηνία Exp.Inc.)

25. Express (Cast) - αυτή η συνάρτηση έχει σχεδιαστεί για να επιλέγει έναν τύπο από μια έκφραση που μπορεί να περιέχει έναν σύνθετο τύπο. Εάν η παράσταση περιέχει έναν τύπο διαφορετικό από τον απαιτούμενο τύπο, θα επιστραφεί NULL.

Σύνταξη :
Express (Έκφραση, Ένδειξη τύπου)

Επιλογές:

  • Εκφραση- η έκφραση που πρόκειται να μετατραπεί·
  • Ένδειξη τύπου(Γραμμή). Περιέχει μια συμβολοσειρά τύπου. Για παράδειγμα, "Αριθμός", "Συμβολοσειρά" κ.λπ. Εκτός από τους αρχέγονους τύπους, αυτή η συμβολοσειρά μπορεί να περιέχει το όνομα ενός πίνακα. Σε αυτήν την περίπτωση, θα γίνει προσπάθεια έκφρασης σε αναφορά στον καθορισμένο πίνακα.
Παράδειγμα :
Express(Data.Attribute1, "Number(10,3)")

26. IsNull (IsNull) - αυτή η συνάρτηση επιστρέφει την τιμή της δεύτερης παραμέτρου εάν η τιμή της πρώτης παραμέτρου είναι NULL. Διαφορετικά, θα επιστραφεί η τιμή της πρώτης παραμέτρου.

Σύνταξη :
IsNull(Έκφραση1, Έκφραση2)

Επιλογές:

  • Έκφραση 1- ελεγμένη τιμή.
  • Έκφραση 2- την επιστρεφόμενη τιμή εάν η τιμή της Expression1 είναι NULL.
Παράδειγμα :
IsNULL(Ποσό(Πωλήσεις.ΠοσόΚύκλος), 0)

27.Α.Σ- υπολογίζει το συνημίτονο τόξου σε ακτίνια.

Σύνταξη :
ACos (Έκφραση)

Παράμετρος:

  • Εκφραση(Αριθμός). Η τιμή συνημιτόνου (στην περιοχή -1 ... 1) που καθορίζει τη γωνία.
28.ASin- υπολογίζει το τόξο σε ακτίνια.

Σύνταξη :
ASin (Έκφραση)

Παράμετρος:

  • Εκφραση(Αριθμός). Η τιμή του ημιτόνου (στην περιοχή -1 ... 1) που καθορίζει τη γωνία.
29. ΑΤαν- υπολογίζει την εφαπτομένη του τόξου σε ακτίνια.

Σύνταξη :
ATan (Έκφραση)

Παράμετρος:

  • Εκφραση(Αριθμός). Η τιμή της εφαπτομένης με την οποία προσδιορίζεται η γωνία.
30. Κοσ- υπολογίζει το συνημίτονο.

Σύνταξη :
Cos (Έκφραση)

Παράμετρος:

  • Εκφραση
31.Λήξη- αύξηση του αριθμού e σε δύναμη.

Σύνταξη :
Exp (Έκφραση)

Παράμετρος:

  • Εκφραση(Αριθμός). Αξία πτυχίου.
32. Ημερολόγιο- υπολογίζει τον φυσικό λογάριθμο.

Σύνταξη :
Αρχείο καταγραφής (Έκφραση)

Παράμετρος:

  • Εκφραση
33.Ημερολόγιο10- Υπολογίζει τον λογάριθμο του Χ στη βάση 10.

Σύνταξη :
Log10 (Έκφραση)

Παράμετρος:

  • Εκφραση(Αριθμός). Ο αρχικός αριθμός είναι μεγαλύτερος από 0.
34. Πόου- εκθεσιμότητα.

Σύνταξη :
Pow (Βάση, Εκθέτης)

Επιλογές:

  • Βάση(Αριθμός). Η βάση της πράξης εκθέσεως.
  • Δείκτης(Αριθμός). Εκθέτης.
35. Αμαρτία- υπολογίζει το ημίτονο.

Σύνταξη :
Αμαρτία (Έκφραση)

Παράμετρος:

  • Εκφραση(Αριθμός). Καθορίζεται σε ακτίνια.
36. Τετράγωνο- υπολογίζει την τετραγωνική ρίζα.

Σύνταξη :
Sqrt (Έκφραση)

Παράμετρος:

  • Εκφραση(Αριθμός). Μη αρνητικός αριθμός.
37. Ταν- υπολογίζει την εφαπτομένη.

Σύνταξη :
Μαύρισμα (Έκφραση)

Παράμετρος:

  • Εκφραση(Αριθμός). Η τιμή του ημιτόνου με την οποία προσδιορίζεται η γωνία.
38. Okr (Γύρος)- στρογγυλοποιεί τον αρχικό αριθμό στο επιθυμητό βάθος bit. Η λειτουργία στρογγυλοποίησης είναι στάνταρ (1,5 είναι σαν 2).

Σύνταξη :
Env (έκφραση, βάθος bit)

Επιλογές:

  • Εκφραση(Αριθμός). Αρχικός αριθμός;
  • Λίγο βάθος(Αριθμός). Ο αριθμός των δεκαδικών ψηφίων προς στρογγυλοποίηση.
39. Ενθ- κόβει το κλασματικό μέρος του αριθμού.

Σύνταξη :
Int (Έκφραση)

Παράμετρος:

  • Εκφραση(Αριθμός). Κλασματικός αριθμός.
40. Λειτουργίες κοινών ενοτήτων

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

Παράδειγμα :
Συντομευμένο Όνομα (Έγγραφα. Σύνδεσμος, Έγγραφα. Ημερομηνία, Έγγραφα. Αριθμός)

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

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

<Пустое значение>".

Παράδειγμα :
Προβολή (Λογαριασμός)

42. Χορδή - αυτή η συνάρτηση μετατρέπει την τιμή που πέρασε σε συμβολοσειρά.

Εάν ένας πίνακας ή ένας πίνακας τιμών χρησιμοποιείται ως παράμετρος, τότε η συνάρτηση επιστρέφει μια συμβολοσειρά που περιέχει την αναπαράσταση συμβολοσειράς όλων των στοιχείων του πίνακα, διαχωρισμένα με τους χαρακτήρες "; ". Εάν οποιοδήποτε στοιχείο έχει μια κενή αναπαράσταση συμβολοσειράς, τότε η συμβολοσειρά "<Пустое значение>".

Παράδειγμα :
Συμβολοσειρά (Ημερομηνία Πώλησης)

43. ValueFilled (ValueIsFilled)

Για τις τιμές NULL, το Undefined επιστρέφει πάντα False.
Για τιμές, το Boolean επιστρέφει πάντα True.
Για άλλους τύπους, επιστρέφει True εάν η τιμή είναι διαφορετική από την προεπιλεγμένη τιμή για τον συγκεκριμένο τύπο.

Παράδειγμα :
ValueFilled (Ημερομηνία παράδοσης)

44. LevelInGroup (LevelInGroup) - αυτή η λειτουργία λαμβάνει το τρέχον επίπεδο εγγραφής σε σχέση με την ομαδοποίηση.

Μπορεί να χρησιμοποιηθεί για τη λήψη του επιπέδου ένθεσης μιας καταχώρησης σε μια ιεραρχική ομαδοποίηση.

Παράδειγμα :
LevelInGroup()

45. ValueType

Σύνταξη :
ValueType (Έκφραση)

Παράμετρος:

  • Εκφραση(Γραμμή). Η τιμή συμβολοσειράς του τύπου.
Επιστρέφει μια τιμή τύπου Type που περιέχει τον τύπο τιμής της παραμέτρου συνάρτησης.

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

  1. τρέξιμο συνολικά σε μια ομαδοποίηση?
  2. συνολικό τρέξιμο στο crosstab?
  3. λήψη της προηγούμενης τιμής.
  4. Έξοδος PM σε μία γραμμή.

1. Λήψη δείκτη σε ένα αθροιστικό σύνολο

Λάβετε την ποσότητα των αγαθών σε ένα αθροιστικό σύνολο σε επίπεδο ομαδοποίησης. Για να γίνει αυτό, δημιουργούμε ένα υπολογισμένο πεδίο (βλ. Εικόνα 1).
Στην καρτέλα "Πόροι", ορίστε τη συνάρτηση για το πεδίο υπολογισμού:
CalculateExpression("Sum(NumberTurnover)", "First", "Current")
που θα συνοψίσει τον αριθμό των προϊόντων από την πρώτη εγγραφή έως την τρέχουσα (βλ. εικόνα 2).

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

2. Λήψη της τιμής ένδειξης από την προηγούμενη σειρά

Λάβετε τη συναλλαγματική ισοτιμία για την ημερομηνία και την προηγούμενη ημερομηνία. Για να το κάνετε αυτό, δημιουργήστε ένα υπολογισμένο πεδίο και γράψτε την ακόλουθη έκφραση στο πεδίο έκφρασης (βλ. Εικόνα 5):
EvaluateExpression("Course", "Previous", "Previous")
που θα λάβει την προηγούμενη τιμή της συναλλαγματικής ισοτιμίας για την τρέχουσα γραμμή, η τελευταία παράμετρος της συνάρτησης περιορίζει τη λήψη δεδομένων.
Εφόσον εργαζόμαστε σε επίπεδο αναλυτικών εγγραφών, πηγαίνουμε αμέσως στην καρτέλα "Ρυθμίσεις" και δημιουργούμε μια ομαδοποίηση - αναλυτικές εγγραφές.

3. Λήψη δείκτη με αθροιστικό σύνολο σε διασταύρωση

Θα λάβουμε το ποσό των αγαθών σε δεδουλευμένη βάση στο πλαίσιο της περιόδου. Για να γίνει αυτό, δημιουργούμε ένα υπολογισμένο πεδίο (βλ. Εικόνα 1). Στην καρτέλα "Πόροι" για το πεδίο υπολογισμού, καθορίστε την ακόλουθη έκφραση (βλ. Εικόνα 6):
CalculateExpression("Amount(NumberTurnover)", "Period", "First", "Current")
το οποίο σε επίπεδο ομαδοποίησης θα υπολογίζει την ποσότητα των εμπορευμάτων στην περιοχή από την πρώτη γραμμή έως την τρέχουσα στο πλαίσιο της περιόδου για κάθε είδος.
Στην καρτέλα "Ρυθμίσεις", δημιουργούμε έναν πίνακα με ομαδοποίηση ανά στοιχείο σε μια σειρά και ομαδοποίηση ανά τελεία σε μια στήλη (βλ. Εικόνα 7).

4. Έξοδος δεδομένων του πίνακα σε μία γραμμή

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

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

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

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

1. Ρυθμίστε ένα αίτημα στο ACS.

2. Ρυθμίστε τα υπολογισμένα πεδία στο ACS

3. Διαμορφώνουμε τη διάταξη δεδομένων στην καρτέλα ρυθμίσεων

4. Ξεκινάμε το 1C Enterprise 8.2.14. Ανοίγουμε την αναφορά. Σχηματίζουμε, λαμβάνουμε.

Περιγραφή των ίδιων των νέων χαρακτηριστικών:

1. Η τρέχουσα ημερομηνία()

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

2. COMPUTE EXPRESSION()

Σύνταξη:

Υπολογισμός Έκφρασης(<Выражение>, <Группировка>, <ОбластьВычисления>, <Начало>, <Конец>, <Сортировка>, <ИерархическаяСортировка>, <ОбработкаОдинаковыхЗначенийПорядка>)

Περιγραφή:

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

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

Η συνάρτηση δεν μπορεί να εφαρμοστεί σε μια ομαδοποίηση στην επιλογή ομάδας αυτής της ομαδοποίησης. Για παράδειγμα, στην επιλογή της ομαδοποίησης Ονοματολογίας, δεν μπορείτε να χρησιμοποιήσετε την έκφραση Υπολογισμός Έκφρασης ("Sum(SumTurnover)", "TotalTotal") > 1000. Αλλά μια τέτοια έκφραση μπορεί να χρησιμοποιηθεί στην ιεραρχική επιλογή.

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

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

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

Επιλογές

<Выражение>

Τύπος: String. Η έκφραση που πρέπει να αξιολογηθεί.

<Группировка>

Τύπος: String. Περιέχει το όνομα της ομάδας στο πλαίσιο της οποίας θα αξιολογηθεί η έκφραση. Εάν χρησιμοποιείται μια κενή συμβολοσειρά ως όνομα ομαδοποίησης, ο υπολογισμός θα εκτελεστεί στο πλαίσιο της τρέχουσας ομαδοποίησης. Εάν η συμβολοσειρά GrandTotal χρησιμοποιείται ως όνομα ομαδοποίησης, ο υπολογισμός θα εκτελεστεί στο πλαίσιο του γενικού συνόλου. Διαφορετικά, ο υπολογισμός θα εκτελεστεί στο πλαίσιο της γονικής ομαδοποίησης με αυτό το όνομα.

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

Sum(Sales.SumTurnover)/Υπολογισμός("Sum(Sales.SumTurnover)", "TotalTotal")

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

<ОбластьВычисления>

Τύπος: String. Η παράμετρος μπορεί να λάβει τις ακόλουθες τιμές:

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

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

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

<Начало>

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

<Конец>

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

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

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

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

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

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

Εάν η προηγούμενη εγγραφή είναι εκτός της ομαδοποίησης (για παράδειγμα, η δεύτερη εγγραφή ομαδοποίησης απαιτεί Previous(3), τότε λαμβάνεται η πρώτη εγγραφή ομαδοποίησης.

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

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

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

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

  • Τρέχον (Τρέχον). Πρέπει να λάβετε την τρέχουσα καταχώρηση.

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

  • BoundaryValue. Η ανάγκη λήψης της εγγραφής με την καθορισμένη τιμή. Μετά τη λέξη RestrictingValue σε αγκύλες, πρέπει να καθορίσετε την έκφραση με την τιμή της οποίας θέλετε να ξεκινήσετε το τμήμα, το πρώτο πεδίο παραγγελίας.

Η εγγραφή θα είναι η πρώτη εγγραφή της οποίας η τιμή του πεδίου παραγγελίας είναι μεγαλύτερη ή ίση με την καθορισμένη τιμή. Για παράδειγμα, εάν το πεδίο Περίοδος χρησιμοποιείται ως πεδίο παραγγελίας και έχει τις τιμές 01/01/2010, 02/01/2010, 03/01/2010 και θέλετε να λάβετε το LimitValue(DateTime(2010 , 1, 15)), στη συνέχεια θα ληφθεί ένα αρχείο με την ημερομηνία 02/01. 2010.

<Сортировка>

Τύπος: String. Παρατίθενται εκφράσεις διαχωρισμένες με κόμμα που περιγράφουν τους κανόνες σειράς. Εάν δεν προσδιορίζεται, τότε η σειρά εκτελείται με τον ίδιο τρόπο όπως για την ομαδοποίηση για την οποία αξιολογείται η έκφραση. Μετά από κάθε έκφραση, μπορείτε να καθορίσετε τις λέξεις-κλειδιά Asc (για ταξινόμηση με αύξουσα σειρά), Φθίνουσα (για ταξινόμηση με φθίνουσα σειρά) και AutoOrder (για ταξινόμηση των πεδίων αναφοράς κατά τα πεδία με τα οποία θέλετε να ταξινομήσετε το αντικείμενο αναφοράς). Η λέξη Αυτόματη Παραγγελία μπορεί να χρησιμοποιηθεί με λέξεις Αύξουσα και Φθίνουσα.

<ИерархическаяСортировка>

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

<ОбработкаОдинаковыхЗначенийПорядка>

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

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

Για παράδειγμα, εάν η ακολουθία που προκύπτει είναι ταξινομημένη κατά ημερομηνία:

η ημερομηνία Πλήρες όνομα Εννοια
1 1 Ιανουαρίου 2001 Ιβάνοφ Μ. 10
2 02 Ιανουαρίου 2001 Πετρόφ Σ. 20
3 03 Ιανουαρίου 2001 Σιντόροφ Ρ. 30
4 4 Ιανουαρίου 2001 Πετρόφ Σ. 40

Εάν η τιμή της παραμέτρου είναι Ξεχωριστή, τότε:

§ η προηγούμενη καταχώρηση στην καταχώριση 3 θα είναι η καταχώριση 2.

§ εάν το τμήμα υπολογισμού ορίζεται ως Τρέχον, Τρέχον (αντίστοιχα, οι παράμετροι έναρξης και λήξης), τότε για την εγγραφή 2 αυτό το τμήμα θα αποτελείται από μία εγγραφή 2. Η έκφραση Υπολογισμός έκφρασης ("Άθροισμα (Τιμή)", Τρέχουσα, Τρέχουσα) θα είναι ίσο με 20.

Εάν η τιμή της παραμέτρου είναι Μαζί, τότε:

§ η προηγούμενη καταχώρηση στην καταχώριση 3 θα είναι η καταχώριση 1.

§ εάν το τμήμα υπολογισμού ορίζεται ως Current, Current (αντίστοιχα, οι παράμετροι έναρξης και λήξης), τότε για την εγγραφή 2 αυτό το τμήμα θα αποτελείται από τις εγγραφές 2 και 3. Η έκφραση CalculateExpression(“Sum(Value)”, Current, Current) είναι ίσο με 50.

Όταν καθορίζετε την τιμή της παραμέτρου ίση με Μαζί, στις παραμέτρους Έναρξη και Τέλος, δεν μπορείτε να καθορίσετε μια μετατόπιση για τις θέσεις First, Last, Previous, Next.

CalculateExpression("Amount(AmountTurnover)", "First", "Current")

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

CalculateExpression("Course", "Previous")

Λίστα νέοςχαρακτηριστικά:

ComputeExpressionGroupedArray(<Выражение>, <ВыражениеПолейГруппировки>, <ОтборЗаписей>, <ОтборГруппировок>) –

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

ComputeExpressionGroupedValueTable(<Выражения>, <ВыражениеПолейГруппировки>, <ОтборЗаписей>, <ОтборГруппировок>) –

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

ValueFilled(<Выражение>) – Επιστρέφει True εάν η τιμή είναι διαφορετική από την προεπιλεγμένη τιμή αυτού του τύπου, εκτός από NULL, εκτός από μηδενική αναφορά, διαφορετική από Undefined. Οι τιμές Boole ελέγχονται για NULL. Οι συμβολοσειρές ελέγχονται για χαρακτήρες χωρίς κενά.

Μορφή(<Выражение>, <Форматная строка>) – Λάβετε τη μορφοποιημένη συμβολοσειρά της τιμής που περάσατε. Η συμβολοσειρά μορφοποίησης ορίζεται σύμφωνα με τη συμβολοσειρά μορφοποίησης του συστήματος 1C:Enterprise.

Υποσυμβολοσειρά(<Выражение>, <Начальные символ>, <ДлинаПодстроки>) - Αυτή η συνάρτηση έχει σχεδιαστεί για να επιλέγει μια υποσυμβολοσειρά από μια συμβολοσειρά.

Μήκος χορδής(<Выражение>) – Η συνάρτηση έχει σχεδιαστεί για να προσδιορίζει το μήκος μιας συμβολοσειράς. Παράμετρος - έκφραση τύπου συμβολοσειράς

Γραμμή(<Выражение>) – Εάν ένας πίνακας μεταβιβαστεί ως παράμετρος, τότε η συνάρτηση επιστρέφει μια συμβολοσειρά που περιέχει αναπαραστάσεις συμβολοσειράς όλων των στοιχείων του πίνακα, διαχωρισμένες με τους χαρακτήρες "; ". Εάν ένας πίνακας τιμών μεταβιβαστεί ως παράμετρος, τότε η συνάρτηση επιστρέφει μια συμβολοσειρά που περιέχει αναπαραστάσεις συμβολοσειρών όλων των σειρών του πίνακα τιμών και οι αναπαραστάσεις κελιών κάθε γραμμής διαχωρίζονται με τους χαρακτήρες ". ", και συμβολοσειρές με χαρακτήρα νέας γραμμής. Εάν οποιοδήποτε στοιχείο έχει μια κενή αναπαράσταση συμβολοσειράς, τότε αντί για την αναπαράστασή του, εμφανίζεται μια συμβολοσειρά<Пустое значение>.