Primirea datelor din fișierul xls 1c. De ce automatizarea bazată pe Microsoft Excel nu este suficientă pentru o companie modernă. Încărcarea formularelor tipărite ale documentelor

26.04.2020 Programe

Aceasta metoda simplu. Esența sa este că obiectul TabularDocument are metode:

  • Scrie (< ИмяФайла>, < ТипФайлаТаблицы >) pentru a încărca date într-un fișier;
  • Citit (< ИмяФайла>, < СпособЧтенияЗначений >) pentru a încărca date dintr-un fișier.

Atenţie!

Metoda Write() este disponibilă atât pe client, cât și pe server. Metoda Read() este disponibilă numai pe partea serverului. Trebuie să ne amintim asta
atunci când planificați interacțiunea client-server.

Să ne uităm la un exemplu de economisire document foaie de calcul la dosar. Este necesar să creați și să completați obiectul TabularDocument în orice mod și descărcare la fișier se face doar cu o singură linie:

TabDoc . Scriere(FilePath, TabularDocumentFileType. XLSX);

Aici TabDoc- document foaie de calcul generat, Calea către fișier— numele fișierului de încărcat, TabularDocumentFileType.XLSX— formatul fișierului creat. Sunt acceptate următoarele formate Excel:

  • XLS95— format Excel 95;
  • XLS97 - format Excel 97;
  • XLSX este un format Excel 2007.

TabDoc = New TabularDocument;
TabDoc . Read(PathToFile, Metoda de citireTabularDocumentValues.Value);

Aici Calea către fișier— calea către fișierul Excel descărcat. Metoda de citire a valorilor unui document tabelar.Valoare determină modul în care ar trebui interpretate datele citite dintr-un document sursă. Optiuni Disponibile:

  • Sens;
  • Text.

Schimb prin OLE

Schimbul prin tehnologia de automatizare OLE este poate cea mai comună opțiune program de lucru cu fișiere Excel. Vă permite să utilizați toate funcționalitățile oferite de Excel, dar diferă viteza mica lucru în comparație cu alte metode. Pentru a schimba prin OLE, este necesară instalarea MS Excel:

  • Pe computerul utilizatorului final, dacă schimbul are loc pe partea clientului;
  • Pe computerul server 1C:Enterprise, dacă schimbul are loc pe partea de server.

Exemplu descărcare:

// Creați un obiect COM
Excel = New COMObject ("Excel.Application");
// Dezactivează avertismentele și întrebările
excela . DisplayAlerts = Fals;
// Creați o carte nouă
Carte = Excel. Cărți de lucru. Adăuga();
// Poziție pe prima foaie
Foaie = Carte. Fișe de lucru(1);

// Scrieți o valoare într-o celulă
Foaie . Celule (RowNumber, ColumnNumber). Valoare = CellValue;

// Salvați fișierul
Carte . Salvare ca(FileName);


excela . Părăsi();
Excel = 0;

Exemple citind:

// -- OPȚIUNEA 1 --

// Creați un obiect COM
Excel = New COMObject ("Excel.Application");
// Deschide o carte
Carte = Excel. Caiete de lucru. Deschis( Calea către fișier);

Foaie = Carte. Fișe de lucru(1);

// Închiderea cărții
Carte . Închidere(0);

// Închideți Excel și eliberați memorie
excela . Părăsi();
Excel = 0;

// —— OPȚIUNEA 2 ——

// Deschide o carte
Carte = GetCOMObject( Calea către fișier);
// Poziționare pe foaia dreapta
Foaie = Carte. Fișe de lucru(1);

// Citiți valoarea celulei, de obicei bucla de traversare a celulei este localizată aici
CellValue = Foaie. Celule (RowNumber, ColumnNumber). Valoare;

// Închiderea cărții
Carte . Aplicație. Qui t();

Pentru ocolire Pentru toate rândurile completate ale foii de lucru Excel, puteți utiliza următoarele tehnici:

// -- OPȚIUNEA 1 --
Număr de rânduri = foaie. Celule (1, 1). SpecialCells(11). Rând;
Pentru RowNumber = 1 după numărul de rânduri ciclu
CellValue = Foaie. Celule (RowNumber, ColumnNumber). Valoare;
EndCycle;

// —— OPȚIUNEA 2 ——
RowNumber = 0 ;
În timp ce Ciclul Adevărului
RowNumber = RowNumber + 1 ;
CellValue = Foaie. Celule (RowNumber, ColumnNumber). Valoare;
Dacă NU este completată Valoare(ValoareCelulă) Apoi
Avorta;
endIf;
EndCycle;

În loc să parcurgeți secvențial toate rândurile foii, puteți aruncați toate datele într-o matriceși lucrează cu el. Această abordare va fi mai rapidă atunci când citiți o cantitate mare de date:

TotalColumns = Foaie. Celule (1, 1). SpecialCells(11). Coloană;
TotalRows = Frunza. Celule (1, 1). SpecialCells(11). Rând;

Regiune = Frunza. Interval(Sheet. Cells(1, 1), Sheet. Cells(TotalRows,TotalColumns));
Date = Regiunea. Valoare. Descărca();

Tabelul de mai jos prezintă cele mai populare proprietăți și metode de lucru cu Excel prin OLE:

Acțiune Cod Un comentariu
Lucrul cu aplicația
Setarea vizibilității ferestrei aplicației excela . Vizibil= fals;
Setarea modului de ieșire de avertizare (afișare/nu afișare) excela . Afișează Alerte= fals;
Închiderea aplicației excela . Părăsi();
Lucrul cu o carte
Crearea unei cărți noi Carte = Excel. Cărți de lucru. Adăuga();
Deschiderea unui registru de lucru existent Carte = Excel. Cărți de lucru. Deschide (Nume fișier);
Salvarea unei cărți Carte . Salvare ca(FileName);
Închiderea cărții Carte . Închidere(0);
Lucrul cu o foaie
Setarea foii curente Foaie = Carte. Foi de lucru (SheetNumber);
Setarea numelui Foaie . Nume = Nume;
Configurarea protecției Foaie . Proteja();
Îndepărtarea protecției Foaie . Deprotejează();
Setarea orientării paginii Foaie . Configurare pagina. Orientare = 2; 1 - portret, 2 - peisaj
Setarea marginii din stânga Foaie . Configurare pagina. LeftMargin = Excel. CentimetersToPoints(Centimetri);
Stabilirea limitei superioare Foaie . Configurare pagina. TopMargin = Excel. CentimetersToPoints(Centimetri);
Setarea chenarului drept Foaie . Configurare pagina. RightMargin = Excel. CentimetersToPoints(Centimetri);
Setarea limitei inferioare Foaie . Configurare pagina. BottomMargin = Excel. CentimetersToPoints(Centimetri);
Lucrul cu rânduri, coloane, celule
Setarea lățimii coloanei Foaie . Coloane(ColumnNumber). ColumnWidth = Lățime;
Ștergeți o linie Foaie . Rânduri (RowNumber). Șterge();
Eliminarea unei coloane Foaie . Coloane(ColumnNumber). Șterge();
Șterge o celulă Foaie . Celule (RowNumber, ColumnNumber). Șterge();
Setarea valorii Foaie . Celule (RowNumber, ColumnNumber). Valoare = Valoare;
Unirea celulelor Foaie . Interval(Sheet. Cells(RowNumber, ColumnNumber), Sheet. Cells(RowNumber1, ColumnNumber1)). Combina();
Setarea fontului Foaie . Celule (RowNumber, ColumnNumber). Font. Nume = FontName;
Setarea dimensiunii fontului Foaie . Celule (RowNumber, ColumnNumber). Font. Dimensiune = Dimensiunea fontului;
Setarea fontului aldine Foaie . Celule (RowNumber, ColumnNumber). Font. Îndrăzneţ = 1 ; 1 — font aldine, 0 — normal
Setarea cursivelor Foaie . Celule (RowNumber, ColumnNumber). Font. Cursiv = 1 ; 1 - cursiv, 0 - normal
Setarea fontului subliniat Foaie . Celule (RowNumber, ColumnNumber). Font. Subliniați = 2 ; 2 - subliniat, 1 - nu

Pentru a afla ce proprietate trebuie schimbată sau ce metodă să apelați, puteți utiliza macro-uri Excela. Dacă înregistrați o macrocomandă cu acțiunile necesare, atunci puteți consulta codul VBA al macrocomenzii înregistrate.

Folosind COMSafeArray

Când descărcați cantități mari de date din 1C în Excel, puteți utiliza obiectul pentru a accelera COMSafeArray. Conform definiției din asistentul de sintaxă, COMSafeArray este un înveliș de obiecte peste matrice multidimensională SafeArray de la COM. Vă permite să creați și să utilizați SafeArray pentru schimbul de date între obiectele COM. Mai simplu spus, este o serie de valori care pot fi folosite pentru a face schimb între aplicații care utilizează tehnologia OLE.

// Creați COMSafeArray
ArrayCom = New COMSafeArray ("VT_Variant", TotalColumns, TotalRows);
// Completați COMSafeArray
Pentru Pagina = 0 prin TotalLines - 1 ciclu
Pentru Număr = 0 total coloane - 1 ciclu
ArrayCom . SetValue(Număr, pagină, valoare);
EndCycle;
EndCycle;
// Atribuire la zona foii valori Excel de la COMSafeArray
Foaie . Interval(Foaie. Celule(1, 1), Foaia. Celule(TotalRânduri,TotalColumns)). Valoare = ArrayCom;

Schimb prin ADO

Un fișier Excel, atunci când este schimbat prin ADO, este o bază de date care poate fi accesată folosind interogări SQL. Instalarea MS Excel nu este necesară, dar trebuie să aveți un driver ODBC cu care va fi asigurat accesul. Driverul ODBC utilizat este determinat prin specificarea șirului de conexiune la fișier. De obicei, driverul necesar este deja instalat pe computer.

Schimbul prin ADO este considerabil mai rapid decât schimbul prin OLE, dar la încărcare, nu este posibil să utilizați funcționalitatea Excel pentru proiectarea celulelor, aranjarea paginilor, setarea formulelor etc.

Exemplu descărcare:


Conexiune = New COMObject("ADODB.Connection");


Compus . ConnectionString = "

|Sursa de date=" + FileName + ";
;
Compus . Deschis(); // Deschide o conexiune

// Creați un obiect COM pentru comandă
Comanda = New COMObject("ADODB.Command");
Echipă

// Atribuirea textului comenzii pentru a crea un tabel
Echipă . CommandText = „CREATE TABLE [Sheet1] (Column1 char(255), Column2 date, Column3 int, Column4 float)”;
Echipă . A executa(); // Executați comanda

// Atribuirea textului de comandă pentru a adăuga un rând de tabel
Echipă . CommandText = „INSERT INTO [Sheet1] (Column1, Column2, Column3, Column4) valori ('abvwhere', '8/11/2017', '12345', '12345,6789')";
Command.Execute(); // Executați comanda

// Eliminați comanda și închideți conexiunea
Comanda = nedefinit;
Compus . Închide();
Conexiune = nedefinit;

Pentru a crea o foaie nouă și a-i forma structura, puteți folosi obiecte ADOX.CatalogȘi ADOX.Tabel. În acest caz, codul va arăta astfel:

// Creați un obiect COM pentru lucrul cu cartea
Carte = New COMObject("ADOX.Catalog");
Carte . ActiveConnection = Conexiune;

// Creați un obiect COM pentru a lucra cu structura de date de pe foaie
Table = New COMObject("ADOX.Table");
Masa . Nume = "Sheet1" ;
Masa . Coloane. Append(„Coloana1”, 202);
Masa . Coloane. Append(„Coloana2”, 7);
Masa . Coloane. Append(„Coloana3”, 5);
Masa . Coloane. Append(„Coloana4”, 5);

// Creați o foaie cu structura descrisă în registrul de lucru
Carte . Mese. Adăugați(Tabel);
Tabel = nedefinit;
Carte = nedefinit;

În exemplul de mai sus, în metoda

Masa . Coloane. Adăuga(„Coloana1”, 202);

al doilea parametru specifică tipul coloanei. Parametrul este opțional, iată câteva valori ale tipului de coloană:

  • 5 - adubla;
  • 6 - adCurrency;
  • 7 - adDate;
  • 11 - adBoolean;
  • 202 - adVarWChar;
  • 203 - adLongVarWChar.

Exemplu citind:

// Creați un obiect COM pentru conexiune
Conexiune = New COMObject("ADODB.Connection");

// Setați șirul de conexiune
Compus . ConnectionString = "
|Furnizor=Microsoft.ACE.OLEDB.12.0;
|Sursa de date=" + FileName + ";
|Extended Properties=""Excel 12.0 XML;HDR=YES"";";
Compus . Deschis(); // Deschide o conexiune

// Creați un obiect COM pentru a primi selecția
Select = New COMObject("ADODB.Recordset");
RequestText = „SELECTARE * DIN [Sheet1$]”;

// Execută cererea
Probă . Deschide (Text Interogare, Conexiune);

// Ocoliți rezultatul eșantionului
Nu este încă o selecție. Bucla EOF().
Valoarea coloanei 1 = Selecție. Câmpuri. Item(„Coloana1”). Valoare ; // Acces după numele coloanei
Column2Value = Selecție. Câmpuri. Articol(0). Valoare; // Acces prin indexul coloanei
Probă . MoveNext();
EndCycle;

Probă . Închide();
Eșantion = nedefinit;
Compus . Închide();
Conexiune = nedefinit;

În șirul de conexiune parametrul HDR determină modul în care va fi percepută prima linie de pe foaie. Opțiuni posibile:

  • DA - prima linie este tratată ca nume de coloane. Valorile pot fi accesate după nume și indexul coloanei.
  • NU - prima linie este tratată ca date. Valorile pot fi accesate numai prin indexul coloanei.

Aceste exemple acoperă doar câteva obiecte ADO. Modelul obiect ADO constă din următoarele obiecte:

  • conexiune;
  • Comanda;
  • set de înregistrări;
  • Record;
  • Câmpuri;
  • Curent;
  • erori;
  • parametrii;
  • Proprietăți.

Încărcați fără programare

Pentru a salva datele din 1C în Excel, nu este întotdeauna recomandabil să recurgeți la programare. Dacă în modul Enterprise utilizatorul poate afișa datele necesare pentru descărcare, atunci acestea pot fi salvate în Excel fără programare.

Pentru a salva un document de foaie de calcul (de exemplu, rezultatul unui raport), puteți apela comanda Salvați sau Salvează ca… meniu principal.

În fereastra care se deschide, trebuie să selectați directorul, numele și formatul fișierului salvat.

Pentru a salva date din liste dinamice (de exemplu, o listă de articole), trebuie să:

  1. Trimiteți date într-un document de foaie de calcul folosind comanda Mai multe ⇒ Lista...;
  2. Salvați documentul foaie de calcul în formatul necesar.

Destul de des, atunci când comunic cu potențiali clienți, aud că funcționalitatea mesei de la suite officeși nu văd rostul în programele 1C. Totul pentru că unii oameni încă se asociază această decizie doar cu programe pentru contabili, ceea ce nu este adevarat.

Excel este un produs universal și produs în masă, nu puteți contrazice asta. Aproape toată lumea poate folosi acest program, spre deosebire de dezvoltările 1C, care se adresează specialiștilor restrânși. Folosind tabelele „verzi”, puteți implementa în mod liber funcționalitatea necesară, ceea ce va fi convenabil: iată modelul financiar al organizației cu toate decontările reciproce, contabilitatea de gestiune, chiar și cele reglementate, o selecție largă de vizualizare a datelor, capacitatea de a în mod independent extindeți capacitățile programului folosind diverse suplimente - totul este în mâinile dvs., totul de la zero...

Este bine dacă abia îți începi afacerea, luând treptat în considerare datele necesare din tabelul privind relațiile cu clienții, furnizorii, autoritățile de reglementare, construirea propriei structuri arbitrare, dar ce să faci în continuare când baza de date devine voluminoasă și numărul de personal. in zeci? Încă mai numărați în funcție de parametrii dvs.? Sunt pentru a nu confunda comoditatea cu obișnuința, care interferează adesea cu sistematizarea afacerii și, în consecință, cu optimizarea acesteia.

Pentru claritate, să ne imaginăm ce necesități pot apărea pentru automatizarea contabilității, de exemplu, pentru comerț:

1. Analiza vânzărilor într-o anumită perioadă.

Șeful departamentului de vânzări poate analiza datele vânzărilor. Este important pentru el să înțeleagă dacă planul este implementat, cât de eficiente sunt strategiile sale, astfel încât, în caz de ineficiență, să poată face ajustări în timp util la lucru.

2. Contabilitatea depozitului.
Trebuie să explic că pentru vânzări este important să înțelegem și disponibilitatea mărfurilor în stoc, ce bunuri pot fi rezervate și care sunt epuizate și ce trebuie comandat? Cred că totul este clar aici.

3. Mentinerea unei baze de date a contrapartidelor.
Chiar dacă proprietarul vinde doar ceea ce se poate cumpăra aici și acum, ceea ce este tipic pentru sectorul B2C, atunci el are o relație ușor diferită cu baza de furnizori - contracte, primar... Imaginează-ți cât de convenabil este când totul este legat de furnizorul este automat Este afișat imediat într-o singură bază de date? Managerul responsabil cu depozitul vede imediat disponibilitatea mărfurilor în depozit, un alt angajat responsabil cu documentele monitorizează informații despre disponibilitatea acestora, dacă toate obligațiile din relațiile contractuale sunt îndeplinite, cine datorează cui și cât. Iar în cazul unor discrepanțe, puteți reconcilia datele pentru o anumită perioadă, generând un rezultat în mai puțin de un minut.

4. Profitul organizației.
Generarea unui raport de profit nu va fi dificilă, deoarece toate datele despre cheltuieli și venituri sunt deja prezente în baza de date. Cu condiția ca informațiile să fie introduse în timp util, cel puțin până la data cerută. Factorul fundamental aici este responsabilitatea personală a utilizatorului.

Dacă nu aveți mulți clienți și furnizori, Excel vă va potrivi cu adevărat, deoarece aveți timp suficient pentru a vă crea propriile diagrame în tabel și a le completa, urmat de distribuirea documentelor în diferite foldere de pe computer: contracte, furnizori, clienți, clienți din vecinătate, clienți în dezvoltare, clienți de șters – un proces nesfârșit și fascinant de creare a folderelor într-un folder. Și dacă există o mulțime de informații, este convenabil să ținem evidența bazei de date? Desigur, există întotdeauna excepții; uneori există organizații cu cifre de afaceri mari ale căror date financiare sunt păstrate doar în Excel. Cât timp le ia pentru a schimba și combina date între departamente? O sa raspund: mult.

Nu-mi pot imagina cum să-l găsesc rapid pe cel de care aveți nevoie într-un număr mare de documente Excel organizate într-un sistem arbitrar. De exemplu, atunci când furnizați documente pentru cerințe de la biroul fiscal. Cum va prezenta un contabil rapoarte autorităților de reglementare atunci când toate informațiile sunt împrăștiate? Contabilitatea, desigur, poate fi externalizată și unii proprietari de afaceri, din păcate, s-ar putea să nu le pese de ce procese poate avea un anumit specialist atâta timp cât echilibrează soldurile. Dar chiar dacă da, atunci cum este organizat procesul de schimb de documente? Cât de repede va înțelege un angajat extern structura informațională improvizată?

Nu pot spune același lucru despre 1C, deoarece toate informațiile de acolo sunt structurate și interconectate:

    O bază de date unică atât pentru angajați la distanță, cât și pentru angajați full-time, în care puteți lucra cu toate documentele standardizate și personalizate;
    Raportarea către autoritățile de reglementare este generată pe baza datelor care sunt deja reflectate în program; nu este nevoie să deschideți multe fișiere, să combinați mai multe valori într-un singur tabel pentru a obține rezultatele finale.
„1C”, într-un sens bun, este un sistem multitasking care vizează atât sarcinile tipice de contabilitate, cât și automatizarea tuturor proceselor organizaționale, în funcție de domeniul de activitate. Cuvântul principal aici este sistem. Nimeni nu te împiedică să-ți organizezi sistemul de afaceri în Excel, dar de ce să reinventezi roata când există soluții care acoperă aproape toate nevoile de optimizare temporară, costuri financiare, ajutând la sistematizarea muncii?

În apărarea Excel

Probabil vi s-a părut că sunt împotriva construcției de date în tabele „verzi”. Deloc. De fapt, eu însumi fac adesea niște afaceri în Excel: dacă am nevoie de calcule arbitrare, dacă am nevoie să segmentez datele în funcție de client, efectuând analize pe baza parametrilor care nu sunt în 1C - da, asta se întâmplă - merg la „Excel”. Mai simplu spus, în tabele fac calcule și analize non-standard, dar apoi oricum sistematizez totul în 1C.

Și apoi, pentru a vizualiza fișierele descărcate din 1C, veți avea nevoie în continuare de Excel, deoarece datele din 1C sunt stocate în foi de calcul. Simți că acesta este un cerc vicios? O voi spune altfel: „1C” și „Excel” merg unul lângă altul ca doi parteneri, dar fiecare dintre ei are propriul său scop, se completează bine, dar nu se înlocuiesc.

Dacă trebuie să vă sistematizați treburile ținând cont de sistemul legislativ al statului nostru, ținând cont de specificul și focalizarea afacerii, mai ales când vine vorba de volume mari de informații, atunci aveți nevoie de 1C. Dacă aveți nevoie de calcule arbitrare, de a construi o strategie de la zero, de a vizualiza date de analiză non-standard, atunci Excel vă stă la dispoziție. Dar este mult mai convenabil să lucrezi cu aceste soluții simultan.


Care este rezultatul final – „1C” sau „Excel”?

La început, dacă întrebarea este despre finanțarea automatizării, totuși programe de bază„1C” nu costă atât de mult multi bani, aș folosi Excel. Un avantaj uriaș este că datele din tabelele „verzi” pot fi încărcate în 1C fără pierderi. Dar pe măsură ce scalați, v-aș sfătui să acordați atenție programelor de automatizare a proceselor de afaceri. Sunt multe dintre ele și s-ar putea să nu fie neapărat 1C...

Tranziția la „1C” poate fi efectuată atunci când înțelegeți că trebuie să vă optimizați resursele, inclusiv automatizarea problemelor legate de relațiile cu clienții și furnizorii și cu autoritățile de supraveghere. În general, ajustați-vă procesele de lucru pentru a crește eficiența afacerii atunci când procesarea informațiilor va dura mult timp, iar fișierele Excel nu vor mai face față volumului de date de intrare.

Cu toate acestea, nu fiecare „1C” poate fi potrivit pentru dvs.; trebuie să luați în considerare diverși factori: specificul și domeniul de aplicare al afacerii, amploarea, nevoia de sarcini zilnice, rutina care trebuie redusă la minimum. Totul este individual. Adevărul, așa cum am spus deja, este undeva între „1C” și „Excel” - se completează unul pe celălalt.

Probabil asta e tot. Dar dacă aveți întrebări, vă rugăm să ne contactați, vom încerca să vă ajutăm. Procese de afaceri de succes, colegi!

În 1C există 2 moduri de a lucra cu fișiere MS Excel: printr-un obiect COM și instrumente 1C încorporate folosind un obiect document foaie de calcul. Să ne uităm la ambele metode mai detaliat.

1. Lucrați printr-un obiect COM.

Această metodă necesită instalat MS Excel, iar dacă lucrați cu un fișier pe server, atunci MS Excel trebuie instalat pe server, dacă pe client, atunci pe partea clientului MS Excel este, de asemenea, necesar.

Exemplu (puteți vedea sub formă de text la sfârșitul articolului):

Trebuie remarcat faptul că toate obiectele, metodele și proprietățile furnizate de obiectul COM „Excel.Application” sunt obiecte, metode și proprietăți ale VBA, limbajul de programare MS Office.

Notă:

Uneori trebuie să lucrezi deja cu șablon existent. Apoi trebuie să stocăm acest șablon undeva, astfel încât toți utilizatorii necesari să aibă acces la el. Cu toate acestea, există o soluție mai simplă, salvați șablonul ca aspect binar.

2. Lucrați prin documentul tabelar 1C.

Documentul foaie de calcul 1C acceptă formatul MS Excel pentru înregistrare începând de la platforma 8, dar pentru deschidere doar începând de la platforma 8.3.6. În plus, atunci când sunt deschise, toate foile sunt încărcate într-un singur document foaie de calcul. Începând cu versiunea 8.3.10, la încărcare, diferite foi sunt încărcate ca zone diferite.

Un exemplu de intrare este foarte simplu și nu necesită o atenție specială:

Totuși, aici avem o problemă. Când înregistrați de la 1C într-un registru de lucru Excel, afișarea numelor foilor este dezactivată în mod implicit.

Această problemă poate fi rezolvată în 2 moduri, 1 - în carte în sine, activați afișarea foilor în setări (nu toți utilizatorii vor fi de acord să facă acest lucru), 2 - faceți acest lucru printr-un obiect COM (avem din nou nevoie de MS Excel instalat ).

După această mică adăugare, etichetele foilor vor fi vizibile în fișierul MS Excel.

Citirea MS Excel nu este o sarcină atât de ușoară, deoarece metoda de citire este disponibilă doar pe server sau client gros. Pentru a face acest lucru, trebuie să transferăm fișierul MS Excel pe server.

&OnClient

Procedura CreateDocument()

Excepție

EndTempt;

Carte = Excel.WorkBooks.Add(); //Creează un nou registru de lucru MS Excel

Sheet = Book.WorkSheets.Add(); //Adăugați o foaie

Sheet.Name = "Exemplu de la 1C"; //Setați numele foii

Sheet.Cells(1,1).Value = "Să creăm o formulă";!}

Sheet.Cells(2,1).Valoare = 1;

Sheet.Cells(2,2).Valoare = 2;

Sheet.Cells(2,3).Formula = "=A2+B2";

Sheet.Cells(3,1).Value = CurrentDate();

Book.SaveAs("C:\1\Test.xlsx");

Book.Close();

Sfârșitul procedurii

&Pe server

Funcția GetLayoutServer()

Return FormAttributesValue("Obiect").GetLayout("TemplateForUpload"); //În acest fel obținem aspectul de procesare externă;

EndFunction

&OnClient

Lucru de procedură()

Excel = New COMObject ("Excel.Application");

Excepție

Raport ("Încercare nereușită de a conecta componentele Excel. Poate programul Excel nu este instalat pe acest computer!");

EndTempt;

Layout = GetLayoutServer();

Layout.Write(TemporaryFileName);

Ai o întrebare sau ai nevoie de ajutor de la un consultant?

Carte = Excel.WorkBooks.Open(TemporaryFileName);

SheetTemplate = Book.WorkSheets(1);

SheetTemplate.Cells(6,1).Value = "Data:";!}

SheetTemplate.Cells(6,2).Value = CurrentDate();

SheetTemplate.NumberFormat = "zz/ll/aa;@"; // Dați formatul datei, acest format a fost obținut prin înregistrarea unei macrocomenzi în MS Excel

SheetTemplate.Columns("B:B").EntireColumn.AutoFit; // Întinde coloana astfel încât data să se potrivească exact

Book.SaveAs(FileName);

Book.Close();

Sfârșitul procedurii

&OnClient

Sfârșitul procedurii

&OnClient

Procedura WriteTabularDocument()

TabularDocument = Nou TabularDocument();

TabularDocument.Area("R1C1").Text = "Exemplu de înregistrare în MS Excel din 1C";

TabularDocument.Write("C:\1\Test2.xls", TabularDocumentFileType.XLSX);

Excel = New COMObject ("Excel.Application");

Excel.WorkBooks.Open(„C:\1\Test2.xls”);

Excel.Vizibil = 0;

Excel.ActiveWindow.DisplayWorkbookTabs = 1;

Excel.ActiveWindow.TabRatio = 0,6;

Excel.ActiveWorkbook.Save();

Excel.Application.Quit()

Sfârșitul procedurii

BinaryData = New BinaryData("C:\1\test2.xlsx");

Adresă=PlaceInTemporaryStorage(BinaryData,ThisForm.UniqueIdentifier) ​​​​;

TabularDocument = UploadOnServer(Adresa);

