Δεν έχει εγκατασταθεί η προσωρινή διαχείριση πίνακα 1C 8.3.

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

Η εργασία με προσωρινούς πίνακες παρέχεται από δύο στοιχεία:

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

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

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

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

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

Δημιουργία προσωρινών πινάκων
Οι προσωρινοί πίνακες δημιουργούνται χρησιμοποιώντας το αντικείμενο Request της ενσωματωμένης γλώσσας 1C:Enterprise 8.

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

TemporaryTableManager = Νέος TemporaryTableManager;
Request = New Request;
Query.TemporaryTableManager = TemporaryTableManager;

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

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

ΕΠΙΛΕΓΩ
Κώδικας,
Ονομα
PLACE Προσωρινός πίνακας
ΑΠΟ Κατάλογος.Ονοματολογία

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

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

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

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

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

ΕΠΙΛΕΓΩ
Κώδικας,
Ονομα
PLACE Προσωρινός πίνακας
ΑΠΟ Κατάλογος.Ονοματολογία
ΕΥΡΕΤΗΡΙΟ ΚΑΤΑ Κωδ

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

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

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

ΕΠΙΛΕΓΩ
Τιμολόγιο.Σύνδεσμος,
Αριθμός τιμολογίου,
Την ημερομηνία του τιμολογίου
PLACE Προσωρινός πίνακας
ΑΠΟ
Έγγραφο Τιμολόγιο AS Τιμολόγιο
ΟΠΟΥ
Τιμολόγιο.Σύνδεσμος Β(&Έγγραφα)

ΓΙΑ ΑΛΛΑΓΗ

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

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

ΕΠΙΛΕΓΩ
Κώδικας,
Ονομα
PLACE Προσωρινός πίνακας
FROM &ExternalSource AS ExternalSource

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

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

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

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

DESTROY TemporaryTable

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

Γεια σε όλους! Ή μάλλον, σε όσους εξακολουθούν να κοιτάζουν μερικές φορές σε αυτό το blog :)

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

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

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

Όλα είναι αρκετά απλά.

1. Λάβετε προσωρινούς πίνακες ερωτημάτων

Όταν χρησιμοποιούμε τον εντοπισμό σφαλμάτων, υπολογίζουμε πρώτα τη λίστα των προσωρινών πινάκων, Query.TemporaryTableManager.Tables. Με αυτόν τον τρόπο μπορούμε να λάβουμε τη λίστα των πινάκων που δημιουργούνται από το ερώτημα που εκτελείται:

2. Λάβετε έναν προσωρινό πίνακα για εντοπισμό σφαλμάτων

Στη συνέχεια, έχουμε πρόσβαση στον προσωρινό πίνακα που χρειαζόμαστε για τον εντοπισμό σφαλμάτων προσθέτοντας Get(<Индекс таблицы>)

3. Λαμβάνουμε τα δεδομένα απευθείας

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

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

Query.TemporaryTableManager.Tables.Get(0).GetData().Unload()

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

Αυτό είναι όλο, καλές εξελίξεις και καλές γιορτές!

ΥΣΤΕΡΟΓΡΑΦΟ. Και για όσους υποστηρίζουν τον υπολογισμό μισθοδοσίας σε μια επιχείρηση (όχι μόνο προγραμματιστές), σας υπενθυμίζω ότι έχει διατεθεί ξεχωριστός πόρος Pro-Zup.info για αυτό το θέμα.

Εάν έχετε ερωτήσεις σχετικά με αυτό το θέμα, ενδιαφέρεστε να επεκτείνετε τις δυνατότητες του τυπικού προγράμματος ή έχετε προτάσεις για την αντιμετώπιση προβλημάτων, καλώς ήρθατε στον πόρο https://pro-zup.info/

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

Η χρήση ενός αντικειμένου που ονομάζεται "Temporary Table Manager" σάς επιτρέπει:

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

Λίγα λόγια για το πώς λειτουργεί

Κατ 'αρχήν, η εργασία ενός προσωρινού διαχειριστή πίνακα μπορεί να χωριστεί σε τέσσερα στάδια χρήσης:

  1. Δημιουργία διαχειριστή.
  2. Συμπληρώνοντάς το?
  3. Ανάγνωση δεδομένων από πίνακες.
  4. Καταστρέφοντας τον μάνατζερ και καθαρίζοντας τα τραπέζια.

Ας μιλήσουμε για κάθε στάδιο με περισσότερες λεπτομέρειες.

Δημιουργία προσωρινού διαχειριστή πίνακα

Για να ορίσετε αυτό το αντικείμενο, πρέπει να εκτελέσετε τον κώδικα που φαίνεται στο Σχ. 1

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

Εικ.2

Συμπλήρωση του διαχειριστή

Στο ίδιο σχήμα 1, υπάρχει μια γραμμή που μεταφέρει την επιλογή σε έναν προσωρινό πίνακα. Ξεκινά με τον τελεστή "Place". Ο προορισμός είναι το όνομα του πίνακα προορισμού.

Χρησιμοποιώντας το "Query Builder", αυτή η γραμμή μπορεί να δημιουργηθεί στην καρτέλα "Advanced" Εικ. 3.

Εικ.3

Για να το κάνετε αυτό χρειάζεστε:

  1. Ρυθμίστε το διακόπτη "Τύπος ερωτήματος" στη θέση "Δημιουργία προσωρινού πίνακα".
  2. Καθορίστε το όνομα του δέκτη.

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

Μπορείτε να προσδιορίσετε εάν ένας διαχειριστής είναι γεμάτος χρησιμοποιώντας τον τελεστή Quantity(). Παράδειγμα γραμμής: MVT.Tables.Quantity().

Ανάγνωση πινάκων διαχειριστή

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

Πρέπει να καταχωρηθεί και να δημιουργηθεί χειροκίνητα.

Για να το κάνετε αυτό, στην καρτέλα «Πίνακες και Πεδία» (Εικ. 4), πρέπει να εκτελέσετε μια συγκεκριμένη σειρά ενεργειών:

Εικ.4

  1. Στο μενού παραθύρου "Πίνακες" αυτής της καρτέλας, κάντε κλικ στο κουμπί "Δημιουργία προσωρινής περιγραφής πίνακα".
  2. Στο παράθυρο που ανοίγει, πρέπει να καθορίσετε το όνομα του πεδίου και την περιγραφή του (τύπος πεδίου), όπως καθορίζεται στον υπάρχοντα πίνακα.
  3. Τα απαραίτητα πεδία ή συναρτήσεις με αυτά πρέπει να μετακινηθούν στο τρίτο παράθυρο της καρτέλας.

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

Αφαίρεση τραπεζιών

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

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

  • Καθορίζοντας τη λέξη-κλειδί Destroy απευθείας στο κείμενο του αιτήματος.
  • Χρησιμοποιώντας τη μέθοδο Close() που εφαρμόζεται απευθείας στον διαχειριστή.

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

Η χρήση της πρώτης επιλογής για τη διαγραφή δεδομένων μπορεί να καθοριστεί ρητά γράφοντας μια γραμμή όπως "Destroy TableName" στο κείμενο του ερωτήματος ή χρησιμοποιώντας την καρτέλα "Advanced" (Εικ. 2) του παραθύρου "Query Designer".

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

Μεταφορά (TK) στο αίτημα

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

Για να γίνει αυτό, το κείμενο του αιτήματος πρέπει να περιέχει μια γραμμή όπως "Επιλογή * Τοποθέτηση MVT από &Tz ως καρτέλα". Περνώντας έναν υπάρχοντα πίνακα τιμών ως παράμετρο «TZ» στο αίτημα, θα λάβουμε ένα αντικείμενο κατάλληλο για περαιτέρω επεξεργασία σε άλλα αιτήματα.

Η μόνη συνθήκη που εμποδίζει τη μετάδοση ενός TK ως παραμέτρου είναι οι σιωπηρά δηλωμένοι τύποι των στηλών του. Δηλαδή, όταν δημιουργείτε στήλες TK, πρέπει να συμπληρώσετε τη δεύτερη παράμετρο με μια γραμμή όπως "New TypeDescription("")).

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

Παράδειγμα

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

Λάβετε 267 μαθήματα βίντεο στο 1C δωρεάν:

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

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

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

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

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

Αυτό είναι, το πρόβλημα λύθηκε.

Ας εξετάσουμε διάφορες καταστάσεις.

Πώς να τοποθετήσετε το αποτέλεσμα ενός ερωτήματος σε έναν προσωρινό πίνακα

Ας δημιουργήσουμε το ακόλουθο απλό ερώτημα χρησιμοποιώντας τον κατασκευαστή:

Κατά συνέπεια, το κείμενο της αίτησης θα μοιάζει με αυτό:

Αλλά θέλουμε να βάλουμε το αποτέλεσμα του ερωτήματος σε έναν προσωρινό πίνακα, τον οποίο θα καλέσουμε VT_Προϊόντα, δηλαδή να φέρουμε το αίτημά μας σε αυτή τη φόρμα

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

Πώς να διαβάσετε έναν προσωρινό πίνακα από άλλο ερώτημα

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

ManagerVT = New TemporaryTablesManager; Request = Νέο αίτημα; Αίτηση. Κείμενο = "ΕΠΙΛΟΓΗ | Προϊόντα.Σύνδεσμος |Τόπος VT_Προϊόντα|ΑΠΟ | Κατάλογος Προϊόντων AS Products"; Αίτηση. ManagerTemporaryTables = ManagerVT; Αίτηση. Τρέξιμο(); . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RequestVT = Νέο αίτημα; RequestVT. Κείμενο = "ΕΠΙΛΟΓΗ | VT_Products.Σύνδεσμος|ΑΠΟ | VT_Products AS VT_Products"; RequestVT. ManagerTemporaryTables = ManagerVT; RequestVT. Τρέξιμο(); . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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



 

Ίσως είναι χρήσιμο να διαβάσετε: