1s 8 otvorena Excel datoteka aktivni list. Računovodstvene informacije

Ova metoda je jednostavna. Njegova suština je da objekat TabularDocument ima metode:

  • Zapiši (< ИмяФайла>, < ТипФайлаТаблицы >) za upload podataka u datoteku;
  • Čitaj (< ИмяФайла>, < СпособЧтенияЗначений >) za učitavanje podataka iz datoteke.

Pažnja!

Metoda Write() dostupna je i na klijentu i na serveru. Metoda Read() dostupna je samo na strani servera. Treba zapamtiti ovo
prilikom planiranja interakcije klijent-server.

Pogledajmo primjer spremanja dokumenta proračunske tablice u datoteku. Potrebno je kreirati i popuniti objekat TabularDocument na bilo koji način, i istovar na fajl se radi samo sa jednom linijom:

TabDoc . Write(FilePath, TabularDocumentFileType. XLSX);

Evo TabDoc- generirani tabelarni dokument, Putanja do datoteke— naziv datoteke za otpremanje, TabularDocumentFileType.XLSX— format kreirane datoteke. Podržani su sljedeći Excel formati:

  • XLS95 - Excel 95 format;
  • XLS97 - Excel 97 format;
  • XLSX je Excel 2007 format.

TabDoc = Novi TabularDocument;
TabDoc . Read(PathToFile, Metoda čitanjaTabularDocumentValues.Value);

Evo Putanja do datoteke— putanja do preuzete Excel datoteke. Metoda čitanja vrijednosti tabelarnog dokumenta.Vrijednost određuje kako treba tumačiti podatke pročitane iz izvornog dokumenta. Dostupne opcije:

  • Značenje;
  • Tekst.

Razmjena putem OLE

Razmjena putem OLE automatizacijske tehnologije je možda najčešća opcija za programski rad s Excel datotekama. Omogućava vam da koristite sve funkcije koje pruža Excel, ali je sporiji u odnosu na druge metode. Za zamjenu putem OLE-a potrebna je instalacija MS Excel-a:

  • Na računaru krajnjeg korisnika, ako se razmjena dogodi na strani klijenta;
  • Na serverskom računaru 1C:Enterprise, ako se razmjena dogodi na strani servera.

Primjer istovar:

// Kreiranje COM objekta
Excel = Novi COMObject("Excel.Application");
// Onemogući upozorenja i pitanja
Excel . DisplayAlerts = False;
// Kreirajte novu knjigu
Book = Excel. Radne sveske. Dodati();
// Položaj na prvom listu
List = Knjiga. Radni listovi(1);

// Upisuje vrijednost u ćeliju
List . Ćelije (broj reda, broj kolone). Vrijednost = CellValue;

// Sačuvajte datoteku
Book . Sačuvaj kao (ime datoteke);


Excel . Quit();
Excel = 0;

Primjeri čitanje:

// -- OPCIJA 1 --

// Kreiranje COM objekta
Excel = Novi COMObject("Excel.Application");
// Otvorite knjigu
Book = Excel. Radne sveske. Otvori( Put do datoteke );

List = Knjiga. Radni listovi(1);

// Zatvaranje knjige
Book . Zatvori(0);

// Zatvorite Excel i oslobodite memoriju
Excel . Quit();
Excel = 0;

// —— OPCIJA 2 ——

// Otvorite knjigu
Book = GetCOMObject( Put do datoteke );
// Pozicioniranje na željeni list
List = Knjiga. Radni listovi(1);

// Pročitajte vrijednost ćelije, obično se ovdje nalazi petlja obilaska ćelije
CellValue = List. Ćelije (broj reda, broj kolone). vrijednost;

// Zatvaranje knjige
Book . Aplikacija. Qui t();

Za zaobići Za sve popunjene redove Excel radnog lista možete koristiti sljedeće tehnike:

// -- OPCIJA 1 --
Broj redova = list. Ćelije(1, 1). Specijalne ćelije(11). Red;
Za Broj reda = 1 po broju redova ciklusa
CellValue = List. Ćelije (broj reda, broj kolone). Vrijednost;
EndCycle;

// —— OPCIJA 2 ——
Broj reda = 0;
Dok je ciklus istine
Broj reda = Broj reda + 1;
CellValue = List. Ćelije (broj reda, broj kolone). vrijednost;
Ako NIJE ValueFilled(CellValue) Onda
Prekini;
endIf;
EndCycle;

Umjesto da uzastopno prelazite sve redove lista, možete dump sve podatke u niz i raditi sa njim. Ovaj pristup će biti brži kada čitate veliku količinu podataka:

Total Columns = List. Ćelije(1, 1). Specijalne ćelije(11). Kolona;
TotalRows = List. Ćelije(1, 1). Specijalne ćelije(11). Red;

Region = List. Opseg(list. Ćelije(1, 1), List. Ćelije(Ukupno redova,Ukupno kolona));
Podaci = Region. Vrijednost. Istovariti();

Tabela u nastavku prikazuje najpopularnija svojstva i metode za rad s Excelom putem OLE-a:

Akcija Kod Komentar
Rad sa aplikacijom
Postavljanje vidljivosti prozora aplikacije Excel . Vidljivo= False;
Podešavanje načina izlaza upozorenja (prikaz/ne prikaz) Excel . DisplayAlerts= False;
Zatvaranje aplikacije Excel . Quit();
Rad sa knjigom
Kreiranje nove knjige Book = Excel. Radne sveske. Dodati();
Otvaranje postojeće radne sveske Book = Excel. Radne sveske. Otvori (ime datoteke);
Čuvanje knjige Book . Sačuvaj kao (ime datoteke);
Zatvaranje knjige Book . Zatvori(0);
Rad sa listom
Postavljanje trenutnog lista List = Knjiga. Radni listovi(Broj lista);
Postavljanje imena List . Ime = Ime;
Postavljanje zaštite List . Zaštiti();
Uklanjanje zaštite List . UnProtect();
Podešavanje orijentacije stranice List . Postavljanje stranice. Orijentacija = 2; 1 - portret, 2 - pejzaž
Postavljanje lijeve granice List . Postavljanje stranice. Lijeva margina = Excel. CentimetersToPoints(Centimetri);
Postavljanje gornje granice List . Postavljanje stranice. TopMargin = Excel. CentimetersToPoints(Centimetri);
Postavljanje desne granice List . Postavljanje stranice. Desna margina = Excel. CentimetersToPoints(Centimetri);
Postavljanje donje granice List . Postavljanje stranice. BottomMargin = Excel. CentimetersToPoints(Centimetri);
Rad sa redovima, kolonama, ćelijama
Podešavanje širine kolone List . Kolone (Broj kolone). ColumnWidth = Širina;
Izbrišite liniju List . Redovi (Broj reda). Izbriši();
Uklanjanje kolone List . Kolone (Broj kolone). Delete();
Izbrišite ćeliju List . Ćelije (broj reda, broj kolone). Izbriši();
Postavljanje vrijednosti List . Ćelije (broj reda, broj kolone). Vrijednost = Vrijednost;
Spajanje ćelija List . Opseg(Liste. Ćelije(Broj reda, Broj kolone), List. Ćelije(Broj reda1, Broj kolone1)). Spoji();
Postavljanje fonta List . Ćelije (broj reda, broj kolone). Font. Ime = Ime fonta;
Podešavanje veličine fonta List . Ćelije (broj reda, broj kolone). Font. Veličina = Veličina fonta;
Postavljanje podebljanog fonta List . Ćelije (broj reda, broj kolone). Font. Bold = 1 ; 1 - podebljano, 0 - normalno
Postavljanje kurziva List . Ćelije (broj reda, broj kolone). Font. Kurziv = 1 ; 1 - kurziv, 0 - normalno
Postavljanje podvučenog fonta List . Ćelije (broj reda, broj kolone). Font. Podvući = 2 ; 2 - podvučeno, 1 - ne

Da biste saznali koje svojstvo treba promijeniti ili koju metodu pozvati, možete koristiti macros Excel. Ako snimite makro sa potrebnim radnjama, tada možete pogledati VBA kod snimljenog makroa.

Korištenje COMSafeArray

Prilikom preuzimanja velikih količina podataka iz 1C u Excel, možete koristiti objekt za ubrzanje COMSafeArray. Prema definiciji sintaksnog asistenta, COMSafeArray je omotač objekta preko višedimenzionalnog niza SafeArray od COM. Omogućava vam da kreirate i koristite SafeArray za razmjenu podataka između COM objekata. Jednostavno rečeno, to je niz vrijednosti koje se mogu koristiti za razmjenu između aplikacija koje koriste OLE tehnologiju.

// Kreiraj COMSafeArray
ArrayCom = Novi COMSafeArray("VT_Variant" , TotalColumns, TotalRows);
// Popuni COMSafeArray
Za Stranica = 0 Po TotalLines - 1 ciklus
Za Broj = 0 Ukupno kolona - 1 ciklus
ArrayCom . SetValue(broj, stranica, vrijednost);
EndCycle;
EndCycle;
// Dodjeljivanje područja Excel radnog lista vrijednostima iz COMSafeArray
List . Raspon(list. Ćelije(1, 1), List. Ćelije(Ukupno redova,Ukupno kolona)). Vrijednost = ArrayCom;

Razmjena putem ADO-a

Excel datoteka, kada se razmjenjuje putem ADO-a, je baza podataka kojoj se može pristupiti pomoću SQL upita. Instalacija MS Excel-a nije potrebna, ali morate imati ODBC drajver sa kojim će biti omogućen pristup. Korišteni ODBC drajver se određuje specificiranjem niza povezivanja na datoteku. Obično je potreban drajver već instaliran na računaru.

Razmjena putem ADO-a je primjetno brža od razmjene putem OLE-a, ali prilikom učitavanja nije moguće koristiti Excel funkcionalnost za dizajniranje ćelija, postavljanje stranica, postavljanje formula itd.

Primjer istovar:


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


Compound . ConnectionString = "

|Izvor podataka=" + Ime datoteke + ";
;
Compound . Open(); // Otvaranje veze

// Kreirajte COM objekt za naredbu
Naredba = Novi COMObject("ADODB.Command");
Tim

// Dodjela teksta naredbe za kreiranje tablice
Tim . CommandText = "KREIRAJ TABELU [Sheet1] (Kolona1 znak (255), Kolona2 datum, Stupac3 int, Kolona4 float)";
Tim . Izvrši(); // Izvrši naredbu

// Dodjela teksta naredbe za dodavanje reda tablice
Tim . CommandText = "INSERT INTO [Sheet1] (kolona1, stupac2, stupac3, stupac4) vrijednosti ('abvwhere', '8/11/2017', '12345', '12345,6789')";
Command.Execute(); // Izvrši naredbu

// Uklonite naredbu i zatvorite vezu
Naredba = Nedefinirano;
Compound . Zatvori();
Veza = Nedefinirano;

Da biste kreirali novi list i formirali njegovu strukturu, možete koristiti objekte ADOX.Catalog I ADOX.Table. U ovom slučaju, kod će izgledati ovako:

// Kreiranje COM objekta za rad s knjigom
Book = Novi COMObject("ADOX.Catalog");
Book . ActiveConnection = Veza;

// Kreirajte COM objekt za rad sa strukturom podataka na listu
Tabela = Novi COMObject("ADOX.Table");
Table . Ime = "List1" ;
Table . Kolone. Dodati("Kolona1", 202);
Table . Kolone. Dodati("Kolona2", 7);
Table . Kolone. Dodati("Kolona3", 5);
Table . Kolone. Dodati("Kolona4", 5);

// Kreirajte list s opisanom strukturom u radnoj knjizi
Book . Stolovi. Dodati (Tabela);
Tabela = Nedefinirano;
Knjiga = Nedefinirano;

U gornjem primjeru, u metodi

Table . Kolone. Dodati(“Kolona 1”, 202);

drugi parametar specificira tip stupca. Parametar je opcionalan, evo nekih vrijednosti tipa stupca:

  • 5 - adDouble;
  • 6 - adCurrency;
  • 7 - datum dodavanja;
  • 11 - adBoolean;
  • 202 - adVarWChar;
  • 203 - adLongVarWChar.

Primjer čitanje:

// Kreirajte COM objekt za vezu
Connection = New COMObject("ADODB.Connection");

// Postavljanje niza veze
Compound . ConnectionString = "
|Provider=Microsoft.ACE.OLEDB.12.0;
|Izvor podataka=" + Ime datoteke + ";
|Extended Properties=""Excel 12.0 XML;HDR=DA"";";
Compound . Open(); // Otvaranje veze

// Kreirajte COM objekt za primanje odabira
Odaberite = Novi COMObject("ADODB.Recordset");
RequestText = "ODABIR * IZ [Sheet1$]";

// Izvrši zahtjev
Uzorak . Otvori (Tekst upita, Veza);

// Zaobići rezultat uzorka
Još nije odabran. EOF() petlja
Vrijednost stupca 1 = Izbor. Polja. Stavka("Kolona1"). Vrijednost ; // Pristup po imenu kolone
Column2Value = Izbor. Polja. Stavka(0). vrijednost; // Pristup po indeksu stupca
Uzorak . MoveNext();
EndCycle;

Uzorak . Zatvori();
Uzorak = Nedefinirano;
Compound . Zatvori();
Veza = Nedefinisano;

U nizu veze parametar HDR određuje kako će se percipirati prvi red na listu. Moguće opcije:

  • DA - prvi red se tretira kao naziv kolona. Vrijednostima se može pristupiti po imenu i indeksu stupca.
  • NE - prvi red se tretira kao podatak. Vrijednostima se može pristupiti samo putem indeksa stupca.

Ovi primjeri pokrivaju samo nekoliko ADO objekata. ADO objektni model se sastoji od sljedećih objekata:

  • veza;
  • Command;
  • recordset;
  • Record;
  • Polja;
  • Potok;
  • Greške;
  • parametri;
  • Svojstva.

Upload bez programiranja

Da biste spremili podatke iz 1C u Excel, nije uvijek preporučljivo pribjeći programiranju. Ako u Enterprise modu korisnik može prikazati podatke potrebne za preuzimanje, oni se mogu spremiti u Excel bez programiranja.

Da biste sačuvali dokument tabele (na primer, rezultat izveštaja), možete pozvati naredbu Sačuvaj ili Sačuvaj kao… glavni meni.

U prozoru koji se otvori potrebno je odabrati direktorij, naziv i format spremljene datoteke.

Da biste sačuvali podatke iz dinamičkih lista (na primjer, listu stavki), morate:

  1. Iznesite podatke u tabelarni dokument pomoću naredbe Više ⇒ Lista...;
  2. Sačuvajte tabelarni dokument u potrebnom formatu.

Da biste uvezli cijene u 1C 8.3, morate pripremiti datoteku. Struktura izvornog fajla može biti proizvoljna, najvažnije je da sadrži kolone sa nazivom stavke, po kojima sistem može da utvrdi da li takva pozicija već postoji u bazi podataka ili je potrebno da se postavi nova kreirano:

Obrada za učitavanje artikala i cijena u 1C 8.3 iz dokumenta proračunske tablice dostupna je iz obrasca liste imenika Nomenklatura- poglavlje Imenici:

Prije početka uvoza, sistem će od vas zatražiti da navedete Excel datoteku sa izvornim podacima:

Poređenje polja stavke u 1C

U koraku 1, stupci izvorne datoteke se upoređuju s nomenklaturom i cijenama za one detalje koji su definirani za elemente direktorija Nomenklature. Ako se naziv kolone poklapa sa imenom atributa, onda će sistem samostalno izvršiti takvo poređenje.

Ovo poređenje se koristi kako za pretraživanje baze podataka za postojeće stavke (inače bi se svaki put prilikom uvoza kreirala nova), tako i u slučaju da stavka nije pronađena. Zatim, kada kreirate novu stavku, detalji se popunjavaju iz odgovarajućih kolona datoteke:

Budući da u našem slučaju treba da uvezemo cijene artikala, moramo naznačiti iz koje kolone sistem treba uzeti vrijednost cijene. Ako se naziv stupca cijene podudara s imenom postojećeg tipa cijene, tada će se takva kolona automatski odrediti. Ali pošto istovremeno možete uvoziti vrijednosti samo za jednu vrstu cijene, bit će definirana samo prva od pronađenih kolona, ​​tako da se ovo poređenje tipa cijene koja se učitava i kolone u datoteci mora uvijek kontrolisati.

Ako kolona cijena nije definirana, cijene se neće uvoziti:

Po potrebi se brišu dodatni stupci i redovi, odnosno podaci koji se ne smiju učitavati.

Bitan: Prilikom uvoza cijena treba ostati samo jedna kolona sa cijenama. To je zbog činjenice da jedan dokument u 1C može registrirati cijene samo za jednu vrstu cijene:

Nakon što se podaci u datoteci pravilno uporede, možete preći na korak 2, odnosno direktno na učitavanje podataka iz Excela u 1C 8.3.

Učitavanje cjenika i proizvoda u 1C računovodstvo

U drugom koraku, neposredno prije uvoza, sistem će prikazati informacije o tome koje stavke su uparene sa već dostupnim i koje će biti kreirane prilikom uvoza:

Korisnik ima mogućnost prilagođavanja: odbiti kreiranje novih artikala i eksplicitno naznačiti artikl za koji će postaviti cijenu, postaviti pravila popunjavanja za novonastalu stavku i drugo. Ako nečim niste zadovoljni, možete se vratiti na prethodnu fazu pomoću dugmeta Nazad:

Budući da se u ovom primjeru ne vrši samo (i koliko) uvoz artikala, već i učitavanje cijena, potrebno je provjeriti vrijednosti detalja Tip cijene I Postavite cijene za. Oni će odrediti datum dokumenta automatski kreiranog prilikom učitavanja i dokumenta koji će biti registrovan uz ovaj dokument:

Kada pritisnete dugme Skinuti Novi artikli proizvoda i dokument za registraciju cijene proizvoda će se kreirati (ako je potrebno) u bazi podataka (opet, ako su cijene učitane) i obrazac za preuzimanje će biti zatvoren:

Automatski kreirani dokument Postavljanje cijena artikala u daljem radu ne razlikuje se od onih kreiranih drugim metodama. Radi pogodnosti korisnika, prilikom učitavanja cijena iz eksterne datoteke, takvi dokumenti imaju odgovarajući komentar: “#Učitano iz datoteke”:

Za dokumente učitane u bazu informacija koji su primljeni kao rezultat razmjene, sistem automatski dodjeljuje servisne komentare: novo učitano, promijenjeno, poništeno, objavljeno. Kada se novi dokument učita u bazu podataka 1C ili se postojeći prepiše kao rezultat promjena, dodjeljuje se komentar kako bi se lakše pratile izmjene dokumenta i adekvatno reagirao na promjene. Za više informacija o značenju zvaničnih komentara u dokumentima, pogledajte naš video:

  • Prilikom razmjene informacija između ugovornih strana (cjenovnici, izvještaji o usaglašavanju, itd.);
  • Olakšati rad operatera u slučajevima kada se glavno računovodstvo obavlja u 1C, a dio se obavlja u Excel tablicama;
  • Prilikom prvog popunjavanja baze podataka.

Za izvođenje ove operacije možete koristiti i standardnu ​​funkcionalnost, dostupnu uz pretplatu na podršku informacionih tehnologija (ITS), i nezavisnu pisanu obradu, implementiranu kroz različite opcije povezivanja. U našem članku pokušat ćemo što potpunije analizirati sve moguće slučajeve i odgovoriti na većinu postojećih pitanja o učitavanju podataka iz Excela u 1C.

Univerzalni mehanizam

Na ITS diskovima, kao i na 1C portalu, odlaskom na izbornik "Tehnološka podrška" -> "Univerzalni izvještaji i obrada", odgovarajuća obrada se nalazi u mapi "Učitavanje podataka iz tabelarnog dokumenta".

Kada ga pokrenete, otvara se obrazac (slika 1):

Kao što možete vidjeti iz obrasca, omogućava vam prijenos informacija na sljedeće konfiguracijske objekte:

  1. Imenik;
  2. Tablični dio dokumenta ili priručnika;
  3. Registar informacija.

Ovisno o položaju u kojem je prekidač postavljen, mijenja se polje za odabir objekta.

Tabelarni obrazac za obradu se popunjava kada se otvori preuzeta datoteka.

Tipična obrada podržava preuzimanja sa:

  • Razvili su ga stručnjaci iz 1C, format datotekemxl;
  • Listxls sačuvan u formatuExcel 97-2003;
  • Tekstualni fajlporuka;
  • Stolovidbf.

Učitavanje Excel datoteka velike veličine može potrajati dosta vremena, pa ako se pretpostavi da se učitavanje podataka može odvijati u nekoliko faza ili sigurno znate da ćete morati nekoliko puta otvoriti postojeću datoteku, kako biste uštedjeli živce i vrijeme, bolje je sačuvati informacije iz njega u mxl formatu. To se može učiniti direktno iz obrasca za obradu.

Važno je shvatiti da ako u izvornoj datoteci postoje grupisanja redova, podnaslovi i bilješke, morat ćete ih ukloniti ručno.

Sada pređimo na karticu “Postavke” (slika 2):

Fig.2

Vrlo često, Excel tabele sadrže zaglavlje sa svim vrstama detalja i podataka (naziv štampanog obrasca, detalji druge strane, datum i broj dolaznog dokumenta, nazivi kolona, ​​itd.). program na obrascu, morate navesti u atributu „Prvi red dokumenta tabele“ prvi red sa prenetim informacijama

Nakon odabira objekta metapodataka u koji će se upisivati ​​informacije, tabelarni dio kartice „Postavke“ automatski će se popuniti nazivima detalja, opisima njihovih vrsta i drugim važnim informacijama. Poseban odjeljak treba posvetiti razmatranju kolona tabelarnog dijela kartice „Postavke“.

Kolone "Postavke"

Označavanje – označavanjem ili poništavanjem checkbox-a u liniji određuje se da li će se odgovarajući atribut popuniti.

Reprezentacija atributa – ovdje se upisuje sinonim (ime) atributa metapodataka, kako je navedeno u konfiguratoru.

Polje za pretragu - ako označite ovo polje, obrada će tražiti elemente koristeći odgovarajuće detalje i, ako je uspješna, promijeniti postojeće podatke, dodatna funkcija ovog polja je zaštita od duplikata.

Opis tipova – prikazuje tip podataka koji ima određeni atribut metapodataka.

Režim pokretanja – nudi tri opcije za izbor (slika 3):

Fig.3

  • Pretraga – vrši se pretraga za odgovarajući element, ako nedostaje, može se napraviti novi;
  • Set – određena vrijednost je podređena;
  • Izračunaj – u ovom slučaju, rezultat izračunavanja izraza navedenog u koloni „Uslov veze/Izraz za vrijednost“ biće postavljen u polje kreiranog elementa.

U potonjem slučaju, aktiviranjem polja Expression otvara se obrazac (slika 4).

Fig.4

Broj kolone je polje koje se koristi za označavanje koje kolone Excel tabele treba popuniti podacima.

Zadana vrijednost – često se javlja situacija kada preuzeta datoteka ne sadrži sve podatke potrebne za snimanje elementa, u ovom slučaju će se popuniti podaci sadržani u ovom polju.

Uslov veze/izraz za vrijednost – već smo djelomično dotaknuli ovo polje kada smo pogledali izračunata polja, osim toga, možete odrediti uvjet u skladu s kojim će se izvorni podaci sinkronizirati.

Ovo su, u principu, sve informacije koje su dostupne na kartici „Postavke“.

Kako ne bi gubili puno vremena svaki put prilikom učitavanja, pisanja korespondencije i izraza, programeri su omogućili spremanje opcije konfiguracije u datoteku sa ekstenzijom mxlz.

Ispravnost prenesenih podataka možete provjeriti klikom na dugme „Kontrola punjenja“ (Sl. 1). Nakon toga možete započeti proces preuzimanja. O uspješnom završetku postupka ili neuobičajenim situacijama bit ćete posebno obaviješteni.

Postoji još jedan mehanizam za učitavanje podataka iz Excel-a u baze podataka o upravljanju i trgovini. Manje je univerzalan od gornje metode, ali ne zahtijeva ITS pretplatu i uključen je u standardnu ​​isporuku.

Ova obrada se može naći na kartici “Kupovine”, u meniju “Usluga”, zove se “Učitavanje cijena dobavljača iz datoteka” (slika 5)

Sl.5

Obrazac za obradu sadrži:

  1. Polje za odabir datuma koje će pokazati za koje vrijeme je ova cijena relevantna;
  2. Polje za odabir druge ugovorne strane koja je poslala cjenovnik;
  3. Dugme koje vam omogućava da odaberete vrstu cijena koje želite postaviti;
  4. Tabelarni dio koji se može popuniti preuzetim podacima.

Ovaj oblik se može vidjeti na slici 6

Fig.6

Objašnjenje na vrhu obrasca objašnjava kako koristiti prvu karticu obrasca.

Nakon odabira druge ugovorne strane (u zavisnosti od toga da li je dobavljač, komisionar ili prodavac), u tabeli će biti dostupne dodatne kolone za svaku vrstu cijene.

Kada radite preko web interfejsa, neki pretraživači mogu zahtevati instalaciju dodatka za pretraživač (slika 7). Moramo kliknuti na dugme “Pokreni instalaciju” i ponovo pokrenuti našu vezu.

Fig.7

Nakon toga, koristeći međuspremnik, moći ćemo da prenosimo informacije iz jedne tabele u drugu. Kada su kolone koje su nam potrebne (“Artikal”, “Naziv”, “Cijena”) popunjene, kliknemo na dugme “Dalje” i idemo na drugu stranicu (Sl. 8)

Fig.8

Program će automatski tražiti podudaranja unutar baze podataka i, ako ih ne pronađe, ponuditi opcije za otklanjanje greške. Izgled tabelarnog dijela može se kontrolirati pomoću prekidača. Osim toga, korisnik može samostalno uporediti elemente preuzete datoteke sa podacima dostupnim u bazi podataka.

  • Registrirajte sve;
  • Registrirajte samo one koji su se promijenili u odnosu na one koji su već u bazi podataka.

U tekstualno polje možete uneti komentar koji će biti zabeležen u dokumentu (slika 9):

Fig.9

Nakon obrade:

  • Odgovarajući element će biti kreiran u direktorijumu „Nomenklatura dobavljača“ (ako nije postojao);
  • Element imenika “Nomenklatura” će biti povezan s njim;
  • Kreiraće se i knjižiti dokument „Određivanje cijena artikala“ sa naznakom: dobavljača, vrste cijena i datuma evidentiranja podataka.

Obrada “Učitavanje proizvoda iz vanjskih datoteka” funkcionira na sličan način.

DIY opcije obrade prijenosa

Glavni problem u izdvajanju podataka iz Excel datoteke je taj što 1C nema ugrađeni nedvosmislen mehanizam za njegovo otvaranje. Postoji nekoliko opcija za povezivanje Excela na 1C:

  • Kroz Microsoft ADODB - prilično brza metoda, koja je, po pravilu, primjenjiva i za datoteke i za opcije skladištenja baze podataka klijent-server;
  • Korišćenjem Microsoft Officea – metode koja ponekad ne uspije pri radu sa SQL bazama podataka, po pravilu radi nešto sporije od prve metode, a također zahtijeva instaliran Office;
  • Preko Libre Officea - za razliku od prethodne metode, besplatna je, osim xls i xlsx formata, podržava i vlastite tabele, ali zahtijeva instalirani paket LibreOffice i određenu pripremu preuzete datoteke (prvi red tabele mora sadržavati nazive kolona).

Pogledajmo bliže različite metode i opcije.

Preko ADODB.Connection

Generalno, ADO je skraćenica za ActiveX Data Object i koristi se za programski pristup različitim bazama podataka. Najveći problem pri kreiranju bilo koje veze s datotekom treće strane (uključujući Excel) je ispravno sastavljanje niza veze.

Za Excel datoteke postoje tri opcije:

Opcije niza veze:

  • Provajder – ovde je definisan upravljački program koji se koristi;
  • Izvor podataka – definiše ime datoteke koju ćemo otvoriti;
  • Proširena svojstva – ovdje možete odrediti da li je za tabelu potreban red zaglavlja (HDR = YES označava da će se podaci čitati iz prvog reda, HDR = NE - šta iz drugog), da li se datoteka otvara samo za čitanje (Samo za čitanje) i neki drugi dodatni parametri.

Nakon što smo kreirali niz veze, možemo se povezati na preuzetu datoteku (slika 13)

Fig.13

Sada možemo koristiti jednostavan zahtjev (slika 14) da započnemo dohvaćanje informacija iz preuzete datoteke.

U ovom slučaju, parametar “Sheet” određuje s kojim ćemo listom iz Excel radne knjige raditi.

Skup zapisa pohranjenih u radnom listu može se čitati korištenjem Recordset objekta. U ovom slučaju, prvi zapis lista se može dobiti sa parametrom BOF (početak datoteke), a posljednji EOF (kraj datoteke).

Preko Excel aplikacije

Glavna razlika u odnosu na prethodnu metodu je u tome što osim drajvera baze podataka, na računaru na kojem se uspostavlja veza mora biti instaliran i Excel. Samo u ovom slučaju možemo inicijalizirati aplikaciju da čita podatke iz tabele (slika 16).

Ovaj COM objekat ima nekoliko podređenih parametara, ali je glavni za nas, s obzirom na trenutne uslove zadatka, parametar WorkBooks (slika 17).

Nakon inicijalizacije radne knjige potrebno je odrediti list sa kojeg će se čitati podaci (slika 18).

Nakon toga, možete proći kroz redove i kolone tabele datoteke koja se otvara.

Nekoliko riječi o mogućim greškama

Lavovski udio grešaka pri povezivanju s datotekom nastaje zbog činjenice da je datoteka već zauzeta drugom aplikacijom. Dobro je ako na traci zadataka možete vidjeti da je Excel pokrenut na računaru, ali ako ste ga vi ili drugi korisnik otvorili iz vanjske obrade, to se može samo vizualno utvrditi putem “Task Managera”, tako da ne zaboravite zatvoriti vezu prije završetka postupka prijenosa:

U slučaju rada kroz ADO (slika 19);

Fig.19

  • U slučaju rada sa aplikacijom (slika 20).

Rice. 20.

Najbolje je organizirati vezu i proceduru za završetak rada s podacima unutar konstrukcije Attempt-Exception-EndAttempt, pozivajući opis greške u izuzetnoj situaciji. Iako to ponekad usporava rad, mnogo je lakše utvrditi uzrok greške i, na kraju, kako je otkloniti.

Većina organizacija u svakodnevnoj praksi koristi softverski proizvod Excel iz Microsoft uredskog paketa za praćenje raznih računovodstvenih transakcija na starinski način. Ovo se dešava kada je kompanija tek nedavno prešla na 1C sistem, a sekcije za izveštavanje još uvek nisu pravilno otklonjene, ili dobavljač radije pošalje cenovnik u obliku tabele sa sažetkom u .xls formatu. Nije iznenađujuće da se često javlja potreba da se ručni unos pozicija zameni automatizovanim sistemom. To će značajno smanjiti vrijeme popunjavanja nomenklaturnih dokumenata i smanjiti broj grešaka, što je važno uzeti u obzir kada je u pitanju nekoliko desetina ili čak stotina artikala.


Ovaj problem se može riješiti na različite načine: neke organizacije radije povjeravaju ovaj posao svom IT odjelu, druge angažuju programere koji rade u kompaniji primaoca franšize, ali to je prilično skupo i oduzima puno vremena.


Mnogo isplativiji izlaz iz ove situacije bio bi korištenje odgovarajuće 1C konfiguracije, koja će obraditi podatke apsolutno besplatno i postati univerzalni pomoćnik u integraciji 1C dokumenata i Excel tablica.


U ovom odeljku ćemo vam pomoći da shvatite kako da konfigurišete učitavanje podataka iz .xls datoteke u jednu od softverskih konfiguracija kompanije 1C na osnovu „1C:Enterprise 8“


Svaki korisnik profesionalne verzije 1C:Enterprise 8 već ima takvu obradu! Na disku ITS!

Tipična obrada “Učitavanje podataka iz tabelarnog dokumenta.epf”, koja se nalazi u odjeljku: “Tehnološka podrška” > “Metodološka podrška 1C: Enterprise 8” > “Univerzalni izvještaji i obrada” >

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


Napominjemo da se od februara 2010. na ITS disku ova obrada za konfiguracije na platformi 8.1 nalazi u drugom dijelu: “Tehnološka podrška” > “Metodološka podrška 1C: Enterprise 8” > “1C:Enterprise 8.1 platforma” > “Univerzalna izvještaji i obrada" > "Učitavanje podataka iz tabelarnog dokumenta".

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


Dostupni izvorni podaci:

  • Cjenik u Excelu “PriceOnlineKhimSnab.xls” - Microsoft Office Excel 97-2003 (.xls)
  • Tipična konfiguracija Enterprise Accounting Edition 2.0, izdanje 2.0.12.2, platforma 8.2 (8.2.10.77)
  • Potrebno je učitati nazive proizvoda i cijene u 1C iz Excela


Iz cjenovnika morate preuzeti referentnu knjigu artikala u 1C: Računovodstvo 8.

Pokrećemo program 1C. Da biste započeli obradu, odaberite stavku menija “Datoteka”> “Otvori”.

U prozoru koji se otvori nalazimo datoteku za obradu

Nalazi se na ITS disku u direktoriju \1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument

Ako ste prethodno kopirali datoteku za obradu na svoj računar, možete je odabrati.


Otvoriće se prozor


Napominjemo da će se učitavanje podataka odvijati u dvije faze: Faza 1 - učitavanje naziva i postavljanje vrijednosti detalja novih elemenata direktorija potrebnih za početak (mjerna jedinica, stopa PDV-a, atribut proizvoda/usluge). Faza 2 - preuzimanje cijena.

Učitavanje naslova

Postavite “Režim preuzimanja” - Prijenos u direktorij “Pregled imenika” - Nomenklatura

Na kartici „Dokument tabele“.

Kliknite na dugme ex1_b01.jpg “Otvori datoteku”, u prozoru za odabir koji se pojavi nalazimo direktorij u kojem imamo cjenik u Excel-u iz kojeg planiramo učitavanje podataka u 1C.


Datoteka se možda neće pojaviti u početku. Postavite tip datoteke na "Excel Sheet (*.xls)"


Odaberite naš fajl



Prikazuju se detalji kartice stavke.

Postavljanje opcija učitavanja naslova

Želimo vam skrenuti pažnju na aspekt prepoznavanja strukturnih jedinica nomenklaturnih priručnika u programu 1C: Računovodstvo verzija 8, jer je jedna od ključnih tačaka u identifikaciji ovih elemenata naziv. Ako pozicije u bazi informacija nisu inicijalno popunjene, tada ćete morati pratiti duplicirane pozicije i, ako ih ima, izbrisati.


Duplicirana imena je teško izbjeći zaposlenima koji će ovu vrstu učitavanja koristiti ne za jednokratni unos podataka u listu, već za automatsko učitavanje informacija.


Stvar se komplikuje činjenicom da se zaposleni mora baviti raznim skraćenicama i drugim skraćenicama, dvostrukim pisanjem imena i upotrebom raznih interpunkcijskih znakova.


Uz višekratnu upotrebu i značajnu količinu preuzetih informacija, preporučujemo korištenje drugog softvera iz serije „1C: Enterprise 8“, na primjer „1C: Upravljanje trgovinom 8“, „1C: Upravljanje malim preduzećima 8“ ili „1C: Integrirano Automation 8“, koji imaju parametar „Article“ koji osigurava pouzdano prepoznavanje podataka učitanih u imenike nomenklature i eliminiše mogućnost dupliranja naziva.


Red “Osnovna jedinica mjere” - u koloni “Režim opterećenja” odaberite “Instaliraj”, u koloni “Zadana vrijednost” odaberite mjernu jedinicu (u našem slučaju - kom.)


Red “Stopa PDV-a” - u našem slučaju, za sve preuzete elemente postavljamo PDV na 18%, za to u koloni “Režim učitavanja” biramo “Postavi”, u koloni “Zadana vrijednost” biramo “18%”.


Ukoliko roba dolazi sa drugačijim PDV-om, što je naznačeno u posebnoj koloni preuzetog cjenovnika, tada u koloni „Režim utovara“ postavite „Traži“ i broj odgovarajuće kolone cjenovnika u „Koloni br. tabelarni dokument”.

Linija "Usluga" - u koloni "Način učitavanja" odaberite "Instaliraj", u koloni "Zadana vrijednost" odaberite "Ne" (u našem slučaju, sve pozicije su proizvodi).


Postavili smo minimalne vrijednosti za nove artikle u imeniku nomenklature, što će vam omogućiti da počnete s radom. Za zatvaranje mjeseca, distribuciju troškova, generiranje računovodstvenih i poreznih izvještaja, morat ćete postaviti vrijednosti „Grupa stavki” i „Troškovna stavka” za uvezenu robu, postaviti „Zemlju porijekla” i „Broj carinske deklaracije”; , ali to se može učiniti kasnije korištenjem grupne obrade.


Ako ste sada spremni postaviti vrijednosti ovih detalja, naznačite. Kliknite na "Preuzmi" u donjem desnom uglu, kliknite na "Da" kada se to od vas zatraži



Provjeravamo prisustvo novih elemenata u odgovarajućoj grupi referentne knjige artikala

Otvorite karticu proizvoda i provjerite da li su detalji ispravno učitani


Ako je sve ispravno, onda možete preći na drugu fazu - učitavanje cijena iz cjenovnika u Excel.


Ako planirate da koristite ovu proceduru učitavanja podataka u budućnosti sa istim postavkama parametara učitavanja, preporučujemo da sačuvate trenutne postavke. Da biste to uradili, kliknite na dugme ex1_b03.jpg “Sačuvaj postavke” i jasno nazovite trenutnu postavku, na primer, “Učitavanje naziva proizvoda sa Excel cenovnik”.


Sljedeći put možete učitati sačuvane postavke tako što ćete kliknuti na dugme „Vrati postavke“ i izabrati željeno sa liste.

Učitavanje cijena

U “Enterprise Accounting” Rev. 2.0, cijene se postavljaju pomoću dokumenta “Postavljanje cijena artikala”.

Postavite “Režim učitavanja” - “Učitaj u odjeljak stola”.

U polju “Link” odaberite “Postavljanje cijena artikala”.


Ovdje možete odabrati postojeći dokument u koji želimo dodati nove elemente, ili kreirati Novi (preporučeno), u dokumentu naznačimo koji ćemo “Tip cijene” učitati (u našem primjeru “Maloprodaja”).


Kliknite na “OK” i za sada sačuvajte prazan dokument. Sada izaberite ovaj novi sačuvani dokument iz dnevnika u redu „Link“. U polju "Tabularni dio" odaberite "Proizvodi"

Sada morate otići na karticu "Dokument tabele".

Opet izaberite naš cjenik u Excelu iz kojeg smo preuzeli artikle, a sada ćemo preuzeti cijene (vidi tačku 5).

U 1C 8.3 moguće je grupno učitati listu iz dokumenta proračunske tablice, na primjer, iz Excel datoteke.

Za učitavanje koristimo eksternu obradu Učitavanje podataka iz TabularDocument.epf za upravljane obrasce (8.2 i 8.3), koji se mogu preuzeti . On je univerzalan i trebao bi biti prikladan za bilo koju konfiguraciju napisanu za upravljanu aplikaciju.

  • Ako ste programer i želite da razvijete „svoje“ preuzimanje iz Excela, detaljna uputstva za;
  • Primjer učitavanja cjenovnika u 1C Trade Management možete pronaći na.

Da biste pokrenuli eksternu obradu, potrebno je da odete u meni „Datoteka“, zatim „Otvori“ i izaberete ovu obradu iz direktorijuma u kojem je sačuvana:

Obrada Učitavanje podataka iz tabelarnog dokumenta 1C 8.3 (upravljani obrasci)

Nakon što se obrada otvori u 1C, možete početi raditi s njom. Prije svega, moramo odlučiti gdje i šta ćemo preuzeti:

Želim dati primjer u direktoriju ““. Napravio sam datoteku sa podacima u xls formatu.

Obrada također može učitati datoteke u sljedećem formatu:

  • bilo koji drugi format iz kojeg možete kopirati podatke.

Ovako izgleda Excel datoteka sa izvornim podacima, koju ćemo učitati u referentnu knjigu "Nomenklatura":

Nabavite 267 video lekcija na 1C besplatno:

Nisam zapisao sva polja u imeniku, jer je to dovoljno za razumijevanje principa učitavanja. Osim toga, ovi podaci su dovoljni za početak rada sa ovim pozicijama.

Ove pozicije još nisu u 1C informacijskoj bazi podataka i sada ćemo ih tamo učitati.

Kliknite na ikonu “Otvori” (na slici je označena kao “Odaberi izvor”) i odaberite datoteku s podacima. Možete koristiti jednostavno kopiranje informacija. Moj primjer fajla se može preuzeti. Podaci će se automatski učitati u obradu. Sada provjerimo da li smo ispravno popunili naše podatke. Da biste to učinili, kliknite na dugme „Kontrola punjenja“.

Kao što vidite, imamo nekoliko grešaka! Mi ćemo to eliminisati. Idite na karticu "Postavke":

Prije ispravljanja grešaka, želim da vam skrenem pažnju na jedan važan detalj. Program u početku ne zna u kojem polju da traži element direktorija u slučaju da je već tamo. Zato ona to treba da istakne. Više volim da pretražujem po kodu jer je obično jedinstven. U koloni "Polje za pretraživanje" u redu "Šifra" stavite kvačicu. Sada, ako se pronađe zapis s takvim kodom, bit će zamijenjen, inače će biti kreiran.

Bitan! Ako ne navedete polje za pretragu, mogu se pojaviti duple stavke. Pogotovo nakon drugog preuzimanja slične datoteke!

Sada da vidimo zašto "Jedinstvo" psuje na terenu. Činjenica je da su jedinice mjerenja u 1C 8.3 pohranjene u zasebnom direktoriju, a obrada prema zadanim postavkama traži ovu jedinicu po imenu. Ali u stvari, jedinica riječi je napisana u polju "Puno ime".

Nažalost, obrada može pretraživati ​​samo po “Name” i “Code” (za programera su mogućnosti šire). Ako obratite pažnju na slike iznad, vidjet ćete da imam kod u koloni “Jedinica”. A u obradi morate naznačiti da pretragu treba izvršiti kodom. Dvaput kliknite na kolonu “Communication Condition” nasuprot “Units” i promijenite je u “Code”.

Sada da vidimo šta nam kažu o "Servisu" na listi grešaka. Još jedna važna napomena. Kolone u datoteci moraju biti locirane striktno istim redosledom kao i redovi polja direktorijuma. A za nas se „“ nalazi na samom dnu, a u datoteci iza kolone „Komentar“.

Da biste pomerili liniju „Tip stavke“ nagore, na vrhu obrasca nalaze se plave strelice. Pomoću strelice „gore“ podignite željenu liniju i stavite je ispod „Komentar“.

Kliknite na "Učitaj podatke" i ovaj put sve ide bez grešaka:

Video tutorial o učitavanju proizvoda u 1C iz Excel datoteka: