Ας δημιουργήσουμε μια εξωτερική αναφορά που θα εμφανίζει πληροφορίες αναφοράς σχετικά με τα υπόλοιπα των στοιχείων και τον τζίρο τους. Οι απαιτούμενες πληροφορίες ζητούνται από το αίτημα χρησιμοποιώντας ένα σύνολο δεδομένων τύπου "Αίτημα", το οποίο περιέχει το κείμενο αίτησης:
ΕΠΙΛΕΓΩ
_DemoNomenclature.Link HOW Nomenclature
ΤΟΠΟΣ Τρέχουσα ονοματολογία
ΑΠΟ
Κατάλογος._DemoNomenclature ΠΩΣ ΝΑ _DemoNomenclature
ΟΠΟΥ
NOT _DemoNomenclature.Σήμα διαγραφής
ΚΑΙ ΟΧΙ _DemoNomenclature.Αυτή είναι μια ομάδα
;

////////////////////////////////////////////////////////////////////////////////
ΕΠΙΛΕΓΩ
Τρέχουσα Ονοματολογία.Ονοματολογία,
_DemoRemains of Goods in Storage PlacesRemains and Turnovers.Storage Place,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityInitialRemaining,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityFinalRemaining,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityIncoming,
_DemoRemaining GoodsIn Storage PlacesRemainingsAndTurnover.QuantityConsumption,
_DemoRemaining GoodsIn Storage LocationsRemainingsAndTurnover.QuantityTurnover
ΑΠΟ
Τρέχουσα ονοματολογία AS Τρέχουσα ονοματολογία
ΑΡΙΣΤΕΡΑ ΣΥΝΔΕΣΗ RegisterAcumulations._DemoRemaining GoodsInStorageLocations.RemainingsAndTurnover AS _DemoRemainingGoodsInStorageLocationsRemainingAndTurnover
Λογισμικό CurrentNomenclature.Nomenclature = _DemoRemaining Goods in Storage LocationsRemainingsAndTurnover.Nomenclature

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

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

  1. Ρύθμιση κεφαλίδων πεδίων στην καρτέλα "Σύνολα δεδομένων" ACS.
  2. Ρύθμιση κεφαλίδων πεδίων στην καρτέλα "Ρυθμίσεις" ACS.
  3. Προγραμματική ρύθμιση κεφαλίδων πεδίων.
  4. Ρύθμιση της κεφαλίδας της αναφοράς χρησιμοποιώντας διάταξη.
  5. Οριστικοποίηση του αποτελέσματος (έγγραφο πίνακα).
Ας τα δούμε αναλυτικά.

1. Ρύθμιση κεφαλίδων στην καρτέλα "Σύνολα δεδομένων" ACS

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

2. Ρύθμιση κεφαλίδων πεδίων στην καρτέλα "Ρυθμίσεις" ACS

Για να ορίσετε έναν τίτλο πεδίου, πρέπει να επιλέξετε το πεδίο που θέλετε, να κάνετε δεξί κλικ για να ανοίξετε το μενού περιβάλλοντος και να επιλέξετε «Ορισμός τίτλου» (βλ. Εικόνα 6)
Για να ομαδοποιήσετε πεδία (για παράδειγμα, κατά τύπο πληροφοριών), πρέπει να προσθέσετε ένα πεδίο ομαδοποίησης και να τοποθετήσετε τα απαιτούμενα πεδία σε αυτό (βλ. Εικόνα 7), η ένθεση είναι απεριόριστη.
Μπορείτε επίσης να παίξετε με την ιδιότητα πεδίου ομαδοποίησης "Τοποθεσία", η οποία καθορίζει τον τύπο της ομαδοποίησης πεδίων.

