Prijenos podataka između različitih konfiguracija 1c 8 2. Učitavanje direktorija iz XML-a

Više puta sam bio uključen u postavljanje informacija o proizvodima za web stranice, razvoj posebne obrade za učitavanje podataka u 1s iz datoteka narudžbi u Excel formatu, prenesenih podataka između 1C informacionih baza verzija 7.7 i 8 itd.

U nastojanju da smanje veličinu 1C baze podataka ili jednostavno sakriju neke podatke, korisnici prave ili kreiraju praznu bazu podataka i počinju računovodstvo „od nule“.

U novostvorenoj bazi podataka potrebno je izvršiti prijenos 1c direktorija(uz velike količine podataka ručno ih unositi jednostavno je nepraktično), kao što su nomenklatura (najvjerovatnije, zajedno sa cijenama), ugovorne strane (zajedno sa ugovorima), banke, bankovni računi, skladišta itd.

Kako prenijeti 1s podatke

Postoji nekoliko načina prijenos podataka 1s: obrada univerzalne razmjene podataka putem XML formata distribuira se na ITS diskove (po pravilu će takva obrada pomoći samo ako prijenos podataka 1s potrebno je izvršiti između identičnih konfiguracija, na primjer, između dvije 1C baze podataka: Trgovina i Skladište).

Postoji i specijalizovana 1C konfiguracija: Data Conversion, koja vam omogućava da kreirate tzv datoteka pravila prijenosa podataka, koji sadrži korespondenciju između izvorne konfiguracije i odredišnih konfiguracijskih objekata. Rad s ovom konfiguracijom zahtijeva ozbiljne kvalifikacije, tako da se neću zadržavati na tome detaljno.

Vrlo brzo (bukvalno u roku od 7-10 minuta) možete prenijeti bilo koji direktorij kopiranjem datoteka odgovarajućih tabela, na osnovu opisa konfiguracijske strukture (datoteka 1cv7.dd u direktoriju s bazom podataka). Ova metoda će raditi samo za verziju datoteke 1c baze podataka, samo za platformu 1c 7.7 i samo ako prijenos podataka 1s odvijaju između informacionih baza koje su po strukturi potpuno identične.

Izvrši prijenos imenika 1s 7.7 moguće korištenjem tranref.ert obrade. Ima vrlo jednostavan interfejs, tako da ga možete koristiti bez pomoći stručnjaka za 1C. Podaci se prenose putem tekstualne datoteke.

Ako govorimo o operacijama razmjene između konfiguracija verzije 1C 8 koje su iste po strukturi (kao npr. prijenos 1s 8 imenika, prijenos dokumenata 1s 8), koristite standardnu ​​obradu prijenosa podataka ("Usluga" - " Prijenos podataka u identičnu konfiguraciju").

Gotovo svaki 1C stručnjak može napisati obradu za učitavanje i istovar bilo kojih podataka između bilo koje 1C konfiguracije bilo koje verzije. Plaćanjem razumnog iznosa dobit ćete rezultate u roku od 1-3 sata, ovisno o složenosti situacije, štedeći vrijeme i trud. Količina podataka u ovom slučaju ne igra nikakvu ulogu.

Ponekad slučajno otkrijem da korisnici, u želji da uštede novac, pokušavaju ručno unijeti podatke u novostvorenu bazu podataka. Sve bi bilo u redu, ali broj elemenata direktorija prelazi nekoliko hiljada. Međutim, to ne vodi ničemu osim gubitka dragocjenog vremena i truda.

U toku svoje karijere više puta sam se bavio prijenos podataka 1s, te je bilo potrebno organizirati razmjenu podataka ne samo između baza podataka 1C: Enterprise. Podatke sam preuzimao iz programa Info-računovođa, iz fajlova u Excel formatu, tekstualnom formatu, DBF formatu itd., kao i korišćenjem poznate OLE tehnologije.

Prilikom prelaska s različitih programa na korištenje 1c konfiguracija, prijenos podataka se često izvodi na sljedeći način: podaci iz prethodnog programa se učitavaju u datoteku u Excel formatu, a zatim učitavaju u program 1c pomoću posebne obrade.

Rezultati

Napisao sam ovaj članak samo sa jednom svrhom: da vam ukratko ispričam o metodama razmjene podataka koji postoje u ovom trenutku, ali i da pokažem besmislenost ručnog unosa podataka.

Ispod je procijenjena cijena prijenosa podataka:

Svoju prijavu možete poslati koristeći obrazac ispod.

Pošaljite zahtjev

Pošaljite zahtjev

Jedan od osnovnih elemenata bilo koje 1C konfiguracije su direktoriji. Oni pohranjuju informacije koje se koriste u većini drugih objekata 1C aplikacije. Zato se prilikom razvoja ili nadogradnje bilo kojeg sistema na 1C platformi prvo dodaju i popunjavaju novi direktoriji. Svaki 1C programer bi trebao znati osnovna svojstva, funkcije i mogućnosti ovih konfiguracijskih objekata.

Struktura i funkcije direktorija u 1C 8.3

Glavna funkcija imenika je pohranjivanje i pružanje regulatornih i referentnih informacija. Računovodstvo u 1C sistemima se vrši u kontekstu imenika: Nomenklatura, Klijenti i dr.

Programeri razlikuju posebnu vrstu direktorija - klasifikatore. To uključuje informacije koje je, na primjer, odobrila država:

  • Jedinice;
  • Valute;
  • Zemlje svijeta;
  • Profesije.

Po svojoj strukturi, imenici u 1C programu su liste određenih podataka. Da biste se upoznali s postojećim direktorijima u 1C konfiguraciji, morate ga unijeti u načinu konfiguratora. U stablu konfiguratora pronađite granu “Directory” i proširite je.

Svaki od direktorija ima svoja svojstva koja su postavili programeri. Pogledajmo glavna svojstva koristeći direktorij “Currenci” kao primjer.

Kartica “Osnovno” sadrži informacije o nazivu direktorija i njegovom opisu. Sljedeći odjeljak, “Podsistemi”, odgovoran je za uključivanje direktorija u određeni podsistem.


Kartica Funkcionalne opcije definiše funkcionalnost pomoću referentne knjige. Kartica “Hijerarhija” vam omogućava da kreirate ugniježđene elemente direktorija. Hijerarhijski prikazi direktorija mogu biti izuzetno korisni.


Na kartici "Vlasnici" konfiguriran je mehanizam podređenosti. Ako je imenik podređen drugom, popunjavanje detalja "Vlasnik" je obavezno.

Kartica "Podaci" određuje koje informacije možete dodati u 1C direktorij. Na vrhu možete konfigurirati šifru i ime - jedan od standardnih detalja, u sredini - listu dodatnih detalja. Na dnu vidite tabelarne dijelove imenika.


Postavke numeriranja konfiguracijskih objekata u 1C omogućuju vam da kreirate jedinstveno numeriranje za elemente direktorija.


Kartica Forms je mjesto gdje programeri kreiraju interfejse koji će biti vidljivi korisnicima. Najčešći oblici su Element i Lista: ovako korisnici u 1C programu vide popis podataka direktorija i njegovih elemenata.


Pravilno postavljanje parametara na kartici „Polje unosa“ stvorit će najpogodnije radne uvjete za korisnike. Opcije brzog odabira/unosa niza/pretraživanja punog teksta pomoći će vam da pronađete stavku koja vam je potrebna. "Historija odabira kako unesete" će sačuvati prethodno korištene pozicije.


Odjeljak “Komande” prikazuje listu postojećih dugmadi koji pozivaju ovaj direktorij. U “Layouts” možete pronaći sve ispisne forme određenog konfiguracijskog objekta. Programer će uticati na "unos zasnovan na" u slučajevima kada se planira kreiranje drugih konfiguracionih objekata na osnovu elementa direktorijuma.


Pododjeljak “Prava” odražava informacije o tome koje uloge uključuju pristup direktoriju, uključujući popunjavanje direktorija, mijenjanje i čitanje. “Razmjena podataka” će vas obavijestiti u kojim planovima razmjene direktorij učestvuje. Posljednja kartica uključuje mogućnost ulaska u module za pisanje procedura i funkcija. Postoji i lista unaprijed definiranih vrijednosti direktorija kojima se može pristupiti direktno u kodu.


Nisu sve nekretnine potrebne. Neke kartice ostaju netaknute tokom cijelog vijeka trajanja softvera na 1C platformi.

Kako bismo olakšali kreiranje direktorija u 1C, napravimo novi konfiguracijski objekt ovog tipa.

Kreiranje i prijenos imenika u 1C 8.3

Koristeći netipičnu konfiguraciju kao primjer, kreirat ćemo i početi koristiti direktorij “Divisions” koji će pohranjivati ​​podatke o strukturi poduzeća. U konfiguratoru, u stablu konfiguracije, pronađite “Directories” i kliknite na dugme “Add”. Popunite polja:

  • Ime/sinonim. Prvi atribut je odgovoran za ime objekta u konfiguraciji, drugi – za ime u režimu preduzeća;
  • Prikaz objekta se koristi kada se otvara jedna stavka direktorija;
  • Prikaz liste se koristi kada se pregleda lista podataka direktorijuma;
  • Objašnjenje – pomoć za korisnike.


Zatim, moramo dodati novi direktorij u jedan od podsistema ako želimo da ga korisnici mogu vidjeti u sučelju. Otvorite karticu "Podsistemi" i potvrdite okvir pored već postojećeg podsistema "Općenito".


Naš novi direktorij će biti hijerarhijski, budući da se podjele mogu uklopiti jedna u drugu. U našem preduzeću nisu planirane grupe odeljenja, pa je izabran tip „Hijerarhija elemenata“. Nećemo ograničavati ugniježđenje podjela.


Pored standardnog kompleta, trebat će nam još nekoliko detalja i tabelarni dio za listu zaposlenih. Da biste to učinili, morate ih dodati na karticu "Podaci" u odgovarajućim odjeljcima.


Radi praktičnosti, potrebno je da dodate naše detalje u obrazac liste. Da biste to učinili, na kartici "Obrasci" kreirajte novi obrazac liste i postavite ga kao glavni. U dijaloškom okviru označite polja za sve detalje koji su nam potrebni. Također ćemo postaviti i oblik elementa kako bismo detalje rasporedili onim redoslijedom koji odgovara našim korisnicima.


Ovo dovršava kreiranje demo direktorija “Divisions”. Ažuriramo konfiguraciju i ponovo pokrećemo sistem u režimu preduzeća. U podsistemu „Općenito“ pojavio se funkcijski taster „Lista odeljenja“. Klikom na njega otvara se obrazac liste direktorija koji smo naveli sa mogućnošću dodavanja elemenata u njega.


Mnoge kompanije rade s nekoliko 1C baza podataka, tako da se programer može suočiti s prijenosom kreiranog direktorija u drugu bazu podataka. U tu svrhu, uz većinu konfiguracija, isporučuje se eksterna obrada - “Učitavanje i učitavanje XML podataka”. Ali prije nego što prenesete 1C 8.3 direktorije, morate pripremiti konfiguraciju prijema. U njemu treba kreirati sličan konfiguracijski objekt sa identičnim poljima i dijelovima tablice.

Prilikom otvaranja ove obrade potrebno je naznačiti koje objekte želimo prenijeti i odabrati datoteku. Zatim pokrenuto preuzimanje direktorija kreira XML datoteku u koju upisuje sve podatke.


Da biste učitali direktorije u drugu informacijsku bazu, morate ući u nju i otvoriti istu vanjsku obradu. Na drugoj kartici započnite preuzimanje. Ovo je ručni mehanizam, pa ako planirate redovno unositi nove elemente direktorija u jednu bazu podataka, onda je bolje organizirati razmjenu između baza podataka.

U zaključku, želio bih vas podsjetiti da će kreiranje direktorija u 1C 8.3 nakon puštanja sistema u rad uzrokovati probleme zbog potrebe za ekskluzivnim pristupom bazi podataka. Najsigurnije je ažurirati konfiguraciju na serveru.

Prijenos različitih podataka je vrlo značajna akcija u bilo kojem računovodstvenom sistemu na 1C platformi. Prije izvoza direktorija u drugu bazu podataka, potrebno je napraviti sigurnosnu kopiju, jer se učinjene promjene smatraju nepovratnim.

Najpopularniji i istovremeno prilično jednostavan način prijenosa direktorija u 1C 8.3 je obrada informacijskih podataka u XML obliku.

Da biste izvršili ovaj zadatak, morat ćete koristiti datoteku za obradu prijenosa/preuzimanja za 8.2 ili za 1C 8.3. Ova metoda je univerzalna i najoptimalnija, pogodna za gotovo svaku instaliranu konfiguraciju.

Učitavanje podataka

Da biste to učinili, prvo ćete morati otići na sučelje programa i izvršiti niz radnji:

1. Popunite polje „Ime datoteke“. Koristeći ovu putanju, naknadno će se kreirati datoteka s podacima za učitavanje u bazu podataka.

2. U oblasti tabele „Podaci za preuzimanje“ izaberite informacije iz direktorijuma koje želite da preuzmete iz postojeće baze podataka.

3. Nakon toga, kada su potrebni objekti selektovani, primenite selekciju na desnoj strani tabele.

4. Nakon završetka instalacije svih potrebnih postavki, izvezite direktorij.

Učitavanje podataka u direktorij

Da biste prenijeli direktorije na 1C, morat ćete izvršiti niz radnji:

1. Započnite obradu u bazi podataka u koju želite učitati informacijske podatke i koristite karticu “Učitaj”.

2. Zatim odaberite prethodno učitanu datoteku i koristite naredbu “Učitaj podatke”.

Nakon završetka ove radnje, migracija direktorija iz jedne baze podataka u drugu smatra se potpuno završenom.

Prilikom održavanja nekoliko radnih 1C baza podataka, ponekad postoji potreba za razmjenom podataka između njih. Postoje 2 načina za prijenos podataka:

Prijenos podataka korištenjem pravila razmjene i obrade „XML Data Exchange“. Exchange pravila se kreiraju pomoću konfiguracije 1C:Data Conversion.

Prijenos podataka između sličnih baza podataka korištenjem obrade “Učitavanje i učitavanje XML podataka”.
Razmotrimo drugu opciju, tj. učitavanje i učitavanje podataka iz/u konfiguracije koje sadrže iste (identične) objekte koji su nam potrebni. Za to ćemo koristiti eksternu obradu „Učitavanje i učitavanje XML podataka“, koju možete preuzeti ovdje.

Uvjet za korištenje ove obrade je sljedeći: Informacijska baza iz koje se preuzimaju podaci mora sadržavati iste objekte i sa istim detaljima (ime i tip podataka) kao u bazi podataka u koju se podaci učitavaju.

Razmotrimo primjer prijenosa podataka pomoću ove obrade. Pretpostavimo da trebate prenijeti dokumente „Dolazni nalog za plaćanje“ i „Odlazni nalog za plaćanje“. Rješenje ovog problema će biti sljedeće.

Otvaramo eksternu obradu “Učitavanje i učitavanje XML podataka” kroz glavni meni: Datoteka? Otvori... Na kartici “Upload” navodimo XML fajl u koji ćemo sačuvati podatke.

Zatim morate odrediti period za koji ćemo istovariti objekte podataka iz 1C baze podataka i same objekte. Dokumente koji su nam potrebni za otpremanje označavamo kvačicom u polju strukture konfiguracionog objekta u koloni „Podaci za otpremanje“. Ako otpremljeni dokumenti sadrže veze do elemenata direktorija koji nisu u nekoj drugoj konfiguraciji, onda ima smisla označiti kućice u stupcu “Ako je potrebno” tako da se i ti elementi učitavaju zajedno s dokumentima.

Sada u ovom koraku trebate odlučiti da li ćete učitati njihovo kretanje po registrima zajedno sa dokumentima ili prenijeti te dokumente u drugu bazu podataka? Za ponovno postavljanje učitanih dokumenata u drugu bazu podataka, možete koristiti obradu „Grupna obrada direktorija i dokumenata“. Ako se algoritmi obrade u ovim bazama podataka na neki način razlikuju, tada ne treba označiti potvrdni okvir pored „Prenesi sva njegova kretanja s dokumentom“.

To je sve, postavljanje upload-a je završeno, ovdje je sve jednostavno! Kliknite na dugme "Učitaj podatke" i pričekajte dok se podaci ne pohrane u XML datoteku. Za složenije istovare možete odrediti izbor za neopterećene objekte ne samo po periodu.

Nakon istovara, idite na drugu 1C bazu podataka i tamo otvorite istu obradu. Idite na karticu “Preuzimanje” i navedite ovdje istu XML datoteku u koju smo učitali podatke.

Na ovoj kartici označite okvir pored „Nastavi učitavanje objekata ako dođe do greške“ i kliknite na dugme „Učitaj podatke“. Ne razmatramo druge funkcije, na primjer, korištenje totala, iako ova funkcija može značajno ubrzati učitavanje objekata (zapise po registrima).

Vjerojatno se svaki stručnjak za 1C susreo s potrebom prijenosa podataka iz jedne baze podataka u drugu. U slučaju da su konfiguracije različite, morate napisati pravila konverzije podataka. Ova pravila se kreiraju u konfiguraciji 1C "Konverzija podataka".

Podaci se također mogu prenijeti pomoću . Mnoge 1C 8.3 konfiguracije imaju standardnu ​​funkcionalnost za postavljanje sinhronizacije podataka između različitih konfiguracija i besprijekornu integraciju sa 1C Document Flow.

Ali kada je potrebno prenijeti podatke između apsolutno identičnih konfiguracija, možete pojednostaviti svoj zadatak i koristiti standardnu ​​obradu za učitavanje i preuzimanje putem XML-a. Imajte na umu da ova metoda, poput konverzije podataka, uspoređuje objekte jedni s drugima pomoću jedinstvenog identifikatora (GUID), a ne po imenu.

Ovu obradu možete preuzeti na ITS disku, ili koristeći linkove:

Univerzalni je i pogodan za bilo koju konfiguraciju.

Razmotrimo primjer istovara direktorija "Nomenklatura" iz jedne baze podataka 1C 8.3 Računovodstvo 3.0 u drugu. Preduslov će biti odabir od strane roditelja (grupe) „Obrada drveta“.

Prijenos podataka iz 1C u XML

Idite na informacijsku bazu iz koje će se podaci preuzeti (izvor). Obavezno ih provjerite, uzimajući u obzir sve moguće uvjete kako biste izbjegli neželjene posljedice.

Otvorite obradu prijenosa i preuzimanja XML podataka (Ctrl+O).

Zanima nas kartica “Učitaj”. Prije svega navedite naziv datoteke u koju će podaci biti učitani i putanju za spremanje. U ovom slučaju, podaci se učitavaju „u datoteku na serveru“.

U zaglavlju obrade možete konfigurirati period za koji će se izvršiti odabir. Također, za periodične registre možete odrediti način primjene selekcije po periodu. Ako je potrebno učitati pokrete zajedno sa dokumentima, postavlja se odgovarajuća zastavica. U ovom slučaju preopterećujemo direktorij, tako da nema potrebe za konfiguracijom bilo čega u zaglavlju.

Pređimo na odabir podataka za učitavanje. U tabelarnom dijelu obrasca za obradu označite potvrdne okvire za konfiguracijske objekte koje trebate prenijeti.

Kolona “Učitaj ako je potrebno” znači da li je potrebno preopteretiti ovaj objekt ako je referenciran atributom direktorija koji preopterećujemo. Na primjer, pozicija stavke koju učitavate ima mjernu jedinicu koja nije u ciljnoj bazi podataka. Ako se označi zastavica u koloni “Učitaj ako je potrebno” nasuprot referentne knjige sa mjernim jedinicama, kreirat će se nova pozicija. U suprotnom, vrijednost atributa će biti “<Объект не найден>" i njegov jedinstveni identifikator.

U jednostavnom slučaju bez odabira, postavka preopterećenja stavke će izgledati ovako.

U ovom primjeru trebate odabrati samo stavke koje se nalaze u folderu „Obrada drveta“.

Slična obrada za 8.2 vam omogućava da postavite odabire za svaki konfiguracijski objekt u prikladnom obliku. U 8.3, nažalost, ne postoji takva funkcionalnost. Jedan izlaz u ovoj situaciji bio bi odabir potrebnih stavki na kartici "Dodatni objekti za istovar".

Ovdje možete dodati objekte ili ručno (dugme „Dodaj“) ili na zahtjev („Dodaj po zahtjevu...“). Ako ih ima veliki broj, druga opcija je poželjnija.

U ovom slučaju, zahtjev će biti sljedeći. Popunite parametre, popunite zahtjev nakon provjere podataka i kliknite na dugme “Odaberi rezultat”.

Nakon što ste naveli sve potrebne objekte i dodatne elemente za učitavanje, kliknite na dugme “Učitaj podatke”. Oni će završiti u XML datoteci, čije ime i putanju ste naveli ranije. Rezultati ove operacije će biti prikazani u porukama.

U ovom primjeru, bilo je potrebno istovariti samo 3 pozicije, ali pet je istovareno. To je zato što je postavljena zastavica nasuprot direktoriju “Nomenklatura” u koloni “Učitaj ako je potrebno”. Zajedno sa potrebnim pozicijama, njihovi roditelji su bili preopterećeni.

Učitavanje direktorija iz XML-a

Nakon uspješnog preuzimanja podataka iz izvorne konfiguracije u XML datoteku, otvorite odredišnu bazu podataka. Struktura objekata i njihovi detalji moraju odgovarati jedni drugima. U ovom slučaju, prijenos se vrši između dvije standardne konfiguracije 1C: Računovodstvo 3.0.

Otvorena obrada u bazi podataka prijemnika. Ova obrada se koristi i za učitavanje i za učitavanje podataka. Idite na karticu “Preuzimanje” i navedite putanju do XML datoteke u koju su podaci prethodno preuzeti. Nakon toga kliknite na dugme "Preuzmi podatke".

Rezultat preuzimanja će biti prikazan u porukama. U našem slučaju je sve prošlo kako treba.

Imenik „Nomenklatura“ u bazi podataka prijema nije popunjen. Sada ima pet elemenata: tri nomenklaturne pozicije i dvije grupe.