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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εκτύπωση (Ctrl+P)

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

Αποθήκευση δεδομένων από ένα αρχείο σε προσωρινή αποθήκευση

Τοποθέτηση μεμονωμένου αρχείου

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

Τοποθέτηση ενός συνόλου αρχείων

Μέθοδος PlaceFiles()τοποθετεί πολλά αρχεία σε προσωρινή αποθήκευση σε μία κλήση. Υπάρχουν αρκετές διάφορους τρόπουςχρησιμοποιώντας αυτή τη μέθοδο:
● σχηματίστε προκαταρκτικά μια λίστα αρχείων που θα προστεθούν, για παράδειγμα, κατά την προεπιλογή των αρχείων που θα τοποθετηθούν στη βάση πληροφοριών.
● περάστε μια μάσκα αναζήτησης αρχείων στη μέθοδο, για παράδειγμα, όταν απαιτείται να τοποθετηθούν όλα τα αρχεία ενός συγκεκριμένου τύπου στη βάση πληροφοριών, για παράδειγμα, όλες οι εικόνες.
● περάστε ένα αντικείμενο που έχετε προετοιμάσει προηγουμένως στη μέθοδο Διάλογος FileSelectσε λειτουργία ανοιχτού αρχείου.
Όταν ολοκληρωθεί, η μέθοδος μπορεί να επιστρέψει μια λίστα με πραγματικά προστιθέμενα αρχεία.

// Το FileList είναι ένα χαρακτηριστικό φόρμας του τύπου ValueList,
// που περιέχει μια λίστα αρχείων προς προσθήκη
FileArray = Νέος πίνακας;
Για κάθε Λίστα Στοιχείων Από Βρόχο Λίστας Αρχείων
Array of Files.Add(New Description of the Transferred File(ListItem,));
EndCycle;
PlacedFiles= Νέος πίνακας;
Αποτέλεσμα = PutFiles(FileArray, PutFiles, False, UniqueIdentifier);

Σημείωση 1. Για να χρησιμοποιήσετε τη μέθοδο PlaceFiles()στο πρόγραμμα-πελάτη ιστού, πρέπει να συνδέσετε την επέκταση για εργασία με αρχεία.
Σημείωση 2: Ποσότητα δεδομένων που μετακινούνται μεταξύ πελάτη και διακομιστή ανά κλήση μεθόδου PlaceFiles(), δεν πρέπει να υπερβαίνει τα 4 Gb (σε σειριακή μορφή).

Τοποθέτηση δεδομένων σε προσωρινή αποθήκευση

Η μέθοδος είναι παρόμοια με τη μέθοδο PutFile(), με τη διαφορά ότι τα δεδομένα πρέπει να εγγραφούν στην προσωρινή αποθήκευση
δεν αναπαρίστανται ως μονοπάτι προς σύστημα αρχείων, αλλά ως αξία. Ομοίως, εάν δεν έχει καθοριστεί υπάρχουσα διεύθυνση στην προσωρινή αποθήκευση, δημιουργείται μια νέα διεύθυνση. Η διεύθυνση επιστρέφεται ως αποτέλεσμα της συνάρτησης. Όπως και με τα αρχεία, τα αναρτημένα δεδομένα πρέπει να ανήκουν σε μια φόρμα και διαγράφονται αυτόματα όταν διαγράφονται.
Σημείωση.Ποσότητα δεδομένων που μετακινούνται μεταξύ πελάτη και διακομιστή ανά κλήση μεθόδου PlaceInTempStorage(), δεν πρέπει να υπερβαίνει τα 4 Gb (σε σειριακή μορφή).
Προσοχή!Όταν τοποθετείται σε προσωρινή αποθήκευση, η τιμή δεν είναι στην πραγματικότητα σειριακή. Ένας σύνδεσμος προς την τιμή τοποθετείται και αποθηκεύεται στην κρυφή μνήμη για 20 λεπτά. Μετά από αυτό το διάστημα, η τιμή τίθεται σε σειρά, εγγράφεται στο δίσκο (αποθήκευση περιόδου λειτουργίας) και αφαιρείται από τη μνήμη cache.

Ανάκτηση δεδομένων από προσωρινή αποθήκευση

Όταν γράφετε ένα αντικείμενο σε μια βάση πληροφοριών, μπορεί να χρειαστεί να εξαγάγετε δεδομένα από την προσωρινή αποθήκευση και να τα τοποθετήσετε, για παράδειγμα, στο χαρακτηριστικό ενός αντικειμένου βάσης πληροφοριών. Υπάρχει μια ειδική μέθοδος για αυτό - GetFromTemporalStorage(). Αυτή η μέθοδος ανακτά δεδομένα από την προσωρινή αποθήκευση και τα επιστρέφει ως αποτέλεσμα της εκτέλεσης. Για να λάβετε δεδομένα, πρέπει να καθορίσετε τη διεύθυνση στο προσωρινό
αποθήκευση. Αυτή η διεύθυνση επιστρέφεται με μεθόδους για την εισαγωγή δεδομένων σε προσωρινή αποθήκευση, εάν επιτύχουν (δείτε τις προηγούμενες ενότητες).
Προσοχή!Κατά την ανάκτηση μιας τιμής από την προσωρινή αποθήκευση στον διακομιστή, λάβετε υπόψη ότι λαμβάνεται με αναφορά. Στην πραγματικότητα, αυτός ο σύνδεσμος δείχνει μια τιμή που είναι αποθηκευμένη στην κρυφή μνήμη. Εντός 20 λεπτών, από τη στιγμή που τοποθετήθηκε στο χώρο αποθήκευσης ή από τη στιγμή της τελευταίας πρόσβασης, η τιμή θα αποθηκευτεί στη μνήμη cache και, στη συνέχεια, θα γραφτεί στο δίσκο και θα διαγραφεί από τη μνήμη cache. Την επόμενη φορά που θα προσπελαστεί, η τιμή φορτώνεται από το δίσκο και επανατοποθετείται στην κρυφή μνήμη.
Μετά την αφαίρεση και την αποκατάσταση της αξίας από την προσωρινή αποθήκευση, οι αναφορές δεν αποκαθίστανται. Η τιμή στη μνήμη cache αποκαθίσταται από το δίσκο. Αλλά μετά τη σειριοποίηση / αποσειριοποίηση, είναι αδύνατο να επαναφέρετε αναφορές σε άλλα αντικείμενα μέσα στην τιμή.

Διαγραφή δεδομένων από προσωρινή αποθήκευση

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

Έλεγχος εάν μια διεύθυνση ανήκει σε προσωρινό χώρο αποθήκευσης

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

Λήψη της διεύθυνσης των στηρίξεων

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

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

Λήψη αρχείου από τη βάση πληροφοριών

Λήψη ενός αρχείου

Η μέθοδος GetFile() λαμβάνει ένα αρχείο από τη βάση πληροφοριών και το αποθηκεύει στο τοπικό σύστημα αρχείων του χρήστη. Η πρώτη παράμετρος ορίζει τη διεύθυνση αρχείου στο χαρακτηριστικό του αντικειμένου της βάσης πληροφοριών ή στην προσωρινή αποθήκευση αρχείων. Η αποθήκευση δεν θα πραγματοποιηθεί εάν ο χρήστης για λογαριασμό του οποίου εκτελείται η λειτουργία δεν έχει το δικαίωμα προβολής στο χαρακτηριστικό του αντικειμένου βάσης πληροφοριών. Η δεύτερη παράμετρος καθορίζει πού θα αποθηκευτεί το αρχείο που προκύπτει. Σε μη διαδραστική λειτουργία, πρέπει να καθορίσετε τη διαδρομή. Σε διαδραστική λειτουργία, η παράμετρος είναι
προαιρετικός.
Από προεπιλογή, η μέθοδος εκτελείται σε διαδραστική λειτουργία. Αυτό σημαίνει ότι θα δημιουργηθεί ένα πλαίσιο διαλόγου στο οποίο μπορείτε να καθορίσετε μια ενέργεια με το ληφθέν αρχείο: να το εκτελέσετε ή να το αποθηκεύσετε σε μια θέση που καθορίζεται από το χρήστη στο σύστημα αρχείων. Εάν έχει επιλεγεί η διαδραστική λειτουργία και δεν έχει καθοριστεί η παράμετρος Όνομα αρχείου, τότε η λειτουργία ανοίγματος αρχείου δεν είναι διαθέσιμη. Η μέθοδος επιστρέφει μια Boolean τιμή. False σημαίνει ότι ο χρήστης έχει επιλέξει να ακυρώσει τη λειτουργία στο πλαίσιο διαλόγου ηλεκτρονικής αποθήκευσης αρχείου.

