1c επιχείρηση που εργάζεται με αρχεία 8.3. Mxl παρά να ανοίξει

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

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

Για να αποθηκεύσετε αρχεία, χρησιμοποιήστε ένα χαρακτηριστικό (ή εγγραφή πόρου) με τον τύπο StorageValues.

Μεταφόρτωση ενός αυθαίρετου αρχείου στη βάση πληροφοριών 1C

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

Κατά τη μετατροπή δυαδικών δεδομένων σε αντικείμενο StorageValuesσχεδιασμός που χρησιμοποιείται new StorageValues ​​(Δεδομένα, Συμπίεση)με δύο παραμέτρους:

  1. Δεδομένα— δυαδικά δεδομένα που πρέπει να αποθηκευτούν στο χώρο αποθήκευσης
  2. Συμπίεση— λόγος συμπίεσης του αλγόριθμου Deflation. Ακέραιος στην περιοχή -1...9. -1 είναι το προεπιλεγμένο επίπεδο συμπίεσης. 0 - χωρίς συμπίεση, 9 - μέγιστη συμπίεση. Προεπιλεγμένη τιμή: -1. Η παράμετρος είναι προαιρετική, εάν δεν προσδιορίζεται, τότε δεν χρησιμοποιείται συμπίεση.

//Μετατροπή του αρχείου σε δυαδικά δεδομένα
Αρχείο = New BinaryData(Διαδρομή) ;

//Δημιουργία νέου αντικειμένου Value Storage

DataStorage = NewValueStorage(File, NewDataCompression(9) );

Αποθήκευση αυθαίρετου αρχείου από τη βάση πληροφοριών 1C στο δίσκο

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

//Λήψη δυαδικών δεδομένων από την αποθήκευση
//Αποθήκευση δεδομένων - χαρακτηριστικό ενός αντικειμένου με τύπο αποθήκευσης τιμής

//Εγγραφή των δεδομένων που λαμβάνονται στο δίσκο
//Η μεταβλητή Path περιέχει την πλήρη διεύθυνση του αρχείου στο δίσκο
Δεδομένα. Write(Path) ;

Προβολή αρχείου που βρίσκεται στη βάση πληροφοριών 1C

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

//Λάβετε το όνομα του προσωρινού αρχείου με την απαιτούμενη επέκταση
//Στη μεταβλητή Extension πρέπει να βάλετε την επέκταση αρχείου, για παράδειγμα "pdf"
Διαδρομή = GetTemporaryFileName(Επέκταση) ;

//Λήψη δεδομένων από την αποθήκευση
//Αποθήκευση δεδομένων - χαρακτηριστικό ενός αντικειμένου με τύπο αποθήκευσης τιμής
Δεδομένα = Αποθήκη δεδομένων. Get() ;

//Εγγραφή δεδομένων σε ένα προσωρινό αρχείο
Δεδομένα. Write(Path) ;

//Προσπαθώ να ανοίξω το αρχείο στην προβλεπόμενη εφαρμογή
//Εάν η εφαρμογή δεν βρεθεί, θα εμφανιστεί το παράθυρο διαλόγου συστήματος "Άνοιγμα με...".
LaunchApplication(Path) ;

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

Για να ανοίξετε ένα τέτοιο αρχείο, ξεκινήστε το "1C Enterprise" και επιλέξτε το μενού "Αρχείο" -> "Άνοιγμα". Εάν θέλετε, μπορείτε να αποθηκεύσετε ένα τέτοιο αρχείο σε μορφή Excel. Για να το κάνετε αυτό, στο ίδιο μενού "Αρχείο", επιλέξτε "Αποθήκευση ως..." και, στη συνέχεια, ορίστε τον τύπο αρχείου σε "Πίνακας Excel". Εάν το 1C Enterprise δεν είναι εγκατεστημένο στον υπολογιστή σας, μπορείτε να κατεβάσετε και να εγκαταστήσετε τη δωρεάν εφαρμογή 1C Enterprise - Working with Files από τον επίσημο ιστότοπο της εταιρείας. Αυτό το πρόγραμμα θα σας βοηθήσει να ανοίξετε, να προβάλετε, να εκτυπώσετε και να μετατρέψετε αρχεία.

Κατεβάστε το "1C Enterprise - Working with Files" δωρεάν

Κατεβάστε το πρόγραμμα από την επίσημη ιστοσελίδα. Η εργασία με αρχεία είναι παρόμοια με την εργασία με αρχεία σε λειτουργία 1C: Enterprise.
Διατίθεται μια ρωσική έκδοση του προγράμματος. Κατά την εγκατάσταση του προγράμματος, πρέπει να επιλέξετε την πλήρη διανομή.
Μετά την εγκατάσταση του "1C Enterprise - Working with Files", μπορείτε όχι μόνο να προβάλετε ένα αρχείο με την επέκταση .mxl, αλλά και να το μετατρέψετε σε Excel.

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

Εφαρμογή

Το άρθρο εξετάζει την έκδοση 8.3 της πλατφόρμας 1C:Enterprise. Οι πληροφορίες που παρουσιάζονται είναι σχετικές με τις τρέχουσες εκδόσεις πλατφόρμας.

Εργασία με αρχεία (εικόνες) στη διεπαφή Taxi

Ας δούμε τον αλγόριθμο για την εργασία με αρχεία και εικόνες στη νέα διεπαφή 1C:Enterprise 8.3 "Taxi".

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

Ωστόσο, εάν επιτρέψουμε τα modal windows, θα αντιμετωπίσουμε προβλήματα κατά την εργασία στον υπολογιστή-πελάτη ιστού.

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

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

Για να αποθηκεύσουμε το ίδιο το αρχείο γραφικών, στον κατάλογο θα δημιουργήσουμε το χαρακτηριστικό “Picture Data”, με τον τύπο “Value Storage”.

Για μεγέθυνση, κάντε κλικ στην εικόνα.

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

Για μεγέθυνση, κάντε κλικ στην εικόνα.

Πώς θα εμφανίσουμε την εικόνα στη φόρμα; Όχι, δεν είναι διακόσμηση τύπου «εικόνας». Και με τη μορφή στηρίξεων μιας φόρμας με τον τύπο “string”. Ναι ναι! Αυτό είναι προφανές, και είναι περίεργο που λίγοι άνθρωποι το αντιλαμβάνονται μόνοι τους.

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

Για μεγέθυνση, κάντε κλικ στην εικόνα.

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

Για μεγέθυνση, κάντε κλικ στην εικόνα.

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

Για μεγέθυνση, κάντε κλικ στην εικόνα.

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

Για μεγέθυνση, κάντε κλικ στην εικόνα.

Μερικά σχόλια στον παραπάνω κώδικα:

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

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

Ας περιγράψουμε τη διαδικασία «ProcessFileSelection»:

Για μεγέθυνση, κάντε κλικ στην εικόνα.

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

Voila!

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

Για μεγέθυνση, κάντε κλικ στην εικόνα.

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

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

Για μεγέθυνση, κάντε κλικ στην εικόνα.

Αυτό είναι όλο. Μπορείτε να πάρετε την τελική βάση.

Πάβελ Τσιστόφ

Το πρόγραμμα "1C:Enterprise - Working with Files" είναι ένα ξεχωριστό προϊόν λογισμικού που διανέμεται δωρεάν. Προορίζεται για την προβολή και την επεξεργασία αρχείων 1C:Enterprise σε υπολογιστές όπου δεν είναι εγκατεστημένο το σύστημα 1C:Enterprise.

Υποστηρίζονται οι ακόλουθες μορφές αρχείων:

  • (*.κείμενο);
  • (*.mxl);
  • (*.htm, *.html);
  • (*.grs);
  • (*.geo);

Κατά τη διαδικασία εγκατάστασης, το πρόγραμμα καταχωρεί τις επεκτάσεις mxl, grs και geo, με αποτέλεσμα να προβάλετε και να επεξεργαστείτε αυτά τα αρχεία, απλώς κάντε κλικ σε αυτά με το ποντίκι:

Υποστηρίζεται η εκτέλεση του προγράμματος από τη γραμμή εντολών. Σε αυτήν την περίπτωση, είναι δυνατό να καθοριστεί το αρχείο προς επεξεργασία. Για παράδειγμα, για να επεξεργαστείτε το αρχείο "Remains.mxl", απλώς εκτελέστε την εντολή:

"D:\Program Files\1cv82fv\bin\1cv8fv.exe" D:\FileWorkshop\Remainings.mxl

Το "1C:Enterprise - Εργασία με αρχεία" υποστηρίζει μια λειτουργία παρόμοια με αυτή που εφαρμόζεται στο σύστημα 1C:Enterprise. Έτσι, για παράδειγμα, ο χρήστης μπορεί να συγκρίνει οπτικά δύο αναφορές υπολοίπου:

Επιλογές παράδοσης

Υπάρχουν δύο επιλογές παράδοσης για το πρόγραμμα 1C:Enterprise - Working with Files:

  • Ρωσόφωνο?
  • Διεθνές.

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

Επίσης, για διεθνή παράδοση, ο διακόπτης γραμμής εντολών /L μπορεί να χρησιμοποιηθεί για τον καθορισμό της γλώσσας διεπαφής που θα χρησιμοποιηθεί. Για παράδειγμα, για να επεξεργαστείτε το αρχείο "Remains.mxl" σε ένα πρόγραμμα με αγγλική γλώσσα διεπαφής (en), απλώς εκτελέστε την εντολή:

"D:\Program Files\1cv82fv\bin\1cv8fv.exe" /Len D:\FileWorkshop\Remainings.mxl

Ο χρόνος προχωρά αναπόφευκτα μπροστά και η πλατφόρμα 1C 8 τρέχει ακόμα πιο γρήγορα από αυτή τη φορά.

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

Γενικά, παιδιά, τα πράγματα είναι έτσι - πολλοί από εσάς έχετε διαβάσει το άρθρο του υπέροχου P. Chistov σχετικά με την εργασία με αρχεία στο 8.3

Αν δεν το έχετε κάνει ακόμα, προχωρήστε και προχωρήστε! ()

Η ουσία του μηχανισμού για την εργασία με αρχεία εν συντομία:

1) Στον πελάτη, επιλέξτε το αρχείο

2) Το χώνουμε σε ένα μαύρο κουτί

3) Αποθηκεύστε τα περιεχόμενα του μαύρου κουτιού στον διακομιστή

Το πιάσιμο είναι ότι αυτό πρέπει να γίνει ειδικά, με νέο τρόπο και με ψυχή.

Επομένως σας

SelectedFile.Exists()

και άλλα παγανιστικά πράγματα δεν θα λειτουργήσουν εδώ.

Λοιπόν πάμε!

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

Alert Description = New Alert Description ("ProcessFileSelection", ThisForm); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Open); FileOpenDialog.MultipleSelect = False; StartFilePlace(AlertDescription, FileOpenDialog, True, UniqueIdentifier);

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

&Στο Client Procedure ProcessFileSelection(PlacedFiles, AdditionalParameters) Εξαγωγή If PlacedFiles = Undefined then Return; τέλος εαν; Για κάθε TransferredFile From PlacedFiles Cycle PathToFile = TransferredFile.Name; Record.FileName = ParseLine(PathToFile, "\"); Items.OpenFile.Header = Entry.FileName; Διεύθυνση = TransmittedFile.Storage; EndCycle; EndProcedure // ()

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

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

NewValueStorage(GetFromTemporaryStorage(Διεύθυνση));

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

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

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

Αυτή είναι η διεύθυνση προσωρινής αποθήκευσης (Διεύθυνση)

Κατά παράδοση, η λίστα κωδικών που καλεί το διάλογο αποθήκευσης αρχείου

Περιγραφή ειδοποίησης = Περιγραφή νέας ειδοποίησης ("Επεξεργασία αποθήκευσης αρχείου", ThisForm); File = New DescriptionofTransferFile(FileName, Address); ReceiveFiles = Νέος πίνακας; ReceiveFiles.Add(File); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Save); FileOpenDialog.MultipleSelect = False; StartReceivingFiles (DescriptionAlerts, ReceivingFiles, OpenFileDialog, True);

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

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

Αυτό είναι βασικά.

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

Έγραψα το άρθρο περισσότερο ως υπενθύμιση για τον εαυτό μου.

Συνεχίζοντας το θέμα:
Linux

Mac στην υπηρεσία ενός χάκερ. Μέρος 1 – Κρυπτογράφηση δίσκουAlexander Antipov Το πρώτο άρθρο θα είναι αφιερωμένο στην κρυπτογράφηση δίσκου, η οποία θα βοηθήσει στην προστασία από όλους όσους ενδιαφέρονται για το...