TabularDocument.Show();

Sfârșitul procedurii

&Pe server

Funcția UploadOnServer(Adresă)

TemporaryFileName = GetTemporaryFileName("xlsx");

FileData = GetFromTemporaryStorage(Adresă);

FileData.Write(TemporaryFileName);

TabularDocument = Nou TabularDocument();

returnează TabularDocument;

De multă vreme acum program popular Aplicația 1C a devenit populară printre contabili, planificatori, economiști și manageri. Are nu numai un număr divers de configurații pentru diverse tipuri de activități, ci și localizare la standardele de contabilitate din mai multe țări din lume. Din ce în ce mai multe întreprinderi trec la contabilitate în acest program. Dar procedura de transfer manual a datelor din alte programe de contabilitate în 1C este o sarcină destul de lungă și plictisitoare, care necesită mult timp. Dacă întreprinderea ţinea evidenţe cu folosind Excel, atunci procesul de transfer poate fi semnificativ automatizat și accelerat.

Transferul datelor din Excel în 1C este necesar nu numai în perioada inițială de lucru cu acest program. Uneori este nevoie de așa ceva când, în cursul unei activități, trebuie să introduceți niște liste stocate într-o carte procesor de masă. De exemplu, dacă trebuie să transferați liste de prețuri sau comenzi dintr-un magazin online. Dacă listele sunt mici, le puteți introduce manual, dar dacă conțin sute de articole? Pentru a accelera procedura, puteți recurge la câteva opțiuni suplimentare.

Pentru descărcare automată Aproape toate tipurile de documente sunt potrivite:

  • Lista nomenclaturii;
  • Lista contrapartidelor;
  • Lista de preturi;
  • Lista comenzilor;
  • Informații despre achiziții sau vânzări etc.

Trebuie remarcat imediat că 1C nu are instrumente încorporate care să vă permită să transferați date din Excel. În aceste scopuri, trebuie să conectați un bootloader extern, care este un fișier în format epf.

Pregătirea datelor

Va trebui să pregătim datele în tabelul Excel în sine.


Pe lângă aceste acțiuni universale pentru pregătirea datelor într-o carte Excel, va trebui și să aduceți documentul în conformitate cu cerințele încărctorului specific pe care îl vom folosi, dar despre asta vom vorbi puțin mai jos.

Conectarea unui bootloader extern

Conectați un bootloader extern cu extensie epf aplicația 1C se poate face atât înainte, cât și după pregătirea fișierului Excel. Principalul lucru este că ambele aceste probleme pregătitoare au fost rezolvate înainte de începerea procesului de încărcare.

Există mai multe încărcătoare externe de tabele Excel pentru 1C, care au fost create de diverși dezvoltatori. Vom lua în considerare un exemplu de utilizare a unui instrument de prelucrare a informațiilor „Încărcarea datelor dintr-un document de foaie de calcul” pentru versiunea 1C 8.3.


Una dintre principalele baze de date cu care lucrează 1C este o listă de produse și servicii. Prin urmare, pentru a descrie procedura de încărcare din Excel, ne vom concentra pe exemplul de transfer al acestui tip particular de date.

  1. Revenim la fereastra de procesare. Deoarece vom încărca gama de produse, comutatorul din parametru ar trebui să fie în poziție "Director". Cu toate acestea, este instalat în acest fel în mod implicit. Ar trebui să-l comutați numai atunci când intenționați să transferați un alt tip de date: parte tabulară sau registrul de informații. Următorul pe teren „Vizualizare director” Faceți clic pe butonul cu punctele de suspensie pe el. Se deschide o listă derulantă. În el ar trebui să selectăm elementul "Nomenclatură".
  2. După aceasta, handlerul plasează automat câmpurile pe care programul le folosește în acest tip de carte de referință. Trebuie remarcat imediat că nu este deloc necesar să completați toate câmpurile.
  3. Acum deschideți din nou portabilul document Excel. Dacă numele coloanelor sale diferă de numele câmpurilor directorului 1C care le conțin pe cele corespunzătoare, atunci trebuie să redenumiți aceste coloane în Excel, astfel încât numele să se potrivească complet. Dacă tabelul conține coloane pentru care nu există analogi în director, atunci acestea ar trebui șterse. În cazul nostru, aceste coloane sunt "Cantitate"Și "Preț". De asemenea, trebuie adăugat că ordinea coloanelor din document trebuie să coincidă strict cu cea prezentată în procesare. Dacă nu aveți date pentru unele dintre coloanele care sunt afișate în încărcător, atunci aceste coloane pot fi lăsate goale, dar numerotarea acelor coloane în care există date trebuie să se potrivească. Pentru comoditate și viteza de editare, puteți utiliza ocazie specială Excel pentru mutarea rapidă a coloanelor.

    După ce acești pași au fost finalizați, faceți clic pe pictogramă "Salva", care este reprezentată de o pictogramă care înfățișează o dischetă în colțul din stânga sus al ferestrei. Apoi închideți fișierul făcând clic pe butonul de închidere standard.

  4. Revenim la fereastra de procesare 1C. Faceți clic pe butonul "Deschis", care este afișat ca un folder galben.
  5. Se deschide fereastra de deschidere a fișierului. Să mergem la directorul în care se află documentul Excel de care avem nevoie. Comutatorul implicit de afișare a fișierelor este setat la extensie mxl. Pentru a afișa fișierul de care avem nevoie, trebuie să-l mutăm în poziția « Foaie Excel» . După aceea, selectați documentul de transferat și faceți clic pe butonul "Deschis".
  6. Conținutul este apoi deschis în handler. Pentru a verifica dacă datele sunt completate corect, faceți clic pe butonul "Control de umplere".
  7. După cum putem vedea, instrumentul de control al umplerii ne spune că nu au fost găsite erori.
  8. Acum să trecem la filă „Setări”. ÎN „Câmp de căutare” Punem o bifă în linie care va fi unică pentru toate numele introduse în directorul nomenclatorului. Câmpurile cel mai des folosite pentru aceasta sunt "Cod furnizor" sau "Nume". Acest lucru trebuie făcut astfel încât, atunci când adăugați elemente noi în listă, datele să nu fie duplicate.
  9. După ce toate datele au fost introduse și setările au fost finalizate, puteți continua la încărcarea directă a informațiilor în director. Pentru a face acest lucru, faceți clic pe inscripție "Incarca date".
  10. Procesul de descărcare este în curs. După finalizarea acestuia, puteți merge la cartea de referință a articolului și vă asigurați că toate datele necesare au fost adăugate acolo.

Am urmat procedura de adăugare a datelor în directorul de nomenclatură din programul 1C 8.3. Pentru alte directoare și documente, descărcarea se va efectua după același principiu, dar cu câteva nuanțe pe care utilizatorul le poate da seama singur. De asemenea, trebuie remarcat faptul că procedura poate diferi pentru diferite încărcătoare terțe, dar abordarea generală rămâne aceeași pentru toți: mai întâi, procesorul încarcă informațiile din fișier în fereastra în care este editat și abia apoi este adăugată. direct în baza de date 1C.

Mulți angajați de birou trebuie adesea să folosească programe 1C și Excel. Ei trebuie să exporte date de la o aplicație la alta. Astăzi vom vedea cum să încărcăm din 1C în Excel.

Încărcarea datelor din 1C în Excel

Încărcarea datelor de la 1C la Microsoft Excel- un proces format din actiuni simple. Pentru a face acest lucru, instrumentele integrate în aceste aplicații sunt suficiente. Există mai multe moduri de a exporta date.

Încărcarea unei cantități mari de date

ÎN document deschis Ar trebui să faceți clic dreapta și să selectați „Lista”. După aceasta, toate elementele vor fi afișate ca text simplu. Poate fi copiat și lipit într-un document MS Excel, dar este mai bine să deschideți meniul „Fișier” și să mergeți la secțiunea „Salvare ca”.

Tot ce rămâne este să selectați formatul fișierului și să-l salvați.

Încărcarea formularelor tipărite ale documentelor


Cum să inserați o listă într-un registru de lucru Excel

Pentru a transfera lista, utilizați următoarea metodă:

  • Deschideți lista dorită în programul 1C. Apoi trebuie să faceți clic dreapta pe „Toate acțiunile”, apoi pe „Afișați lista”.


  • Apare shell-ul de afișare a listei. Câmpul „Ieșiri către” trebuie setat la „Document foaie de calcul”.
  • Chiar mai jos puteți selecta coloanele care ar trebui mutate.


Sfat! Nu trebuie să modificați nimic în această fereastră când sunteți pe cale să transferați întregul document.

  1. După toate acestea, utilizatorul va vedea o listă pe ecran sub forma unui tabel. Trebuie să le selectați pe toate și să le copiați.
  2. Apoi este creat document nouîn Excel și datele sunt lipite în el folosind „CTRL + V”.

Creați un nou registru de lucru Excel cu o listă

Nu trebuie să vă deranjați mult timp și să scoateți imediat lista din 1C în Excel:

1. Facem la fel ca în metoda anterioară până se formează lista. Apoi trebuie să mergeți la meniu, să deschideți secțiunea „Fișier” și să selectați „Salvare ca”.



Concluzie

Acum cunoașteți mai multe moduri de a încărca un tabel din 1C în Excel. Procedura este destul de ușoară și absolut orice utilizator se poate descurca cu ea. Principalul lucru este să ne studiem bine instrucțiunile, să alegem metoda potrivită și să urmați cu strictețe instrucțiunile. Pentru a fi mai ușor, uitați-vă la capturile de ecran introduse.