Χρήση επιλογών σε skd. Σύνολο δεδομένων - Ερώτημα

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

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

Η σύνταξη αναφορών ACS απαιτεί τη δυνατότητα εργασίας με ερωτήματα σε 1C, την οποία συζητήσαμε.

Ποια είναι η τεχνολογία για τη δημιουργία μιας αναφοράς SKD 1C:

  • Γράψτε ένα αίτημα 1C στο 1C SKD, το οποίο παρέχει δεδομένα
  • Καθορίστε το SKD 1C τον ρόλο των πεδίων (υπολογιζόμενα πεδία, πόροι)
  • Εισαγάγετε τις προεπιλεγμένες ρυθμίσεις SKD 1C.

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

Ποια είναι η τεχνολογία για τη δημιουργία αναφοράς για προηγούμενες τεχνολογίες:

  • Γράψτε ένα αίτημα στο πρόγραμμα 1C
  • Αναπτύξτε μια φόρμα ρυθμίσεων (μοναδική για την αναφορά) που θα σας επιτρέπει να αλλάξετε μόνο N ρυθμίσεις που έχουν επιλεγεί από τον προγραμματιστή
  • Γράψτε έναν κωδικό (πρόγραμμα) για την εκτέλεση ερωτήματος και δόμησης έντυπη μορφήκανω ΑΝΑΦΟΡΑ.

Όπως μπορείτε να δείτε, το SKD 1C έχει ένα σημαντικό πλεονέκτημα τόσο για τον χρήστη όσο και για τον προγραμματιστή:

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

Σε όλες τις νέες διαμορφώσεις 1C, όλες οι αναφορές θα χρησιμοποιούνται μόνο σε 1C SKD.

Ας δούμε πώς να δημιουργήσετε μια αναφορά για το SKD 1C από την αρχή.

Δημιουργούμε μια αναφορά SKD 1C

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

Επιλέξτε τον τύπο αρχείου Νέα αναφορά.

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

Ας δημιουργήσουμε το κύριο σχήμα του ACS 1C.

Δημιουργούμε ένα αίτημα για την αναφορά SKD 1C

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

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

Ας γράψουμε ένα ερώτημα για να λάβουμε τα δεδομένα.

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

Ως αποτέλεσμα του αιτήματος, το SKD 1C θα δημιουργήσει μια λίστα διαθέσιμων πεδίων για χρήση και θα συμπληρώσει τα προεπιλεγμένα ονόματα με αυτήν.

Εάν το όνομα δεν είναι βολικό, μπορείτε να το αλλάξετε εδώ.

Σημειώστε ότι χρησιμοποιήσαμε την παράμετρο &StartDate στο ερώτημα. Στο SKD 1C υπάρχει μια παράμετρος (ημερομηνία) από προεπιλογή που ονομάζεται &Period και μπορείτε να τη χρησιμοποιήσετε.

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

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

Ρυθμίσεις SKD 1C

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

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

Οι κύριες ρυθμίσεις γίνονται στην καρτέλα Ρυθμίσεις:


Ας το ανοίξουμε σε λειτουργία Enterprise. Σημειώστε ότι δεν κάναμε προγραμματισμό, σχεδίαση φορμών και άλλα πράγματα. Για να ορίσετε μια παράμετρο, κάντε κλικ στο κουμπί Ρυθμίσεις.

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

Voila. Η έκθεση λειτουργεί.

Ρυθμίσεις SKD 1C

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

Σύρετε την Αποθήκη από Στήλες σε Γραμμές.

Ας σύρουμε την Ονοματολογία στην Αποθήκη.

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

Κάντε κλικ κάντε δεξί κλικστις Γραμμές (ή σε οποιοδήποτε από τα πεδία) και επιλέξτε Νέα ομαδοποίηση.

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

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

Εάν προσθέσετε μια νέα ομαδοποίηση αλλά δεν επιλέξετε πεδίο, σημαίνει "Όλα τα πεδία" (εμφανίζεται ως "Εγγραφές λεπτομερειών"). Μοιάζει με αυτό.

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

Το αποτέλεσμα των ρυθμίσεών μας.

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

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

Στο τελευταίο μου άρθρο, έγραψα ήδη ότι το 1C είναι μια παράδοξη πλατφόρμα. Το σύστημα σύνδεσης δεδομένων είναι ένα τέτοιο παράδοξο. Το SKD προορίζεται για το σχεδιασμό πολύπλοκων αναφορών και περιλαμβάνει την αντικατάσταση του "χειροκίνητου" προγραμματισμού αναφορών με σχεδιασμό σε μια πολυλειτουργική εργαλειοθήκη. Η δυνατότητα χρήσης του ACS εμφανίστηκε στην όγδοη έκδοση, αλλά χρειάστηκε πολύς χρόνος για να εμφανιστεί η έκδοση 8.2, ώστε η 1C να τη χρησιμοποιήσει στα τυπικά προϊόντα της. Από τη μία πλευρά, το ACS είναι ένα πολυλειτουργικό κιτ εργαλείων, χρησιμοποιώντας το οποίο μπορείτε να δημιουργήσετε πολύ περίπλοκες αναφορές χωρίς ούτε μια γραμμή κώδικα. Ωστόσο, το σύστημα ελέγχου πρόσβασης έχει ένα αρκετά υψηλό κατώφλι εισόδου, είναι πολύ δύσκολο να μελετηθεί και να ξεκινήσει η πλήρης χρήση του "από ένα swoop", επειδή η διεπαφή δεν είναι εντελώς διαισθητική, αλλά τα περισσότερα πλήρεις οδηγούςη χρήση είναι διαθέσιμη μόνο με τη μορφή βιβλιογραφίας επί πληρωμή.

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

Αίτημα = Νέο αίτημα(
"ΕΠΙΛΕΓΩ
| Πίνακας Ονοματολογία,
| Τραπέζι.Αποθήκη
| ΑΠΟ
| Πίνακας &TK AS");
Request.SetParameter("TK", TK);

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

Εδώ αξίζει να κάνουμε μια μικρή λυρική παρέκβαση και να μιλήσουμε για Datasets. Τα σύνολα δεδομένων είναι πηγές πληροφοριών από τις οποίες το SKD λαμβάνει δεδομένα που αργότερα συγκεντρώνει σε μια αναφορά. Τα σύνολα δεδομένων χωρίζονται σε τύπους, χρησιμοποιώντας κυρίως τον τύπο "Αίτηση", στο σώμα του οποίου ο προγραμματιστής γράφει ένα ερώτημα στη βάση δεδομένων. Ο τύπος "Object" χρησιμοποιείται για τη φόρτωση δεδομένων από εξωτερικά αντικείμενα. Και στις δύο περιπτώσεις, στην έξοδο έχουμε ένα συγκεκριμένο σύνολο πεδίων που λαμβάνονται ως αποτέλεσμα της εκτέλεσης μιας αίτησης ή της φόρτωσης ενός εξωτερικού αντικειμένου. Αργότερα, αυτά τα πεδία μπορούν να λειτουργήσουν στην καρτέλα "Ρυθμίσεις", μαζί με λεπτομερή διαμόρφωση της δομής της αναφοράς. Για τη διασύνδεση διαφορετικών συνόλων στο ACS, είναι δυνατό να καθοριστούν οι σύνδεσμοι των συνόλων δεδομένων στην καρτέλα με το ίδιο όνομα. Αυτοί οι σύνδεσμοι είναι άμεσος ανάλογος της αριστερής ένωσης σε ένα κλασικό ερώτημα. Ωστόσο, θα πρέπει να ληφθεί υπόψη ότι τα ερωτήματα σε οποιοδήποτε σύνολο δεδομένων δεν "γνωρίζουν" για την ύπαρξη άλλων συνόλων δεδομένων, τελικά οι σχέσεις δεδομένων θα επηρεάσουν τη διάταξη των δεδομένων σύμφωνα με τη δομή που καθορίζεται στην καρτέλα "Ρυθμίσεις".

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

Συνάρτηση GenerateReport(Result = Undefined, DecodeData = Undefined, OutputToReportForm = True) Εξαγωγή

//Λήψη ή σχηματισμό του επιθυμητού πίνακα τιμών "Group" και εγγραφή του στην ομώνυμη μεταβλητή

ExternalData = New Structure();//δημιουργία και συμπλήρωση της εξωτερικής δομής δεδομένων
ExternalData.Insert(Groups);

UserPanelValue = GenericReports.GetUserPanelSettingsValuesofObject(ThisObject);
DefaultSettings = SettingsComposer.GetSettings();
GenericReports.GetAppliedSetting(ThisObject);
GenericReports.Δημιουργία GenericReport(ThisObject, Result, Decryption Data, OutputToReportForm, ExternalData);
SettingsComposer.LoadSettings(DefaultSetting);
Αποτέλεσμα Επιστροφής.

EndFunctions

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

ExternalDataSets = νέα δομή;
ExternalDataSets.Insert("Groups", Groups); //Ομάδες - ο απαιτούμενος πίνακας τιμών
DataCompositionSchema = GetLayout("MainDataCompositionSchema"); //η διάταξή μας με διάταξη δεδομένων
Ρυθμίσεις = DataCompositionSchema.Προεπιλεγμένες ρυθμίσεις;
Layout Layout Builder = Νέο Εργαλείο δημιουργίας διάταξης διάταξης δεδομένων.
LayoutLayout = LayoutComposer.Run(DataCompositionScheme, Settings);
DataCompositionProcessor = Νέος DataCompositionProcessor;
DataCompositionProcessor.Initialize(LayoutLayout, ExternalDataSets);
TabDoc = Νέο Υπολογιστικό Φύλλο Έγγραφο;
OutputProcessor = Νέος OutputProcessorofDataCompositionResultIntoSpreadsheetDocument;
OutputProcessor.SetDocument(TabDoc);
OutputProcessor.Output(DataCompositionProcessor);

Ανάγνωση 9660 μια φορά

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εξαιρετική!

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

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

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

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

Σύνολο δεδομένων - ερώτημα.

  1. Σε αντίθεση με ένα κανονικό ερώτημα, ένα ερώτημα σύνθεσης δεδομένων δεν περιέχει όρο TOTAL. Αντίθετα, τα σύνολα δημιουργούνται στην καρτέλα Πόροι. Σε αυτήν την καρτέλα, επιλέγετε τα πεδία για τα οποία θέλετε να λάβετε τις τελικές εκφράσεις. Και στην καρτέλα "Ρυθμίσεις", υποδεικνύεται σε ποια ενότητα θα ληφθούν τα αποτελέσματα, δηλαδή, δημιουργούνται οι αντίστοιχες ομαδοποιήσεις και υπολογίζονται οι πόροι από αυτές. Μπορείτε να διαβάσετε περισσότερα για αυτό στο άρθρο.
  2. Το επόμενο σημείο αφορά τις ρυθμίσεις επιλογής. Υπάρχουν δύο δυνατότητες υλοποίησης.
    1. Μέσω των ρυθμίσεων της επιλογής αναφοράς. Αυτό μπορεί να γίνει στην καρτέλα "Ρυθμίσεις" - "Επιλογή". Εάν χρησιμοποιήσουμε αυτήν την επιλογή, τότε είναι η πιο ευέλικτη, αφού μπορείτε να καθορίσετε ΔΙΑΦΟΡΕΤΙΚΟΙ ΤΥΠΟΙσυγκρίσεις από τις οποίες μπορεί να επιλέξει ακόμη και ο χρήστης. Επίσης, κατά τη χρήση αυτής της επιλογής, οι συνθήκες φιλτραρίσματος επιβάλλονται στο ίδιο το ερώτημα. Εάν η αναφορά βασίζεται σε ένα ερώτημα παρτίδας που χρησιμοποιεί προσωρινούς πίνακες, τότε η επιλογή θα επηρεάσει όλους τους πίνακες ερωτημάτων παρτίδας όπου εμφανίζεται το πεδίο φίλτρου.
    2. σε επίπεδο αιτήματος. Εάν χρησιμοποιήσουμε ένα ερώτημα, τότε δεν μπορούμε να χρησιμοποιήσουμε τίποτα άλλο εκτός από την πράξη ισότητας.
      Εξαίρεση αποτελεί η περίπτωση που πρέπει να εκτελέσουμε ένα «σκληρό» φιλτράρισμα δεδομένων κατά κάποια τιμή. Ας πούμε με απαρίθμηση. Στην καρτέλα "Παράμετροι", μπορούμε να ορίσουμε τη συνθήκη. Εάν ενεργοποιήσουμε τη σημαία "Περιορισμός προσβασιμότητας", τότε ο χρήστης δεν θα μπορεί να ακυρώσει αυτήν τη συνθήκη.
  3. Η ταξινόμηση είναι επίσης πιο σωστό να επιβάλλεται στο επίπεδο των ρυθμίσεων παραλλαγής αναφοράς.
    1. Εάν καθορίσετε ένα πεδίο ταξινόμησης στο αίτημα, τότε ο χρήστης θα καθορίσει ένα άλλο πεδίο στη ρύθμιση της επιλογής αναφοράς του, τότε η ρύθμισή μας που εκτελείται σε επίπεδο αιτήματος θα έχει τη χαμηλότερη προτεραιότητα. Η ταξινόμηση που έχει οριστεί από τον χρήστη στη ρύθμιση παραλλαγής αναφοράς θα εκτελεστεί πρώτα. Επομένως, εάν πρέπει να ορίσετε την ταξινόμηση "από προεπιλογή", χρησιμοποιήστε τις ρυθμίσεις της παραλλαγής αναφοράς στο Configurator.
    2. Και αν χρειάζεται να ρυθμίσετε μια "σκληρή" ταξινόμηση στην αναφορά έτσι ώστε ο χρήστης να μην μπορεί να την αλλάξει; Στη συνέχεια ορίζουμε την ταξινόμηση στο επίπεδο αιτήματος και στην καρτέλα «Σύνολα δεδομένων» ορίζουμε τον περιορισμό πεδίου. Επιλέξτε το επιθυμητό σύνολο δεδομένων και στη στήλη "Περιορισμός πεδίου" - "Παραγγελία" επιλέξτε το πλαίσιο.

Επιλογές εικονικού τραπεζιού.

  • Η κατασκευή εικονικών πινάκων λογιστικών μητρώων, μητρώων συσσώρευσης, μητρώων πληροφοριών εξαρτάται από την καθορισμένη ημερομηνία. Μπορεί να είναι είτε μία μεμονωμένη ημερομηνία είτε ένα διάστημα, όπως, για παράδειγμα, για έναν πίνακα υπολοίπων και τζίρων. Το ACS έχει σχεδιαστεί έτσι ώστε εάν η αναφορά βασίζεται σε έναν εικονικό πίνακα, τότε είναι απαραίτητο να αφήσετε τον χρήστη να επιλέξει για ποιο διάστημα ή σε ποια ημερομηνία θα δημιουργήσει την αναφορά. Το ACS προσθέτει αυτόματα τις απαραίτητες παραμέτρους περιόδου στο σχήμα διάταξης.
  • Εάν στο ερώτημα επιλεγεί ένας εικονικός πίνακας υπολοίπων ή ένας εικονικός πίνακας καταχωρητών πληροφοριών, τότε προστίθεται αυτόματα μια παράμετρος που ονομάζεται "Περίοδος".
  • Εάν στο ερώτημα επιλεγεί ένας εικονικός πίνακας υπολοίπων και τζίρων ή ένας εικονικός πίνακας τζίρων, τότε προστίθενται αυτόματα οι παράμετροι "Έναρξη Περιόδου" και "Λήξη Περιόδου".
  • Τι να κάνετε εάν πρέπει να λάβετε υπόλοιπα στο τέλος της περιόδου; Υπάρχουν δύο τρόποι:
    1. Πηγαίνουμε στην καρτέλα "Παράμετροι" και στην παράμετρο "Περίοδος" στη στήλη "Εκφράσεις" γράφουμε τα εξής:
      &Τέλος Περίοδος. Ενεργοποιήστε επίσης τη σημαία "Περιορισμός προσβασιμότητας".
    2. Απαλλαγούμε εντελώς από την παράμετρο "Period" και την αντικαθιστούμε με την παράμετρο "EndPeriod". Ρυθμίστε μια προαιρετική παράμετρο εικονικό τραπέζι:
      • Μεταβείτε στην καρτέλα "Σύνολα δεδομένων" και κάντε κλικ στο κουμπί "Εργαλείο δημιουργίας ερωτημάτων...".
      • Στην καρτέλα "Σύνθεση δεδομένων" στην επάνω αριστερή γωνία, κάντε κλικ στο κουμπί για να ανοίξετε το παράθυρο διαλόγου "Επιλογές εικονικού πίνακα" (αυτό είναι ένα γκρι τετράγωνο κουμπί με ένα γρανάζι στο φόντο ενός μικρού τραπεζιού).
      • Στο πεδίο "Περίοδος" του παραθύρου διαλόγου, γράψτε: &EndPeriod.
      • Τώρα στο κείμενο του ερωτήματος συνόλου δεδομένων στις παραμέτρους του εικονικού πίνακα, αυτή η παράμετρος θα εμφανίζεται περικυκλωμένη από σγουρά άγκιστρα:
Μητρώο Συσσώρευση. Κατάλοιπα εμπορευμάτων. Remains(((&EndPeriod) ), ) AS Remains

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

Επέκταση γλώσσας ερωτήματος.

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

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

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

    1. Τα πεδία από τη λίστα επιλογής ερωτήματος και τα θυγατρικά τους πεδία γίνονται διαθέσιμα.
    2. Εάν επιλέξουμε από το μητρώο συσσώρευσης, τότε ακόμη και τα πεδία μητρώου που δεν περιλαμβάνονται στο αίτημα γίνονται διαθέσιμα στα πεδία σύνθεσης δεδομένων. Αλλά αυτά τα πεδία είναι διαθέσιμα μόνο για επιλογή (σε εκφράσεις υπό όρους)
      και δεν μπορούν να χρησιμοποιηθούν ως πεδία εξόδου.
    3. Οι παράμετροι των εικονικών πινάκων "Period", "StartPeriod" και "EndPeriod" γίνονται
      διαθέσιμο για επιλογή.
    4. Εάν οριστεί μια "σκληρή" συνθήκη στο κείμενο του αιτήματος, τότε αυτή η παράμετρος θα προστεθεί επίσης στην καρτέλα "Παράμετροι".

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

Πώς μπορώ να συμπληρώσω ο ίδιος τα πεδία του σχήματος σύνθεσης δεδομένων;

Καταργήστε την επιλογή του πλαισίου "Αυτόματη συμπλήρωση" στην καρτέλα "Σύνολα δεδομένων".

Κάντε κλικ στο κουμπί "Εργαλείο δημιουργίας ερωτημάτων...". Ας δημιουργήσουμε το ακόλουθο ερώτημα:

ΕΠΙΛΟΓΗ Απομένει. Ονοματολογία AS Nomenclature, Remains. Ποσότητα AS Μητρώο συσσώρευσης ποσότητας. Κατάλοιπα εμπορευμάτων. Remains(((&EndPeriod) ), ) AS Remains

Στην καρτέλα "Πίνακες", μπορούμε να ορίσουμε τις παραμέτρους των εικονικών πινάκων για όλους τους πίνακες.

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

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

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

ΕΠΙΛΟΓΗ Απομένει. Ονοματολογία AS Nomenclature, Remains. Ποσότητα AS Quantity (Ονοματολογία SELECT. * , Quantity) Μητρώο συσσώρευσης. Κατάλοιπα εμπορευμάτων. Remains(((&EndPeriod) ), ) AS Remains

Στο νέο ερώτημα, σε σγουρές αγκύλες, υπάρχει μια ακόμη ενότητα SELECT - αυτό είναι το κείμενο επέκτασης που υποδεικνύει τα πεδία που θα είναι διαθέσιμα στη διάταξη. Το πεδίο "Ονοματολογία.*" υποδεικνύει ότι το πεδίο "Ονοματολογία" και τα θυγατρικά του στοιχεία, όπως "Κωδικός", "Όνομα" κ.λπ., θα είναι διαθέσιμα. Έτσι, συμπληρώσαμε μόνοι μας τα πεδία διάταξης.

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

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

Μητρώο Συσσώρευση. Κατάλοιπα εμπορευμάτων. Remains(((&EndPeriod) ), ((Ονοματολογία) )) AS Remains

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

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

(ΠΟΥ Απομένει. Ποσότητα)

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

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

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

Στο τέλος του άρθρου θέλω να σας συμβουλεύσω δωρεάν από τον Anatoly Sotnikov. Αυτό είναι ένα μάθημα από έμπειρο προγραμματιστή. Θα σας δείξει σε ξεχωριστή βάση πώς να δημιουργείτε αναφορές στο ACS. Απλά πρέπει να ακούς προσεκτικά και να θυμάσαι! Θα λάβετε απαντήσεις σε ερωτήσεις όπως:
  • Πώς να δημιουργήσετε μια απλή αναφορά λίστας;
  • Τι χρησιμεύουν οι στήλες Πεδίο, Διαδρομή και Τίτλος στην καρτέλα Πεδία;
  • Ποιοι είναι οι περιορισμοί στα πεδία διάταξης;
  • Πώς να ορίσετε σωστά τους ρόλους;
  • Ποιοι είναι οι ρόλοι για τα πεδία διάταξης;
  • Πού μπορώ να βρω την καρτέλα διάταξης δεδομένων σε ένα ερώτημα;
  • Πώς να ρυθμίσετε τις παραμέτρους στο SKD;
  • Ακόμα πιο ενδιαφέρον...
Πιθανώς, δεν πρέπει να προσπαθήσετε να σερφάρετε στο Διαδίκτυο αναζητώντας απαραίτητες πληροφορίες? Επιπλέον, όλα είναι έτοιμα για χρήση. Απλά ξεκινήστε! Όλες οι λεπτομέρειες σχετικά με το τι υπάρχει στα δωρεάν εκπαιδευτικά βίντεο στη σελίδα του συγγραφέα μαλακός κατασκευαστής http://www..pngμαλακός κατασκευαστής 2015-12-07 14:51:12 2018-06-12 13:14:13 Σύστημα σύνθεσης δεδομένων (SKD). Μέρος 2ο.

Επέκταση γλώσσας ερωτήματος για σύστημα σύνθεσης δεδομένων

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

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

ΕΠΙΛΕΓΩ

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

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

(ΕΠΙΛΟΓΗ Ονοματολογία, Αποθήκη)

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

Για παράδειγμα, η καταχώρηση Nomenclature.* υποδεικνύει τη δυνατότητα χρήσης θυγατρικών πεδίων του πεδίου "Nomenclature" (για παράδειγμα, το πεδίο "Nomenclature.Code"). Το στοιχείο SELECT μπορεί να υπάρχει μόνο στο πρώτο ερώτημα σύνδεσης.

ΟΠΟΥ

Περιγράφει τα πεδία στα οποία ο χρήστης μπορεί να εφαρμόσει την επιλογή. Αυτή η πρόταση χρησιμοποιεί πεδία πίνακα. Δεν επιτρέπεται η χρήση ψευδώνυμων πεδίων επιλογής λίστας. Κάθε τμήμα ένωσης μπορεί να περιέχει το δικό του στοιχείο WHERE.

(WHERE Ονοματολογία.*, Αποθήκη)

Ένα απλό παράδειγμα

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

Για να λύσετε το πρόβλημα, μπορείτε να δημιουργήσετε ένα ερώτημα που συνδέει το είδος και τον πίνακα κύκλου εργασιών πωλήσεων με μια αριστερή ένωση, ως αποτέλεσμα, για το είδος που δεν πωλήθηκε την επιλεγμένη περίοδο, θα λάβουμε τις τιμές των πεδίων αντισυμβαλλόμενος, Συνθήκη, Ποσότητα, Αθροισμα= Μηδενικό. Ένα τέτοιο αίτημα:

Επιλέξτε ένα sprnome -προσφορά. Dink ως ονοματολογία, κόστος πωλήσεων. Έλεγχος, πωλήσεις, συμβόλαια, πωλήσεις, πωλήσεις. Επί του παρόντος ως ποσότητα, πωλήσεις, κόστος ως κόστος από ένα βιβλίο αναφοράς. Ονοματολογία ως ραχιαία - τυλιγμένη σύνδεση του μητρώου. Ανάπτυξη ως πωλήσεις sprnies.

Ιδού το αποτέλεσμα:

αντισυμβαλλόμενος Συνθήκη Ονοματολογία Ποσότητα Αθροισμα
μηδενικό μηδενικό _Τεστ1 μηδενικό μηδενικό
LLC "Κέρατα και οπλές" Συμφωνία 1 Παντούφλες 10 1200
"Gazprom" ωραία συμφωνία Μπότες 5 13000
μηδενικό μηδενικό Γαλότσες μηδενικό μηδενικό
μηδενικό μηδενικό Πλάκες μηδενικό μηδενικό

Σε αυτό το παράδειγμα, δεν υπήρξαν πωλήσεις του είδους: "Galoshes" και "Slates"

Και όλα θα ήταν εντάξει, αν ομαδοποιήσουμε την επιλογή ανά αντισυμβαλλόμενο, τότε όλα τα μη πωλήσιμα στοιχεία θα εμπίπτουν σε μια ξεχωριστή ομαδοποίηση, όπου Counterparty = Null, αλλά ο πελάτης θέλει να έχει μια αυθαίρετη επιλογή στην αναφορά από το πεδίο αντισυμβαλλόμενου (του φυσικά, αυτό σημαίνει τον αντισυμβαλλόμενο από το μητρώο πωλήσεων). Πώς να είσαι; Εξάλλου, στην πραγματικότητα, χρειάζεται μόνο να φιλτράρουμε τον πίνακα Εκπτώσεις. Εάν χρησιμοποιήσουμε αυτόματη συμπλήρωση στον κατασκευαστή ACS, τότε τα διαθέσιμα πεδία επιλογής θα περιλαμβάνουν το πεδίο αντισυμβαλλόμενος, όλα φαίνονται να είναι καλά, αλλά κατά την εκτέλεση μιας αναφοράς με επιλογή από αντισυμβαλλόμενο, θα χάσουμε όλες τις εγγραφές από τη σύνδεση με την ονοματολογία. Για παράδειγμα, ας ορίσουμε μια επιλογή: αντισυμβαλλόμενος = LLC Horns and Hooves. Το αποτέλεσμα θα μοιάζει με αυτό:

Όχι ακριβώς αυτό που χρειαζόμαστε, σωστά;

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

Υπάρχει λύση: για αυτό, στο εργαλείο δημιουργίας ερωτημάτωναυτί Διάταξη δεδομένων => τραπέζιαπροσθέστε ένα πεδίο συνθήκης στις συνθήκες του εικονικού πίνακα Κύκλοι πωλήσεωνκαι να αλλάξει το ψευδώνυμό του σε Επιλογή αντισυμβαλλόμενου

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


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

Επιλέξτε ένα sprnome. Dink ως ονοματολογία, πωλήσεις του τζίρου. Ανάδοχος ως αντισυμβαλλόμενος, πωλήσεις, σύμβαση ως σύμβαση - σύμβαση, πωλήσεις. Επί του παρόντος. Ολοκλήρωση ως> ποσότητα, κόστος πώλησης ως κόστος, αναπαράσταση (πωλήσεις του κύκλου εργασιών. Συμβόλαιο σύμβασης) ως συμβατικό προσωπικό, αντιπροσώπευση, αντιπροσώπευση (έλεγχος πωλήσεων. RefNomenclature.Representation AS NomenclatureRepresentation FROM Directory.Nomenclature AS ReferenceNomenclature LEFT JOIN Μητρώο συσσώρευσης.Πωλήσεις.Κύκλοι εργασιών(&P , , , , . = SalesTurnovers.Ονοματολογία

Και το αντίστοιχο αποτέλεσμα:

αντισυμβαλλόμενος Συνθήκη Ονοματολογία Ποσότητα Αθροισμα
μηδενικό μηδενικό _Τεστ1 μηδενικό μηδενικό
LLC "Κέρατα και οπλές" Συμφωνία 1 Παντούφλες 10 1200
μηδενικό μηδενικό Μπότες μηδενικό μηδενικό
μηδενικό μηδενικό Γαλότσες μηδενικό μηδενικό
μηδενικό μηδενικό Πλάκες μηδενικό μηδενικό

Το Test1 είναι μια ομάδα στον κατάλογο Ονοματολογίας, στην οποία βρίσκονται τα πάντα

Στη δημοσίευση επισυνάπτεται το Σχήμα XML της αναφοράς που χρησιμοποιείται στη δημοσίευση. Δημιούργησα το σχήμα στο Integrated Automation, αλλά νομίζω ότι όλα θα λειτουργήσουν καλά και στο SCP και στο UT 10

Συνοψίζοντας

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

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

Χρησιμοποιημένο λογισμικό

  • Πρόγραμμα στιγμιότυπο οθόνης SnapOK!
  • Επεξεργαστής αρχείων XML


Φόρτωση...
Μπλουζα