1s 8 deschideți foaia activă a fișierului excel. Informații contabile

Această metodă este simplă. 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 salvare a unui document de foaie de calcul într-un fișier. 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 pentru lucrul programatic cu fișiere Excel. Vă permite să utilizați toate funcționalitățile oferite de Excel, dar este mai lent î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ţionarea pe foaia dorită
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 - bold, 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 o 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;
// Atribuirea unei zone de foi de lucru Excel la valorile din 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 este necesară prezența unui driver ODBC, cu care se va efectua 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 index de coloană.
  • 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.

Pentru a importa prețuri în 1C 8.3, trebuie să pregătiți un fișier. Structura fișierului sursă poate fi arbitrară, principalul lucru este că conține coloane cu numele articolului, prin care sistemul poate determina dacă o astfel de poziție există deja în baza de informații sau dacă trebuie să fie una nouă. creată:

Procesarea pentru încărcarea articolelor și prețurilor în 1C 8.3 dintr-un document foaie de calcul este disponibilă din formularul de listă de director Nomenclatură- capitolul Directoare:

Înainte de a începe importul, sistemul vă va solicita să specificați un fișier Excel cu datele sursă:

Comparația câmpurilor articolului din 1C

La pasul 1, coloanele fișierului sursă sunt comparate cu nomenclatura și prețurile pentru acele detalii care sunt definite pentru elementele directorului Nomenclatură. Dacă numele coloanei se potrivește cu numele atributului, atunci sistemul va face o astfel de comparație independent.

Această comparație este utilizată atât pentru a căuta în baza de informații articole existente (altfel ar fi creat unul nou de fiecare dată în timpul importului), cât și în cazul în care articolul nu este găsit. Apoi, la crearea unui articol nou, detaliile sunt completate din coloanele corespunzătoare ale fișierului:

Deoarece în cazul nostru trebuie să importam prețurile articolelor, trebuie să indicăm din ce coloană sistemul ar trebui să ia valoarea prețului. Dacă numele coloanei de preț se potrivește cu numele unui tip de preț existent, atunci o astfel de coloană va fi determinată automat. Dar, deoarece puteți importa doar valori pentru un tip de preț la un moment dat, doar prima dintre coloanele găsite va fi definită, astfel încât această comparație a tipului de preț care este încărcat și coloana din fișier trebuie întotdeauna controlată.

Dacă coloana de preț nu este definită, atunci prețurile nu vor fi importate:

Dacă este necesar, coloanele și rândurile suplimentare sunt șterse, adică datele care nu ar trebui încărcate.

Important: La importul prețurilor, ar trebui să rămână o singură coloană cu prețuri. Acest lucru se datorează faptului că un document din 1C poate înregistra prețuri pentru un singur tip de preț:

După ce datele fișierului au fost comparate corect, puteți trece la pasul 2, adică direct la încărcarea datelor din Excel în 1C 8.3.

Încărcarea listelor de prețuri și a produselor în 1C Accounting

În cel de-al doilea pas, imediat înainte de import, sistemul va afișa informații despre ce articole au fost potrivite cu cele deja disponibile și care vor fi create în timpul importului:

Utilizatorul are posibilitatea de a face ajustări: refuza să creeze articole noi și să indice în mod explicit articolul pentru care să stabilească prețul, să stabilească reguli de umplere pentru articolul nou creat și multe altele. Dacă nu sunteți mulțumit de ceva, puteți reveni la etapa anterioară folosind butonul Înapoi:

Deoarece în acest exemplu, nu numai (și cât) se efectuează importul articolelor, ci și încărcarea prețurilor, este necesar să se verifice valorile detaliilor Tip de prețȘi Stabiliți prețuri pentru. Aceștia vor stabili data documentului creat automat la încărcare și documentul care va fi înregistrat cu acest document:

Când apăsați butonul Descarca Articole noi de produs și un document de înregistrare a prețului produsului vor fi create (dacă este necesar) în baza de informații (din nou, dacă prețurile au fost încărcate) și formularul de descărcare va fi închis:

Documentul creat automat Stabilirea prețurilor articolelor în lucrări ulterioare nu diferă de cele create prin alte metode. Pentru confortul utilizatorilor, la încărcarea prețurilor dintr-un fișier extern, astfel de documente au un comentariu corespunzător: „#Loaded from file”:

Pentru documentele încărcate în baza de informații care au fost primite ca urmare a schimbului, sistemul atribuie automat comentarii de serviciu: noi încărcate, schimbate, anulate, postate. Când un document nou este încărcat în baza de date 1C sau unul existent este suprascris ca urmare a modificărilor, este atribuit un comentariu pentru a facilita urmărirea modificărilor documentului și a răspunde în mod corespunzător la modificări. Pentru mai multe informații despre semnificația comentariilor oficiale în documente, urmăriți videoclipul nostru:

  • La schimbul de informații între contrapărți (liste de prețuri, rapoarte de reconciliere etc.);
  • Pentru a facilita munca operatorilor în cazurile în care contabilitatea principală este efectuată în 1C, iar o parte din aceasta este efectuată în tabele Excel;
  • La completarea bazei de date pentru prima dată.

Pentru a efectua această operațiune, puteți utiliza atât funcționalitatea standard, disponibilă cu abonament la suport pentru tehnologia informației (ITS), cât și procesarea scrisă independentă, implementată prin diferite opțiuni de conectare. În articolul nostru vom încerca să analizăm cât mai complet posibil toate cazurile posibile și să răspundem la majoritatea întrebărilor existente referitoare la încărcarea datelor din Excel în 1C.

Mecanism universal

Pe discurile ITS, precum și pe portalul 1C, accesând meniul „Suport tehnologic” -> „Rapoarte și procesare universale”, procesarea corespunzătoare se află în folderul „Încărcarea datelor dintr-un document de foaie de calcul”.

Când îl lansați, se deschide formularul (Fig. 1):

După cum puteți vedea din formular, vă permite să transferați informații către următoarele obiecte de configurare:

  1. Director;
  2. Parte tabelară a unui document sau a cărții de referință;
  3. Registrul de informații.

În funcție de poziția în care este setat comutatorul, câmpul de selecție a obiectelor se modifică.

Formularul tabelar de procesare este completat la deschiderea fișierului descărcat.

Procesarea tipică acceptă descărcări de la:

  • Dezvoltat de specialiști din 1C, format de fișiermxl;
  • Lisztxls salvat în formatExcel 97-2003;
  • Fisier textTXT;
  • Mesedbf.

Încărcarea fișierelor Excel de dimensiuni mari poate dura destul de mult, așa că dacă se presupune că încărcarea datelor poate avea loc în mai multe etape sau știți sigur că va trebui să deschideți de mai multe ori un fișier existent, pentru a economisi nervi și timp, este mai bine să salvați informațiile din acesta în format mxl. Acest lucru se poate face direct din formularul de procesare.

Este important să înțelegeți că, dacă există grupări de linii, subtitluri și note în fișierul sursă, acestea vor trebui eliminate manual.

Acum să trecem la fila „Setări” (Fig. 2):

Fig.2

Destul de des, tabelele Excel conțin un antet cu tot felul de detalii și date (numele formularului tipărit, detaliile contrapărții, data și numărul documentului primit, numele coloanelor etc.). Pentru a preveni procesarea lor de către programul de pe formular, trebuie să specificați în atributul „Prima linie a documentului tabelar” prima linie cu informațiile transferate

După selectarea unui obiect de metadate în care vor fi scrise informații, partea tabelară a filei „Setări” va fi completată automat cu numele detaliilor, descrierile tipurilor acestora și alte informații importante. O secțiune separată ar trebui să fie dedicată luării în considerare a coloanelor din partea tabelară a filei „Setări”.

Coloanele „Setări”

Marcare – prin bifarea sau debifarea unei casete de selectare dintr-o linie, se stabilește dacă atributul corespunzător va fi completat.

Reprezentare atribut – aici este scris sinonimul (numele) atributului metadatelor, așa cum este specificat în configurator.

Câmp de căutare - dacă bifați acest câmp, procesarea va căuta elemente folosind detaliile corespunzătoare și, dacă reușește, va modifica datele existente; o funcție suplimentară a acestui câmp este protecția împotriva dublurilor.

Descrierea tipurilor – afișează tipul de date pe care îl are un anumit atribut de metadate.

Modul de pornire – oferă trei opțiuni din care să alegeți (Fig. 3):

Fig.3

  • Căutare – se va efectua o căutare pentru elementul corespunzător, dacă acesta lipsește, se poate crea unul nou;
  • Set – o anumită valoare este setată subordonat;
  • Calculați – în acest caz, rezultatul calculării expresiei specificate în coloana „Conexiune condiție/Expresie pentru valoare” va fi setat în câmpul elementului creat.

În acest din urmă caz, activarea câmpului Expresie va deschide formularul (Fig. 4).

Fig.4

Numărul coloanei este un câmp folosit pentru a indica ce coloană a tabelului Excel trebuie completată cu date.

Valoare implicită – deseori apare o situație când fișierul descărcat nu conține toate datele necesare înregistrării unui element; în acest caz, se vor completa informațiile conținute în acest câmp.

Condiție de legătură/Expresie pentru o valoare – am atins deja parțial acest câmp când ne-am uitat la câmpurile calculate; în plus, puteți specifica condiția în conformitate cu care datele sursă vor fi sincronizate.

Acestea sunt, în principiu, toate informațiile disponibile în fila „Setări”.

Pentru a nu pierde mult timp de fiecare dată când se încarcă, scrie corespondență și expresii, dezvoltatorii au oferit posibilitatea de a salva opțiunea de configurare într-un fișier cu extensia mxlz.

Puteți verifica corectitudinea datelor transferate făcând clic pe butonul „Filling Control” (Fig. 1). După aceasta, puteți începe procesul de descărcare. Veți fi anunțat separat despre finalizarea cu succes a procedurii sau situații neobișnuite.

Există un alt mecanism de încărcare a datelor din Excel în bazele de date de informații de management și comerț. Este mai puțin universală decât metoda de mai sus, dar nu necesită abonament ITS și este inclusă în livrarea standard.

Această prelucrare poate fi găsită în fila „Achiziții”, în meniul „Servicii”, se numește „Încărcare prețuri furnizori din fișiere” (Fig. 5)

Fig.5

Formularul de procesare conține:

  1. Un câmp de selecție a datei care va indica pentru ce oră este relevant acest preț;
  2. Câmp pentru selectarea contrapartidei care și-a trimis lista de prețuri;
  3. Un buton care vă permite să selectați tipul de prețuri care trebuie setate;
  4. O parte tabelară care poate fi completată cu date descărcate.

Această formă poate fi văzută în Fig. 6

Fig.6

Explicația din partea de sus a formularului explică cum se utilizează prima filă a formularului.

După selectarea unei contrapartide (în funcție de faptul că acesta este furnizor, comisionar sau vânzător), în tabel vor deveni disponibile coloane suplimentare pentru fiecare tip de preț.

Când lucrați prin interfața web, unele browsere pot necesita instalarea unui supliment de browser (Fig. 7). Trebuie să facem clic pe butonul „Începe instalarea” și să ne repornim conexiunea.

Fig.7

După aceasta, folosind clipboard-ul, vom putea transfera informații de la un tabel la altul. Când sunt completate coloanele de care avem nevoie („Articol”, „Nume”, „Preț”), facem clic pe butonul „Următorul” și mergem la a doua pagină (Fig. 8)

Fig.8

Programul va căuta automat potriviri în baza de date și, dacă nu sunt găsite, va oferi opțiuni pentru eliminarea erorii. Aspectul părții tabulare poate fi controlat cu ajutorul unui comutator. În plus, utilizatorul poate compara în mod independent elementele fișierului descărcat cu datele disponibile în baza de date.

  • Înregistrați totul;
  • Înregistrați-le doar pe cele care s-au modificat în comparație cu cele aflate deja în baza de date.

În câmpul de text puteți introduce un comentariu care va fi înregistrat în document (Fig. 9):

Fig.9

După finalizarea procesării:

  • Elementul corespunzător va fi creat în directorul „Nomenclator furnizor” (dacă nu a existat);
  • Elementul de director „Nomenclatură” va fi asociat cu acesta;
  • Documentul „Setarea prețurilor articolelor” va fi creat și afișat, indicând: furnizor, tipul prețurilor și data înregistrării datelor.

Procesarea „Încărcarea produselor din fișiere externe” funcționează într-un mod similar.

Opțiuni de procesare a transferului DIY

Principala problemă în extragerea datelor dintr-un fișier Excel este că 1C nu are încorporat un mecanism clar pentru deschiderea acestuia. Există mai multe opțiuni pentru conectarea Excel la 1C:

  • Prin Microsoft ADODB - o metodă destul de rapidă, care, de regulă, este aplicabilă atât pentru opțiunile de stocare a bazei de date fișier, cât și client-server;
  • Prin utilizarea Microsoft Office - o metodă care uneori eșuează atunci când se lucrează cu baze de date SQL, de regulă, funcționează oarecum mai lent decât prima metodă și, de asemenea, necesită instalarea Office;
  • Via Libre Office - spre deosebire de metoda anterioară, este gratuit, pe lângă formatele xls și xlsx, suportă și propriile tabele, dar necesită pachetul LibreOffice instalat și o anumită pregătire a fișierului descărcat (prima linie a tabelului trebuie să conțină numele coloanelor).

Să aruncăm o privire mai atentă asupra diferitelor metode și opțiuni.

Prin ADODB.Connection

În general, ADO înseamnă ActiveX Data Object și este folosit pentru accesul programatic la diferite baze de date. Cea mai mare problemă atunci când creați orice conexiune la un fișier terță parte (inclusiv Excel) este să compuneți corect șirul de conexiune.

Pentru fișierele Excel există trei opțiuni:

Opțiuni de șir de conexiune:

  • Furnizor – driverul utilizat este definit aici;
  • Sursa de date – definește numele fișierului pe care îl vom deschide;
  • Proprietăți extinse – aici puteți specifica dacă este necesară o linie de antet pentru tabel (HDR = YES indică faptul că datele vor fi citite din prima linie, HDR = NU - ce din a doua), dacă fișierul este deschis doar în citire (ReadOnly) și alți parametri suplimentari.

După ce am creat un șir de conexiune, ne putem conecta la fișierul descărcat (Fig. 13)

Fig.13

Acum putem folosi o cerere simplă (Fig. 14) pentru a începe recuperarea informațiilor din fișierul descărcat.

În acest caz, parametrul „Foaie” determină cu ce foaie din registrul de lucru Excel vom lucra.

Setul de înregistrări stocate într-o foaie de lucru poate fi citit folosind un obiect Recordset. În acest caz, prima înregistrare a foii poate fi obținută cu parametrul BOF (început de fișier), iar ultima EOF (sfârșitul fișierului).

Prin aplicația Excel

Principala diferență față de metoda anterioară este că, pe lângă driverele de baze de date, Excel trebuie să fie instalat pe computerul unde se face conexiunea. Numai în acest caz putem inițializa aplicația pentru a citi datele din tabel (Fig. 16).

Acest obiect COM are mai mulți parametri fii, dar principalul pentru noi, având în vedere condițiile actuale ale sarcinii, este parametrul WorkBooks (Fig. 17).

După inițializarea registrului de lucru, este necesar să se determine foaia din care vor fi citite datele (Fig. 18).

După aceasta, puteți parcurge rândurile și coloanele din tabelul fișierului deschis.

Câteva cuvinte despre posibile erori

Cea mai mare parte a erorilor la conectarea la un fișier apare din cauza faptului că fișierul este deja ocupat de o altă aplicație. Este bine dacă puteți vedea în bara de activități că Excel rulează pe computer, dar dacă dvs. sau un alt utilizator l-ați deschis din procesare externă, acest lucru poate fi determinat doar vizual prin „Managerul de activități”, așa că nu uitați să închideți conexiunea înainte de finalizarea procedurii de transfer:

În cazul lucrului prin ADO (Fig. 19);

Fig.19

  • În cazul lucrului cu aplicația (Fig. 20).

Orez. 20.

Cel mai bine este să organizați conexiunea și procedura de finalizare a lucrului cu date în cadrul constructului Attempt-Exception-EndAttempt, apelând o descriere a erorii într-o situație excepțională. Deși uneori acest lucru încetinește activitatea, este mult mai ușor să se determine cauza erorii și, în cele din urmă, cum să o elimine.

Majoritatea organizațiilor în practica lor zilnică folosesc produsul software Excel din suita Microsoft Office pentru a ține evidența diferitelor tranzacții contabile în mod vechi. Acest lucru se întâmplă atunci când o companie a trecut recent la sistemul 1C și secțiunile de raportare nu au fost încă depanate corespunzător sau furnizorul preferă să trimită o listă de prețuri sub forma unui tabel rezumat în format .xls. Nu este surprinzător că deseori este nevoie de înlocuirea introducerii manuale a pozițiilor cu un sistem automat. Acest lucru va reduce semnificativ timpul de completare a documentelor de nomenclatură și va reduce numărul de erori, ceea ce este important de luat în considerare atunci când este vorba de câteva zeci sau chiar sute de articole.


Această problemă poate fi rezolvată în diferite moduri: unele organizații preferă să încredințeze această muncă departamentului lor IT, altele angajează dezvoltatori care lucrează în compania francizatului, dar acest lucru este destul de costisitor și necesită mult timp.


O modalitate mult mai profitabilă de ieșire din această situație ar fi utilizarea configurației 1C corespunzătoare, care va procesa datele absolut gratuit și va deveni un asistent universal în integrarea documentelor 1C și a foilor de calcul Excel.


În această secțiune, vă vom ajuta să vă dați seama cum să configurați încărcarea datelor dintr-un fișier .xls într-una dintre configurațiile software de la compania 1C bazată pe „1C:Enterprise 8”


Fiecare utilizator al versiunii profesionale a 1C:Enterprise 8 are deja o astfel de procesare! E pe disc!

Procesare tipică „Încărcarea datelor din documentul tabelar.epf”, aflată în secțiunea: „Suport tehnologic” > „Suport metodologic 1C: Enterprise 8” > „Rapoarte și procesare universale” >

D:1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument Download


Vă rugăm să rețineți că, începând din februarie 2010, pe discul ITS, această procesare pentru configurații pe platforma 8.1 se află într-o altă secțiune: „Suport tehnologic” > „Suport metodologic 1C:Enterprise 8” > „1C:Platformă Enterprise 8.1” > „Universal rapoarte și procesare” > „Încărcarea datelor dintr-un document de foaie de calcul”.

D:1CIts\EXE\EXTREPS\UNIREPS81\UploadFromTableDocument Download


Sursa datelor disponibile:

  • Lista de prețuri în Excel „PriceOnlineKhimSnab.xls” - Microsoft Office Excel 97-2003 (.xls)
  • Configurație tipică Enterprise Accounting Edition 2.0, versiunea 2.0.12.2, platforma 8.2 (8.2.10.77)
  • Este necesar să încărcați numele produselor și prețurile în 1C din Excel


Din Lista de prețuri trebuie să descărcați cartea de referință a articolului în 1C: Contabilitate 8.

Lansăm programul 1C. Pentru a începe procesarea, selectați elementul de meniu „Fișier”> „Deschidere”.

În fereastra care se deschide găsim fișierul de procesare

Situat pe discul ITS în directorul \1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument

Dacă ați copiat anterior fișierul de procesare pe computer, îl puteți selecta.


Se va deschide o fereastră


Vă rugăm să rețineți că încărcarea datelor va fi efectuată în două etape: Etapa 1 - încărcarea numelor și setarea valorilor detaliilor elementelor de director noi necesare pentru a începe (unitate de măsură, cota TVA, atribut produs/serviciu). Etapa 2 - încărcarea prețurilor.

Se încarcă titluri

Setați „Modul de descărcare” - Încărcați în directorul „Vizualizare director” - Nomenclatură

În fila „Document de tabel”.

Faceți clic pe butonul ex1_b01.jpg „Deschideți fișierul”, în fereastra de selecție care apare, găsim directorul în care avem o listă de prețuri în Excel din care plănuim să încărcăm date în 1C.


Este posibil ca fișierul să nu apară inițial. Setați tipul fișierului la „Foaie Excel (*.xls)”


Selectați fișierul nostru



Sunt afișate detaliile cardului articolului.

Configurarea opțiunilor de încărcare a titlului

Dorim să vă atragem atenția asupra aspectului recunoașterii unităților structurale ale cărților de referință de nomenclatură în programul 1C: Contabilitate versiunea 8, deoarece unul dintre punctele cheie în identificarea acestor elemente este numele. Dacă pozițiile din baza de informații nu au fost completate inițial, atunci va trebui să urmăriți pozițiile duplicate și, dacă există, să le ștergeți.


Numele duplicate sunt greu de evitat; este deosebit de dificil pentru angajații care vor folosi acest tip de încărcare nu pentru introducerea unică a datelor în listă, ci pentru încărcarea sistematică a informațiilor în mod automat.


Problema este complicată de faptul că angajatul trebuie să se ocupe de diverse abrevieri și alte abrevieri, ortografia dublă a numelui și utilizarea diferitelor semne de punctuație.


Cu utilizarea repetată și cu o cantitate semnificativă de informații descărcate, vă recomandăm să utilizați alt software din seria „1C: Enterprise 8”, de exemplu „1C: Trade Management 8”, „1C: Small Firm Management 8” sau „1C: Integrated Automation 8”, care au parametrul „Articol”, care asigură recunoașterea fiabilă a datelor încărcate în directoarele nomenclaturii și elimină posibilitatea de duplicare a numelor.


Linia „Unitate de măsură de bază” - în coloana „Mod de încărcare” selectați „Instalare”, în coloana „Valoare implicită” selectați unitatea de măsură (în cazul nostru - buc.)


Linia „Cota TVA” - în cazul nostru, pentru toate elementele descărcate setăm TVA la 18%, pentru aceasta în coloana „Mod de încărcare” selectăm „Set”, în coloana „Valoare implicită” selectăm „18%”.


Dacă mărfurile vin cu TVA diferit, care este indicat într-o coloană separată a listei de prețuri descărcate, atunci în coloana „Mod de încărcare”, setați „Căutare” și numărul coloanei corespunzătoare listei de prețuri în „Coloana nr. document foaie de calcul”.

Linia „Serviciu” - în coloana „Mod de încărcare”, selectați „Instalare”, în coloana „Valoare implicită”, selectați „Nu” (în cazul nostru, toate pozițiile sunt produse).


Am stabilit valorile minime pentru articole noi în directorul nomenclatorului, ceea ce vă va permite să începeți lucrul. Pentru a închide luna, a distribui costurile, a genera contabilitate și raportare fiscală, va trebui să setați valorile „Grup de articole” și „Articol de cost”; pentru mărfurile importate, setați „Țara de origine” și „Numărul declarației vamale” , dar acest lucru se poate face ulterior folosind procesarea de grup.


Dacă sunteți gata să setați valorile acestor detalii acum, atunci indicați. Faceți clic pe „Descărcați” în colțul din dreapta jos, faceți clic pe „Da” când vi se cere



Verificăm prezența unor elemente noi în grupul corespunzător al cărții de referință a articolului

Deschideți cardul produsului și verificați dacă detaliile sunt încărcate corect


Dacă totul este corect, atunci puteți trece la a doua etapă - încărcarea prețurilor din lista de prețuri în Excel.


Dacă intenționați să utilizați această procedură de încărcare a datelor în viitor cu aceleași setări ale parametrilor de încărcare, vă recomandăm să salvați setările curente. Pentru a face acest lucru, faceți clic pe butonul ex1_b03.jpg „Salvați setările” și denumiți clar setarea curentă, de exemplu, „Încărcarea numelor de produse din lista de prețuri Excel”.


Data viitoare puteți încărca setările salvate făcând clic pe butonul „Restaurare setări” și selectând din listă pe cea dorită.

Încărcare prețuri

În „Contabilitatea întreprinderii” Rev. 2.0, prețurile sunt stabilite folosind documentul „Setarea prețurilor articolului”.

Setați „Modul de încărcare” - „Încărcare în secțiunea tabelă”.

În câmpul „Link”, selectați „Setarea prețurilor articolelor”.


Aici puteți selecta un document existent în care dorim să adăugăm elemente noi, sau să creați unul Nou (recomandat), în document indicăm ce „Tip de preț” vom încărca (în exemplul nostru, „Retail”).


Faceți clic pe „Ok” și salvați documentul gol pentru moment. Acum selectați acest nou document salvat din jurnal în linia „Link”. În câmpul „Secțiunea tabelară”, selectați „Produse”

Acum trebuie să mergeți la fila „Document de tabel”.

Din nou, selectați lista noastră de prețuri în Excel din care am descărcat articolele, iar acum vom descărca prețurile (vezi punctul 5).

În 1C 8.3 este posibilă încărcarea în bloc a unei liste dintr-un document de foaie de calcul, de exemplu, dintr-un fișier Excel.

Folosim procesare externă pentru încărcare Încărcarea datelor din TabularDocument.epf pentru formularele gestionate (8.2 și 8.3), care pot fi descărcate . Este universal și ar trebui să fie potrivit pentru orice configurație scrisă pentru o aplicație gestionată.

  • Dacă sunteți programator și doriți să dezvoltați „propriul” descărcare din Excel, instrucțiuni detaliate pentru;
  • Un exemplu de încărcare a unei liste de prețuri în 1C Trade Management poate fi găsit la.

Pentru a începe procesarea externă, trebuie să mergeți la meniul „Fișier”, apoi „Deschidere” și să selectați această procesare din directorul în care a fost salvată:

Procesare Încărcarea datelor dintr-un document de foaie de calcul 1C 8.3 (formulare gestionate)

După ce procesarea s-a deschis în 1C, puteți începe să lucrați cu ea. În primul rând, trebuie să decidem unde și ce vom descărca:

Vreau să dau un exemplu în directorul „“. Am creat un fișier de date în format xls.

Procesarea poate încărca și fișiere în următorul format:

  • orice alt format din care puteți copia date.

Iată cum arată fișierul Excel cu datele sursă, pe care îl vom încărca în cartea de referință „Nomenclatură”:

Obțineți 267 de lecții video pe 1C gratuit:

Nu am notat toate câmpurile din director, deoarece acest lucru este suficient pentru a înțelege principiul încărcării. În plus, aceste date sunt suficiente pentru a începe lucrul cu aceste poziții.

Aceste poziții nu sunt încă în baza de date de informații 1C și acum le vom încărca acolo.

Faceți clic pe pictograma „Deschidere” (indicată în figură ca „Selectare sursă”) și selectați fișierul cu datele. Puteți utiliza simpla copiere a informațiilor. Fișierul meu exemplu poate fi descărcat. Datele vor fi încărcate automat în procesare. Acum să verificăm dacă ne-am completat corect datele. Pentru a face acest lucru, faceți clic pe butonul „Control de umplere”.

După cum puteți vedea, avem câteva erori! O vom elimina. Accesați fila „Setări”:

Înainte de a corecta erorile, vreau să vă atrag atenția asupra unui detaliu important. Programul nu știe inițial în ce câmp să caute un element de director în cazul în care acesta este deja acolo. Așa că trebuie să sublinieze asta. Prefer să caut după cod, deoarece este de obicei unic. În coloana „Câmp de căutare” din linia „Cod”, bifați. Acum, dacă se găsește o înregistrare cu un astfel de cod, aceasta va fi înlocuită, altfel va fi creată.

Important! Dacă nu specificați un câmp de căutare, pot apărea elemente duplicat. Mai ales după a doua descărcare a unui fișier similar!

Acum să vedem de ce „Unitatea” înjură pe teren. Faptul este că unitățile de măsură din 1C 8.3 sunt stocate într-un director separat, iar procesarea în mod implicit caută această unitate după nume. Dar, de fapt, cuvântul unitate este scris în câmpul „Nume complet”.

Din păcate, procesarea poate căuta doar după „Nume” și „Cod” (pentru programator posibilitățile sunt mai largi). Dacă acordați atenție imaginilor de mai sus, veți vedea că am un cod în coloana „Unitate”. Și în procesare trebuie să indicați că căutarea trebuie efectuată prin cod. Faceți dublu clic pe coloana „Condiția de comunicare” de lângă „Unități” și schimbați-o în „Cod”.

Acum să vedem ce ne spun despre „Serviciu” în lista de erori. Încă o notă importantă. Coloanele din fișier trebuie să fie amplasate strict în aceeași ordine ca și liniile câmpurilor directorului.Și pentru noi „” se află chiar în partea de jos și în fișier după coloana „Comentariu”.

Pentru a muta linia „Tip de articol” în sus, există săgeți albastre în partea de sus a formularului. Folosind săgeata „Sus”, ridicați linia dorită și plasați-o sub „Comentariu”.

Faceți clic pe „Încărcați date” și de data aceasta totul merge fără erori:

Tutorial video despre încărcarea produselor în 1C din fișiere Excel: