1s 8.3 čitanje Excel datoteke bez instalacije. Računovodstvene informacije

Postoje različiti načini za otvaranje Excel datoteke u 1C i obrnuto. Korisnici početnici će preferirati jednostavnije operacije spremanjem dokumenta u drugom formatu ili korištenjem posebnih programa. Ali vrijedi uložiti malo truda i naučiti kako raditi sa softverskim alatima za pregled i obradu podataka iz jednog programa u drugi. Ove osnovne vještine programiranja pomoći će vam da izbjegnete rutinske zadatke u budućnosti.

Kako otvoriti Excel dokumente u 1C i obrnuto

Microsoft Excel uređivač tabela superiorniji je u funkcionalnosti u odnosu na 1C računovodstvene softverske proizvode. Stoga korisnici 1C radije obavljaju neke operacije u uređivaču proračunskih tablica, a zatim vraćaju podatke u računovodstveni program. I to nije iznenađujuće, jer se ranije računovodstvo mnogih kompanija obavljalo isključivo pomoću Microsoftovih programa. Ali sa trenutnim nivoom automatizacije poslovnih procesa preduzeća, nemoguće je napustiti specijalizovane programe. Da biste uspostavili interakciju između različitih aplikacija, postoje sljedeći jednostavni načini:

    Kada se morate baviti datotekama softverskih proizvoda koji nisu instalirani na vašem trenutnom računalu, najlakši način je korištenje posebne aplikacije za pretvaranje Excel tablica u 1C format i obrnuto. Može se naći na web stranici proizvoda 1C.

    Ako vaš računar ima i 1C i Excel, možete ručno otvoriti datoteku u njenoj "nativnoj" aplikaciji, a zatim je spremiti u formatu drugog programa. Obično je ova opcija dostupna kada spremate ispis ili izgled.

    Korisnici 1C 7.7 mogu nadograditi na verziju 1C 8, koja ima poboljšani uređivač tablica.

Kako 1C i Excel mogu programski komunicirati

Interakcija između 1C i Excel-a može se izvršiti na nivou programa pomoću tehnologije OLE Automation koju je razvio Microsoft. Omogućava vam da pristupite COM objektima direktno iz tumača skripti različitih programa. Jednostavno rečeno, OLE vam omogućava da prenesete dio posla iz jednog programa u drugi, a zatim vratite rad u originalnu aplikaciju. To je upravo ono što računovođama treba od Microsoftovog uređivača tabela.

Ne morate biti programer da biste koristili OLE alate. Iako će prvo upoznavanje sa linijama koda biti praćeno greškama, provjera će pomoći da se one identificiraju, a stečeno iskustvo će pomoći da se izbjegnu u budućnosti. Ispod su najpopularnije komande (one se zovu listing) za rad sa Excel podacima u računovodstvenim programima i obrnuto.

Kako programski otvoriti Excel datoteku u 1C

Dakle, ako su oba programa instalirana na vašem računaru, između kojih želite razmjenjivati ​​podatke, tada možete programski organizirati interakciju. Da biste to učinili, morate pokrenuti obje aplikacije, a zatim koristiti OLE za uspostavljanje pristupa iz 1C u Excel:

  • Izuzetak

    Report(ErrorDescription() + "Excel nije instaliran na ovom računaru!");

  • Kraj pokušaja.

Pristup uređivaču tablice je instaliran, sada koristeći sljedeće komande morate dobiti pristup:

    poseban dokument:

    • Knjiga = Excel.WorkBooks.Open(FilePath)

    • List = Knjiga.Radni listovi(Broj lista);

  • uključujući sa određenim brojem lista:

    uključujući sa određenim nazivom lista:

    • List = Book.WorkSheets(Naziv lista);

    • Vrijednost = Sheet.Cells(RowNumber, ColumnNumber).Value;

Za čitanje podataka s prve stranice datoteke koristite sljedeće liste:

    Excel = CreateObject("Excel.Application");

    Knjiga = Excel.WorkBooks.Open(FilePath);

    List = Knjiga.Radni listovi(1);

    Total Columns = Sheet.Cells(1,1).SpecialCells(11).Column;

    Ukupni redovi = Sheet.Cells(1,1).SpecialCells(11).Row;

    Za red = 1 po petlji TotalRows

    • Za stupac = 1 po ciklusu TotalColumns

      Vrijednost = Abbr(Sheet.Cells(Row, Column).Value);

      EndCycle;

    EndCycle;

Zapamtite, putanja do datoteke mora biti navedena u potpunosti. Kada spremate naziv dokumenta, ne možete uključiti znakove kao što su \, /, :, *, ?, ", >,< и |.

Kako programski otvoriti 1C datoteku kroz Excel

Za snimanje podataka u Excel morate:

    ili otvorite postojeći dokument:

    • Knjiga = Excel.WorkBooks.Open(Putanja do datoteke) - po analogiji sa čitanjem Excel datoteke iz 1C;

    ili dodajte novi:

    • Radna sveska = Excel.WorkBooks.Add();

    Možete kreirati novi list u novom dokumentu:

    • List = Book.Sheets.Add();

    i dodajte novu vrijednost u ćeliju:

    • Sheet.Cells(RowNumber, ColumnNumber).Value = Vrijednost; (metode za pisanje vrijednosti pomoću OLE detaljno su opisane na Internetu).

  • Book.SaveAs(FilePath);

    Izuzetak

    Report(ErrorDescription()+"Datoteka nije sačuvana!");

    Kraj pokušaja.

Kada završite rad sa uređivačem proračunskih tablica, izađite pomoću posebne naredbe (Excel.Application.Quit();). Ova metoda će pomoći u uštedi računarskih resursa tokom daljeg rada.

Opasnosti pri razmjeni podataka između 1C i Excela

1C i Excel su razvile različite kompanije i koriste različite načine rukovanja podacima. Stoga, kada prenosite tablice iz jednog programa u drugi, zapamtite sljedeće zamke:

    Razni separatori u razlomcima. Microsoft odvaja decimalne brojeve pomoću zareza. Stoga, kada prenosite tabele iz računovodstvenog programa, nemojte biti iznenađeni obiljem datuma i drugim zabunama. Samo što se u računovodstvenom programu može koristiti tačka u pisanju razlomaka, što će Microsoftov uređivač tabela protumačiti kao separator datuma, a 15.5 će se pretvoriti u 15. maj. Za obradu računovodstvenih podataka u uređivaču proračunskih tablica, separator će morati biti zamijenjen zarezom.

    Prilikom prijenosa podataka iz Excela u 1C, one Excel konstante koje nisu u računovodstvenom programu mogu se pogrešno prikazati. Da biste ih dešifrirali, trebate otići u pomoć za uređivač proračunskih tablica ili u mod za otklanjanje grešaka i provjeriti numeričke izraze različitih konstanti.

Ako trebate razmjenjivati ​​velike količine podataka ili se ne možete riješiti grešaka, obratite se za pomoć profesionalcima kompanije Setby. Pomoći ćemo vam da riješite svoje probleme na nivou programa i shvatite komande potrebne za vaš rad.

  • 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:

  • Razvijen od strane stručnjaka 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 razumjeti 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 ugovorne strane, datum i broj pristiglog dokumenta, nazivi kolona itd.), kako bi se sprečila njihova obrada programom na obrascu, morate navesti u "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 – vrlo često dolazi do situacije kada preuzeta datoteka ne sadrži sve podatke potrebne za snimanje elementa; u tom slučaju će se popuniti informacije sadržane u ovom polju.

Uslov veze/izraz za vrijednost – već smo djelomično dotaknuli ovo polje kada smo gledali 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 ova cijena vrijedi;
  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 dela može se kontrolisati 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 završene 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 transfera

Glavni problem u izdvajanju podataka iz Excel datoteke je taj što 1C nema ugrađeni nedvosmislen mehanizam za 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 Office-a – metode koja ponekad ne uspe u radu sa SQL bazama podataka, po pravilu radi nešto sporije od prve metode, a takođe zahteva 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 od 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 (Sl. 14) za početak preuzimanja informacija iz preuzete datoteke.

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

Skup zapisa pohranjenih na radnom listu može se čitati korištenjem Recordset objekta. U ovom slučaju, prvi zapis lista se može dobiti s 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 vidite da je Excel pokrenut na računaru, ali ako ste ga vi ili drugi korisnik otvorili iz eksterne obrade, to se može samo vizuelno utvrditi putem „Task Managera“, tako da ne zaboravite da zatvorite 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.

Aplikacija 1C dugo je bila najpopularniji program među računovođama, planerima, ekonomistima i menadžerima. Ima ne samo raznovrstan broj konfiguracija za različite vrste aktivnosti, već i lokalizaciju na računovodstvene standarde u nekoliko zemalja širom svijeta. Sve više preduzeća prelazi na računovodstvo u ovom programu. Ali postupak ručnog prijenosa podataka iz drugih računovodstvenih programa u 1C prilično je dug i dosadan zadatak koji oduzima puno vremena. Ako je preduzeće vodilo evidenciju koristeći Excel, tada se proces prijenosa može značajno automatizirati i ubrzati.

Prijenos podataka iz Excela u 1C potreban je ne samo u početnom periodu rada s ovim programom. Ponekad postoji potreba za ovakvim nečim kada u toku aktivnosti treba da unesete neke liste pohranjene u knjizi proračunskih tablica. Na primjer, ako trebate prenijeti cjenovnike ili narudžbe iz online trgovine. Ako su liste male, možete ih unijeti ručno, ali šta ako sadrže stotine stavki? Kako biste ubrzali postupak, možete pribjeći nekim dodatnim opcijama.

Gotovo sve vrste dokumenata su pogodne za automatsko preuzimanje:

  • Lista nomenklature;
  • Spisak ugovornih strana;
  • Lista cijena;
  • Spisak naloga;
  • Informacije o kupovini ili prodaji itd.

Odmah treba napomenuti da 1C nema ugrađene alate koji bi vam omogućili prijenos podataka iz Excela. Za ove svrhe morate povezati vanjski bootloader, koji je datoteka u formatu epf.

Priprema podataka

Trebat ćemo pripremiti podatke u samoj Excel tabeli.


Pored ovih univerzalnih radnji za pripremu podataka u Excel knjizi, morat ćete i uskladiti dokument sa zahtjevima specifičnog loadera koji ćemo koristiti, ali o tome ćemo govoriti malo niže.

Povezivanje eksternog bootloadera

Povežite eksterni bootloader sa ekstenzijom epf aplikacija 1C može se raditi i prije i nakon pripreme Excel datoteke. Glavna stvar je da su oba ova pripremna pitanja riješena prije početka procesa učitavanja.

Postoji nekoliko eksternih učitavača Excel tablica za 1C, koje su kreirali različiti programeri. Razmotrit ćemo primjer korištenja alata za obradu informacija “Učitavanje podataka iz tabelarnog dokumenta” za verziju 1C 8.3.


