1γ επεξεργασία εξωτερικής έντυπης μορφής. Δημοσιεύσεις

Αυτό το άρθρο θα σας πει λεπτομερώς πώς ένας αρχάριος με μικρή γνώση του 1C 8 μπορεί να δημιουργήσει μια έντυπη φόρμα. Για παράδειγμα, ας πάρουμε μία από τις πιο κοινές διαμορφώσεις 1C 8 - Λογιστική 2.0. Δημιουργία έντυπη μορφή 1C στάδια γραφής:

  • Δημιουργία αρχείου εξωτερικής φόρμας εκτύπωσης.
  • Δημιουργία διάταξης έντυπης φόρμας.
  • Γράψιμο κώδικα προγράμματος για εμφάνιση δεδομένων εκτυπωμένης φόρμας στην οθόνη.
  • Δημιουργία παραμέτρων για την αυτόματη εγγραφή μιας έντυπης φόρμας.
  • Σύνδεση εξωτερικής φόρμας εκτύπωσης στη βάση 1C Επιχειρήσεις.

Δημιουργία έντυπης φόρμας 1C. Διατύπωση του προβλήματος

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

  • Οργάνωση;
  • Αντισυμβαλλόμενος;
  • Συμφωνία αντισυμβαλλομένου;
  • Ημερομηνία παραλαβής.

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

  • Ονοματολογία;
  • Ποσότητα;
  • Τιμή;
  • Αθροισμα;
  • Και επίσης η τιμή του αντικειμένου για την τρέχουσα ημερομηνία (ανά τύπο τιμής από το έγγραφο).

Εξωτερικό αρχείο επεξεργασίας

Ας προχωρήσουμε στην επίλυση του προβλήματος. Αρχικά, ας ανοίξουμε το 1C 8 σε λειτουργία Διαμορφωτής. Σε αυτήν τη λειτουργία πραγματοποιούνται όλες οι εξελίξεις στην πλατφόρμα 1C 8. Τώρα πρέπει να δημιουργήσουμε ένα εξωτερικό αρχείο επεξεργασίας. Για να το κάνετε αυτό, κάντε κλικ στο μενού Αρχείο -> Νέο…ή από το εικονίδιο ενός νέου αρχείου.

Στο παράθυρο που ανοίγει, επιλέξτε το στοιχείο Εξωτερική επεξεργασία.

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

Ας προσθέσουμε εξωτερικά χαρακτηριστικά επεξεργασίας LinkToObject και επιλέξτεπληκτρολογήστε για αυτόν DocumentLink. Παραλαβή Αγαθών και Υπηρεσιών. Για να το κάνετε αυτό, στο δέντρο μεταδεδομένων εξωτερικής επεξεργασίας 1C, επιλέξτε το στοιχείο Προϋποθέσειςκαι πατήστε το κουμπί Προσθήκη(κουμπί με πράσινο συν). Το παράθυρο ιδιοτήτων χαρακτηριστικών θα ανοίξει στη δεξιά πλευρά της οθόνης, στο πεδίο Ονομαας γράψουμε - ReferenceToObject. ΣΕπεδίο Τύποςπατήστε το κουμπί με τρεις τελείες.

Ας επεκτείνουμε τον κλάδο στο δέντρο τύπου DocumentLink, και βρείτε το στοιχείο Παραλαβή Αγαθών και Υπηρεσιών εκεί, επιλέξτε το πλαίσιο δίπλα και κάντε κλικ ΕΝΤΑΞΕΙ.

Ας αποθηκεύσουμε το εξωτερικό αρχείο επεξεργασίας στον σκληρό δίσκο· για να το κάνετε αυτό, χρησιμοποιήστε το μενού Αρχείο -> Αποθήκευση, εικονόγραμμα Αποθηκεύσετε(μπλε δισκέτα) ή συντόμευση πληκτρολογίου Ctrl+S. Ας ονομάσουμε το αποθηκευμένο αρχείο "PrintForm".

Δημιουργία διάταξης έντυπης φόρμας

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

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

Στη νέα διάταξη που ανοίγει, θα δημιουργήσουμε αρκετές περιοχές που είναι απαραίτητες για την εμφάνιση της έντυπης φόρμας. Όλες οι περιοχές διάταξης που χρειαζόμαστε θα είναι οριζόντιες, επομένως για να δημιουργήσετε μια νέα περιοχή, επιλέξτε τον απαιτούμενο αριθμό γραμμών διάταξης και μεταβείτε στο μενού Πίνακας -> Ονόματα -> Εκχώρηση ονόματοςή χρησιμοποιήστε συντόμευση πληκτρολογίου Ctrl + Shift + N,στη συνέχεια πληκτρολογήστε το όνομα της περιοχής στο πλαίσιο. Όταν δημιουργείτε μια περιοχή διάταξης, μην φοβάστε να κάνετε λάθος με τον αριθμό των γραμμών, μπορείτε πάντα να τις προσθέσετε ή να τις αφαιρέσετε. Για να διαγράψετε μια γραμμή διάταξης 1C, επιλέξτε την επιθυμητή γραμμή και επιλέξτε το στοιχείο στο μενού περιβάλλοντος Διαγράφω. Για να προσθέσετε μια νέα γραμμή στη διάταξη, επιλέξτε οποιαδήποτε γραμμή της διάταξης και επιλέξτε το στοιχείο στο μενού περιβάλλοντος Επεκτείνουν.

Προσθήκη κεφαλίδας διάταξης

Πρώτα απ 'όλα, ας δημιουργήσουμε μια περιοχή Ενα καπάκι, θα εμφανίσει τα δεδομένα για την κεφαλίδα της έντυπης φόρμας. Για αυτήν την περιοχή θα χρειαστούμε επτά γραμμές διάταξης. Ας τα επιλέξουμε και, όπως έγραψα παραπάνω, ας πατήσουμε τον συνδυασμό πλήκτρων Ctrl + Shift + N, στο χωράφι Ονομαγράψτε "Καπέλα" και πατήστε το κουμπί Εντάξει.

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

Συνήθως δεκατρία ή δεκατέσσερα κελιά διάταξης είναι αρκετά, επιλέξτε τα στην πρώτη σειρά της περιοχής Ενα καπάκικαι συνδυάστε σε ένα κελί ( Μενού περιβάλλοντος -> Συγχώνευση). Μετά από αυτό, κάντε διπλό κλικ στο μεγάλο κελί που προκύπτει και γράψτε το όνομα της παραμέτρου, στην περίπτωσή μας "TitleText". Προκειμένου το εισαγόμενο κείμενο να γίνει μια πλήρης παράμετρος, κάντε δεξί κλικ στο κελί και επιλέξτε το στοιχείο στο μενού περιβάλλοντος Ιδιότητες. Στον σελιδοδείκτη Διάταξηας βρούμε το χωράφι Πλήρωσηκαι επιλέξτε την τιμή Παράμετρος. Οι παράμετροι στη διάταξη 1C υποδεικνύονται με αγκύλες "<>».

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

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

Το σχήμα δείχνει πώς οι παράμετροι διάταξης διαφέρουν από το κανονικό κείμενο.

Προσθήκη κεφαλίδας πίνακα διάταξης

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

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

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

Προσθήκη υποσέλιδου σε διάταξη

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

Το τελικό αποτέλεσμα θα πρέπει να είναι μια διάταξη που μοιάζει με αυτό:

Δημιουργία έντυπης φόρμας 1C. Προγραμματισμός

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

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

Συνάρτηση Print() Εξαγωγή EndFunction

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

Αρχικοποίηση Βασικών Μεταβλητών

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

TabDoc = νέο TabularDocument;

Σε μια μεταβλητή ΔιάταξηΘα λάβουμε τη διάταξη της έντυπης φόρμας που δημιουργήσαμε. Για να το κάνουμε αυτό χρησιμοποιούμε την ενσωματωμένη συνάρτηση GetLayout(<ИмяМакета>).

Layout = GetLayout("Layout");

Θα μετατρέψουμε όλες τις περιοχές της διάταξης σε μεταβλητές. Για να το κάνουμε αυτό χρησιμοποιούμε τη μέθοδο διάταξης GetArea(<ИмяОбласти>) .

HeaderArea = Layout.GetArea("Header"); AreaData = Layout.GetArea("Δεδομένα"); AreaFooter = Layout.GetArea("Υποσέλιδο");

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

Όλες οι απαραίτητες μεταβλητές αρχικοποιούνται. Ας αρχίσουμε να συμπληρώνουμε και να εμφανίζουμε τις περιοχές διάταξης σε ένα έγγραφο υπολογιστικού φύλλου. Πρώτα απ 'όλα, ας συμπληρώσουμε τον τίτλο της εκτυπώσιμης φόρμας· για αυτό πρέπει να περάσουμε την παράμετρο Κείμενο τίτλου, που δημιουργήσαμε στη διάταξη, το κείμενο που χρειαζόμαστε. Για να συμπληρώσετε τις τιμές παραμέτρων για την περιοχή διάταξης, υπάρχει μια ειδική συλλογή που ονομάζεται - Επιλογές.Από το οποίο μέσω του "." μπορείτε να πάρετε οποιαδήποτε παράμετρο. Στο κείμενο της κεφαλίδας θα μεταφέρουμε το κείμενο: «Εκτυπωμένη φόρμα», καθώς και τον αριθμό του εγγράφου.

Header Area.Parameters.TitleText = "Εκτύπωση φόρμας"+LinkToObject.Number;

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

HeaderArea.Parameters.Organization = LinkToObject.Organization; HeaderArea.Parameters.Account = LinkToObject.Account; HeaderArea.Parameters.ReceiptDate = ObjectLink.Date; Header Area.Parameters.Counterparty Agreement = LinkToObject.Counterparty Agreement;

Συμπληρώνονται όλες οι παράμετροι της κεφαλίδας, θα την εμφανίσουμε στο έγγραφο υπολογιστικού φύλλου που δημιουργήσαμε, για αυτό χρησιμοποιούμε τη μέθοδο Παραγωγή(<Область>) .

TabDoc.Output(HeaderArea);

Σύνταξη αίτησης για έντυπη αναπηρία

Ας αρχίσουμε να γεμίζουμε και να σχεδιάζουμε την περιοχή Δεδομένα. Η δημιουργία μιας έντυπης φόρμας 1C περιλαμβάνει επίσης τη σύνταξη ενός ερωτήματος· το χρειαζόμαστε για να λάβουμε δεδομένα σε πίνακα Εμπορεύματακαι τιμές Ονοματολογίεςγια την τρέχουσα ημερομηνία που θα χρησιμοποιήσουμε Αίτηση. Η γλώσσα ερωτημάτων 1C 8 είναι παρόμοια με την SQL, ή μάλλον αντιγράφει πρακτικά τις δυνατότητες του χειριστή SELECT, αλλά ολόκληρο το ερώτημα είναι γραμμένο στα ρωσικά. Επομένως, εάν είστε τουλάχιστον αόριστα εξοικειωμένοι με την SQL, τότε θα κατανοήσετε εύκολα τη γλώσσα ερωτημάτων 1C 8.

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

Ας δημιουργήσουμε μια μεταβλητή που θα περιέχει το αίτημα.

Request = Νέο αίτημα;

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

Request.Text = "";

Τοποθετήστε τον κέρσορα του ποντικιού ανάμεσα στα εισαγωγικά και πατήστε το δεξί κουμπί του ποντικιού. Στο μενού περιβάλλοντος που ανοίγει, επιλέξτε το στοιχείο Κατασκευαστής αιτήματος,θα μας βοηθήσει πολύ στη δημιουργία μιας φόρμας εκτύπωσης 1C. Μετά από αυτό, θα ανοίξει το παράθυρο του σχεδιαστή ερωτήματος, το οποίο περιέχει πολλές καρτέλες, αλλά για το ερώτημά μας θα χρειαστούμε μόνο τέσσερις: «Πίνακες και πεδία», «Σχέσεις», «Συνθήκες», «Συμμετοχές / Ψευδώνυμα».

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

Στην αριστερή πλευρά του παραθύρου του σχεδιαστή βρίσκουμε τη στήλη Βάση δεδομένων. Περιέχει ένα δέντρο με όλα τα αντικείμενα μεταδεδομένων, ας βρούμε αυτά που χρειαζόμαστε. Για να γίνει αυτό, ας ανοίξουμε το νήμα Τεκμηρίωσηκαι βρείτε το έγγραφο Παραλαβή Αγαθών και Υπηρεσιών, ας το ανοίξουμε και ας βρούμε το τμήμα του πίνακα Εμπορεύματα, σύρετέ το στη στήλη του σχεδιαστή ερωτήματος Πίνακες. Μπορείτε να σύρετε με τρεις τρόπους: σύροντας, κάνοντας διπλό κλικ στον πίνακα ή επιλέγοντάς τον και κάνοντας κλικ στο κουμπί «>». Ας ανοίξουμε το νήμα Μητρώα Πληροφοριώνκαι βρες το τραπέζι εκεί ΤιμέςΟνοματολογία.ΣυντόμευσηΤελευταία, σύρετέ το επίσης στη στήλη Πίνακες. Αυτοί οι δύο πίνακες είναι αρκετοί για το ερώτημά μας.

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

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

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

Μετά το παράθυρο Συνθήκεςπροσθέσαμε ένα πεδίο Σύνδεσμος, ο ίδιος ο σχεδιαστής ερωτήματος θα δημιουργήσει μια παράμετρο με το ίδιο όνομα και θα την τοποθετήσει μετά το σύμβολο "=". Αυτή η παράμετρος μπορεί να μετονομαστεί εάν θέλετε. Στο κείμενο αιτήματος, οι παράμετροι επισημαίνονται με το σύμβολο "&", αλλά σε αυτήν την περίπτωση αυτό δεν είναι απαραίτητο, καθώς θεωρείται ότι το δεύτερο μέρος της συνθήκης περιέχει μια παράμετρο, απλά πρέπει να το θυμάστε αυτό. Πώς να μεταβιβάσετε μια τιμή σε μια παράμετρο αιτήματος 1C θα συζητηθεί παρακάτω.

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

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

PriceType = &PriceType

Συμπληρώνονται οι παράμετροι εικονικού πίνακα, κάντε κλικ στο κουμπί Εντάξει.

Τώρα που περιορίσαμε την επιλογή μόνο στο έγγραφο που χρειαζόμαστε, ας δημιουργήσουμε συνδέσεις μεταξύ των πινάκων ερωτημάτων. Εάν αυτό δεν γίνει, τότε οι τιμές από τον πίνακα PricesNomenclatureSliceLast δεν θα συσχετίζονται με το είδος από την απόδειξη. Ας πάμε στην καρτέλα Συνδέσειςσχεδιαστής ερωτημάτων. Ας δημιουργήσουμε μια σύνδεση σε όλο το πεδίο Ονοματολογίαανάμεσα στα δύο μας τραπέζια. Για να το κάνετε αυτό, πατήστε το κουμπί Προσθήκη, στο χωράφι Τραπέζι 1επιλέξτε έναν πίνακα Παραλαβή ΑγαθώνΥπηρεσίεςΕμπορεύματα, και στο πεδίο Πίνακας 2 - PricesNomenclatureSliceLast. Στις συνθήκες επικοινωνίας, επιλέξτε τα πεδία Ονοματολογίακαι από τα δύο τραπέζια.

Θα πρέπει επίσης να σημειωθεί ότι στην επιλογή ερωτήματος πρέπει να πάρουμε όλες τις σειρές από το τμήμα της καρτέλας Εμπορεύματακαι τιμές μόνο εάν είναι διαθέσιμες την τρέχουσα ημερομηνία για τον τύπο τιμής παραστατικού. Έτσι, τα δεδομένα πίνακα Εμπορεύματαείναι υποχρεωτικά, αλλά τα δεδομένα ανάλυσης τιμών δεν είναι διαθέσιμα. Επομένως, στις σχέσεις μεταξύ αυτών των πινάκων, είναι απαραίτητο να χρησιμοποιήσετε το λεγόμενο LEFT JOIN και ο αριστερός (ή απαιτούμενος) πίνακας θα είναι Παραλαβή ΑγαθώνΥπηρεσίεςΕμπορεύματα, και το σωστό (ή προαιρετικό) PriceNomenclatureSliceLast. Για να λειτουργήσει η αριστερή ένωση των πινάκων ερωτημάτων όπως περιέγραψα παραπάνω, πρέπει να επιλέξετε το πλαίσιο Ολαμετά το γήπεδο Τραπέζι 1.


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

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

Request.Text = "ΕΠΙΛΟΓΗ | Παραλαβή Αγαθών και Υπηρεσιών Αγαθών. Ονοματολογία, | Παραλαβή Αγαθών και Υπηρεσιών Αγαθών. Ποσό, | Παραλαβή Αγαθών και Υπηρεσιών Αγαθών. Τιμή, | Παραλαβή Αγαθών και Υπηρεσιών Αγαθών. Ποσότητα, | Τιμές Ονοματολογία Φέτα Τελευταία. Τιμή ΩΣ ΤιμήΣήμερα | ΑΠΟ | Έγγραφο. Παραλαβή Αγαθών και Υπηρεσιών. Αγαθά ΩΣ ΒήμαΠροϊόνταΥπηρεσίεςΠροϊόντα |ΑΡΙΣΤΕΡΑ ΣΥΝΔΕΣΗΕγγραφήΠληροφορίες.ΤιμέςΟνοματολογία.Τελευταίο τμήμα (| &ΤρέχουσαΗμερομηνία,Τύπος Τιμής = &Τύπος ΤιμήΣΤύποςΤύπος των αγαθών εκ νέου | sProducts.Nomenclature | = PricesNomenclatureSliceLast. Ονοματολογία |WHERE | Παραλαβή αγαθώνΥπηρεσίεςΠροϊόντα.Σύνδεσμος = &Σύνδεσμος";

Εκτέλεση του αιτήματος

Ας περάσουμε τις απαραίτητες παραμέτρους στο αίτημα, για αυτό θα χρησιμοποιήσουμε τη μέθοδο αιτήματος SetParameter(<ИмяПараметра>,<Значение>). Για να λάβετε την τρέχουσα ημερομηνία, χρησιμοποιήστε την ενσωματωμένη λειτουργία Η τρέχουσα ημερομηνία(), επιστρέφει την ημερομηνία και την ώρα του υπολογιστή.

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

Select = Query.Run().Select();

Συμπλήρωση του πίνακα της έντυπης φόρμας

Ως αποτέλεσμα, στη μεταβλητή Δείγμαθα περιέχει μια επιλογή αποτελεσμάτων ερωτήματος, μπορείτε να πλοηγηθείτε σε αυτό χρησιμοποιώντας τη μέθοδο Επόμενο(), και για να περάσετε όλο το θέμα χρειάζεστε ένα βρόχο Αντίο. Ο σχεδιασμός θα έχει ως εξής:

Ενώ Select.Next() Loop EndLoop;

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

Σύνολο άθροισμα = 0; ΣυνολικήΠοσότητα = 0;

Μέσα στη θηλιά θα γεμίσουμε την περιοχή Δεδομέναδεδομένα από το τρέχον στοιχείο επιλογής σε μεταβλητές Συνολικό ποσόΚαι Συνολική ποσότηταπροσθέστε τιμές αθροίσματος και ποσότητας και, τέλος, εμφανίστε την περιοχή σε ένα έγγραφο υπολογιστικού φύλλου χρησιμοποιώντας τη μέθοδο που είναι ήδη γνωστή σε εμάς Παραγωγή(). Επειδή τα ονόματα των πεδίων του αιτήματός μας συμπίπτουν πλήρως με τα ονόματα των παραμέτρων περιοχής Δεδομένα, τότε για να συμπληρώσουμε θα χρησιμοποιήσουμε την ενσωματωμένη διαδικασία FillPropertyValues(<Приемник>, <Источник>), το οποίο αντιγράφει τις αξίες των ακινήτων<Источника>σε ακίνητα<Приемника>.

When Selection.Next() Loop FillPropertyValues(AreaData.Parameters,Selection); TotalSum = TotalSum + Sample.Sum; TotalQuantity = TotalQuantity + Sample.Quantity; TabDoc.Output(AreaData); EndCycle;

Εξαγωγή του υποσέλιδου μιας έντυπης φόρμας σε ένα έγγραφο υπολογιστικού φύλλου

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

AreaFooter.Parameters.TotalQuantity = TotalQuantity; AreaFooter.Parameters.TotalSum = TotalSum; TabDoc.Output(AreaFooter);

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

Επιστροφή TabDoc;

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

Δημιουργία έντυπης φόρμας 1C. Επιλογές αυτόματης εγγραφής

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

Γίνεται ως εξής:

  • Στην εξωτερική επεξεργασία δημιουργούμε μια νέα διάταξη. Το ονομάζουμε "Settings_Auto-Registration" (είναι σημαντικό να μην κάνετε λάθος!).
  • Στο πρώτο κελί της διάταξης γράφουμε Τεκμηρίωση.καταλόγους.) και το όνομα του εγγράφου στο οποίο πρέπει να συνδέσετε την έντυπη φόρμα.

Σύνδεση εξωτερικής φόρμας εκτύπωσης στη βάση

  • Εκκίνηση 1C 8 σε λειτουργία Εταιρία;
  • Μεταβείτε στο μενού Υπηρεσία -> Πρόσθετες αναφορές και επεξεργασία -> Πρόσθετες εξωτερικές έντυπες φόρμες;
  • Κάντε κλικ στο κουμπί Προσθήκη;
  • Στο παράθυρο που ανοίγει, κάντε κλικ στο εικονίδιο Αντικατάσταση εξωτερικού αρχείου επεξεργασίας;
  • Εάν έχετε δημιουργήσει παραμέτρους αυτόματης εγγραφής, τότε συμφωνούμε να τις χρησιμοποιήσουμε.
  • Εάν δεν έχετε δημιουργήσει παραμέτρους αυτόματης εγγραφής, τότε στο τμήμα του πίνακα Αξεσουάρ τυπογραφικής πλάκαςΠροσθήκη απαιτούμενο έγγραφοή βιβλίο αναφοράς?
  • πάτα το κουμπί ΕΝΤΑΞΕΙ.

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

Αυτό το άρθρο περιγράφει πώς να συνδέσετε μια εξωτερική έντυπη φόρμα σε μια βάση δεδομένων 1C χρησιμοποιώντας το παράδειγμα της διαμόρφωσης "Trade Management 10.3"

Η διαμόρφωση "Trade Management 10.3" είναι μια ρύθμιση παραμέτρων στις λεγόμενες "ΚΑΝΟΝΙΚΕΣ" φόρμες και όχι σε "ΔΙΑΧΕΙΡΙΣΜΕΝΕΣ" φόρμες όπως "Trade Management 11.2". Για τις φόρμες "ΔΙΑΧΕΙΡΙΣΗ" συνιστούμε να διαβάσετε.

Οι οδηγίες μας "δείχνουν" πώς να συνδέσετε μια εξωτερική έντυπη φόρμα σε 1C με διαμόρφωση σε φόρμες "ΚΑΝΟΝΙΚΑ", και συγκεκριμένα:

  • "Λογιστική 2.0"
  • "Διαχείριση Εμπορίου 10.3"
  • "Διαχείριση μισθών και προσωπικού 2.5"
  • "Ολοκληρωμένος αυτοματισμός 1.1"
  • "Ελεγχος μεταποιητική επιχείρηση 1,3"
  • "Retail 1.0"
  • και άλλες παρόμοιες διαμορφώσεις.

Για να συνδέσουμε μια εξωτερική φόρμα εκτύπωσης σε 1C θα χρειαστεί να περάσουμε από 11 βήματα.

1 - Μενού "Υπηρεσία". 2 — Επιλέξτε «Εξωτερικές φόρμες εκτύπωσης και επεξεργασία». 3 — Επόμενο — «Εξωτερικές έντυπες φόρμες» (βλ. εικόνα παρακάτω ↓)

Για να σε πείσω αυτό αυτή την οδηγίακατάλληλο για άλλες διαμορφώσεις σε φόρμες "ΚΑΝΟΝΙΚΑ" - ας φανταστούμε το ίδιο αρχικό 1-2-3 βήμα, αλλά όχι στο "Trade Management 10.3", αλλά στο "Accounting 2.0" όλα είναι ίδια εκεί με εξαίρεση τις ελαφρώς αλλαγμένες λέξεις στις υποπαραγράφους, δηλαδή...

1 — Μενού «Υπηρεσία» (το ίδιο όπως στο «UT 10.3» και σε άλλα).
2 - Εδώ "Πρόσθετες αναφορές και επεξεργασία" και όχι "Εξωτερικές έντυπες φόρμες και επεξεργασία" όπως στο "UT 10.3",
αλλά και πάλι η έννοια είναι η ίδια και βρίσκεται εκεί στο μενού «Υπηρεσία».
3 - Και μετά - «Πρόσθετες εξωτερικές φόρμες εκτύπωσης», π.χ. επιπλέον λέξη "Επιπλέον" σε σύγκριση με "UT 10.3" (βλ. εικόνα παρακάτω ↓)

Στη συνέχεια, θα συνεχίσουμε να χρησιμοποιούμε το παράδειγμα του «Trade Management 10.3» χωρίς περιττές συγκρίσεις.
4 — Κάντε κλικ στο κουμπί «+», δηλ. "Προσθήκη". 5 — Ένα κουμπί όπου σχεδιάζεται ο φάκελος (όταν τοποθετείτε το δείκτη του ποντικιού, θα εμφανιστεί μια υπόδειξη: "Αντικατάσταση εξωτερικού αρχείου επεξεργασίας").

Στις νέες εκδόσεις του 1C (ξεκινώντας από τον Αύγουστο του 2016), το πρόγραμμα διαθέτει ενσωματωμένο μηχανισμό προειδοποίησης σχετικά με τον κίνδυνο χρήσης άγνωστης εξωτερικής επεξεργασίας που μπορεί να περιέχει "ιούς"· σε προηγούμενες εκδόσεις του προγράμματος η προειδοποίηση δεν θα εμφανίζεται! Εάν συμβεί, τότε θα χρειαστεί να συνδέσετε εξωτερική επεξεργασία - 6 - κάντε κλικ στο κουμπί «Συνέχεια». (δείτε την παρακάτω εικόνα ↓)

7 — Επιλέξτε τον κατάλογο στον οποίο βρίσκεται το αρχείο εξωτερικής φόρμας εκτύπωσης που χρειαζόμαστε. 8 — Επιλέξτε το αρχείο μας. 9 — Κάντε κλικ στο «Άνοιγμα» (δείτε την παρακάτω εικόνα ↓)

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

Αυτό είναι όλο, έχουμε συμπληρώσει τον πίνακα "Σύνταξη της έντυπης φόρμας", χάρη στις παραμέτρους αυτόματης εγγραφής, βλέπουμε το όνομα της συνδεδεμένης εξωτερικής έντυπης φόρμας, ίσως θα έχετε συμπληρωμένο το πεδίο "Σχόλιο" κ.λπ. Μπορείτε να προσθέσετε τα αντικείμενά σας στον πίνακα "Ιδιοκτησία φόρμας εκτύπωσης", για παράδειγμα, για την επεξεργασία "Καθολική εκτυπώσιμη φόρμα σύμβασης", η οποία υποστηρίζει την εκτύπωση πολλών εγγράφων και βιβλίων αναφοράς, αλλά οι παράμετροι αυτόματης εγγραφής ορίζονται μόνο για τις κύριες: 10* — Κάντε κλικ στο πράσινο κουμπί «Προσθήκη» και επιλέξτε ποια αντικείμενα θα τοποθετήσετε επίσης για επεξεργασία. Τώρα το μόνο που μένει είναι... 11 - κάντε κλικ στο κουμπί «OK» και (δείτε την παρακάτω εικόνα ↓)

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

Για να ελέγξετε εάν είναι δυνατή η εκτύπωση, ανοίξτε οποιοδήποτε έγγραφο της μορφής: «Πωλήσεις αγαθών και υπηρεσιών». 13 — Κάντε κλικ στο κουμπί «Εκτύπωση».
Βλέπουμε ότι έχει εμφανιστεί ένα παράθυρο για την επιλογή έντυπων φορμών, μεταξύ των οποίων υπάρχει - 14 — εξωτερική φόρμα εκτύπωσης συνδεδεμένη από εμάς (δείτε την παρακάτω εικόνα ↓)

Ετσι! Υπάρχει μια διαμόρφωση (για παράδειγμα, "Trade Management", έκδοση 10.3) και για αυτήν είναι απαραίτητο να αναπτυχθεί μια εξωτερική έντυπη φόρμα. Για παράδειγμα, ας πάρουμε το τυπικό έγγραφο "Τιμολόγιο για πληρωμή στον αγοραστή" (αν και εξωτερικές έντυπες φόρμες μπορούν να δημιουργηθούν όχι μόνο για έγγραφα, αλλά και για καταλόγους).

Παράδειγμα για 1C 8.3 (Διαχειριζόμενες φόρμες)

Μπορείτε να δείτε ένα παράδειγμα ανάπτυξης μιας εξωτερικής έντυπης φόρμας για μια διαχειριζόμενη εφαρμογή.

Εργο

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

Πηγαίνω!

Το πρώτο πράγμα που πρέπει να κάνετε είναι να δημιουργήσετε ένα εξωτερικό αρχείο επεξεργασίας. Η επεξεργασία πρέπει να περιλαμβάνει τρία κύρια σημεία:
  1. Χαρακτηριστικό "Object Link" με τύπο "DocumentLink.Invoice for Payment to Buyer"
  2. Η διάταξη που θα εκτυπωθεί
  3. Εξαγωγή συνάρτησης "Print()" που επιστρέφει ένα έγγραφο υπολογιστικού φύλλου
Αυτές οι ενέργειες φαίνονται στο Σχήμα 1

"Σχεδιάζοντας μια διάταξη"

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

Συνάρτηση "Print()"

Η φόρμα είναι σχεδόν έτοιμη. Το μόνο που μένει είναι να γράψετε μια προγραμματική συμπλήρωση των πεδίων του εγγράφου του υπολογιστικού φύλλου. Αυτές οι ενέργειες εκτελούνται στη μονάδα αντικειμένου επεξεργασίας, σε μια συνάρτηση που ονομάζεται "Εκτύπωση", η οποία ΠΡΕΠΕΙ να είναι εξαγώγιμη.
Στάδιο Νο 1. Λήψη δεδομένων για την κεφαλίδα, συμπλήρωση των παραμέτρων κεφαλίδας και εξαγωγή σε έγγραφο υπολογιστικού φύλλου TabularDocument = Νέο TabularDocument; Layout = GetLayout("OurLayout"); Αίτημα δεδομένων = Νέο αίτημα("ΕΠΙΛΟΓΗ | ΑΝΤΙΠΡΟΣΩΠΗΣΗ(Τιμολόγιο πληρωμής στον αγοραστή. Αντισυμβαλλόμενος) ΩΣ αντισυμβαλλόμενος, | ΕΚΠΡΟΣΩΠΗΣΗ(Τιμολόγιο πληρωμής στον αγοραστή. Οργανισμός) ΩΣ οργανισμός | FROM | Έγγραφο. Τιμολόγιο πληρωμής στον αγοραστή ΩΣ τιμολόγιο για πληρωμή στον αγοραστή | ΠΟΥ | Τιμολόγιο για πληρωμή στον αγοραστή. Σύνδεσμος = &Σύνδεσμος"); Data Request.SetParameter("Link", ObjectLink); Header = DataRequest.Execute().Select(); Cap.Next(); Area = Layout.GetArea("Header"); Area.Options.Fill(Header); TabularDocument.Output(Area); Στάδιο Νο 2. Λήψη πινακοποιημένων δεδομένων και γραμμή προς γραμμή παραγωγής προϊόντων
Data Request.Text = "ΕΠΙΛΟΓΗ | _Προϊόντα. Αριθμός γραμμής, | ΑΝΤΙΠΡΟΣΩΠΗΣΗ(_Προϊόντα.Ονοματολογία) AS Ονοματολογία, | _Προϊόντα.Ποσότητα, | _Προϊόντα.Τιμή, | _Προϊόντα.Ποσό | ΑΠΟ | Έγγραφο.Τιμολόγιο για πληρωμή στον αγοραστή.Προϊόν AS _Products |WHERE | _Products. Link = &Link"; Fetch = DataRequest.Execute().Select(); Περιοχή = Layout.GetArea("Δεδομένα"); Ενώ Selection.Next() Loop Area.Parameters.Fill(Selection); TabularDocument.Output(Area); EndCycle; Στάδιο Νο 3. Επιστροφή εγγράφου υπολογιστικού φύλλου και λειτουργία εκτύπωσηςεπιστροφή TabularDocument;

Προσθήκη της εξωτερικής μας φόρμας εκτύπωσης σε 1C

Μεταβείτε στο μενού "Υπηρεσία - Εξωτερικές φόρμες εκτύπωσης και επεξεργασία - Εξωτερικές φόρμες εκτύπωσης"

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

  1. Φόρτωση του εξωτερικού αρχείου επεξεργασίας
  2. Υποδεικνύουμε για ποιο έγγραφο διαμόρφωσης (ή κατάλογο) προορίζεται η έντυπη φόρμα
  3. Καταγραφή αλλαγών

Ας τυπώσουμε!

Ανοίξτε οποιοδήποτε παραστατικό «Τιμολόγιο πληρωμής προς τον αγοραστή» (με συμπληρωμένο το τμήμα του πίνακα «Προϊόντα», γιατί εκεί παίρνουμε τα δεδομένα για συμπλήρωση), κάντε κλικ στο κουμπί «Εκτύπωση», στο παράθυρο που ανοίγει, επιλέξτε τα τυπωμένα ΜΑΣ φόρμα και κάντε κλικ στο "Εκτύπωση"


ΠΡΟΣΟΧΗ!Αυτός ο αλγόριθμος ανάπτυξης είναι κατάλληλος ΜΟΝΟ για μια "κανονική εφαρμογή". Τα εκτυπώσιμα για τις διαμορφώσεις με διαχείριση εφαρμογών είναι διαφορετικά!

Το αρχείο της έντυπης φόρμας που φαίνεται στο παράδειγμα μπορεί να είναι

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

Διαδικασία εκτύπωσης ηλεκτρονικό έγγραφοΤο 1C ονομάζεται έντυπη φόρμα 1C.

Κάθε έγγραφο μπορεί να έχει πολλές εκτυπωμένες φόρμες 1C. Για παράδειγμα, το έγγραφο Πωλήσεις αγαθών και υπηρεσιών (δηλαδή πώληση) εκτυπώνεται σε έντυπες μορφές 1C: TORG-12, Τιμολόγιο, Δελτίο αποστολής, Πιστοποιητικό παρεχόμενων υπηρεσιών και ούτω καθεξής.

Η ουσία της έντυπης φόρμας 1C είναι ένα πρότυπο (όπως ένα έγγραφο Excel) στο οποίο καθορίζονται οι μεταβλητές. Κατά τη διαδικασία εκτύπωσης, το κείμενο από το ηλεκτρονικό έγγραφο αντικαθίσταται από μεταβλητές. Το πρότυπο συνήθως αποθηκεύεται στη διαμόρφωση.

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

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

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

Πώς εκτυπώνεται ένα έγγραφο 1C

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

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

Το αποτέλεσμα εκτύπωσης μοιάζει με αυτό. Για να το εκτυπώσετε σε εκτυπωτή, πρέπει να τοποθετήσετε τον κέρσορα στη φόρμα εκτύπωσης 1C, να πατήσετε Ctrl+P ή το κουμπί του εκτυπωτή στον πίνακα κουμπιών ή στο μενού Αρχείο/Εκτύπωση.

Οι ρυθμίσεις εκτύπωσης (περιθώρια, προσανατολισμός φύλλου, κ.λπ.) βρίσκονται στο μενού File/Page Setup. Μπορείτε επίσης να διαμορφώσετε τις ρυθμίσεις χρήστη ώστε να εκτυπώνονται απευθείας στον εκτυπωτή.

Από πού προέρχεται αυτό το έντυπο εκτύπωσης;

Πού βρίσκεται η έντυπη φόρμα 1C;

Πάμε στο configurator. Βρείτε το απαιτούμενο έγγραφο στο παράθυρο διαμόρφωσης. Ας επεκτείνουμε τον κλάδο Layouts. Είναι αυτοί που μετατρέπονται στη φόρμα εκτύπωσης 1C κατά την εκτύπωση.

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

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

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

Αλλά δεν είναι μόνο αυτό! Υπάρχουν επίσης εξωτερικές διατάξεις. Πού αποθηκεύονται;

Ας επιστρέψουμε στη λειτουργία 1C Enterprise. Μέσω του μενού χρήστη με δικαιώματα διαχειριστή Λειτουργίες/Κατάλογοι, επιλέξτε τον κατάλογο Εξωτερική επεξεργασία.

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

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

Διάταξη έντυπης μορφής 1C

Η διάταξη της φόρμας εκτύπωσης 1C μοιάζει με αυτό.

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

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

Για να αντιστοιχίσετε μια περιοχή, επιλέξτε πολλές σειρές (ή πολλές στήλες) και επιλέξτε Πίνακας/Ονόματα/Εκχώρηση ονόματος από το μενού. Για να το αφαιρέσετε, υπάρχει και η εντολή Αφαίρεση ονόματος.

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

Ωστόσο, από προεπιλογή, τα προσαρμοσμένα ονόματα κελιών δεν εμφανίζονται. Για να τα δείτε, επιλέξτε το στοιχείο μενού Πίνακας/Ονόματα/Εμφάνιση κελιών με όνομα.

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

Τυπικά (συνήθως χρησιμοποιούμενα) μπλοκ για εκτύπωση πλακών:

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

Τώρα πρέπει να ασχοληθούμε με το

Οδηγίες

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

Εκκινήστε το πρόγραμμα 1C: Enterprise σε λειτουργία διαμόρφωσης και, στη συνέχεια, δημιουργήστε εξωτερική επεξεργασία, για να το κάνετε αυτό, εκτελέστε την εντολή "Αρχείο" - "Νέο". Στο παράθυρο που εμφανίζεται, επιλέξτε «Εξωτερική επεξεργασία». Στην οθόνη θα εμφανιστεί μια νέα φόρμα εξωτερικής επεξεργασίας. Δώστε του το όνομα "Εξωτερικό". Στη συνέχεια, προσθέστε ένα νέο χαρακτηριστικό που ονομάζεται "Object reference", καθορίστε τον τύπο για αυτό - "Document. Σύνδεσμος. Πωλήσεις αγαθών και υπηρεσιών». Για να δημιουργήσετε ένα εκτυπώσιμο για διαφορετικό τύπο εγγράφου, χρησιμοποιήστε τον κατάλληλο τύπο συνδέσμου.

Προσθέστε μια νέα διάταξη κάνοντας κλικ στο αντίστοιχο κουμπί στο παράθυρο της νέας φόρμας. Ονομάστε το "Διάταξη", δημιουργήστε μια περιοχή που ονομάζεται "Κεφαλίδα", δώστε της την παράμετρο "Κείμενο κεφαλίδας". Στη συνέχεια, κάντε κλικ στο κουμπί "Ενέργειες", επιλέξτε την εντολή "Άνοιγμα ενότητας αντικειμένου". Στη συνέχεια, εισαγάγετε το κείμενο της ενότητας, μπορείτε να χρησιμοποιήσετε το παράδειγμα που δημοσιεύτηκε στον ιστότοπο http://www.uasoft.com.ua/content/articles/315/.

Εκκινήστε το πρόγραμμα 1C: Enterprise, μεταβείτε στο μενού Εργαλεία, επιλέξτε Εξωτερικές Φόρμες εκτύπωσης. Προσθέστε μια νέα καταχώρηση στη λίστα των φορμών. Για να το κάνετε αυτό, επιλέξτε το δημιουργημένο αρχείο επεξεργασίας και στην ενότητα πίνακα, υποδείξτε ότι η φόρμα ανήκει στο έγγραφο "Πωλήσεις αγαθών". Ελέγξτε ότι η νέα πλάκα εκτύπωσης λειτουργεί σωστά. Για να το κάνετε αυτό, ανοίξτε το έγγραφο που δημιουργήθηκε, ανιχνεύστε το και, στη συνέχεια, στο κάτω μέρος της οθόνης κάντε κλικ στο κουμπί "Εκτύπωση", επιλέξτε την επιλογή "Εξωτερική φόρμα εκτύπωσης".

Πηγές:

  • πώς να αλλάξετε μια έντυπη φόρμα σε 1c

Για να δημιουργήσετε και να επεξεργαστείτε φόρμες αντικειμένων, το πρόγραμμα 1C:Enterprise παρέχει έναν ειδικό επεξεργαστή φορμών (ή Form Designer). Οι φόρμες αντικειμένων λύσης εφαρμογής έχουν σχεδιαστεί για να αναπαριστούν οπτικά δεδομένα κατά την εργασία με το πρόγραμμα. Το πρόγραμμα επεξεργασίας φόρμας περιέχει πολλές καρτέλες που παρέχουν τη δυνατότητα επεξεργασίας όλων των στοιχείων φόρμας.

Θα χρειαστείτε

  • υπολογιστής, πρόγραμμα 1C

Οδηγίες

Χρησιμοποιώντας το πρόγραμμα επεξεργασίας φόρμας, μπορείτε να προσθέσετε ένα ή περισσότερα στοιχεία «Ομάδα – Σελίδες» στη φόρμα· για να το κάνετε αυτό, κάντε κλικ στο πράσινο σύμβολο συν στην επάνω αριστερή γωνία του προγράμματος επεξεργασίας ενώ βρίσκεστε στην καρτέλα «Στοιχεία».
Στη λειτουργία 1C: Enterprise, όλα τα υπάρχοντα στοιχεία ομάδας θα εμφανίζονται το καθένα σε ξεχωριστή καρτέλα. Για να το τοποθετήσετε πάνω ή κάτω από το λειτουργικό, στο παράθυρο "Ιδιότητες" μιας συγκεκριμένης ομάδας, στο στοιχείο "Εμφάνιση", επιλέξτε την κατάλληλη εντολή.

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

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

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

Βίντεο σχετικά με το θέμα

Λογιστικό σχέδιο που χρησιμοποιείται στη λογιστική για εμφάνιση ΟΙΚΟΝΟΜΙΚΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑεπιχείρηση, υποστηρίζει μια ιεραρχία πολλαπλών επιπέδων: λογαριασμός - υπολογαριασμοί. Για να μπορεί ο χρήστης να δει τα δεδομένα που περιέχονται στο λογιστικό σχέδιο και να τα διορθώσει, το σύστημα 1C σάς επιτρέπει να αλλάξετε τη μορφή του λογαριασμού. Επιπλέον, η έντυπη μορφή του τιμολογίου μπορεί να αλλάξει σε οποιοδήποτε άλλο έγγραφο στο 1C.

Θα χρειαστείτε

Οδηγίες

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



Συνεχίζοντας το θέμα:
Φορολογικό σύστημα

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

Νέα άρθρα
/
Δημοφιλής