Domov / Windows Lekcie / Verzia poľa externé zdroje údajov 1s. Externé zdroje údajov. Karta „Údaje“ formulára vlastností externého zdroja

Verzia poľa externé zdroje údajov 1s. Externé zdroje údajov. Karta „Údaje“ formulára vlastností externého zdroja

Pracujte s nimi v zoznamoch v režime 1C Enterprise.

V práci však často nastáva situácia, keď je časť údajov uložená niekde inde.

  • Internetový obchod (zvyčajne ukladá údaje do externej databázy MySQL/SQL)
  • Ďalšia základňa.

Na prácu s takýmito údajmi uloženými v iných databázach je potrebné vyvinúť špeciálne mechanizmy.

Vo verzii 1C 8.2.14 sa objavila nová tzv Externé zdroje 1C údaje, ktoré výrazne uľahčujú prácu programátora, pretože:

  • teraz nie je potrebné vytvárať špeciálne mechanizmy na získavanie údajov
  • k takýmto údajom má prístup
  • takéto údaje je možné zobraziť v zoznamoch 1C.
    • Externý zdroj údajov 1C - vonkajšia základňa SQL

      Povedzme, že máme databázu SQL, v ktorej sú uložené údaje, ktoré potrebujeme. Skúsme z neho čítať dáta pomocou mechanizmu 1C External Data Source.

      Pridajme externý zdroj údajov 1C. Musíte prejsť do konfigurátora, externé zdroje údajov sa nachádzajú v konfiguračnom okne, úplne dole v strome.

      1. Spojenie

      Pridajme nový externý dátový zdroj 1C, nazvime ho ľubovoľne.

      Databázu tvoria tabuľky. Musíme ich pridať do pridaného externého zdroja údajov. Kliknite naň pravým tlačidlom myši a vyberte položku Pridať tabuľku.

      Prvýkrát vás vyzve na zadanie pripájacieho reťazca. Môže byť zadaný manuálne alebo vytvorený, pre ktorý musíte kliknúť na tlačidlo „…“.

      Ako ovládač v našom konkrétnom prípade vyberieme "SQL Server"

      Vyplníme základné parametre pre pripojenie k SQL. Názov servera je možné zadať alebo vybrať zo zoznamu.

      1C sa pripojí k SQL a ponúkne výber konkrétnej databázy zo zoznamu.

      Potom 1C zobrazí zoznam tabuliek v tejto databáze a ich stĺpcov. Ak chcete vybrať požadované tabuľky, musíte začiarknuť políčka.

      Tabuľky a stĺpce budú pridané. Názvy budú rovnaké, ako sú definované vo vzdialenej databáze. V 1C ich môžete premenovať (vo vlastnostiach).

      Tu je príklad pridanej tabuľky:

      Tu je príklad pridaného stĺpca:

      Aby platforma 1C pracovala s externou tabuľkou rovnakým spôsobom ako s adresármi 1C, môžete v tabuľke zadať ďalšie parametre:

      • Vo vlastnosti Key Field zadajte jeden zo stĺpcov, ktorý bude poskytovať jedinečnú identifikáciu riadku; ak je jedinečnosť zabezpečená niekoľkými riadkami, potom túto metódu nefunguje (podobne ako pole Kód)
      • Vo vlastnosti Pole prezentácie zadajte jeden zo stĺpcov, ktorý bude poskytovať stručnú reprezentáciu riadku (podobne ako pole Názov)
      • Vo vlastnosti Typ údajov tabuľky zadajte Údaje objektu.

      2. Zobraziť

      Pripojenie k vzdialenej základni sa nevykoná automaticky. Ak sa chcete pripojiť, musíte vybrať štandardné menu.

      Vo vetve Standard sa nachádza špeciálny príkaz Správa externých zdrojov údajov, ktorý vám umožňuje zadať parametre pripojenia (špecifické pre režim 1C Enterprise) a vytvoriť pripojenie.

      Najprv musíte zadať parametre pre pripojenie k databáze.

      Keď ste vykonali nastavenia v konfigurátore, ako výsledok vám ukázal reťazec pripojenia. Znova si ho môžete pozrieť po opätovnom kliknutí na Pridať tabuľku v konfigurátore.

      Skopírujte reťazec pripojenia a zadajte ho v režime 1C Enterprise.

      Potom musíte vykonať skutočné pripojenie.

      Po vytvorení spojenia je možné pracovať so zoznamami.

      3. Použitie v jazyku 1C

      Spojenie je možné vykonať aj z programového kódu v jazyku 1C.

      Parametre pripojenia sú špecifikované nasledovne:
      ConnectionParameters = ExternalDataSources.SourceNameConfigurator.GetGeneralConnectionParameters();

      ConnectionParameters.AuthenticationStandard = True;
      ConnectionParameters.UserName = "sa";
      ConnectionParameters.Password = "heslo";
      ConnectionParameters.ConnectionString = “reťazec pripojenia z konfigurátora”;
      ConnectionParameters.DBMS = "MSSQLServer";

      ExternalDataSources.SourceNameConfigurator.SetGeneralConnectionParameters(ConnectionParameters);
      ExternalDataSources.SourceNameConfigurator.SetUserConnectionParameters(UserName(), Parameters);
      ExternalDataSources.SourceNameConfigurator.SetSessionConnectionParameters(Parameters);
      ExternalDataSources.SourceNameConfigurator.SetConnection();

      Údaje z databázy môžete vyhľadávať pomocou bežného súboru . Príklad textu dotazu pre externý zdroj OurExternalSource a tabuľky ExternalSource Table:

      VYBERTE SI
      ExternalSourceTable.FieldName
      OD
      ExternalDataSource.OurExternalSource.Table.ExternalSourceTable"

      Externý zdroj dát 1C - práca so súborom Excel

      Skúsme inú možnosť - prácu so súborom Excel cez externý zdroj údajov 1C.

      Vytvorme jednoduchý súbor Excel.

      Pridajme externý zdroj, ľubovoľne ho nazvime FileExcel. Pridajme k nej tabuľku „Sheet1$“. Ako môžete ľahko vidieť, toto je názov hárka v Exceli s pridaním symbolu „$“.

      Rovnako ako v prípade SQL, pridajme stĺpce. Môžu byť pridané ručne. Je dôležité zabezpečiť, aby sa typy stĺpcov, ktoré pridávate, zhodovali, inak sa môže neskôr zobraziť chyba, ako napríklad „Nesúlad typu údajov“.

      Pre stĺpec musíte zadať názov v 1C a názov v zdroji údajov.

      Existuje funkcia pre Excel (chyba ako „Vyžaduje sa príliš málo parametrov. 3“):

      • Ak prvý riadok excelovej tabuľky obsahuje názvy stĺpcov, musíte jednoducho uviesť názov tohto stĺpca, napríklad „Kód“.
      • V opačnom prípade musíte zadať celý názov s názvom tabuľky „Sheet1$.Code“, ale do parametrov pridať „HDR=NO;“.

      Parametre pripojenia pre súbor Excel vyzerajú takto:

      • súbory XLSX ( Office verzia 2007 a vyššie)
        Vodič=( Microsoft Excel Ovládač (*.xls, *.xlsx, *.xlsm, *.xlsb));DBQ=D:\FileExcel.xlsx;
      • XLS súbory (predtým)
        Driver=(Ovládač Microsoft Excel (*.xls)); DriverID=790; DBQ=D:\FileExcel.xls;
        Musíte zadať svoj vlastný názov a cestu k súboru.

Externé zdroje údajov 1C - relatívne nový objekt metadát 1C 8.3 a 8.2, s ktorým je možné pripojiť sa k externým zdrojom údajov 1C: SQL tabuľky, Excel, Access, FoxPro (dbf), ďalšia databáza 1C, Oracle, Paradox (db) , - a dokonca aj čítanie z jednoduché súbory txt/csv.

To dáva veľa príležitostí na prácu s inými systémami. Poďme sa na to pozrieť bližšie.

Nastavenie externých zdrojov údajov v 1C 8

Nastavenie externých zdrojov je individuálne pre každý typ systému. Ale spravidla je všeobecná časť nastavenia rovnaká - toto je nastavenie reťazca pripojenia:

Získajte 267 video lekcií na 1C zadarmo:

Ak je reťazec pripojenia zadaný správne, systém vás vyzve, aby ste vybrali požadovanú tabuľku z databázy. V dôsledku toho dostaneme hotovú tabuľku, v ktorej môžeme špecifikovať kľúčové pole (jedinečné pole) a pole prezentácie (ako sa záznam prejaví v 1C):

Používanie externých zdrojov údajov v 1C 8.3

Externé zdroje údajov v 1C možno použiť ako iné databázové tabuľky. Platforma im automaticky vygeneruje formulár, ak nie je zadaný. V dopytoch je možné použiť aj údaje z externých zdrojov.

Vo verzii platformy 8.3.5.1068 (a novšej) bolo možné pridávať, meniť a odstraňovať údaje v externých zdrojoch softvér 1C. Príklady tejto funkcie sú uvedené v tomto článku.

Aby bolo možné zaznamenávať do externých zdrojov, spoločnosť 1C pridala nové vlastnosti do dátových tabuliek a polí externých zdrojov:

  • Pre celý stôl - majetok Iba čítanie. ReadOnly = Pravda znamená, že zmena údajov v tejto tabuľke nie je možná;
  • Pre jednotlivé polia tabuľky - vlastnosti Iba čítanie, AllowNull A Vyplňte hodnotu:
    • ReadOnly = Pravda znamená, že zmena údajov v tomto poli nie je možná;
    • AllowNull = True znamená, že do tohto poľa možno zapísať hodnotu NULOVÝ;
    • Vyplňte hodnotu obsahuje predvolenú hodnotu tohto poľa (ak existuje).

Vy (pri manuálnom popise tabuliek) alebo platforma (pri vytváraní tabuliek pomocou návrhára) môžete tieto vlastnosti použiť nasledovne.

  • ReadOnly = Pravda nastaviť napríklad pre pohľady, tabuľky získané na základe výrazu (výsledok funkcie) a podobne. Údaje v takýchto tabuľkách nie je možné meniť;
  • ReadOnly = Pravdašpecifikujte pre polia, ktoré sa nastavujú automaticky ( AUTOMATICKÝ PRÍRASTOK), vypočítané polia a podobne. Údaje v týchto poliach nemožno zmeniť;
  • AllowNull = True nastaviť pre všetky polia okrem kľúčových polí a tých, ktoré sú opísané v externom zdroji ako NIE JE NULL;
  • Vyplňte hodnotu polia by sa mali nastaviť v prípade, keď externý zdroj špecifikuje štandardnú hodnotu tohto poľa (value DEFAULT).

Údaje v externých zdrojoch môžete pridávať, meniť a odstraňovať pomocou vstavaného jazyka alebo interaktívne. Vstavaný jazyk na to používa nasledujúce metódy správcu tabuliek:

  • CreateRecordSet()- pre neobjektové tabuľky;
  • Nová metóda CreateObject()- pre tabuľky objektov.

V súlade s tým objekty ExternalDataSourceTableRecordSet A ExternalDataSourceTableObject objavili sa nové metódy Napíšte () A Odstrániť ().

Pridávanie údajov

Keď pridáte údaje do externého zdroja, vytvoríte objekt (alebo množinu záznamov), nastavíte hodnoty polí a zapíšete. Existuje však niekoľko funkcií, o ktorých je užitočné vedieť.

Napríklad pri pokuse nastaviť hodnotu poľa, ktoré má ReadOnly = Pravda, bude vyvolaná chyba. A pri zápise priamo do databázy vo výraze VLOŽIŤ takéto polia budú preskočené. Ostatné polia sú vyplnené hodnotami, ktoré ste im priradili. Preto tie hodnoty Nulový a predvolené hodnoty musia byť k poliam priradené explicitne.

  • id(AllowNull = True);
  • názov(AllowNull = True);
mCharakteristic = ExternalDataSources.IM.Tables.shop_feature.CreateObject(); mCharacteristic.id = Kód; mCharacteristic.name = Meno; mCharakteristika.Napis();

Vykonanie výpisu Napíšte () spôsobí, že sa najskôr zavolá obsluha udalosti Pred nahrávaním, potom sa vykoná fyzický zápis do externej zdrojovej tabuľky ( VLOŽIŤ), potom sa zavolá obsluha udalosti Pri nahrávaní.

S kľúčovým poľom externej zdrojovej tabuľky môžete urobiť nasledovné. Ak je pole kľúča meniteľné, pred zápisom jeho hodnotu nastavíte „ručne“. Ak je zmena poľa kľúča zakázaná, platforma prijme kľúč nezávisle VLOŽIŤ alebo hneď potom. Pomocou tejto metódy môžete zasahovať do tohto procesu SetLinkNew() pred fyzickým záznamom (v obsluhe udalosti Pred nahrávaním) alebo bezprostredne po fyzickom zázname (v obsluhe udalosti Pri nahrávaní).

Zmena údajov

Keď sa údaje zmenia, hodnoty všetkých polí tabuľky, ktoré majú ReadOnly = False.

MFeature = ExternalDataSources.TableIm.shop_feature.FindByField("id",code); mObject = mCharakteristic.GetObject(); mObject.name = Meno; mObject.Write();

Ak potrebujete zaznamenať iba niektoré polia, môžete pomocou metód určiť ich zoznam priamo zo vstavaného jazyka SetWritableFields() A GetWrittenFields().

Odstraňujú sa údaje

Vymazaním údajov priamo vymažete riadok z databázovej tabuľky. V tomto prípade sa vyhľadávanie odkazov na objekt, ktorý sa má vymazávať, nevykoná. Ak je takáto funkcia potrebná, môžete si ju sami naprogramovať v obslužnom programe udalosti BeforeDelete().

MFeature = ExternalDataSources.TableIm.shop_feature.FindByField("id",Code); mObject = mCharakteristic.GetObject(); mObject.Delete();

Transakcie

Čítanie údajov z externých zdrojov, ako predtým, sa vykonáva mimo transakcie a pri zápise platforma otvára implicitnú transakciu. Súčasne môžete vykonávať čítanie aj zápis v explicitných transakciách pomocou objektových metód ExternalDataSourceManager:

  • StartTransaction();
  • CommitTransaction();
  • CancelTransaction().

Zámky

  • Auto;
  • Organizovaný;
  • Automaticky a kontrolovane.

ako aj vlastnosť externej zdrojovej tabuľky Úroveň izolácie transakcií:

Okrem toho môžete v metóde nezávisle nastaviť úroveň uzamknutia StartTransaction().

Do štandardného článku som pridal príklady) Ak budem mať viac času, pridám ďalšie príklady.

Vydanie 8.2.14.533 je konečne viac-menej stabilnou verziou 14. vydania platformy. Nakoniec sa naskytla príležitosť vyskúšať skvelú príležitosť – „externé zdroje údajov“.

Prečo? túto príležitosť vzbudzuje taký záujem? Každý, kto programoval v 1C a je celkom oboznámený s SQL a je aspoň všeobecne oboznámený s architektúrou a princípmi vývoja iných technologických platforiem pre obchodné aplikácie, vám s pevnou dôverou povie, čo sa mu na 1C najviac páči. Samozrejme, tvorca dotazov je najpohodlnejší a najpremyslenejší mechanizmus na písanie dotazov na získavanie údajov z relačných štruktúr, s akým som sa kedy osobne stretol. A teraz nám 1C dal takú skvelú príležitosť použiť ju nielen s 1C, ale aj s akýmikoľvek inými stolmi. Ide len o to, že tento „sud medu“ má veľa „múch“. Najprv prvé veci:

1) Nastavenie a používanie - bez „tancovania s tamburínou“ to nebude fungovať

A) Pridajte externý zdroj údajov – nezdá sa to zložité
b) zaškrtnite políčko „Vybrať zo zoznamu“ - povinné - je potrebné skontrolovať funkčnosť na začiatku a ušetrí vás zbytočných problémov
V)
(IMG:http://pics.livejournal.com/comol/pic/0000cr1r.png)
- nezabudnite kliknúť na "..." - pripojenie je ODBC. Nie OLEDB ako sme všetci zvyknutí, ale o level nižšie

Ale buď tu VEĽMI POZORNÝ.

Toto je ovládač ODBC - ak používate verziu klient-server, musí byť na serveri. Ak vyvíjate na jednom systéme, a pracovná verzia na druhej strane (ako to zvyčajne býva) sa uistite, že vás nečakajú žiadne prekvapenia. Zvláštne odporúčanie, ale vyberte si najstarší alebo najbežnejší ovládač, ak vám nejde o rýchlosť a nemienite ísť nad rámec možností štandardu SQL92. Toto vám poskytne lepšia kompatibilita. Napríklad pre SQL Server 2008 najlepší vodič bude existovať SQL Server Native Client 11, ale odporúčam zvoliť iba SQL Server, inak bude musieť byť tento veľmi natívny klient nainštalovaný buď na server alebo na všetky klientske počítače (ak používate verziu súboru), a veľa to nedá. prínos pre jednoduché úlohy.

E) Štandardné dialógové okná výberu servera

G) Vyberte tabuľku a podrobnosti... skvelá príležitosť - môžete ju okamžite premenovať, ako chcete (a podrobnosti tiež), a vo vlastnostiach uvidíte názvy polí zdroja údajov

Z) Teraz to spustíš, otvoríš návrhára dotazov - hlúpo vyberieš všetky záznamy z tabuľky a OPA - chyba. Čo robiť? Ak máte spravované rozhranie, pozrite sa do servisného menu a ak bežné...
Osobne som použil tento kód:

Parametre = ExternalDataSources.DAX.GetGeneralConnectionParameters();
Parameters.AuthenticationStandard = True;
Parameters.UserName = "sa";
Parameters.Password = "pas";
Parameters.ConnectionString = "DRIVER=(SQL Server);SERVER=servet;UID=sa;PWD=;DATABASE=database";
Parametre.DBMS = "MSSQLServer";

ExternalDataSources.DAX.SetCommonConnectionParameters(Parameters);
ExternalDataSources.DAX.SetUserConnectionParameters(UserName(), Parameters);
ExternalDataSources.DAX.SetSessionConnectionParameters(Parameters);

ExternalDataSources.DAX.SetConnection();

Niektoré kúsky možno nie sú potrebné, ale ide to. Musíte spustiť kód RAZ. Potom sa bude normálne spájať... samozrejme mystika - prečo to bolo potrebné, nie je jasné...

2) Zdroje údajov len na čítanie
Áno, zázraky sa nedejú... ale niekedy to tak chceš...

3) NEMÔŽU BYŤ POUŽÍVANÉ SPOLU S INTERNÝMI ZDROJMI ÚDAJOV
Mňa osobne táto skutočnosť na mieste zabila.

Ako to môže byť... na čo sme čakali a už sme si predstavovali a oblizovali si pery o tom, ako teraz spojíme naše údaje s 1C v jednej žiadosti, zbalíme - zoskupíme, vložíme do správy, ale to nie je ono prípad...

Ale to samozrejme nezastaví skúsených ľudí... aká myšlienka vám napadla? Správne - dočasné tabuľky:

4) NEDÁ SA POUŽÍVAŤ SPOLU S DOČASNÝMI ​​TABUĽKAMI

Ale to už nevyzerá ako technologické ťažkosti, ale vyzerá to v mnohom ako to, čo chcú, aby sme urobili, „aby sa život nezdal ako raj“ (IMG:).

5) Dá sa použiť iba v pripojeniach ACS

Pre tých, ktorí nevedia, je to v ACS na karte „Odkazy na množinu údajov“. Používate ich často? Pohodlne? Zrejme nás chcú prinútiť, aby sme ich používali častejšie. Existuje iba stĺpec „Podmienka komunikácie“ a „Parameter komunikácie“. Nenašiel som príklad ich použitia v žiadnej štandardnej konfigurácii a akosi nie je všetko transparentné v dokumentácii a ani v práci Khrustaleva. Môže mi niekto vysvetliť, ako funguje "podmienka pripojenia". Ak tam napíšete Source Attributes = Receiver Attributes, nefunguje to. Samozrejme, podmienku je možné zapísať do poľa „Výraz“ - vo väčšine prípadov to stačí... ale nejako to nejde veľmi ľahko.

Celkovo bol tento problém predtým vyriešený niekde takto:

Funkcia InitializeDataSource()

DateStart = SettingsComposer.Settings.DataParameters.Items.Value;
DataCon = SettingsBuilder.Settings.DataParameters.Items.Value;
Ak DataCon > "20100101" Potom
DataCon = "20100101";
koniec Ak;

CN = New QualifiersNumbers(15,2);
KS = NewStringQualifiers(255);

Číslo poľa = Nové pole ();
ArrayNumber.Add(Type("Číslo"));

ArrayString = Nové pole ();
ArrayString.Add(Type("String"));

ArrayData = New Array();
ArrayDate.Add(Type("Dátum"));

//V tabuľke vyplníme účtovný náklad
TypeNumber = New DescriptionTypes(ArrayNumber, CN);
TypeString = New TypeDescription(ArrayString, KS);
TypeDate = New TypeDescription(ArrayDate);

//tabuľka na načítanie údajov z SQL
TZ = New ValueTable();
TK.Columns.Add("NomenclatureCode", TypeString);
TK.Columns.Add("Qnty", TypeNumber);
TK.Columns.Add("Obdobie", DateType);

TK.Indices.Add("Obdobie");

//Pripojenie k SQL
Reťazec pripojenia = "Poskytovateľ=SQLOLEDB.1;Pretrvávajúce informácie o zabezpečení=Pravda;ID používateľa=sa;Pwd=;Zdroj údajov=;Použiť postup na prípravu=1;Automatický preklad=True;Veľkosť paketu=4096;ID pracovnej stanice=;Použiť Encryption for Data=False;Tag s porovnávaním stĺpcov, keď je to možné=False;Initial Catalog=Reports“;
Connection = New COMObject("ADODB.Connection");
Príkaz = New COMObject("ADODB.Command");
RecordSet = Nový COMObject("ADODB.RecordSet");
Dátum = "";
Pokus
Connection.Open(AbbrLP(ConnectionString));
Command.ActiveConnection = Pripojenie;
Command.CommandText = "Vyberte * z PH, kde bodka >= "" + String(Format(DateStart, "DF=yyyyMMdd")) + "" a obdobie RecordSet = Command.Execute();
RecordSet.MoveFirst();
Výnimka
Vrátenie technických špecifikácií;
EndPokus;

Kým RecordSet.EOF = False Loop
Riadok = TK.Add();
Row.NomenclatureCode = RecordSet.Fields(RecordSet.Fields.Item(1).Name).Value;
Row.Qnty = RecordSet.Fields(RecordSet.Fields.Item(12).Name).Value;
Row.Period = RecordSet.Fields(RecordSet.Fields.Item(13).Name).Value;
RecordSet.MoveNext();
EndCycle;

Požiadavka = Nová požiadavka();
VrTable = New TemporaryTableManager();
Query.SetParameter("vrDataTable", TK);
Query.SetParameter("Dátum začiatku", Dátum začiatku);
Request.SetParameter("DataCon", DateCon);
Query.Text = "VYBRAŤ
| vrDataTable.NomenclatureCode,
| vrDataTable.Qnty,
| vrDataTable.Period
|Umiestnite tabuľku údajov
|OD
| &vDataTable AKO vrDataTable
| KDE
| vrDataTable.Period >= &DateStart
| A vrDataTable.Period Query.Execute();
TZ = Nedefinované;

Žiadosť = Nová požiadavka;
Query.TemporaryTableManager = VrTable;
Query.Text = "Tu je dotaz zahŕňajúci tabuľku premenných";

Vysledok = Query.Run();
Návratový výsledok;

EndFunction

ExternalSet = InitializeDataSource();
DataSet = new Structure();
DataSet.Insert("SQL tabuľka", ExternalSet);
TypicalReports.GenerateTypicalReport(ThisObject, Result, Decrypted Data, OutputToReportForm, DataSet);

V skutočnosti nie je veľa riadkov kódu a sú celkom štandardné... v tomto prípade môžete využiť plnú funkcionalitu návrhára dotazov a dať ACS iba funkciu DATA COMPOSITION

Ale určite to nevyzerá tak pekne... a zakaždým, keď potrebujete napísať kód na nahranie hodnôt do tabuľky a skontrolovať, či ste sa nepomýlili v názve detailov... a čo sme dostali v 1C vyzerá akosi polovičato. Ešte som sa nerozhodol, čo je pohodlnejšie na použitie. Vy rozhodujete a píšte o svojich rozhodnutiach a o tom, čo vás k nim podnietilo.

[pre zobrazenie odkazu sa musíte zaregistrovať]

Vo verzii 8 programu 1C vývojári pridali k funkcii možnosť pripojiť databázy tretích strán a získavať z nich informácie priamo z konfigurátora bez použitia COM pripojenia a OLE objekty. Táto funkcia je implementovaná pomocou nového objektu – „Externé zdroje údajov“

Externé zdroje údajov v 1C možno použiť rovnakým spôsobom ako ostatné tabuľky v systéme:

  1. Pri vytváraní správ a výpočtov pomocou systému na zostavovanie údajov (DCS);
  2. Získať odkazy na informácie uložené v zdrojoch tretích strán;
  3. Zmena údajov uložených v tabuľkách;
  4. Pri generovaní požiadaviek.

Je dôležité vedieť, že tento mechanizmus nie je určený na prácu s inými databázami 1C, keďže samotný operačný model 1C.Enterprise neznamená rušenie údajov na úrovni fyzických tabuliek.

Vytvorenie nového zdroja

Pridanie nového externého zdroja do programu prebieha v režime „Konfigurátor“. V konfiguračnom strome sa nachádza zodpovedajúca vetva (obr. 1)

Pri vytváraní nového zdroja budete musieť tvrdo pracovať, napriek tomu, že forma nového objektu má iba štyri záložky:

  1. Základné;
  2. údaje;
  3. funkcie;
  4. práva.

Prvá záložka má len jeden zaujímavý parameter – režim ovládania zámku. Ak sa nepýtate na otázky o blokovaní údajov v transakciách, o zložitosti paralelizácie informačné toky Toto nastavenie môžete ponechať v režime automatického uzamknutia. Takýto prístup však môže viesť k nadmerným obmedzeniam (napríklad, keď namiesto samostatného záznamu program uzamkne celú fyzickú tabuľku, čím zbaví ostatných používateľov možnosti s ňou pracovať).

Spravované zámky, na rozdiel od automatických, používajú transakčný mechanizmus zabudovaný v samotnom programe a nie v DBMS, čo umožňuje prenášať zachytenia tabuliek na oveľa efektívnejšie nízky level.

Nastavením tohto parametra na „Automaticky a spravované“ poskytujeme systému možnosť určiť, ktorý režim sa má použiť, priamym prístupom k podobnej vlastnosti pre každú konkrétnu tabuľku.

Karta „Údaje“ formulára vlastností externého zdroja

Tvar záložky „Údaje“ je znázornený na obr. 2

Ryža. 2

Tu môžeme pridať externé zdrojové tabuľky a kocky. Existujú dva spôsoby pridania tabuľky:

  1. Manuálne, potom sa pred nami otvorí formulár na pridanie tabuľky (obr. 3);

Ryža. 3

  1. Alebo vyberte zo zoznamu fyzických zdrojových tabuliek (obr. 4), v takom prípade sa pred nami otvorí špeciálny konštruktor.

Ryža. 4

Pozrime sa bližšie na formulár na pridanie tabuľky. Vlastnosť „Name“ sa používa na jedinečnú identifikáciu objektu v konfigurácii.

Porovnanie objektu metadát a konečnej fyzickej tabuľky prebieha prostredníctvom vlastnosti „Name in data source“ umiestnenej na karte „Advanced“ (obr. 5).

Ryža. 5

Ďalej musíme určiť typ tabuľky, respektíve jej objektivitu. Ak je možné dáta uložené v štruktúre jednoznačne identifikovať prostredníctvom ktoréhokoľvek jedného poľa, tabuľka môže byť objektová. Ak je individuálnosť záznamu určená množinou kľúčových polí, tabuľka musí mať neobjektový typ.

Pri porovnaní takýchto tabuliek s inými objektmi metadát možno uviesť nasledujúcu analógiu:

  • Tabuľky objektov sú referenčné knihy;
  • Neobjektové sú informačné registre.

Sada kľúčových polí je definovaná v nasledujúcom parametri formulára („Kľúčové polia“). Toto pole je povinné; ak ho necháte prázdne, uloženie konfigurácie zlyhá.

Ako je zrejmé z obr. 5, niektoré polia a tlačidlá formulára nie je možné upravovať:

  • Výraz v zdroji údajov;
  • Typ údajov tabuľky;
  • Prezentačné pole;
  • Zobraziť manipulátory.

Môžu byť použité až po vyplnení polí tabuľky, definovaní ich typu a priradení identifikátorov k nim (obr. 6).

Ryža. 6

Tu by ste mali venovať pozornosť parametru „Allow Null“; ak je toto políčko začiarknuté, neodporúča sa používať takéto pole ako kľúč.

Staviteľ stola

Možno najdôležitejšie a zaujímavý bod pri práci s externými zdrojmi je vytvorenie pripájacieho reťazca. Jeho konštruktor sa otvorí, ak kliknete na tlačidlo s tromi bodkami vedľa parametra „Reťazec pripojenia“.

V prvom rade budeme vyzvaní, aby sme rozhodli o ovládači, ktorý sa použije na pripojenie (obr. 7)

Ryža. 7

Nesprávna definícia tohto parametra vám neumožní pripojiť sa k tretej strane informačnú základňu. Mali by ste tiež pochopiť, že nie všetky ovládače uvedené v rozbaľovacom zozname možno použiť na automatické generovanie reťazca pripojenia. Ak platforma vygeneruje chybu (obr. 8), potom bude potrebné zadať pripojovací reťazec manuálne.

Obr.8

Ryža. 9

Samotná linka je prísne regulovaná stavba.

Príklad reťazca pripojenia

Zvážte databázu tretej strany vytvorenú v Microsoft Access a nachádza sa v koreňovom adresári jednotky D. Na pripojenie tejto databázy musíme použiť príslušný ovládač, no jeho výber v konštruktore riadkov má za následok chybu Obr.8.

Parametre pripojenia si nastavíme sami.

Driver=(Microsoft Access Driver (*.mdb)) – takto vyzerá prvá časť riadku. V zložených zátvorkách sme definovali vodiča.

Pre Excel súbory bude vyzerať takto (Ovládač Microsoft Excel (*.xls)), pre súbory programu Excel vytvorené v kancelárii staršej ako 2003 bude riadok ovládača vyzerať takto (Ovládač Microsoft Excel (*.xls, *.xlsx, *.xlsm, * .xlsb)).

Oddelením tohto parametra od nasledujúceho čiarkou musíme zadať adresu nášho úložiska (v našom prípade DBQ=D:\Database1.mdb).

Pridaním týchto dvoch parametrov dostaneme Driver=(Microsoft Access Driver (*.mdb));DBQ=D:\Database1.mdb, zapísaním tohto parametra získame prístup k vnútorným štruktúram tejto databázy.

Pre objekt „Externý zdroj“ nestačí len vytvoriť ho v konfigurácii, ale musí byť pripojený aj v režime „Podniky“. Môžete to urobiť z ponuky „Všetky funkcie“->Externé zdroje. Keď prvýkrát vstúpime do našej tabuľky, musíme napísať rovnaký reťazec pripojenia už v režime "Enterprise".