Jedna od glavnih baza podataka sa kojima 1C radi je lista proizvoda i usluga. Stoga, da bismo opisali proceduru učitavanja iz Excela, fokusirat ćemo se na primjer prijenosa ove određene vrste podataka.

  1. Vraćamo se na prozor za obradu. Pošto ćemo učitati asortiman proizvoda, prekidač u parametru bi trebao biti u položaju "imenik". Međutim, on je standardno instaliran na ovaj način. Prebacite ga samo kada ćete prenijeti drugu vrstu podataka: tabelarni dio ili registar informacija. Sledeći na terenu "Pregled imenika" Kliknite na dugme sa trotočkom na njemu. Otvara se padajuća lista. U njemu trebamo odabrati stavku "nomenklatura".
  2. Nakon toga, rukovalac automatski postavlja polja koja program koristi u ovu vrstu priručnika. Odmah treba napomenuti da uopće nije potrebno popuniti sva polja.
  3. Sada ponovo otvorite prenosivi Excel dokument. Ako se naziv njegovih stupaca razlikuje od imena polja 1C direktorija koja sadrže odgovarajuće, tada morate preimenovati ove stupce u Excelu tako da se imena potpuno podudaraju. Ako tablica sadrži stupce za koje u direktoriju nema analoga, onda ih treba izbrisati. U našem slučaju, ove kolone jesu "Količina" I "Cijena". Takođe treba dodati da se redosled kolona u dokumentu mora striktno poklapati sa onim prikazanim u obradi. Ako nemate podatke za neke od kolona koje su prikazane u loaderu, onda ove kolone možete ostaviti prazne, ali se numeracija onih kolona u kojima postoje podaci moraju podudarati. Za praktičnost i brzinu uređivanja, možete koristiti posebnu Excel funkciju za brzo pomicanje stupaca na mjesta.

    Nakon što su ovi koraci završeni, kliknite na ikonu "Sačuvaj", koji je predstavljen ikonom koja prikazuje flopi disk u gornjem lijevom uglu prozora. Zatim zatvorite datoteku klikom na standardno dugme za zatvaranje.

  4. Vraćamo se na prozor za obradu 1C. Kliknite na dugme "otvoreno", koji je prikazan kao žuti folder.
  5. Otvara se prozor za otvaranje datoteke. Idemo u direktorij u kojem se nalazi Excel dokument koji nam je potreban. Zadani prekidač za prikaz datoteke je postavljen na ekstenziju mxl. Da bismo prikazali datoteku koja nam je potrebna, moramo je premjestiti na poziciju "Excel list". Nakon toga odaberite dokument koji želite prenijeti i kliknite na dugme "otvoreno".
  6. Sadržaj se zatim otvara u rukovaocu. Da biste provjerili da li su podaci ispravno popunjeni, kliknite na dugme "Kontrola punjenja".
  7. Kao što vidimo, alat za kontrolu punjenja nam govori da greške nisu pronađene.
  8. Sada idemo na karticu "Postavke". IN "polje za pretragu" Stavljamo kvačicu u red koji će biti jedinstven za sve nazive unesene u imenik nomenklature. Polja koja se za to najčešće koriste su "Šifra dobavljača" ili "ime". To se mora učiniti kako se prilikom dodavanja novih stavki na listu podaci ne bi duplicirali.
  9. Nakon što su svi podaci uneseni i podešavanja završena, možete nastaviti s direktnim učitavanjem informacija u direktorij. Da biste to učinili, kliknite na natpis "Učitaj podatke".
  10. Proces preuzimanja je u toku. Nakon završetka, možete otići do referentne knjige artikala i uvjeriti se da su tamo dodati svi potrebni podaci.

Pratili smo proceduru za dodavanje podataka u imenik nomenklature u programu 1C 8.3. Za druge direktorije i dokumente, preuzimanje će se vršiti po istom principu, ali s nekim nijansama koje korisnik može sam shvatiti. Također treba napomenuti da se postupak može razlikovati za različite učitavače trećih strana, ali opći pristup ostaje isti za sve: prvo, procesor učitava informacije iz datoteke u prozor gdje se uređuju, a tek onda se dodaju direktno u 1C bazu podataka.

U 1C postoje 2 načina rada sa MS Excel datotekama: preko COM objekta i ugrađenih 1C alata pomoću objekta dokumenta proračunske tablice. Pogledajmo obje ove metode detaljnije.

1. Radite kroz COM objekt.

Ova metoda zahtijeva instaliran MS Excel, a ako radite sa fajlom na serveru, onda MS Excel mora biti instaliran na serveru, ako je na klijentu, onda je potreban i MS Excel na strani klijenta.

Primjer (možete ga vidjeti u tekstualnom obliku na kraju članka):

Treba napomenuti da su svi objekti, metode i svojstva koje pruža COM objekat "Excel.Application" objekti, metode i svojstva VBA, programskog jezika MS Office.

Bilješka:

Ponekad je potrebno da radite sa postojećim šablonom. Zatim trebamo pohraniti ovaj predložak negdje tako da svi potrebni korisnici imaju pristup njemu. Međutim, postoji jednostavnije rješenje, sačuvati predložak kao binarni izgled.

2. Radite kroz tabelarni dokument 1C.

1C tabelarni dokument podržava MS Excel format za snimanje počevši od platforme 8, ali za otvaranje samo počevši od platforme 8.3.6. Štaviše, kada se otvore, svi listovi se učitavaju u jedan tabelarni dokument. Od verzije 8.3.10, prilikom učitavanja, različiti listovi se učitavaju kao različita područja.

Primjer unosa je vrlo jednostavan i ne zahtijeva posebnu pažnju:

Međutim, ovdje imamo problem. Kada snimate iz 1C u radnoj svesci Excel, prikaz naziva listova je onemogućen prema zadanim postavkama.

Ovaj problem se može riješiti na 2 načina, 1 - u samoj knjizi, omogućite prikaz listova u postavkama (neće svi korisnici pristati na to), 2 - to uradite preko COM objekta (opet nam treba instaliran MS Excel ).

Nakon ovog malog dodatka, oznake listova će biti vidljive u MS Excel datoteci.

Čitanje MS Excel-a nije tako lak zadatak, jer je metoda čitanja dostupna samo na serveru ili debelom klijentu. Da bismo to uradili, moramo prenijeti MS Excel datoteku na server.

&OnClient

Procedura CreateDocument()

Izuzetak

EndAttempt;

Knjiga = Excel.WorkBooks.Add(); //Kreirajte novu MS Excel radnu knjigu

List = Book.WorkSheets.Add(); //Dodaj list

Sheet.Name = "Primjer iz 1C"; //Podesite ime lista

Sheet.Cells(1,1).Value = " Kreirajmo formulu";!}

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

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

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

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

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

Book.Close();

Kraj procedure

&Na serveru

Funkcija GetLayoutServer()

Vrati FormAttributesValue("Object").GetLayout("TemplateForUpload"); //Na ovaj način dobijamo izgled eksterne obrade;

EndFunction

&OnClient

Procedura Rad()

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

Izuzetak

Report("Pokušaj povezivanja Excel komponente je bio neuspešan. Excel možda nije instaliran na ovom računaru!");

EndAttempt;

Layout = GetLayoutServer();

Layout.Write(TemporaryFileName);

Imate li pitanja ili vam je potrebna pomoć konsultanta?

Knjiga = Excel.WorkBooks.Open(TemporaryFileName);

SheetTemplate = Book.WorkSheets(1);

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

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

SheetTemplate.NumberFormat = "dd/mm/yy;@"; // Dajte format datuma, ovaj format je dobijen snimanjem makroa u MS Excel

SheetTemplate.Columns("B:B").EntireColumn.AutoFit; // Proširite kolonu tako da datum tačno odgovara

Book.SaveAs(FileName);

Book.Close();

Kraj procedure

&OnClient

Kraj procedure

&OnClient

Procedura WriteTabularDocument()

TabularDocument = Novi TabularDocument();

TabularDocument.Area("R1C1").Text = "Primjer zapisa u MS Excel-u iz 1C";

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

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

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

Excel.Visible = 0;

Excel.ActiveWindow.DisplayWorkbookTabs = 1;

Excel.ActiveWindow.TabRatio = 0,6;

Excel.ActiveWorkbook.Save();

Excel.Application.Quit()

Kraj procedure

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

Adresa=PlaceInTemporaryStorage(BinaryData,ThisForm.UniqueIdentifier);

TabularDocument = UploadOnServer(Adresa);

TabularDocument.Show();

Kraj procedure

&Na serveru

Funkcija UploadOnServer(Adresa)

TemporaryFileName = GetTemporaryFileName("xlsx");

FileData = GetFromTemporaryStorage(Adresa);

FileData.Write(TemporaryFileName);

TabularDocument = Novi TabularDocument();

return TabularDocument;

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: