Mxl decât să deschidă. Mxl decât deschide dialogul de salvare a fișierului 1s 8.3

Acasă / Recuperarea datelor

Timpul înaintează inexorabil, iar platforma 1C 8 rulează și mai repede decât de această dată.

Formularele gestionate sunt acum numite „interfață TAXI”, ferestrele modale sunt interzise, ​​iar modul de utilizare a apelurilor sincrone către extensii și componente externe a oprit complet funcționalitatea majorității acestor extensii și componente externe, iar jumătate din vechile metode în plus. .

În general, băieți, lucrurile stau așa - mulți dintre voi ați citit articolul magnificului P. Chistov despre lucrul cu fișiere în 8.3

Dacă nu ați făcut acest lucru încă, mergeți mai departe și marșați! ()

Esența mecanismului de lucru cu fișierele pe scurt:

1) Pe client, selectați fișierul

2) Îl punem într-o cutie neagră

3) Salvați conținutul cutiei negre pe server

Captura este că acest lucru trebuie făcut mai ales, într-un mod nou și cu suflet.

Prin urmare, dvs

SelectedFile.Exists()

iar alte lucruri păgâne nu vor funcționa aici.

Deci, hai să mergem!

Iată o listă de coduri care vă permite să descărcați un fișier de la client

Descriere alertă = Descriere nouă alertă ("ProcessFileSelection", ThisForm); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Open); FileOpenDialog.MultipleSelect = Fals; StartFilePlace(AlertDescription, FileOpenDialog, True, UniqueIdentifier);

Ne interesează metoda" StartPlaceFiles", care, de fapt, apelează un dialog de selecție a fișierelor și plasează acest fișier în stocare temporară. Nu are rost să ne batem cu descrierea stocării temporare, doar rețineți - acesta este locul în care sunt plasate toate fișierele pe care le selectăm. forma datelor binare (cutie neagră).

&Pe Procedura Client ProcessFileSelection(PlacedFiles, AdditionalParameters) Export If PlacedFiles = Undefined Then Return;

endIf; Pentru fiecare TransferredFile From PlacedFiles Cycle PathToFile = TransferredFile.Name;").

Record.FileName = ParseLine(PathToFile, "\"); Items.OpenFile.Header = Entry.FileName;", cred că nimeni nu se va certa. Ia fișierul din stocarea temporară și plasează-l într-un atribut cu tipul " Items.OpenFile.Header = Entry.FileName;" se poate face după cum urmează:

NewValueStorage(GetFromTemporaryStorage(Adresă));

Am rezolvat un lucru, acum al doilea lucru este cum să obțineți un fișier din acest magazin de valori (care, permiteți-mi să vă reamintesc, se află pe server) și să îl salvați pe discul clientului?

În primul rând, trebuie să obținem un link de navigare către atributul cu tipul „ Items.OpenFile.Header = Entry.FileName;", unde plasăm fișierul sub formă de date binare.

Atenție! Acest link de navigare nu mai are nimic de-a face cu stocarea temporară! Puteți verifica tipul de link de navigare folosind metoda

Aceasta este adresa de stocare temporară (adresa)

Prin tradiție, lista de cod care apelează dialogul de salvare a fișierului

Descriere alertă = Descriere nouă alertă ("File Saving Processing", ThisForm); Fișier = Descriere nouă a fișierului de transfer (FileName, Address); ReceiveFiles = New Array; ReceiveFiles.Add(Fișier); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Save); FileOpenDialog.MultipleSelect = Fals; StartReceivingFiles(DescriptionAlerts, ReceivingFiles, OpenFileDialog, True);

Valoarea variabilei " Fişier„Aceasta este o altă caracteristică această metodă. Aici merită să acordați atenție „ Nume de fișier„Faptul este că atunci când plasați un fișier în stocare temporară, informațiile despre numele și extensia acestuia se pierd. Prin urmare, nu uitați să salvați undeva numele corect al fișierului, sau cel puțin extensia acestuia, pentru a nu fi deranjat cu intrebare mai tarziu" Acesta este un document Word sau un MP3?"

metoda " Începeți să primiți fișiere„asemănător cu metoda” StartPlaceFiles„. Pur și simplu, unul deschide un dialog pentru a selecta un fișier, în timp ce celălalt, dimpotrivă, deschide un dialog pentru a salva fișierul.

Practic asta este.

Când utilizați această metodă, nu este nevoie să setați nicio modalitate și compatibilitate cu apelurile sincrone în proprietățile de configurare.

Am scris articolul mai mult ca un memento pentru mine.

Timpul înaintează inexorabil, iar platforma 1C 8 rulează și mai repede decât de această dată.

Formularele gestionate sunt acum numite „interfață TAXI”, ferestrele modale sunt interzise, ​​iar modul de utilizare a apelurilor sincrone către extensii și componente externe a oprit complet funcționalitatea majorității acestor extensii și componente externe, iar jumătate din vechile metode în plus. .

În general, băieți, lucrurile stau așa - mulți dintre voi ați citit articolul magnificului P. Chistov despre lucrul cu fișiere în 8.3

Dacă nu ați făcut-o deja, mergeți mai departe și marșați! ()

Esența mecanismului de lucru cu fișierele pe scurt:

1) Pe client, selectați fișierul

2) Îl punem într-o cutie neagră

3) Salvați conținutul cutiei negre pe server

Captura este că acest lucru trebuie făcut mai ales, într-un mod nou și cu suflet.

Prin urmare, dvs

SelectedFile.Exists()

iar alte lucruri păgâne nu vor funcționa aici.

Deci, hai să mergem!

Iată o listă de coduri care vă permite să descărcați un fișier de la client

Descriere alertă = Descriere nouă alertă ("ProcessFileSelection", ThisForm); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Open); FileOpenDialog.MultipleSelect = Fals; StartFilePlace(AlertDescription, FileOpenDialog, True, UniqueIdentifier);

Ne interesează metoda „ StartPlaceFiles„, care, de fapt, apelează un dialog de selecție a fișierelor și plasează acest fișier în stocare temporară. Nu are rost să vă deranjați cu descrierea stocării temporare, amintiți-vă - acesta este locul în care toate fișierele pe care le selectăm sunt plasate sub formă de date binare (cutie neagră).

&Pe Procedura Client ProcessFileSelection(PlacedFiles, AdditionalParameters) Export If PlacedFiles = Undefined Then Return;

Este aproape imposibil să înțelegeți ce este acolo și cum să-l stocați în acest depozit temporar. Puteți accesa fișierul nostru doar folosind link-ul de navigare, care este atribuit automat (vezi variabila „ Pentru fiecare TransferredFile From PlacedFiles Cycle PathToFile = TransferredFile.Name;“).

Cu faptul că fișierele trebuie să fie stocate într-un atribut sau resursă de tipul „ Items.OpenFile.Header = Entry.FileName;„Nu cred că cineva se va certa. Obțineți fișierul din stocarea temporară și plasați-l într-un atribut cu tipul „ Items.OpenFile.Header = Entry.FileName;” se poate face după cum urmează:

NewValueStorage(GetFromTemporaryStorage(Adresă));

Am rezolvat un lucru, acum al doilea lucru este cum să obțineți un fișier din acest magazin de valori (care, permiteți-mi să vă reamintesc, se află pe server) și să îl salvați pe discul clientului?

În primul rând, trebuie să obținem un link de navigare către atributul cu tipul „ Items.OpenFile.Header = Entry.FileName;„, unde plasăm fișierul sub formă de date binare.

Atenție! Acest link de navigare nu mai are nimic de-a face cu stocarea temporară! Puteți verifica tipul de link de navigare folosind metoda

Aceasta este adresa de stocare temporară (adresa)

Prin tradiție, lista de cod care apelează dialogul de salvare a fișierului

Descriere alertă = Descriere nouă alertă ("File Saving Processing", ThisForm); Fișier = Descriere nouă a fișierului de transfer (FileName, Address); ReceiveFiles = New Array; ReceiveFiles.Add(Fișier); OpenFileDialog = NewFileSelectDialog(FileSelectDialogMode.Save); FileOpenDialog.MultipleSelect = Fals; StartReceivingFiles(DescriptionAlerts, ReceivingFiles, OpenFileDialog, True);

Valoarea variabilei „ Fişier„Aceasta este o altă caracteristică a acestei metode. Aici merită să acordați atenție „ Nume de fișier„. Faptul este că, prin plasarea unui fișier în stocare temporară, informațiile despre numele și extensia acestuia se pierd. Prin urmare, nu uitați să salvați undeva numele corect al fișierului sau cel puțin extensia acestuia, astfel încât să nu vă faceți griji cu privire la întrebarea „ Acesta este un document Word sau un MP3?

Metoda " Începeți să primiți fișiere„asemănător cu metoda” StartPlaceFiles„. Unul deschide pur și simplu un dialog pentru selectarea unui fișier, în timp ce celălalt, dimpotrivă, deschide un dialog pentru salvarea fișierului.

Practic asta este.

Când utilizați această metodă, nu este nevoie să setați nicio modalitate și compatibilitate cu apelurile sincrone în proprietățile de configurare.

Am scris articolul mai mult ca un memento pentru mine.

Platforma tehnologică 1C:Enterprise 8 vă permite să salvați fișiere arbitrare în baza de informații, să le preluați de acolo și să le utilizați în diverse moduri. Să ne uităm la aceste operații folosind exemple.

Înainte de a încărca un fișier în baza de informații 1C, trebuie să obțineți adresa completă a fișierului de pe disc. Lucrul cu dialogurile de selectare a fișierelor este descris în .

Pentru a stoca fișiere, utilizați un atribut (sau înregistrați o resursă) cu tipul Valori de stocare.

Încărcarea unui fișier arbitrar în baza de informații 1C

Orice fișier poate fi reprezentat ca date binare și încărcat în Depozitarea valorii.

La conversia datelor binare într-un obiect Valori de stocare designul folosit noi valori de stocare (date, compresie) cu doi parametri:

  1. Date— date binare care trebuie stocate în stocare
  2. Comprimare— raportul de compresie al algoritmului Deflation. Număr întreg în intervalul -1...9. -1 este nivelul de compresie implicit. 0 - fără compresie, 9 - compresie maximă. Valoare implicită: -1. Parametrul este opțional dacă nu este specificat, atunci compresia nu este utilizată.

//Conversia fișierului în date binare
Fișier = New BinaryData(Path) ;

//Crea obiect nou Valori de stocare

DataStorage = NewValueStorage(Fișier, NewDataCompression(9) ) ;

Salvarea unui fișier arbitrar din baza de informații 1C pe disc

Pentru a salva un fișier din baza de date 1C pe disc, trebuie să determinați calea și numele fișierului. Pentru a face acest lucru, există un dialog de salvare a fișierelor, care lucrează cu care este descris în.

//Obțineți date binare din stocare
//Data Storage - atribut al unui obiect cu tipul Value Storage

//Scrieți datele primite pe disc
//Variabila Path conține adresa completă a fișierului de pe disc
Date. Scrie(Cale);

Vizualizarea unui fișier situat în baza de informații 1C

Pentru a vizualiza un fișier salvat în baza de date, trebuie să aveți instalată pe computer o aplicație care deschide fișierul.

//Obțineți numele fișierului temporar cu extensia necesară
//În variabila Extensie trebuie să puneți extensia fișierului, de exemplu „pdf”
Cale = GetTemporaryFileName(Extensie) ;

// Primiți date din stocare
//Data Storage - atribut al unui obiect cu tipul Value Storage
Data = Datastore. Get() ;

//Scrieți datele într-un fișier temporar
Date. Scrie(Cale);

//Încercarea de a deschide fișierul în aplicația dorită
//Dacă aplicația nu este găsită, va apărea dialogul de sistem „Deschide cu...”.
Lansați aplicația(Cale);

Programul „1C:Enterprise - Lucrul cu fișierele” este separat produs software, care este distribuit gratuit. Este destinat pentru vizualizarea și editarea fișierelor 1C:Enterprise pe computere pe care sistemul 1C:Enterprise nu este instalat.

Sunt acceptate următoarele formate de fișiere:

  • (*.TXT);
  • (*.mxl);
  • (*.htm, *.html);
  • (*.grs);
  • (*.geo);

În timpul procesului de instalare, programul înregistrează extensiile mxl, grs și geo, drept urmare, pentru a vizualiza și edita aceste fișiere, trebuie doar să faceți clic pe ele cu mouse-ul:

Este suportat pentru lansarea programului de la linie de comandă. În acest caz, este posibil să specificați fișierul care urmează să fie procesat. De exemplu, pentru a procesa fișierul „Remains.mxl”, rulați comanda:

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

„1C:Enterprise - Lucrul cu fișiere” acceptă un mod similar cu cel implementat în sistemul 1C:Enterprise. Astfel, de exemplu, utilizatorul poate compara vizual două rapoarte de sold:

Opțiuni de livrare

Există două opțiuni de livrare pentru programul 1C:Enterprise - Working with Files:

  • vorbitor de limba rusă;
  • internaţional.

Diferența dintre livrarea internațională și livrarea în limba rusă este că le include pe aceleași pe care le folosește sistemul 1C:Enterprise.

De asemenea, pentru livrarea internațională, comutatorul de linie de comandă /L poate fi utilizat pentru a specifica limba interfeței care va fi utilizată. De exemplu, pentru a procesa fișierul „Remainings.mxl” într-un program cu engleză interfață (ro), rulați comanda:

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

© 2024 ermake.ru -- Despre repararea PC-ului - Portal de informații