1c SQL tablica. Struktura skladištenja baze podataka (upravljani obrasci). Razlike iz postojećih implementacija

1C platforma je alat na visokoj razini za rad s bazama podataka. Općenito, programer ne mora razmišljati o tome što i kako se to događa na strani DBMS-a, budući da je platforma samo odlučuje koliko će stvoriti tablice i koja će polja biti u njima.

Međutim, u velikim projektima postoji potreba za izravno raditi s podacima, na primjer, analizirati informacije od strane trećih strana znači ili, kao u mom slučaju, integracija baze podataka s vanjskim aplikacijama. U takvoj situaciji potrebno je imati ideju o tome koja polja fizičkih tablica traže informacije koje su im potrebne.

Samo za takav slučaj namijenjenu ugrađenu funkciju Temeljenu strukturnu kuću ()Vraćanje svih potrebnih podataka u obliku tablice vrijednosti. Štoviše, neki detalji (polja i indeksi) sami tablice su tablice vrijednosti.

S jedne strane, svi podaci u jednoj strukturi su prikladni, ali, s druge strane, postoje dodatne poteškoće s prijenosom ove tablice na klijenta (način preuzimanja (), nažalost, ne učitava ugrižene tablice). S obzirom na to, morate proći kroz sve rasporede tablice u ciklusu, koji pod velikim količinama dovodi do usporavanja rada.

U vezi s tim, najbolja opcija će se prenijeti na nazive funkcija metapodataka objekata kako bi se smanjila količina vraćenih podataka. Međutim, nisu svi DBMS tablice povezani s konfiguracijskim metapodacima, pa sam ostavio mogućnost da pregledam cijeli popis.

Funkcionalna obrada

Kada aktivirate element stabla metapodataka, ispunite popis tablica, polja i indeksa. Sa dvostrukim klikom na korijen stabla, prikazuju se sve tablice, uključujući uslugu (ne preporučuje se, kao i količine podataka povećavaju potragu).

U tabličnim dijelovima, standardne naredbe za pretraživanje i izlaz rade.

Razlike iz postojećih implementacija

Na primjer, postoji nekoliko sličnih publikacija i. Međutim, njihove neugodnosti je odsutnost stabla metapodataka, zbog čega je teško navigirati. Pretraživanje se također provodi po imenu tablica i polja u bazi podataka, a ne obrnuto.

Najbliže funkcionalnosti autorskoj publikaciji (). Nasuprot tome, ova obrada sadrži najpotpunije stablo metapodaci (razmjena planova, konstanti, dokumenti dnevnici, itd.). Povrh togastruktura podataka je jasnije prikazana: popis tablica objekta metapodataka, popis polja i popis indeksa prikazani su u odvojenim tabularnim dijelovima.

UPD-2018-01-06 (v1.3). Ispravljena je pogreška koja se pojavljuje u načinu kompatibilnosti 8.3.7 i više (ponašanje platforme).

UPD-2012-08-17 (v1.2). Patch se izrađuje za ispravnu obradu regulatornih zadataka, ispravljena je stavka izrade planova obračuna, ponašanje prilikom prebacivanja vrste strukture u konfiguraciji korijena.

p.s. Neki poslodavci prilikom primanja radova postavljaju pitanje o broju fizičkih i virtualnih tablica za registrirane. Bilo bi lijepo znati odgovore na ova pitanja, osobito od ove razine je 1c: profesionalni. Ako želite ne samo da biste saznali ovaj odgovor, ali i "dodirnite" ove tablice, onda je ova obrada za vas!

Struktura u programskom jeziku 1c 8,3 i 8,2 - skup "ključnih" i "vrijednosti" parova. Polje "Ključno" ima tip niza, "vrijednost" može uzeti bilo koju vrstu podataka. Obično se koristi za skladištenje i prijenos između postupaka za skup svih parametara.

Struktura u programskom jeziku 1c može se stvoriti na dva načina koristeći novi dizajn.

Prvi način:

Struktura \u003d nova struktura;
Struktura. Držati ("keypararameter1", "vrijednosti parametra br. 1");
Struktura. Držati ("keyaparatmer2", "vrijednosti parametra br. 2");

Drugi način:

Struktura \u003d nova struktura ("keyparameter1, keyaparat2", "vrijednosti parametara br. 1", "vrijednosti parametara br. 2");

Obje metode će stvoriti strukturu koja se može vidjeti na screenshotu iz ispravljanja pogrešaka:

Nabavite 267 video tutoriali za 1C besplatno:

Promjena

Možete dodati ili promijeniti strukturu pomoću metode "Paste ()".

Struktura. Držati ("ime wniscu", besmisleno);

Ako želite promijeniti vrijednost stare ključeve, unesite njegovo ime. Ako dodate novi ključ, dodajte jedinstveno ime u odnosu na sve ključeve strukture.

Da biste izbrisali element za prikupljanje, potrebno je koristiti metodu brisanja gdje prenijeti naziv ključa:

Struktura. Puštanje ("ime wniscu");

Također je moguće očistiti sve predmete zbirke:

Struktura. Zadovoljiti ();

Zaobilazeći strukturu

Da biste prošli kroz zbirku strukture, morate koristiti dizajn "za svaku tipku iz ciklusne strukture".

Na primjer:

Za svaku tipku iz strukture ciklusa
...... // proces, na primjer, promijenite vrijednosti
Endcycle;

Svaki će se ciklus vidjeti da će sljedeća polja biti dostupna:

Podaci koji definiraju logiku funkcioniranja sustava na temelju 1C: poduzeća pripadaju informacijskoj bazi. Skladištenje informacijske baze provodi se u bazi podataka sa skupom tablica, za koji 1c: poduzeće 8.1 može koristiti jedan od četiri sustava za upravljanje bazom podataka (DBMS):
Ugrađenu 1c: poduzeće 8.1 (opcija datoteke informacijske baze). U ovom slučaju, sve podatke o informacijama baze podataka pohranjuju se u datoteku s imenom 1cv8.1cd. Ova datoteka ima binarni format i u biti je baza podataka za ugrađenu 1C: Enterprise 8.1 DBMS.
* Microsoft SQL Server (Verzija informacijske baze klijenta). Svi podaci o bazi podataka informacija pohranjuju se u Microsoft SQL Server baze podataka.
* Postgresql (Verzija informacijske baze klijenta). Svi podaci o podacima baze podataka pohranjeni su u postgresQL bazi podataka.
* IBM DB2. (Verzija informacijske baze klijenta). Svi podaci o bazi podataka informacija pohranjuju se u IBM DB2 bazu podataka.

Na razini objekata baze podataka (tablice, polja, indeksi, itd.) Kao datoteku tako i klijent-poslužiteljska verzija informacijske baze ima sličan format (koje karakteriziraju beznačajni dijelovi). Neke informacije o ovom formatu sadržane su u nastavku.

Cijela informativna baza podnosi se u bazi podataka u obliku skupa tablica. Među njima postoji nekoliko tablica koje su nužno prisutne u prikazu bilo koje baze podataka:

* Config - Glavna konfiguracija informacijske baze. Ova konfiguracija odgovara stvarnoj strukturi podataka i koristi se 1c: poduzeće 8.0 u načinu poduzeća.
* Configssave. - Konfiguracija Uređena konfiguratorom. Konfiguracija iz ConfigSave je ponovno napisana na config prilikom izvođenja "ažuriranja konfiguracije baze podataka" u konfiguratoru, i obrnuto - kada se pokrene u procednom konfiguratoru, "konfiguracija - konfiguracija baze podataka - povratak u konfiguraciju baze podataka".
* Datoteke. Sadrži informacije o uslugama, kao što je rad s pohranom konfiguracije.
* Param. Sadrži parametre informacijske baze. Među njima:
=> Popis korisnika baze podataka informacija.
=> Nacionalne postavke baze podataka.
=> Tablica sukladnosti objekata metapodataka i objekata baze podataka (tablice, polja, indeksi).
=> Neke druge informacije.
* _Yefoffset. - premještanje datuma u bazi podataka. Ova tablica se stvara samo kada koristite Microsoft SQL Server.
* DBSChema. Sadrži informacije o strukturi strukture baze podataka 1C: poduzeća i određuje druge objekte baze podataka koje koriste ova informacijska baza.

Na početku 1c: Društvo provjerava prisutnost navedenih tablica u informacijskoj bazi iu odsutnosti bilo kojeg od njih poruka "informacijska baza je uništena" izdaje se. Odsutnost svih navedenih tablica znači da je baza informacija prazna. U potonjem slučaju, ove tablice će se stvoriti.

Popis i struktura drugih tablica baze podataka određuje se specifičnom konfiguracijom, naime definiran u objektima metapodataka. Naziv svake tablice sastoji se od abecednog prefiksa i sljedeći broj iza nje. Prefiks određuje svrhu tablice, a broj omogućuje razlikovanje tablica istog odredišta vezanog uz različite objekte metapodataka. Ako se IBM DB2 koristi kao DBMS, tada opisana struktura nema tablice, već njihove aliases.

Ako konfiguracija definira barem jedan plan razmjene s zastavom "Distributed Information Base", stvorit će se sljedeće tablice:

* _ Conconfigchangerec. - Tablica registracije promjena u objektima konfiguracije.
* _ Conconfigchangerec_extProps. - Tablica naziva datoteka izmijenjenih vanjskih svojstava konfiguracijskih objekata.

U nastavku su navedeni sljedeći objekti metapodataka koji mogu odgovarati određenim tablicama.

* Konstante
=> _Consts sadrži trenutne vrijednosti svih konstanti definiranih u konfiguraciji.
=> _Constschangerec - promijenite stalnu konstantu tablice. Stvara se ako barem jedna konstanta sudjeluje u barem jednom planu razmjene.
* Razmjena planova
=> _Čvor. - Tablica za razmjenu plana.
=> _Čvor. _Vt. - Tablica dio plana razmjene kreira se za svaki tablični dio.
* Referentne knjige
=> _Reference - Referentna knjiga.
=> _Reference _Vt. - Tablica dijelova referentne knjige - za svaki tablični dio.
=> _Referencechangerec. - Tablica registracije referentnih promjena poziva. Stvara se ako imenik sudjeluje najmanje jedan plan razmjene.
* Dokumentacija
=> _Dokument - Tablica dokumenata za svaki drugi dokument metapodataka ".
=> _Dokument _Vt. - Tablica dio dokumenta - za svaki tablični dio svakog dokumenta.
=> _Documentchangerec. - Tablica registracije promjena u "dokument" tip metapodataka objekta. Stvoren je za svaku vrstu Metapodaci tipa "dokumenta" ako sudjeluje u barem jednom planu razmjene.
* Sekvence dokumenata
=> _Slijed - Tablica registracije dokumenata - za svaki slijed.
=> _000Bondryry - Tablica granica sekvence - za svaki slijed.
=> _Lenceshangerec. - Tablica registracije promjena u nizu. Stvara se za svaki niz koji sudjeluje u barem jednom planu razmjene.
* Dokument dnevnike.
=> _Documentjournal - Za svaki dnevnik dokumenata kreiran je tablica dnevnika dokumenata.
* Naenferacije
=> _Num - Tablica unosa je jedan za svaki popis.
* Značajke karakteristika
=> _Chrc. - Osnovna tablica plana karakteristike.
=> _Chrc. _Vt. - Tabsal dio vrste karakteristika - za svaki tablični dio.
=> _Chrcchangerec. - Tablica registracije promjena u planu karakteristika. Stvara se ako plan karakteristike sudjeluje u barem jednom planu razmjene.
* Planovi računa
=> _Acc. - osnovni tablica tablica.
=> _Acc. _Protvorite - Tablica vrsta plana subkonto računa, stvoren je za plan računa u slučaju da je maksimalni broj podconto veći od nule.
=> _Acc. _Vt. - Stolni dio plana računa kreira se za svaki tablični dio plana računa.
=> _Accchangerec. - Tablica registracije promjena u planu računa. Stvara se ako plan računa sudjeluje barem jedan plan razmjene.
* Planovi za izračun
=> _Calckind. - Osnovna tablica plana obračuna.
=> _Calckind. _Baseck je tablica osnovnih vrsta izračuna, ona je stvorena za plan izračuna vrsta u slučaju da njegova "ovisnost o bazi" ima vrijednost osim "ne ovisi".
=> _Calckind. _Displacedck - tablica raseljenih vrsta izračuna, stvorena je za plan izračuna vrsta u slučaju da ima "koristi razdoblje djelovanja".
=> _Calckind. _Leadangck - tablica vodećih vrsta izračuna - za svaki plan izračuna vrsta.
=> _Calckinddn. - pomoćna tablica za redoslijed raseljavanja, stvoren je ako je plan vrste izračuna postavljen na "koristi razdoblje djelovanja".
=> _Calckind. _Vt. - Stvoren je dio plana kalkulacije vrste za svaki tablični dio.
=> _Calckindchangerec. - Tablica registracije promjena u planu vrsta izračuna. Stvara se ako plan za vrste sudjeluje u barem jednom planu razmjene.
* Informacijske registre
=> _Inforeg. - Tablica popisa podataka.
=> _Inforegchangerec. - Tablica registracije promjena u Informacijskom registru. Stvara se ako registar informaticije sudjeluje najmanje jedan plan razmjene.
* Registri akumulacije
=> _Accumreg - Tablica kretanja registra akumulacije.
=> _Accumregtotals. - Tablica ishoda registra akumulacije, ako registar podržava ostatke.
=> _AccumregTurnari - Tablica registra za prikupljanje, ako se registar podržava.
=> _Accumregchangerec. - Tablica registracije promjena u registru akumulacije. Stvara se ako registar akumulacije sudjeluje u barem jednom planu razmjene.
=> _Accumregoptions - tablica postavki pohrane za pohranu registrira jedan na sve registre akumulacije.
* Računovodstvene registre
=> _Accntreg. - Tablica računovodstvenog registra kretanja.
=> _AccNtreged. - Stvorena je tablica vrijednosti subkonto računovodstvenog registra ako se odnosi na plan računa, koji ima maksimalni broj podconto više od nule.
=> _Acttl0. - Tablica ishoda na račun.
=> _Acttl. - gdje sam od 1 do maksimalnog broja subkonta. Tablica ishoda na račun s brojem vrsta subkonta jednaka i.
=> _Acttlc. - Tablica brzine okretaja između računa, samo za računovodstvenu registar podršku dopisivanje.
=> _Accntregchangerec. - Tablica registracije promjena računovodstvenog registra. Stvara se ako računovodstveni registar sudjeluje najmanje jedan plan razmjene.
=> _ACKNTREGOPSTIOPCIJE - Postavke spremnika u tablici Tablica za sve računovodstvene registre.
* Registri izračuna
=> _Calcreg - Tablica kretanja registra izračuna.
=> _Calcregactper - Tablica stvarnih razdoblja djelovanja za registar izračuna, ona se stvara ako registar izračuna ima zastavu "Akcijsko razdoblje".
=> _Calcregchangerec. - Tablica registracije promjena u registru obračuna. Stvoren za svaki registar izračuna koji sudjeluje barem u jednom planu razmjene.
=> _Calcregrekalc. - Tablica rekalkulacije registra za izračun nastaje za svaku rekalkulaciju.
=> _CalcregrecAlcchangerec. - Tablica registracije promjena u ponovno izračuna. Stvara se ako rekalkulacija sudjeluje barem u istom planu razmjene.
* Poslovni procesi
=> _Bproutepoin - Tablica mjesta poslovnog procesa za svaki poslovni proces.
=> _Poslovni proces - Tablica osnovnog poslovnog procesa.
=> _Poslovni proces _Vt. - tablični poslovni proces za svaki tablični dio.
=> _BusinessProcesschangerec. - Tablica registracije promjena poslovnih procesa. Stvara se za svaki poslovni proces koji sudjeluje najmanje jedan plan razmjene.
* Zadatke
=> _Zadatak. - glavni zadatak.
=> _Zadatak. _Vt. - Tablica dijelova zadatka za svaki tablični dio.
=> _Taskchangerec. - Upis tablice promjena u zadacima. Stvara se za svaki objekt tipa metapodataka "zadatak", koji sudjeluje u barem jednom planu razmjene.

Kada koristite IBM DB2, prefiksi tablice pseudonimi počinju ne od simbola podvlake, već odmah od subjekta.

Broj tih tablica ovisi o funkcionalnosti konfiguracije i može biti prilično velika. U normalnom načinu rada 1c: Društvo ne provjerava svoju prisutnost, kao i integritet i dosljednost podataka sadržanih u njima. Stoga je važno da je baza podataka u kojoj je informacijska baza od 1c: poduzeća 8.1, bila je zaštićena od neovlaštenog pristupa, a modifikacija je izvršena samo pomoću 1C: poduzeća. Da biste provjerili, morate koristiti značajku "Administration - testiranje i popraviti" ugrađene u konfigurator.

Također je važno da je izvršeno sigurnosno kopiranje i vraćanje baze podataka o bazi podataka. U tu svrhu preporučuje se korištenje alata za sigurnosno kopiranje baze podataka ugrađenih u korištene DBMS. Sigurnosno kopiranje verzije datoteke informacijske baze podataka može se izvršiti kopiranjem 1CV8.1CD datoteke.

Konfigurator ima posebnu značajku: administracija - istovariti informacijsku bazu. Uz to, možete istovariti u navedenu datoteku (datoteka za iskrcavanje) sve podatke vezane uz informacijsku bazu i više ne. Funkcija "Download Information Database" omogućuje preuzimanje trenutne informacije baze umjesto postojećeg preuzimanja svih podataka iz datoteke za iskrcavanje. Te se funkcije također mogu koristiti za izradu sigurnosne kopije podataka o bazi podataka u datoteci i na verziji klijenta-poslužitelja.