Υπολογισμένο πεδίο σε SKD 1s 8.2. SKD. Εμφάνιση πληροφοριών πίνακα σε ένα κελί. Τι είναι ένα υπολογισμένο πεδίο

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

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

Επιλογές:

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

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

Επιλογές:

  • Εκφραση(Γραμμή). Περιέχει μια υπολογισμένη έκφραση.
  • Ομαδοποίηση(Γραμμή). Περιέχει το όνομα της ομάδας στο πλαίσιο της οποίας θα αξιολογηθεί η έκφραση. Εάν χρησιμοποιείται μια κενή συμβολοσειρά ως όνομα ομαδοποίησης, ο υπολογισμός θα εκτελεστεί στο πλαίσιο της τρέχουσας ομαδοποίησης. Εάν η συμβολοσειρά GrandTotal χρησιμοποιείται ως όνομα ομάδας, ο υπολογισμός θα εκτελεστεί στο πλαίσιο του γενικού συνόλου. Διαφορετικά, ο υπολογισμός θα εκτελεστεί στο πλαίσιο της γονικής ομαδοποίησης με αυτό το όνομα.
  • Τύπος υπολογισμού(Γραμμή). Εάν αυτή η παράμετρος οριστεί σε "TotalTotal", η έκφραση θα υπολογιστεί για όλες τις εγγραφές ομαδοποίησης. Εάν η τιμή της παραμέτρου είναι "Ομαδοποίηση", οι τιμές θα υπολογιστούν για την τρέχουσα εγγραφή ομάδας ομαδοποίησης. Εάν η παράμετρος έχει οριστεί σε "Ομαδοποίηση μη πόρων", τότε κατά τον υπολογισμό της συνάρτησης για μια εγγραφή ομάδας ανά πόρο, η έκφραση θα αξιολογηθεί για την πρώτη εγγραφή ομάδας της αρχικής ομαδοποίησης. Κατά την αξιολόγηση της συνάρτησης CalculateExpression με την τιμή "GroupingNonResource" για εγγραφές ομάδας που δεν είναι ομαδοποιήσεις κατά πόρο, η συνάρτηση αξιολογείται με τον ίδιο τρόπο όπως θα αξιολογούνταν με την τιμή της παραμέτρου "Grouping". Το εργαλείο δημιουργίας διάταξης σύνθεσης δεδομένων, όταν δημιουργεί μια διάταξη σύνθεσης δεδομένων κατά την έξοδο ενός πεδίου - ένας πόρος με τον οποίο εκτελείται η ομαδοποίηση, στη διάταξη, εξάγει στη διάταξη μια παράσταση που υπολογίζεται χρησιμοποιώντας τη συνάρτηση CalculateExpression με την καθορισμένη παράμετρο "GroupingNon-Resource". Για άλλους πόρους που ομαδοποιούνται ανά πόρο, επιστρέφονται κανονικές εκφράσεις πόρων. Εάν η παράμετρος έχει οριστεί σε "Ιεραρχία", τότε η έκφραση πρέπει να αξιολογηθεί για τη γονική ιεραρχική εγγραφή, εάν υπάρχει, και για ολόκληρη την ομαδοποίηση, εάν δεν υπάρχει γονική ιεραρχική εγγραφή. Το εργαλείο δημιουργίας διάταξης, όταν δημιουργεί μια έκφραση για το % στο πεδίο Ομάδα ιεραρχίας, δημιουργεί μια παράσταση που περιέχει τη σχέση της έκφρασης του πόρου με τη συνάρτηση CalculateExpression για την έκφραση πόρων που υπολογίζεται για την τρέχουσα ομαδοποίηση με τύπο υπολογισμού Ιεραρχία.
  • Αρχή. Υποδεικνύει με ποια εγγραφή πρέπει να ξεκινήσει το τμήμα στο οποίο θα υπολογιστεί αθροιστικές συναρτήσειςεκφράσεις και από ποια εγγραφή να ληφθούν τιμές πεδίων εκτός συναρτήσεων συγκεντρωτικών. Μια συμβολοσειρά που περιέχει ένα από τα:
    • "Πρώτα" Είναι απαραίτητο να αποκτήσετε την πρώτη εγγραφή ομαδοποίησης. Μετά τη λέξη σε αγκύλες, μπορείτε να καθορίσετε μια έκφραση, το αποτέλεσμα της οποίας θα χρησιμοποιηθεί ως μετατόπιση από την αρχή της ομαδοποίησης. Η τιμή που προκύπτει πρέπει να είναι ακέραιος μεγαλύτερος από το μηδέν. Για παράδειγμα, First(3) – λήψη της τρίτης εγγραφής από την αρχή της ομαδοποίησης. Εάν η πρώτη εγγραφή είναι εκτός ομαδοποίησης, τότε θεωρείται ότι δεν υπάρχουν εγγραφές. Για παράδειγμα, εάν υπάρχουν 3 εγγραφές και θέλετε να πάρετε το First(4), τότε θεωρείται ότι δεν υπάρχουν εγγραφές.
    • "Τελευταίος" Πρέπει να λάβετε την τελευταία εγγραφή ομαδοποίησης. Μετά τη λέξη σε αγκύλες, μπορείτε να καθορίσετε μια έκφραση, το αποτέλεσμα της οποίας θα χρησιμοποιηθεί ως μετατόπιση από το τέλος της ομαδοποίησης. Η τιμή που προκύπτει πρέπει να είναι ακέραιος μεγαλύτερος από το μηδέν. Για παράδειγμα, Last(3) – λήψη της τρίτης εγγραφής από το τέλος της ομάδας. Αν τελευταίο ρεκόρυπερβαίνει την ομαδοποίηση, θεωρείται ότι δεν υπάρχουν εγγραφές. Για παράδειγμα, εάν υπάρχουν 3 εγγραφές και θέλετε να πάρετε το Last(4), τότε θεωρείται ότι δεν υπάρχουν εγγραφές.
    • "Προηγούμενος" Πρέπει να λάβετε την προηγούμενη εγγραφή ομαδοποίησης. Μετά τη λέξη σε αγκύλες, μπορείτε να καθορίσετε μια έκφραση, το αποτέλεσμα της οποίας θα χρησιμοποιηθεί ως μετατόπιση από την τρέχουσα εγγραφή ομαδοποίησης. Για παράδειγμα, Previous(2) – λήψη του προηγούμενου από την προηγούμενη εγγραφή. Εάν η προηγούμενη εγγραφή βρίσκεται εκτός της ομαδοποίησης (για παράδειγμα, η δεύτερη εγγραφή ομαδοποίησης απαιτεί τη λήψη Previous(3)), τότε λαμβάνεται η πρώτη εγγραφή ομαδοποίησης. Κατά τη λήψη της προηγούμενης εγγραφής για το σύνολο της ομαδοποίησης, λαμβάνεται η πρώτη εγγραφή.
    • "Επόμενο" Πρέπει να λάβετε την επόμενη εγγραφή ομαδοποίησης. Μετά τη λέξη σε αγκύλες, μπορείτε να καθορίσετε μια έκφραση, το αποτέλεσμα της οποίας θα χρησιμοποιηθεί ως μετατόπιση προς τα εμπρός από την τρέχουσα εγγραφή ομαδοποίησης. Για παράδειγμα, Next(2) – λήψη του επόμενου από την επόμενη εγγραφή. Εάν η επόμενη εγγραφή υπερβαίνει την ομαδοποίηση, τότε θεωρείται ότι δεν υπάρχουν εγγραφές. Για παράδειγμα, εάν υπάρχουν 3 καταχωρήσεις και η τρίτη καταχώρηση λάβει Επόμενο, τότε θεωρείται ότι δεν υπάρχουν καταχωρήσεις. Όταν ληφθεί η επόμενη εγγραφή για το σύνολο της ομαδοποίησης, θεωρείται ότι δεν υπάρχει εγγραφή.
    • "Ρεύμα". Πρέπει να λάβετε την τρέχουσα εγγραφή. Κατά την ανάκτηση για ένα σύνολο ομαδοποίησης, λαμβάνεται η πρώτη εγγραφή.
    • "BoundaryValue". Η ανάγκη λήψης μιας εγγραφής με την καθορισμένη τιμή. Μετά τη λέξη LimitingValue σε παρένθεση, πρέπει να υποδείξετε την έκφραση με την τιμή της οποίας θέλετε να ξεκινήσετε το τμήμα, το πρώτο πεδίο παραγγελίας. Η πρώτη εγγραφή της οποίας η τιμή του πεδίου παραγγελίας είναι μεγαλύτερη ή ίση με την καθορισμένη τιμή θα επιστραφεί ως εγγραφή. Για παράδειγμα, εάν το πεδίο Περίοδος χρησιμοποιείται ως πεδίο παραγγελίας και έχει τις τιμές 01/01/2010, 02/01/2010, 03/01/2010 και θέλετε να λάβετε το LimitingValue(DateTime(2010 , 1, 15)), τότε θα ληφθεί ένα αρχείο με την ημερομηνία 02/01. 2010.
  • Τέλος. Υποδεικνύει σε ποια εγγραφή πρέπει να συνεχιστεί το θραύσμα, στην οποία θα πρέπει να υπολογιστεί η συγκεντρωτική έκφραση. Μια συμβολοσειρά που περιέχει ένα από τα:
    • "Πρώτα"
    • "Τελευταίος"
    • "Προηγούμενος"
    • "Επόμενο"
    • "Ρεύμα".
    • "BoundaryValue".
  • Ταξινόμηση. Μια συμβολοσειρά που παραθέτει τις εκφράσεις, διαχωρισμένες με κόμμα, προς την κατεύθυνση της οποίας πρέπει να ταξινομηθεί η ακολουθία. Εάν δεν καθορίζεται, τότε η σειρά εκτελείται με τον ίδιο τρόπο όπως για την ομαδοποίηση για την οποία αξιολογείται η έκφραση. Μετά από κάθε έκφραση μπορείτε να καθορίσετε λέξη-κλειδίΑύξουσα, για ταξινόμηση με αύξουσα σειρά, Φθίνουσα, για ταξινόμηση με φθίνουσα σειρά, Αυτόματη σειρά, για ταξινόμηση πεδίων αναφοράς με βάση τα πεδία με τα οποία θέλετε να παραγγείλετε το αντικείμενο που αναφέρεται. Η λέξη Auto Order μπορεί να χρησιμοποιηθεί τόσο με τη λέξη Αύξουσα όσο και με τη λέξη Φθίνουσα.
  • Ιεραρχική Ταξινόμηση. Παρόμοια με τη διαλογή. Χρησιμοποιείται για την οργάνωση ιεραρχικών εγγραφών. Εάν δεν καθορίζεται, ο συνθέτης διάταξης δημιουργεί τη σειρά σύμφωνα με τη σειρά που καθορίζεται στην παράμετρο Ταξινόμηση.
  • Επεξεργασία ίδιων τιμών παραγγελίας. Μια συμβολοσειρά που περιέχει ένα από τα:
    • "Μαζί" σημαίνει ότι χρησιμοποιείται μια ακολουθία διατεταγμένων εγγραφών για τον προσδιορισμό της προηγούμενης και της επόμενης εγγραφής.
    • "Ξεχωριστά" σημαίνει ότι η προηγούμενη και η επόμενη εγγραφή καθορίζονται με βάση τις τιμές των εκφράσεων σειράς.
    Για παράδειγμα, εάν η ακολουθία που προκύπτει είναι ταξινομημένη κατά ημερομηνία:
    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. Έτσι, το σύνολο για την τρέχουσα εγγραφή για το "Ξεχωριστά" θα είναι 20 και για το "Μαζί" - 50. Όταν το "Μαζί" καθορίζεται στο Start και Παράμετροι τέλους, δεν μπορείτε να καθορίσετε μια μετατόπιση για τις θέσεις "Πρώτο", "Τελευταίο", "Προηγούμενο", "Επόμενο". Η προεπιλεγμένη τιμή είναι "Separate".