Αυτές οι ενέργειες μπορούν επίσης να εκτελεστούν σε λειτουργία 1C: Enterprise ανοίγοντας τις ρυθμίσεις αναφοράς, ΑΛΛΑ, το στοιχείο "Επιλεγμένα πεδία" πρέπει να συμπεριληφθεί στις ρυθμίσεις αναφοράς (βλ. Εικόνα 8).
Αυτό ολοκληρώνει το εύκολο μέρος της ρύθμισης της κεφαλίδας της αναφοράς. Ένα από τα πλεονεκτήματα των παραπάνω ενεργειών: όλες οι ρυθμίσεις εκτελούνται με τη χρήση τυπικών εργαλείων. Από τα μειονεκτήματα: η αδυναμία ορισμού ενός τίτλου πεδίου πολλαπλών γραμμών.

3. Ρύθμιση κεφαλίδων πεδίων μέσω προγραμματισμού

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

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

// 1. Λήψη ρυθμίσεων χρήστη.
SettingsKD = ThisObject.SettingsLitter.GetSettings();

// 2. Λαμβάνουμε την τιμή της παραμέτρου "Περίοδος" από την οποία προσδιορίζουμε την ημερομηνία έναρξης και λήξης της περιόδου.
ParameterPeriod = NewDataCompositionParameter("Period");
Period = SettingsCD.DataParameters.FindParameterValue(PeriodParameter).Τιμή;
StartPeriod = Period.StartDate;
EndPeriod = Period.EndDate;

// 3. Προετοιμάστε πληροφορίες σχετικά με τον επαναπροσδιορισμό των κεφαλίδων πεδίων. Για να το κάνουμε αυτό, ας δημιουργήσουμε
// ένας πίνακας που θα περιέχει πληροφορίες: Όνομα πεδίου - τιμές της ιδιότητας "Διαδρομή" στο
// σύνολο δεδομένων (βλ. Εικόνα 1), Τίτλος - κείμενο τίτλου.
FieldList = Νέος πίνακας;
pPeriodStart = Format(PeriodStart, "DF=dd.MM.yyyy; DP="Empty date"");
FieldInitialRemaining = Νέα δομή ("FieldName, Heading", "QuantityInitialRemaining", "Remaining on " + Symbols.PS + pageBeginningPeriod);
List ofFields.Add(FieldInitialRemaining);
strEndPeriod = Μορφή(EndPeriod, "DF=dd.MM.yyyy; DP="Empty date"");
FieldFinalRemaining = Νέα δομή ("FieldName, Heading", "QuantityFinalRemaining", "Remaining on " + Symbols.PS + strEndPeriod);
FieldList.Add(FieldFinalRemaining);

// 4. Λάβετε μια λίστα με πεδία που βρίσκονται στην ομάδα "Remaining" (βλ. Εικόνα 7) και
// ορίστε έναν νέο τίτλο περνώντας τα στοιχεία στον βρόχο.
SelectedFields = SettingsCD.Selection.Items; // Πρώτο επίπεδο πεδίων.
SelectedFieldsRemains = SelectedFields.Items; // Παραμένει ομαδοποίηση πεδίων.
Για κάθε SelectedField From SelectedFieldsRemainders Cycle
Για κάθε στοιχείο ενός πίνακα από έναν κύκλο λίστας πεδίων
LayoutField = NewDataCompositionField(ArrayItem.FieldName);
Αν SelectedField.Field = LayoutField Τότε
SelectedField.Header = ArrayItem.Header;
τέλος εαν;
EndCycle;
EndCycle;

// 5. Φορτώστε ξανά τις τροποποιημένες ρυθμίσεις χρήστη.
ThisObject.SettingsLinker.LoadSettings(CDSettings);

Αναφέρετε το αποτέλεσμα (βλ. Εικόνα 10):
Η μέθοδος είναι πιο δύσκολη από όλα τα παραπάνω, αλλά μου αρέσει.

4. Ρύθμιση της κεφαλίδας της αναφοράς χρησιμοποιώντας διάταξη

Για πιο ευέλικτη προσαρμογή της εμφάνισης της αναφοράς, το ACS προβλέπει τη δημιουργία διατάξεων. Στις ρυθμίσεις αναφοράς, θα δημιουργήσουμε μια άλλη ομαδοποίηση "λεπτομερείς εγγραφές" και θα ορίσουμε το όνομα "DZ Line" για αυτήν την ομαδοποίηση (βλ. Εικόνα 11).
Στην καρτέλα Layouts, προσθέστε μια διάταξη κεφαλίδας ομαδοποίησης. Για τη διάταξη σε ένα έγγραφο υπολογιστικού φύλλου, θα δημιουργήσουμε μια κεφαλίδα αναφοράς (η κεφαλίδα αναφοράς θα πρέπει να περιέχει τόσες κεφαλίδες πεδίων όσες και ο αριθμός των πεδίων που εμφανίζει η λεπτομερής εγγραφή) και θα υποδείξουμε την περιοχή του εγγράφου υπολογιστικού φύλλου για τη διάταξη (βλ. Εικόνα 12).
Ως αποτέλεσμα, η αναφορά έχει την ακόλουθη κεφαλίδα (βλ. Εικόνα 13):

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

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

5. Οριστικοποίηση του αποτελέσματος (έγγραφο πίνακα)

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

Ας αρχίσουμε. Απενεργοποιούμε την τυπική δημιουργία, για να γίνει αυτό στη μονάδα αναφοράς για το συμβάν Κατά τη διαμόρφωση του αποτελέσματοςΑς ορίσουμε τη μεταβλητή StandardProcessing σε False και ας γράψουμε τη δική μας διάταξη του αποτελέσματος:
StandardProcessing = False;
LayoutLinker = newDataLayoutLayoutLinker;
LayoutLayout = LayoutLocker.Execute(
ThisObject.DataCompositionSchema,
ThisObject.SettingsLinker.Settings,
DecryptionData);
CompositionProcessor = newDataCompositionProcessor;
LayoutProcessor.Initialize(LayoutLayout, DecryptionData, True);
OutputProcessor = Νέο OutputProcessorDataCompositionResultInTabularDocument;
OutputProcessor.SetDocument(DocumentResult);
OutputProcessor.Output(CompositionProcessor);
Η διάταξη λογισμικού του αποτελέσματος της αναφοράς περιγράφεται λεπτομερέστερα στο άρθρο

Το μεταγλωττισμένο αποτέλεσμα εξάγεται σε ένα έγγραφο υπολογιστικού φύλλου - αυτή είναι η μεταβλητή DocumentResult. Στη συνέχεια, αφού δημιουργήσουμε το αποτέλεσμα και το εξάγουμε σε ένα έγγραφο υπολογιστικού φύλλου, γράφουμε κώδικα για να αντικαταστήσουμε ένα κείμενο κελιού με ένα άλλο. Για παράδειγμα, ας αλλάξουμε το όνομα της ομάδας "Remainings" σε "Remaining items" στην κεφαλίδα της αναφοράς (βλ. Εικόνα 14):
Cell = DocumentResult.FindText("Remainings");
Αν Κύτταρο<>Απροσδιόριστο Τότε
Cell.Text = "Υπόλοιπα στοιχεία";
τέλος εαν;

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

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

ΥΣΤΕΡΟΓΡΑΦΟ. Ίσως έχετε άλλον τρόπο να σχεδιάσετε κεφαλίδες πεδίων;

Το πιο δύσκολο πράγμα στη χρήση διατάξεων είναι να συμπληρώσετε τη στήλη «Διάταξη» στην καρτέλα «Διάταξη» στον σχεδιαστή ACS.

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

Πραγματοποίησα πειράματα στον ακόλουθο τύπο αναφοράς.

Διάταξη πεδίου

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


Ομαδοποίηση διάταξης κεφαλίδας

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

Ρυθμίσεις

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

Ρυθμίσεις

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

Ρυθμίσεις

Ωστόσο, εάν αντιστοιχίσετε ύψος 1 σε μια σειρά διάταξης, μπορείτε να αποκρύψετε τις κεφαλίδες ομαδοποίησης του τρέχοντος και του επόμενου επιπέδου. Στο παρακάτω σχήμα, οι επικεφαλίδες Τίτλος και Υπάλληλος είναι κρυμμένες.

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

Ρυθμίσεις

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


Ομαδική διάταξη

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

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

Ρυθμίσεις

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

Ή, αν συμπληρώσετε τις στήλες, θα μοιάζει με αυτό

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

Ρυθμίσεις

Διάταξη πόρων

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

Ρυθμίσεις


Περιορισμοί διάταξης

  1. Σε πολλές περιπτώσεις, όταν χρησιμοποιείτε διατάξεις, χάνεται η δυνατότητα του χρήστη να προσαρμόσει την αναφορά. Δεν θα μπορεί να αλλάξει τη σειρά των πόρων και των ομαδοποιήσεων ή να απενεργοποιήσει τους πόρους και τις ομαδοποιήσεις, επειδή Σε αυτή την περίπτωση, η έκθεση παίρνει μια ακατανόητη μορφή. Αυτό το ελάττωμα δεν ισχύει μόνο για τη διάταξη του πεδίου.
  2. Δεν υπάρχει τρόπος να σχεδιάσετε ΜΟΝΟ τον τίτλο του επιθυμητού πόρου (ή ομάδας πόρων) χρησιμοποιώντας τη διάταξη. Για παράδειγμα, εάν πρέπει να κεντράρετε τίτλους πόρων. Θα πρέπει να συμπληρώσετε ολόκληρη την κεφαλίδα του πίνακα και να λάβετε τον περιορισμό από το βήμα 1
  3. Δεν είναι δυνατό να σχεδιαστεί ΜΟΝΟ η κεφαλίδα των αποτελεσμάτων. Για παράδειγμα, αρκετές φορές χρειάστηκε να αντικατασταθεί η λέξη "Σύνολο" με τη λέξη "Σύνολο". Σε αυτήν την περίπτωση, θα πρέπει να σχεδιάσετε ολόκληρη τη σειρά των συνόλων και να λάβετε τον περιορισμό από το βήμα 1 ή να καταλήξετε σε κάτι άλλο.

Αρχεία

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


ΣΕ

Δημιουργούμε μια αναφορά στο σύστημα ελέγχου πρόσβασης.

Η σύνθεση των πεδίων, για παράδειγμα, είναι η εξής:

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

Ως αποτέλεσμα, παίρνουμε ένα αποτέλεσμα όπως αυτό:

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

Υπάρχουν πολλές επιλογές.

Επιλογή 1.

Προσαρμόζοντας τη διάταξη.

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

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

Ορίστε την έκφραση για την παράμετρο: View(Project). Αυτό σημαίνει μια αναπαράσταση του πεδίου "Έργο".

Το αποτέλεσμα πρέπει να είναι κάπως έτσι:

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

Επιλογή 2.

1. Στα επιλεγμένα πεδία ολόκληρης της αναφοράς, αφήστε μόνο τον πόρο
2. Στα επιλεγμένα πεδία ομαδοποίησης στηλών, αφαιρέστε το αυτόματο πεδίο και προσθέστε ένα πεδίο για αυτήν τη στήλη (για παράδειγμα, εάν οι στήλες είναι ομαδοποιημένες κατά τελεία, επιλέξτε την περίοδο εδώ)
3. Στην καρτέλα «Άλλες ρυθμίσεις» της ρίζας αναφοράς, επιλέξτε «τοποθεσία πόρων» - «κάθετη».

Αυτή η επιλογή δεν απαιτεί διάταξη.

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

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

Το κείμενο ερωτήματος στην αναφορά ήταν το εξής:

Επιλέξτε αντικείμενο. Όνομα, Ονοματολογία. Κώδικας, Ονοματολογία. Βασική Μονάδα Μέτρησης, Ονοματολογία. Μονάδα Μέτρησης Τόπος, Ονοματολογία. Μονάδα αποθήκευσης υπολειμμάτων, Ονοματολογία. UnitForReports, Ονοματολογία. Σχόλιο, Ονοματολογία. Άρθρο, Ονοματολογία. Σύνδεση HOW Nomenclature FROM Directory. Ονοματολογία AS Ονοματολογία WHERE NOT Ονοματολογία. Αυτή η ομάδα

Σημείο 1. Αυθαίρετη έκθεση και επικεφαλίδες στηλών.


Από προεπιλογή, το ACS έχει τη δυνατότητα να εμφανίζει αυθαίρετο κείμενο τίτλου. Αυτό γίνεται στις ρυθμίσεις ACS:

στην έξοδο παίρνουμε:

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

Καθορίστηκε ένα όνομα για λεπτομερείς εγγραφές:


Σχεδίασα τη διάταξη που χρειαζόμουν στο SKD

Εκεί, στην καρτέλα "Διάταξη", περιέγραψα τα όρια της διάταξης της κεφαλίδας της ομάδας:

και υπέδειξε το όνομα της ομάδας:

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

Εάν δημιουργήσετε μια αναφορά, τότε:

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

και η έξοδος είναι ο επιθυμητός τύπος αναφοράς:

Σημείο 2. Δωρεάν αποκωδικοποίηση πεδίων αναφοράς.

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

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

Για παράδειγμα, εάν κάνετε κλικ στο πεδίο "Άρθρο", λαμβάνουμε τα εξής:

Η λύση είναι:

Προσθήκη διάταξης πεδίου:

υποδείξτε το πεδίο (Άρθρο), όταν κάνετε κλικ σε αυτό, η κάρτα αντικειμένου θα πρέπει να ανοίξει:

στη διάταξη, συμπληρώστε οποιοδήποτε κενό πεδίο με το κείμενο "Άρθρο", στις ιδιότητες υποδεικνύεται - Συμπλήρωση = "Παράμετρος", Παράμετρος αποκρυπτογράφησης = "Αποκωδικοποίηση Ονοματολογίας":

και καθορίστε τη διάταξη πεδίου αυτής της περιοχής πεδίου:

Μετά από αυτό, θα πρέπει να εμφανιστούν οι επιλογές διάταξης:

Σε αυτές τις παραμέτρους καθορίζουμε την έκφραση "Αποκωδικοποίηση Ονοματολογίας", στην περίπτωσή μου αυτή είναι ένας σύνδεσμος προς την ονοματολογία:


Έχουμε την ευκαιρία να ανοίξουμε την κάρτα προϊόντος κάνοντας κλικ στο πεδίο «Άρθρο»:

Νομίζω ότι θα υπάρξουν προγραμματιστές που έχουν αντιμετωπίσει παρόμοιες αποχρώσεις και τις έχουν λύσει με άλλους τρόπους, αλλά αυτό είναι ένα άλλο άρθρο...

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

Σήμερα θα εξετάσουμε την επίλυση ενός ενδιαφέροντος προβλήματος - εμφάνιση εικόνων σε μια αναφορά.

Σε τι μπορεί να είναι χρήσιμο αυτό;

Εδώ μερικά παραδείγματα:

  • Τιμοκατάλογος με εικόνες προϊόντων και λογότυπο στην επικεφαλίδα
  • Προφίλ εργαζομένων με φωτογραφίες
  • Συμφωνία υπολογισμών με σφραγίδα και υπογραφή στο υπόγειο
  • Αναφορές/εκτυπωμένες φόρμες με σαρωμένη εκτύπωση

Στο βίντεο συζητάμε επίσης διαμόρφωση προγράμματοςαναφορά στο SKD. Αυτή η μέθοδος δημιουργίας αναφορών χρησιμοποιείται σε τυπικές διαμορφώσεις– αυτός είναι ένας ακόμη λόγος για να το παρακολουθήσετε προσεκτικά :)

Προκαθορισμένες διατάξεις σε ACS

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

Σε αυτό το μάθημα, εκτός από τη ρύθμιση του προβλήματος, θα εξετάσουμε:

  • Αποθήκευση δυαδικών δεδομένων σε διαμόρφωση μοντέλου
  • Δυνατότητα χρήσης διατάξεων ACS για προβολή εικόνων

Δημιουργία μέσω προγραμματισμού αναφοράς για το σύστημα ελέγχου πρόσβασης

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

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

Κατά τη διάρκεια αυτού του μαθήματος θα κάνουμε:

  • Εξαγωγή του αποτελέσματος της διάταξης σε ένα έγγραφο υπολογιστικού φύλλου
  • Χρήση του αντικειμένου Decryption Data
  • Ανάκτηση δυαδικών δεδομένων από τη βάση δεδομένων
  • Προγραμματική δημιουργία σχεδίων σε έγγραφο υπολογιστικού φύλλου

Εμφάνιση εικόνας στην αναφορά ACS

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

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

Η ευελιξία του αλγόριθμου εξόδου εικόνας

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

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

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

Εμφάνιση εικόνας στην κεφαλίδα της αναφοράς

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

Φαίνεται απλό έργο, αλλά στην περίπτωση του ACS πρέπει να ξέρετε πώς να το λύσετε:

  • Βήμα 1. Δημιουργήστε μέσω προγραμματισμού μια αναφορά
  • Βήμα 2. Δημιουργήστε μια ξεχωριστή διάταξη με την επιθυμητή κεφαλίδα ή υποσέλιδο
  • Βήμα 3. Πριν συμπληρώσετε την αναφορά ACS, εμφανίστε μια ενότητα με τα απαραίτητα δεδομένα.

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

Απολαύστε την παρακολούθηση! :)

Τις τελευταίες μέρες δημοσιεύουμε υλικό για το ACS.

Τι γίνεται αν ο προγραμματιστής/εφαρμογής του 1C δεν γνωρίζει το σύστημα ελέγχου πρόσβασης; Ίσως δεν είναι πραγματικά τόσο σημαντικό;

Εντάξει, ας δούμε τι περιμένει έναν ειδικό που γράφει αναφορές «στο γόνατο» (για παράδειγμα, χρησιμοποιώντας μη αυτόματη έξοδο σε ένα έγγραφο υπολογιστικού φύλλου).

Μην πυροβολείτε τον πιανίστα, παίζει όσο καλύτερα μπορεί.

Οι αναφορές είναι πρακτικά σε όλες τις τυπικές διαμορφώσειςμε βάση το SKD.

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

SKD – πρότυπο αναφοράςσε τυπικές διαμορφώσεις και το 1C δεν γράφει σχόλια με βάση αυτούς που δεν έχουν μελετήσει ακόμη τα πρότυπα :)

Καταραμένη ώρα...

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

Είναι, φυσικά, ωραίο να βγαίνεις έξω όπως ο Ραμπό με ένα κατσαβίδι στα δόντια και κάπως έτσι όλοι :)

Σαν άποτέλεσμα - μεγάλο κόστος εργασίας για την ανάπτυξη αναφορών και τον εντοπισμό σφαλμάτων. Και αυτό θα τρομάξει τουλάχιστον κάθε μάνατζερ/πελάτη: "περίεργο, αλλά το καταλαβαίνει πραγματικά;;"

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

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

Το SKD σας επιτρέπει να λαμβάνετε εκθέσεις ποιότηταςχωρίς προγραμματισμό. Γίνεται ο σκελετός για λίγα λεπτά, μετά – τόξα.

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

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

Επομένως - καλέστε, τραμ, πάμε... Αυτή είναι μια τέτοια επαγγελματική ανάπτυξη για ένα ψευδώνυμο 1C...

«Δεν έχεις το ίδιο, αλλά με κουμπιά από φίλντισι; «Δυστυχώς, όχι…» (γ)

Τι γίνεται αν κάποια δεδομένα πρέπει να ληφθούν από άλλο σύστημα - από άλλη βάση δεδομένων 1C ή καθόλου από το 1C;

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

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

Αν θέλεις κατακτήστε το ACS επαγγελματικάκαι καθημερινά εφαρμόστε στην εργασία σας, εγγραφείτε στο μάθημα:

Υποστήριξη - 2 μήνες. Πεδίο μαθήματος – 34 διδακτικές ώρες.

Μην καθυστερείτε τις σπουδές σας!


Κλείσε