Λήψη ενός συνόλου αρχείων

Η μέθοδος GetFiles() σάς επιτρέπει να λαμβάνετε και να αποθηκεύετε πολλά αρχεία που είναι αποθηκευμένα στη βάση πληροφοριών στο τοπικό σύστημα αρχείων του χρήστη. Η λίστα των μεταφορτωμένων αρχείων μεταβιβάζεται ως παράμετρος.

// FileList - μια λίστα τιμών που περιέχει αναφορές σε στοιχεία
// κατάλογος όπου βρίσκονται τα μεταφορτωμένα αρχεία
// Αναπαράσταση της λίστας τιμών είναι το όνομα του μεταφορτωμένου αρχείου
FileArray = Νέος πίνακας;
Για κάθε Λίστα Στοιχείων Από Βρόχο Λίστας Αρχείων
Αρχείο = Νέο File(String(ListItem.Value));
GetFile = Νέο Περιγραφή του μεταφερθέντος αρχείου.
GetFile.Name = ListItem.View;
GetFile.Storage= Π getNavigationLink(ListItem.Value, "Data");
FileArray.Add(GetFile);
EndCycle;
Αρχεία που ελήφθησαν= Νέος πίνακας;
Αποτέλεσμα = GetFiles (FileArray, GetFiles, UploadFilesPath, False);
Αν ΟΧΙ Αποτέλεσμα Τότε
Μήνυμα = Νέο MessageToUser;
Μήνυμα.Κείμενο = "Σφάλμα κατά τη λήψη αρχείων!";
Message.Notify();
Τέλος εαν ;

Όταν ολοκληρωθεί, η μέθοδος μπορεί να επιστρέψει μια λίστα με πραγματικά μεταφορτωμένα αρχεία, υποδεικνύοντας το πλήρες όνομα κάθε αποθηκευμένου αρχείου.
ΣΗΜΕΙΩΣΗ. Για να χρησιμοποιήσετε τη μέθοδο GetFiles() στο πρόγραμμα-πελάτη ιστού, πρέπει να συνδέσετε την επέκταση αρχείου. Εάν η ιδιότητα ονόματος αντικειμένου Περιγραφή μεταφοράς αρχείωνπεριέχει μια απόλυτη διαδρομή προς το αρχείο, το αρχείο θα αποθηκευτεί σε αυτή τη διαδρομή, αγνοώντας την παράμετρο Αρχεία τοποθεσίας.
Η παράμετρος FileLocation μπορεί να είναι είτε μια διαδρομή στο τοπικό σύστημα αρχείων είτε ένα αντικείμενο διαλόγου FileSelect στη λειτουργία επιλογής καταλόγου ή αποθήκευσης αρχείων. Αν ως τιμή παραμέτρου Αρχεία τοποθεσίαςκαθορισμένο αντικείμενο Επιλέξτε Διάλογος αρχείωνσε λειτουργία
αποθηκεύστε αρχεία και στη συνέχεια:

● Το παράθυρο διαλόγου θα καλείται για κάθε αρχείο που μεταφέρεται, εκτός από εκείνα τα αρχεία για τα οποία η ιδιότητα του αντικειμένου Όνομα Περιγραφή του αρχείου που μεταφέρεται περιέχει μια απόλυτη διαδρομή.
● Ως αρχικό όνομα αρχείου στο παράθυρο διαλόγου, θα χρησιμοποιηθεί η τιμή της ιδιότητας Όνομα του αντικειμένου Αρχείο που μεταφέρεται Περιγραφή.
● εάν δεν έχει επιλεγεί αποθήκευση για κανένα αρχείο, τότε η ιδιότητα Name του αντικειμένου SubmittedFileDescription θα περιέχει μια κενή συμβολοσειρά.
● η μέθοδος GetFiles() θα επιστρέψει True εάν τουλάχιστον ένα αρχείο ελήφθη με επιτυχία.
● έχετε υπόψη σας ότι η πραγματική παραλαβή των αρχείων πραγματοποιείται αφού ο χρήστης απαντήσει στις ερωτήσεις σχετικά με τον καθορισμό του ονόματος και της διαδρομής
όλα τα ληφθέντα αρχεία.
● εάν ο χρήστης για λογαριασμό του οποίου εκτελείται η μέθοδος GetFiles() δεν έχει το δικαίωμα Αναζήτησης για τουλάχιστον ένα χαρακτηριστικό του αντικειμένου της βάσης πληροφοριών από το οποίο λαμβάνονται τα αρχεία, ολόκληρη η λειτουργία θα αποτύχει.
Παράδειγμα:

TransferredFiles = Νέος πίνακας;
Περιγραφή = Καινούργιο Περιγραφή μεταφοράς αρχείων("Περιγραφή", Διεύθυνση Αρχείου)
TransferredFiles.Add(Περιγραφή);
FileSelection = Νέο FileSelectDialog(FileSelectDialogMode.Save);
Επιλέξτε File.Header= "Αποθήκευση αρχείου";
Επιλέξτε File.Extension= "φερμουάρ";
Επιλέξτε File.Filter= "Αρχείο(*.zip)|*.zip|Όλα τα αρχεία|*.*";
FileSelection.FilterIndex = 0;
GetFiles (TransmittedFiles, FileSelect, False);

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

Ένα παράδειγμα χρήσης μεθόδων αρχείων

// Λήψη του αρχείου διαδραστικά από το δίσκο
// και τοποθέτησή του σε προσωρινή αποθήκευση.
&AtClient
Διαδικασία SelectFileCDDiskAndWrite()
Μεταβλητή SelectedName;
Rem Διεύθυνση προσωρινής αποθήκευσης.
NewObject = Object.Reference.Empty();
Αν ένα PutFile(TempStorageAddress, "", SelectedName, True)Επειτα
Object.FileName = SelectedName;
PlaceObjectFile(AddressTemporaryStorage);
Τέλος εαν;
Διαδικασία λήξης
// Αντιγράψτε το αρχείο από την προσωρινή αποθήκευση σε στηρίγματα
// κατάλογος, εγγραφή αντικειμένου, διαγραφή αρχείου από προσωρινό
// αποθήκευση.
&Στον διακομιστή
Διαδικασία PlaceObjectFile(TempStorageAddress)
Στοιχείο καταλόγου = FormAttributeToValue("Αντικείμενο");
BinaryData = GetFromTemporaryStorage(AddressTemporaryStorage);
Catalog Element.FileData= Καινούργιο StoreValues(BinaryData, New DataCompression()) ;
Αρχείο = Νέο Αρχείο(DirectoryItem.FileName);
Catalog Element.FileName = File.Name;
ElementDirectory.Write();
τροποποιημένο = ψευδές;
DeleteFromTemporaryStorage(AddressTemporaryStorage);
ValueVFormAttribute(DirectoryItem, "Object");
Διαδικασία λήξης
// Διαβάστε το αρχείο από τα props και αποθηκεύστε το
// στο τοπικός δίσκοςδιαδραστικά.
&AtClient
Διαδικασία ReadFileAndSaveToDisk()
Διεύθυνση = GetNavigationLink(Object.Link,"FileData");
GetFile(Address, Object.FileName, True);
Διαδικασία λήξης

Άδεια εκτέλεσης μιας ομάδας λειτουργιών αρχείων

Όταν εκτελείτε ορισμένες λειτουργίες στο πρόγραμμα-πελάτη Ιστού, ίσως χρειαστεί να λάβετε άδεια για πολλές λειτουργίες αρχείων.
Για παράδειγμα, πρέπει να ανακτήσετε ένα έγγραφο από μια βάση πληροφοριών και, στη συνέχεια, να ανοίξετε το αποθηκευμένο έγγραφο χρησιμοποιώντας τη σχετική εφαρμογή.
Για να εκτελέσετε αυτήν τη λειτουργία, θα πρέπει να απαντήσετε στην ερώτηση σχετικά με την αποθήκευση του εγγράφου και στην ερώτηση σχετικά με την ανάγκη εκκίνησης. Εάν υπάρχουν περισσότερες λειτουργίες, θα υπάρξουν επίσης περισσότερες ερωτήσεις για τον χρήστη.
Για να μειώσετε τον αριθμό των ερωτήσεων, μπορείτε να χρησιμοποιήσετε τη μέθοδο. Όταν χρησιμοποιείτε αυτή τη μέθοδο
εμφανίζεται στον χρήστη μια λίστα με όλες τις λειτουργίες που έχουν προγραμματιστεί να εκτελεστούν και ζητείται να επιτρέψει την εκτέλεση μιας ομάδας λειτουργιών. Εάν ο χρήστης έχει επιτρέψει την εκτέλεση, τότε οι λειτουργίες που ζητήθηκαν θα εκτελεστούν χωρίς πρόσθετα αιτήματαχρήστης. Εάν δεν χορηγηθεί άδεια, οι λειτουργίες θα εκτελεστούν σε κανονική λειτουργία: ένα αίτημα ανά λειτουργία.
ΣΗΜΕΙΩΣΗ. Για να χρησιμοποιήσετε τη μέθοδο RequestUserPermission()στο πρόγραμμα-πελάτη ιστού, πρέπει να συνδέσετε την επέκταση για εργασία με αρχεία.
Εξετάστε ένα παράδειγμα χρήσης της μεθόδου:

Αν ένα ConnectFileWorkingExtension()Επειτα
Σύνδεσμος = GetNavigationLink(Object.Link, "FileData");
// Σχηματισμός της περιγραφής των μεταφερόμενων αρχείων (στην περίπτωση αυτή, υπάρχει μόνο ένα αρχείο)
Μεταφερόμενα Αρχεία= Νέος πίνακας;
Description = Νέα περιγραφή του TransferredFile(Object.FileName, Link);
TransferredFiles.Add(Description);
// Προετοιμάστε ένα αντικείμενο για λήψη πληροφοριών σχετικά με τα ληφθέντα αρχεία
TransferredFiles= Νέος πίνακας;

// Ορίστε άλλες παραμέτρους μεθόδου
Συντήρηση Καταλόγου= "c:\temp";
διαδραστικό = ψευδές ;
TransferredFileName = SaveDir + "\" + Object.FileName;
// Προετοιμάστε μια περιγραφή των μεθόδων για τη λήψη αδειών
Μέθοδοι = Νέος Πίνακας;

Methods.Add("GetFiles");
Methods.Add(UploadedFiles);
Methods.Add(SubmittedFiles);
Methods.Add(SaveDirectory);
Methods.Add(Interactive);
Methods.Add(New Array);
Methods.Add("StartApplication");
Methods.Add(UploadedFileName);
Αν όχι RequestUserPermission (Μέθοδοι)Επειτα
alert ("Απόρριψη άδειας χρήστη.");
ΕΠΙΣΤΡΟΦΗ;
Τέλος εαν;
GetFiles (UploadedFiles, UploadedFiles, SaveDir, Interactive);
StartApplication(Όνομα PassedFile);
Σε διαφορετική περίπτωση
Warning("Η εκτέλεση δεν υποστηρίζεται. Η επέκταση αρχείου δεν έχει εγκατασταθεί.");
Τέλος εαν;

Πρέπει να σημειωθούν αρκετά χαρακτηριστικά της μεθόδου. RequestUserPermission().

1. Ζητείται άδεια μόνο για τις ακόλουθες μεθόδους:

GetFiles()/StartGetFiles(),
● PlaceFiles()/StartPuttingFiles(),
● FindFiles()/StartSearchFiles(),
● CopyFile()/StartCopyFile(),
● MoveFile()/StartMoveFile(),
● DeleteFiles()/StartDeleteFiles(),
● CreateCatalog()/StartCreatingCatalog(),
● StartApplication()/StartStartApplication().

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

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

4. Εάν ζητηθεί άδεια για μια λειτουργία που εκτελεί μια διαδραστική λειτουργία (για παράδειγμα, η συνάρτηση GetFiles() μεταβιβάζεται σε ένα αντικείμενο Διάλογος FileSelect), τότε μια τέτοια λειτουργία αποκλείεται από το αίτημα.

Τα χορηγηθέντα δικαιώματα διατηρούνται είτε μέχρι να πραγματοποιηθεί η επιτρεπόμενη κλήση είτε μέχρι το τέλος της εκτέλεσης της 1ης γλώσσας.
ΣΗΜΕΙΩΣΗ. σε χοντρό και thin πελάτες RequestUserPermission()η μέθοδος επιστρέφει πάντα True , χωρίς αλληλεπίδραση με τον χρήστη.

Εργασία με προσωρινή αποθήκευση σε μια εργασία παρασκηνίου

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

Υποστήριξη για διευθύνσεις στο πεδίο εικόνας

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

// Παράδειγμα 1
// Σύνδεση του πεδίου εικόνας στη διεύθυνση εικόνας σε μια προσωρινή
// αποθήκευση. ImageAddress – χαρακτηριστικό φόρμας τύπου συμβολοσειράς
PutFile(ImageAddress, OriginalName, SelectedName, True, UniqueIdentifier);
// Παράδειγμα 2
// Λήψη της διεύθυνσης της εικόνας από το χαρακτηριστικό του αντικειμένου
// βάση πληροφοριών
ImageFile = Object.ImageFile;
Αν δεν είναι ImageFile.Empty() Τότε
ImageAddress = GetNavigationLink(ImageFile, "FileData");
Σε διαφορετική περίπτωση
ImageAddress = "";
τέλος εαν;

Πρόσβαση σε τυπικούς καταλόγους

Όταν χρησιμοποιείτε το σύστημα, απαιτείται χώρος στο σύστημα αρχείων, όπου μπορείτε να αποθηκεύσετε διάφορα δεδομένα αρχείων, τα οποία, αφενός, είναι προσωρινά και, αφετέρου, πρέπει να αποθηκευτούν για αρκετά μεγάλο χρονικό διάστημα. Αυτά τα αρχεία περιλαμβάνουν προσχέδια για συστήματα διαχείρισης εγγράφων, εξωτερικά στοιχεία που λειτουργούν στο πλάι υπολογιστή πελάτηκαι τα λοιπά.
Αυτά τα αρχεία αποθηκεύονται σε έναν ειδικό κατάλογο που συνδέεται με έναν συγκεκριμένο χρήστη μιας συγκεκριμένης βάσης πληροφοριών.
Ο ίδιος χρήστης δουλεύει με δύο βάσεις πληροφοριών, θα έχει πρόσβαση σε δύο διαφορετικούς καταλόγους αποθήκευσης δεδομένων χρήστη. Η θέση αυτού του καταλόγου προσδιορίζεται χρησιμοποιώντας τη μέθοδο WorkingUserDataDirectory(). Εάν ο κατάλογος δεν υπάρχει, δημιουργείται την πρώτη φορά που γίνεται πρόσβαση σε αυτόν. Εάν ο κατάλογος δεν μπορεί να δημιουργηθεί, το σύστημα δημιουργεί μια εξαίρεση.
ΣΗΜΕΙΩΣΗ. Η μέθοδος UserDataWorkerDir() δεν είναι διαθέσιμη από την πλευρά του διακομιστή.
ΣΤΟ λειτουργικό σύστημαυπάρχει ένας ειδικός κατάλογος που διατίθεται για μόνιμη αποθήκευση δεδομένων χρήστη. Θα μπορούσε να είναι μερικά
εκθέσεις, έντυπες μορφές εγγράφων κ.λπ. Τα δεδομένα τοποθετούνται σε αυτόν τον κατάλογο, τα οποία μπορούν αργότερα να σταλούν σε εξωτερικούς
Καταναλωτές. Η μέθοδος DocumentDirectory() χρησιμοποιείται για πρόσβαση σε αυτόν τον κατάλογο. Η φυσική θέση του καταλόγου εξαρτάται από το λειτουργικό σύστημα.
σύστημα όπου εκτελείται η εφαρμογή και δίνεται στον βοηθό σύνταξης.

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

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

Κατεβάστε το "1C Enterprise - Εργασία με αρχεία" δωρεάν

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

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

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

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

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

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

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

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

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

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

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

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

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

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