Παράδειγμα:
Λήψη της αναλογίας του ποσού για το πεδίο "Sales.AmountTurnover" μιας εγγραφής ομαδοποίησης προς το ποσό του ίδιου πεδίου σε ολόκληρη τη διάταξη:
Sum(Sales.SumTurnover) / CalculateExpression("Sum(Sales.SumTurnover)", "Total").

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

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

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

Σύνταξη:
CalculateExpressionWithGroupArray (Expression, GroupFieldExpressions, SelectRecords, SelectGroups)

Επιλογές:

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


Το πρόγραμμα δημιουργίας διάταξης, όταν δημιουργεί παραστάσεις για την εμφάνιση ενός προσαρμοσμένου πεδίου του οποίου η έκφραση περιέχει μόνο τη συνάρτηση CalculateArrayWithGroup, δημιουργεί την έκφραση εξόδου με τέτοιο τρόπο ώστε τα δεδομένα εμφάνισης και τα δεδομένα να ταξινομούνται.
Για παράδειγμα, για ένα προσαρμοσμένο πεδίο με την έκφραση:
CalculateExpressionWithGroupArray("Amount(AmountTurnover)", "Counterparty")
Το πρόγραμμα δημιουργίας διάταξης θα δημιουργήσει την ακόλουθη έκφραση για έξοδο:
ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable("View(Sum(DataSet.AmountTurnover)), Amount(DataSet.AmountTurnover)", "DataSet.Account"), "2"))

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

Σύνταξη:
CalculateExpressionWithGroupValueTable (έκφραση, εκφράσεις πεδίου ομάδας, επιλογή εγγραφών, επιλογή ομάδας)

Επιλογές:

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

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

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

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

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

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

Σύνταξη:
NumberByOrder()

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

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

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

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

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

Επιλογές:

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

9. BeginOfPeriod

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

Επιλογές:

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

10. EndOfPeriod - η λειτουργία έχει σχεδιαστεί για να επιλέγει μια συγκεκριμένη ημερομηνία από μια δεδομένη ημερομηνία.

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

Επιλογές:

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

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

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

Επιλογές:

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

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

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

Επιλογές:

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

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

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

Επιλογές:

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

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

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

Παράμετρος:

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

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

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

Παράμετρος:

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

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

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

Παράμετρος:

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

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

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

Παράμετρος:

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

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

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

Παράμετρος:

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

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

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

Παράμετρος:

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

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

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

Παράμετρος:

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

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

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

Παράμετρος:

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

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

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

Παράμετρος:

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

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

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

Παράμετρος:

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

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

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

Παράμετρος:

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

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

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

Επιλογές:

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

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

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

Επιλογές:

  • Έκφραση 1- τιμή που πρέπει να ελεγχθεί.
  • Έκφραση 2- επιστρέψτε την τιμή εάν η Έκφραση1 είναι NULL.
Παράδειγμα:
YesNULL(Ποσό(Πωλήσεις.ΠοσόΚύκλος), 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. Στρογγυλό- στρογγυλοποιεί τον αρχικό αριθμό στο απαιτούμενο βάθος bit. Η λειτουργία στρογγυλοποίησης είναι στάνταρ (1,5 ως 2).

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

Επιλογές:

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

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

Παράμετρος:

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

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

Παράδειγμα:
AbbreviatedName(Documents.Link, Documents.Date, Documents.Number)

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

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

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

Παράδειγμα:
Παρουσίαση (Αντισυμβαλλόμενος)

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

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

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

43. ValueIsFilled

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

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

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

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

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

45. ValueType

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

Παράμετρος:

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

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

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

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

Ο σκοπός αυτού του μαθήματος θα είναι:

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

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

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

Είδος αρχείου - εξωτερική έκθεση:

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

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

Προσθήκη αιτήματος μέσω του κατασκευαστή

στην καρτέλα " Σύνολο δεδομένων" Κάντε κλικ πράσινοςυπογράψτε συν και επιλέξτε " Προσθήκη συνόλου δεδομένων - Ερώτημα":

Αντί να γράφουμε το κείμενο αίτησης με μη αυτόματο τρόπο, το εκτελούμε ξανά κατασκευαστής ερωτήματος:

Στην "καρτέλα" Πίνακες"σύρετε το τραπέζι" Τροφή" από την πρώτη στήλη στη δεύτερη:

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

Αποδείχθηκε έτσι:

Πάτα το κουμπί " Εντάξει" - το κείμενο αιτήματος δημιουργήθηκε αυτόματα:

Δημιουργία ρυθμίσεων παρουσίασης αναφοράς

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

Επιλέξτε τον τύπο αναφοράς " Λίστα..." και πατήστε το κουμπί " Περαιτέρω":

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

Σύρετε από την αριστερή στήλη στο δεξιό πεδίο " Χρώμα" - θα συμβεί ομαδοποίησηγραμμές στην έκθεση. Κάντε κλικ " Εντάξει":

Και εδώ είναι το αποτέλεσμα της δουλειάς του σχεδιαστή. Ιεραρχία της έκθεσής μας:

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

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

Αλλαγή της σειράς των στηλών

Αλλά ας ας αλλάξουμε τη σειράστήλες (πάνω και κάτω βέλη) έτσι ώστε να μοιάζει με το παρακάτω σχήμα:

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

Μπράβο, αυτό είναι πολύ καλύτερο.

Ας συνοψίσουμε την περιεκτικότητα σε θερμίδες

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

Για το σκοπό αυτό, υπάρχει μηχανισμός υπολογισμού πόρων.

Μεταβείτε στην καρτέλα " Πόροι"και σύρετε το πεδίο" Περιεκτικότητα σε θερμίδες"(θα το συνοψίσουμε) από την αριστερή στήλη προς τα δεξιά.

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

Αποθηκεύουμε και δημιουργούμε μια αναφορά:

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

Ας το συνοψίσουμε (μέσος όρος) ως προς τις θερμίδες

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

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

Για να δημιουργήσουμε ένα τέτοιο «εικονικό» πεδίο, θα χρησιμοποιήσουμε τον μηχανισμό υπολογισμένα πεδία.

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

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

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

Ας το κάνουμε δεύτεροςτρόπος. Για να το κάνετε αυτό, μεταβείτε στην καρτέλα " Ρυθμίσεις", επιλέξτε " Κανω ΑΝΑΦΟΡΑ"(εξάλλου, θέλουμε να προσθέσουμε το πεδίο ως σύνολο στην αναφορά), επιλέξτε την καρτέλα στο κάτω μέρος" Επιλεγμένα πεδία"και σύρετε το πεδίο" Μέση περιεκτικότητα σε θερμίδες"από την αριστερή στήλη προς τα δεξιά:

Αποδείχθηκε έτσι:

Αποθηκεύουμε και δημιουργούμε μια αναφορά:

Το πεδίο εμφανίστηκε και βλέπουμε ότι οι τιμές του είναι οι τιμές του πεδίου "Θερμίδες". Εξαιρετική!

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

Επιπλέον, στη στήλη " Εκφραση"επιλέγω" Μέσος όρος (Μέση θερμίδες)":

Αποθηκεύουμε και δημιουργούμε μια αναφορά:

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

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

Ας διορθώσουμε το σφάλμα. Για να το κάνετε αυτό, επιστρέψτε στην καρτέλα " Ρυθμίσεις", επιλέξτε " Αναλυτικές καταχωρήσεις"πρώτα από πάνω (βήμα 2) και μετά" Αναλυτικές καταχωρήσεις"από κάτω (βήμα 3), μεταβείτε στον σελιδοδείκτη" Επιλεγμένο χωράφια" και θα δούμε στη δεξιά στήλη το στοιχείο " Αυτο".

Στοιχείο " Αυτο" - αυτό δεν είναι ένα πεδίο. Αυτά είναι πολλά πεδία που εμπίπτουν εδώ αυτόματα με βάση τις ρυθμίσεις υψηλότερου επιπέδου.

Για να δείτε ποια είναι αυτά τα πεδία, κάντε κλικ στο στοιχείο " Αυτο" σωστάκουμπί και επιλέξτε " Επεκτείνουν":

Στοιχείο " Αυτο" επεκτάθηκε στα ακόλουθα πεδία:

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

Η σωστή χρήση ενός σχήματος σύνθεσης δεδομένων (DCS) σάς επιτρέπει:

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

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

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

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

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

Τα υπολογισμένα πεδία σάς επιτρέπουν να εκτελέσετε ορισμένες ενέργειες με το σύνολο δεδομένων που δημιουργείται:

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

Ας περάσουμε από αυτή τη λίστα.

Πίνακας τιμών σε ένα κελί

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


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


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

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

  1. Διαχωριστής στοιχείων - υποδεικνύει ποιος χαρακτήρας θα διαχωρίσει ένα στοιχείο πίνακα ή μια σειρά από έναν πίνακα τιμών από μια άλλη (στην περίπτωσή μας, παραλείψαμε αυτήν την παράμετρο και μια αλλαγή γραμμής εκχωρήθηκε από προεπιλογή).
  2. Column Separator – ένας χαρακτήρας που χρησιμοποιείται για τον διαχωρισμό στηλών ενός πίνακα τιμών (η ερωτηματικό χρησιμοποιείται από προεπιλογή).

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

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

Μερικοί σημαντικά σημεία:

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

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


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

Διάταξη γλωσσικών εκφράσεων

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

  1. Υπολογίστε το μέσο κόστος του αντικειμένου.
  2. Όλα τα είδη ενδιαφέροντος?
  3. Υπολογισμοί των μέσων αποδοχών κ.λπ.

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

Αυτό μπορεί να γίνει χρησιμοποιώντας την κατασκευή «Επιλογή Όταν….Στη συνέχεια… Διαφορετικά… Τέλος».

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

Ας υποθέσουμε ότι μπορείτε να λάβετε το ποσό εγγράφου από την προηγούμενη γραμμή του αιτήματός μας, καθορίζοντας την τιμή Υπολογισμός έκφρασης ("Ποσό εγγράφου", "Προηγούμενο ποσό") στο πεδίο "Έκφραση".

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

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

Εμφάνιση ενός παραδείγματος αναφοράς 1C που χρησιμοποιεί δύο λειτουργίες ACS ΠίνακαςΚαι ConnectRowsΕπόμενο:

Δήλωση του προβλήματος για τη χρήση των συναρτήσεων ACS Array και JoinStrings

Εργασία: Πρέπει να εισαγάγετε όλους τους αριθμούς πωλήσεων για ένα προϊόν σε ένα κελί.

Κάτι σαν: ονοματολογία | ποσότητα | 001, 002, κ.λπ. |

Θα χρησιμοποιήσουμε ένα αίτημα στο μητρώο συσσώρευσης "Realization of TMZ".

ΕΠΙΛΕΓΩ
Υλοποίηση TMZ. Ληξίαρχος. Αριθμός,
Υλοποίηση TMZ. Ονοματολογία,
Υλοποίηση TMZ. Ληξίαρχος,
Υλοποίηση TMZ. ΠοσότηταΚύκλος εργασιών
ΑΠΟ
Μητρώο συσσώρευσης. Υλοποίηση TMZ. Επαναστάσεις
(, , Καταχωρητής, ) ΠΩΣ ΝΑ ΥΛΟΠΟΙΗΣΕΤΕ ΤΟ TMZ

Ο καταχωρητής συσσώρευσης "Realization of TMZ" υπάρχει τόσο στη διαμόρφωση Λογιστικής όσο και στη διαμόρφωση Trade Enterprise Management (UTP). Μάθετε πώς να ρυθμίσετε τις παραμέτρους του USP στο στοιχείο καταλόγου "Ονοματολογία". Επομένως, μετά τη λήψη, μπορείτε να εκτελέσετε αυτήν την αναφορά και στις δύο διαμορφώσεις για να ελέγξετε τη λειτουργικότητά της.

Υλοποίηση της εργασίας χρησιμοποιώντας τις συναρτήσεις SKD Array και ConnectRows


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

Περιγραφή της συνάρτησης JoinStrings

JoinStrings

Χρησιμοποιείται για τη σύνδεση χορδών σε μια συμβολοσειρά.

Σύνταξη:

ConnectRows (Τιμή, Διαχωριστικό στοιχείου, Διαχωριστικό στηλών)

Επιλογές:

  1. Εννοια— εκφράσεις που πρέπει να συνδυαστούν σε μία γραμμή.
    Εάν είναι πίνακας, τότε τα στοιχεία του πίνακα θα συνδυαστούν σε μια συμβολοσειρά.
    Εάν πρόκειται για ValueTable, τότε όλες οι στήλες και οι σειρές του πίνακα θα συνδυαστούν σε μια γραμμή.
  2. Διαχωριστής στοιχείων- μια συμβολοσειρά που περιέχει το κείμενο που θα χρησιμοποιηθεί ως
    διαχωριστικό μεταξύ στοιχείων πίνακα και σειρών πίνακα τιμών. Προεπιλογή – χαρακτήρας τροφοδοσίας γραμμής.
  3. Διαχωριστές στηλών-μια συμβολοσειρά που περιέχει το κείμενο που θα χρησιμοποιηθεί ως οριοθέτης
    μεταξύ των στηλών του πίνακα τιμών. Προκαθορισμένο ";".

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

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

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

1. Ρυθμίστε ένα αίτημα στο σύστημα ελέγχου πρόσβασης.

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

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

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

Περιγραφή των ίδιων των νέων λειτουργιών:

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

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

2. COMPUTEEXPRESSION()

Σύνταξη:

CalculateExpression(,)

Περιγραφή:

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

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

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

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

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

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

Επιλογές

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

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

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

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

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

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

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

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

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

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

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

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

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

· Πρώτα

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

· Προηγούμενος

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

· Ρεύμα

· LimitingValue(BoundaryValue) LimitingValue

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

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

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

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

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

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

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

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

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

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

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

· Ρεύμα. Πρέπει να λάβετε την τρέχουσα εγγραφή.

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

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

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

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

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

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

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

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

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

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

Ιβάνοφ Μ.

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

Χωριστά, Οτι:

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

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

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

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

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

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

CalculateExpression("Sum(SumTurnover)", "First", "Current")

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

CalculateExpression("Τιμή", "Προηγούμενο")

Λίστα νέοςλειτουργίες:

CalculateExpressionWithGroupArray(,) -

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

CalculateExpressionWithGroupValueTable(,) -

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

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

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

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

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

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