Conectarea o bază de date la altul folosind conexiunea com 1c 8

Conectarea o bază de date la altul folosind conexiunea com 1c 8

În procesul de lucru cu o singură bază de informații, există momente în care aveți nevoie pentru a prelua date dintr-o altă bază de date, și le utilizează pentru a crea și transporta documente. Pentru această platformă tehnologică 1C 8 utilizează un mecanism denumit COM compus 1C. Se poate spune că acest lucru se poate face cu ajutorul OLE. Este posibil, dar nu este absolut rațional, deoarece COM utilizează un modul de conectare externă, spre deosebire de aplicațiile de module convenționale, precum și viteza nu doar de mai sus, și este mult mai mare. Si cel mai important, nu creează o procese separate și probleme cu sesiuni de planau. Prin urmare, sugerăm în mod clar conexiunea COM.

De exemplu, avem nevoie de configurare „Salariul și managementul personalului“, conectați la o altă configurație, în care există documente camion scrisoare de trăsură, pentru a prelua o anumită perioadă de timp, cum ar fi detaliile șoferului și suma de plată. Pe această bază, să stabilească o bază de origine costum de documente sarcini de serviciu.

TablitsaZnacheny = New TablitsaZnacheny; // Se prepară un tabel de valori
TablitsaZnacheny. Kolonki.Dobavit ( "Name");
TablitsaZnacheny. Kolonki.Dobavit ( "sumă");

Path = «D: \ 1c_base \ Uchet»; // settings pentru a se conecta la OI
Utilizator = «admin»;
Parola = "159753";
V82 = New COMobekt ( «V82.ComConnector»); // Crearea unui obiect nou și conectați
StrokaSoedineniya = «Fișier =„»+ calea + ''; ' »+ utilizator +“ = USR „; = PWD ' "+ parola +"' „;
PodklyuchennayaBaza = V82. Conectează-te (StrokaSoedineniya); // PodklyuchennayaBaza - COM obiect cu care vom continua să lucreze

ZaprosCom = PodklyuchennayaBaza. newObject ( «cerere"); // Crearea unei cereri la baza de date conectat
ZaprosCom.Tekst = „SELECT
| skhPutevoyListGruzovogoAvtomobilya.Voditel,
| skhPutevoyListGruzovogoAvtomobilya.ItogOplata,
| DE LA
| Dokument.skhPutevoyListGruzovogoAvtomobilya AS skhPutevoyListGruzovogoAvtomobilya
| UNDE
| skhPutevoyListGruzovogoAvtomobilya.Data ÎNTRE Început și capăt
| Și skhPutevoyListGruzovogoAvtomobilya.PometkaUdaleniya = false „;

ZaprosCom. UstanovitParametr ( "The Beginning" DataNach.); // parametrii ustanvlivaem pentru interogarea. DataNach și DataKon în procesarea noastră formă.
ZaprosCom. UstanovitParametr ( "End" KonetsDnya (DataKon).);

Res = ZaprosCom. Run (). Selectați ();

In timp ce Rez.Sleduyuschy () // Bucla prin linie cerere ciclu și împinge masa de valoare.
NovayaStrTZ TablitsaZnacheniy.Dobavit = ();
NovayaStrTZ. Name = res. conducător auto;
NovayaStrTZ. Suma = Rez.ItogOplata;
KonetsTsikla;

TablitsaZnacheny. Reducerea ( "Nume" "Suma".); // deplasează valorile din tabel. Toate aceste manipulări pot fi făcute în cerere.
// Toate grup și sortare

Pentru fiecare rând în ciclu TablitsaZnacheny // Crearea unui nou document este deja în baza de date curentă și completați-l din tabelul de valori.
NovDok = Documente. SdelnyyNaryad. SozdatDokument ();
NovDok. = TekuschayaData Date ();

IspolnitelStroka = NovDok. Artisti. Adăugați ();
IspolnitelStroka. Employee = String. numele complet;
IspolnitelStroka. SummaKNachisleniyuRegl = String. sumă;
KonetsTsikla;

FormaDok = NovDok. PoluchitFormu (); // Ia forma și înregistra documentul în formă.
FormaDok. Deschideți ();
FormaDok. ZapisatVForme ();
FormaDok. Închide ();

Asta e tot. Acest mecanism este destul de simplu și convenabil.