Darbs, izmantojot COM savienojumu, ir vieglāk, nekā jūs domājat. Trīs pīlāri darbam ar COM objektiem

Drukāt (Ctrl+P)

Viena no iespējām datu apmaiņai starp 1C datu bāzēm ir apmaiņa, izmantojot COM savienojumu. Izmantojot COM savienojumu, varat izveidot savienojumu no vienas 1C datu bāzes ar otru un lasīt vai rakstīt datus. Šo metodi var izmantot gan datu bāzu klienta-servera versijās, gan failu datu bāzēs. Šajā rakstā ir apskatīti šāda veida savienojumi platformā 8.3

com savienojums

Lietojumprogrammai 1C varat izveidot divu veidu COM objektus. Tie ir ole savienojumi V83.Pieteikums un com savienojumi V83.COM savienotājs . Gadījumā, ja V83.Pieteikums Tiek palaista gandrīz pilnvērtīga lietojumprogrammas 1C kopija. Lietošanas gadījumā V83.COM savienotājs Tiek palaista neliela servera daļa. Darbības ātrums šajā gadījumā ir lielāks, taču dažas funkcijas var nebūt pieejamas. Jo īpaši darbs ar formām un kopējiem moduļiem, kuriem nav iestatīts īpašums strādāt ar ārējiem savienojumiem. Lielākoties jums vajadzētu izmantot V83.COM savienotājs un tikai funkcionalitātes trūkuma gadījumā V83.Pieteikums. Darbības ātruma atšķirības var būt īpaši pamanāmas liela apjoma datu bāzēs. Izmantotajai platformai 8.2 V82.Application vai V82.COMConnector

Izveidojiet OLE savienojumu

Savienojums = jauns COMObject(“V83.Application” );

Izveidojiet COM savienojumu

Savienojums = jauns COMObject(“V83.COMConnector” );

Savienojuma virkne

//Klienta-servera opcijai
Savienojuma virkne= "Srvr = ""Servera nosaukums" ";Ref = " "Bāzes nosaukums" ;
//Failu režīma opcijai:
Savienojuma virkne= "Fails = ""PathKBase" “; Usr = Lietotājvārds; Pwd = parole”;
Mēģinājums
Savienojums = savienojums . Savienot(Savienojuma virkne) ;
Izņēmums
Ziņojums = New MessageToUser;
Ziņojums . Teksts = “Nevarēja izveidot savienojumu ar datu bāzi” + AprakstsKļūdas(); Ziņojums;
. Pārskats()

EndAttempt ;

Atvienošanās
Savienojums = Undefined ; V83.Pieteikums Objektam V83.COM savienotājs Savienojums ir jāpārtrauc, pretējā gadījumā paliks nepilnīga sesija, kas pēc tam būs manuāli jāizdzēš. Gadījumā, ja

savienojums tiek pārtraukts automātiski, kad tiek pabeigta savienojuma izveides procedūra, un ir vēl viens mazs punkts. Lietotājam, kuram tiek izveidots savienojums, tā iestatījumos ir jāatspējo izvēles rūtiņa “Pieprasīt apstiprinājumu, aizverot programmu”.

NewObject() metode

Lai izveidotu jaunu objektu, varat izmantot NewObject() metodi, piemēram: V83.COM savienotājs

Par PieprasītCOM = Savienojums. NewObject() ;
"Pieprasīt" PieprasītCOM TableCOM) ;
ArrayCOM = savienojums. NewObject ("Masīvs");

ViewCOM =Savienojums.JaunsObjekts

Par V83.Pieteikums

RequestOLE = Savienojums. NewObject(“ Pieprasīt ") ;
TableOLE = savienojums. Jauns objekts(TableCOM) ;
ArrayOLE = Connection.NewObject(“Masīvs” );
ViewCOM =Savienojums.JaunsObjekts(“UniqueIdentifier”, StringUID);

PieprasītCOM . Teksts ="IZVĒLIES
| Organizāciju amati, kods.
| Organizāciju amati.Nosaukums
|NO | Direktorija.Organizāciju pozīcijas
ORGANIZĀCIJAS AMATĀM”;

Rezultāts = PieprasītCOM. Palaist ();
Paraugs = Rezultāts. Izvēlieties () ;
Ardievu atlase. Nākamais()Cikls
EndCycle ;
Varat arī izmantot konfigurācijas objektu pārvaldniekus:
DirectoryCOM = savienojums. Katalogi. DirectoryName;
DokumentsCOM = Savienojums. Dokumenti. dokumenta nosaukums;
RegisterCOM = savienojums. Informācijas reģistri. ReģistrētiesNosaukums ;

Uzskaites saņemšana un salīdzināšana, izmantojot COM savienojumu

Lai salīdzinātu konfigurācijā definēto uzskaites elementu vērtības, šie elementi ir jāpārvērš vienā no primitīvajiem veidiem, kuru salīdzināšana ir vienkārša. Šādi veidi var būt gan ciparu, gan virknes tipi. Uzskaitījuma elementa vērtību var pārvērst par skaitlisko veidu, piemēram:

Enum vienums = Connection.Directories.Directory1.FindByCode(1).Props1;

PossibleValues = Enum Element.Metadata().Enum Values;

EnumerationElementNumber = IespējamāsVērtības.Indekss(IespējamāsVērtības.Atrast(Savienojums.XMLString(Uzskaitīšanas elements)));

Ja EnumerationItemNumber = 0, tad Report( “Uzskaitīšanas vērtība1”);

ElseIfEnumerationItemNumber = 1 Tad Pārskats ("Enum Value2");

endIf;

Objekta izgūšana, izmantojot COM, izmantojot identifikatoru

Izmantojot konfigurācijas objektu pārvaldniekus, mēs iegūstam com objektu, piemēram:
DokumentsCOM = Savienojums. Dokumenti. dokumenta nosaukums;

Tad mēs iegūstam unikālu identifikatora virkni:

StringUID =Savienojums.virkne ( DocumentCOM.UniqueIdentifier())

Identifikators = jauns U unikālaisIdentifier (StringUID);
AR linkByIdentifier = Dokumenti[Dokumenta nosaukums].GetLink(Identifier);

Ja jums ir jāatrod com objekts pēc dokumenta pēc identifikatora, jums jāraksta šādi:

WidCOM = Connection.NewObject(“UniqueIdentifier”, StringUID);
LinkByIdentifier = Connection.Documents[Dokumenta nosaukums].GetLink(TypeCOM);

Viena no iespējām datu apmaiņai starp 1C datu bāzēm ir apmaiņa, izmantojot COM savienojumu.

Izmantojot COM savienojumu, varat izveidot savienojumu no vienas 1C datu bāzes ar otru un lasīt vai rakstīt datus. Šo metodi var izmantot gan datu bāzu klienta-servera versijās, gan failu datu bāzēs. Šajā rakstā mēs aplūkosim šāda veida savienojuma piemērus. Piemēros izmantota platforma 8.2.

Lietojumprogrammai 1C varat izveidot divu veidu COM objektus. Šis V82.Pieteikums Un V82.COMConnector. Gadījumā, ja V82.Pieteikums Tiek palaista gandrīz pilnvērtīga lietojumprogrammas 1C kopija. lietošanas gadījumā V82.COMConnector Tiek palaista neliela servera daļa.
Darbības ātrums šajā gadījumā ir lielāks, taču dažas funkcijas var nebūt pieejamas. Jo īpaši darbs ar formām un kopējiem moduļiem, kuriem nav iestatīts īpašums strādāt ar ārējiem savienojumiem. Lielākoties jums vajadzētu izmantot V82.COMConnector un tikai funkcionalitātes trūkuma gadījumā V82.Pieteikums. Darbības ātruma atšķirības var būt īpaši pamanāmas liela apjoma datu bāzēs.

Tātad sāksim

  1. Izveidosim COM objektu
    • Lai izveidotu jaunu objektu, varat izmantot NewObject() metodi, piemēram: V82.Pieteikums Savienojums = New COMObject("V82.Application" );
    • Lai izveidotu jaunu objektu, varat izmantot NewObject() metodi, piemēram: V82.COMConnector Savienojums = jauns COMObject("V82.COMConnector" );
  2. Izveidosim savienojuma virkni
    • datu bāzes servera versijai ConnectionString = "Srvr = " "ServerName" ";Ref = " "Pamatnosaukums" ;
    • datu bāzes faila versijai ConnectionString = "File = " "PathKBase" "; Usr = lietotājvārds; Pwd = parole";
  3. Savienojuma izveide ar datu bāzi Mēģināt izveidot savienojumu = savienojums. Connect(ConnectionString) ;
  4. Izņēmuma ziņojums = New MessageToUser; Ziņa. Teksts = + ErrorDescription() ;

    Ziņa. Report() ; V82.Pieteikums Objektam V82.COMConnector EndAttempt ;

    Atvienošanās no datu bāzes

Savienojums = Undefined ;

Objektam savienojums tiek pārtraukts automātiski, kad tiek pabeigta savienojuma izveides procedūra, un ir vēl viens mazs punkts. Lietotājam, kuram tiek izveidots savienojums, tā iestatījumos ir jāatspējo izvēles rūtiņa “Pieprasīt apstiprinājumu, aizverot programmu”. Tagad saliksim visu kodu kopā Savienojums = New COMObject("V82.Application" ); //Savienojums = Jauns COMObject("V82.COMConnector"); ConnectionString = "Srvr = " "Serveris1C" ";Ref = " "MyBase" "; Usr = Petya; Pwd = 123" ;

//ConnectionString = "Fails = ""С:\MyBase""; Usr = Petya; Pwd = 123"; V82.Pieteikums Mēģināt izveidot savienojumu = savienojums. Connect(ConnectionString) ; V82.COMConnector metode tiek piemērota savienojumam. Pēc tam pieprasījums tiek apstrādāts, izmantojot standarta 1C rīkus. kodā tas izskatās šādi:

Pieprasījums = savienojums. NewObject("Pieprasījums" ); // Priekš V82.COMConnector Pieprasījums = savienojums. NewObject("Pieprasījums" ); // Priekš V82.Pieteikums Pieprasīt. Teksts = "ATLASĪT | Organizāciju amati, kods. | Organizāciju amati.Nosaukums|NO | Organizāciju amati AS Organizāciju amati";

Rezultāts = pieprasījums. Palaist (); Paraugs = Rezultāts. Izvēlieties() ; Ardievu atlase. Next() Loop EndLoop ; Versijai 1C: Enterprise 8.3 viss paliek nemainīgs, izņemot to, ka, veidojot COM objektus, ir jāizmanto "V83.COMConnector".


vai

"V83.Lietojumprogramma"

  1. Atslēgvārdi: COM, savienojums, ārējais, OLE, Automatizācija, Savienojums, ComConnector, Srvr

  2. Izmantojot 1C:Enterprise 8.0 COM savienojumus, lai piekļūtu datiem, salīdzinājumā ar automatizācijas servera izmantošanu ir šādas priekšrocības:
  3. Ātrāka savienojuma izveide, jo nav nepieciešams izveidot atsevišķu operētājsistēmas procesu, un visas darbības tiek veiktas zvanīšanas procesa ietvaros;

Ātrāka piekļuve 1C:Enterprise objektu īpašībām un metodēm, jo ​​piekļuves organizēšanai nav nepieciešama starpprocesu komunikācija;

  1. Mazāks operētājsistēmas resursu patēriņš.

  2. Kopumā darbs ar 1C:Enterprise 8.0, izmantojot COM savienojumu, ir līdzīgs darbam ar 1C:Enterprise servera automatizācijas režīmā. Galvenās atšķirības ir šādas:
  3. Automatizācijas servera gadījumā tiek palaista pilnvērtīga 1C:Enterprise 8.0 lietojumprogramma, bet COM savienojuma gadījumā tiek palaists salīdzinoši neliels procesā esošais COM serveris.

Strādājot, izmantojot COM savienojumu, funkcionalitāte vienā vai otrā veidā, kas saistīta ar 1C:Enterprise 8.0 lietotāja interfeisa organizāciju, nav pieejama;

Izmantojot COM savienojumu, 1C:Enterprise 8.0 konfigurācijas lietojumprogrammas modulis netiek izmantots. Tā lomu, strādājot ar COM savienojumu, veic ārējā savienojuma modulis.

  1. 1.1 COM savienojuma izveides procedūra

  2. Lai organizētu piekļuvi 1C:Enterprise 8.0 datiem, izmantojot COM savienojumu, tiek veikta šāda darbību secība:
  3. tiek izveidots COM objekts ar identifikatoru V8.COMConnector, ar kura palīdzību tiek izveidots savienojums;

Svarīgi! Tā kā COM savienojumā nav lietotāja interfeisa, COM savienojumā nevar izmantot visus objektus, rekvizītus un metodes.

1C: uzņēmuma objekti, kas pieejami ārēji, izmantojot COM savienojumu:

  1. Eksportēti ārējā savienojuma moduļa mainīgie un procedūras/funkcijas

  2. Eksportētie mainīgie un parasto moduļu procedūras/funkcijas
  3. Visu moduļu iekļaušana un izslēgšana, iestatot parasto moduļu īpašības

  4. Kopējo moduļu fragmentu iekļaušana un izslēgšana, izmantojot priekšprocesoru
  5. Globālais konteksts 1C: Enterprise 8.0, izņemot objektus, kas ir cieši saistīti ar klienta lietojumprogrammu (TextDocument, TabularDocument, ...)

1.2 Ārējā savienojuma modulis

Kā jau minēts, lietojumprogrammas moduļa pienākumus, strādājot ar COM savienojumu, veic ārējais savienojuma modulis. Šim modulim var būt notikumu apstrādātāja procedūras When SystemStarts() un WhenSystemCompletes(), kas var ietvert darbības, kas tiek veiktas attiecīgi pēc savienojuma inicializācijas un pārtraukšanas.

Procedūras, funkcijas un globālie mainīgie, kas definēti ārējā savienojuma modulī ar atslēgvārdu Eksportēšana, tāpat kā lietojumprogrammas moduļa gadījumā, kļūst par globālā konteksta daļu.

1.3. Kopīgie moduļi

Kopējiem moduļiem ir ieviesti rekvizīti "Klients", "Serveris" un "Ārējais savienojums". Tie paredzēti, lai konfigurācijā noteiktu moduļu izmantošanu klienta - servera versijā un COM savienojuma režīmā.

1.4 Objekts "V8.COMConnector"

Vienīgais uzdevums, ko atrisina V8.COMConnector COM objekts, ir COM savienojuma izveide ar 1C:Enterprise 8.0 informācijas bāzi. Izmantojot vienu V8.COMConnector objekta gadījumu, var izveidot neierobežotu skaitu savienojumu. Objektam V8.COMConnector ir viena savienojuma metode, kas paredzēta COM savienojuma izveidei ar 1C:Enterprise 8.0 informācijas bāzi.

<СтрокаСоединенияИБ>

Savienojuma līnija ar informācijas drošības sistēmu ir formas Parametrs=Vērtība fragmentu ķēde. Fragmenti ir atdalīti viens no otra ar ";". Ja vērtība satur atstarpes, tā ir jāiekļauj dubultpēdiņās (").

Vispārīgie parametri:

Usr - lietotājvārds;
Pwd - parole.

Faila versijai ir definēts šāds parametrs:

Fails - informācijas bāzes direktorijs.

Klienta-servera opcijai ir definēti šādi parametri:

Srvr — 1C:Uzņēmuma servera nosaukums;
Atsauce - servera informācijas bāzes nosaukums.

Savienojuma metode izveido COM savienojumu ar 1C:Enterprise 8.0 informācijas bāzi un atgriež saiti uz COM savienojuma objektu.

// Tiek izveidots savienotāja objekts
V8 = jauns COMObject("V8.COMConnector");
// tiek izveidots COM savienojuma objekts
Savienojums = V8.Connect("File=""c:\InfoBases\Trade""; Usr=""Direktors"";")

1.5 COM savienojuma objekts

COM savienojums ar 1C:Enterprise informācijas bāzi nodrošina pilnīgu piekļuvi tās globālajam kontekstam (skatiet “Programmas moduļa izpildes konteksts”). Tāpēc COM savienojuma metodes var būt: sistēmas konstantes, objektu konfiguratorā norādītās vērtības, kurām piekļūst, izmantojot pārvaldniekus (piemēram, konstantes, uzskaitījumi, direktoriji, dokumenti, dokumentu žurnāli, atskaites, apstrāde, tipu plāni raksturlielumu, plānu kontu, aprēķinu veidu plānu, reģistru), kā arī ārējā pieslēguma modulī ar atslēgvārdu Eksportēt deklarētos mainīgos.

Turklāt COM savienojumam ir papildu NewObject metode, ko var izmantot, lai izveidotu noteikta veida vērtības.

tk = Savienojums. NewObject ("Vērtību tabula");

Virknes metode Ļauj iegūt 1C:Enterprise vērtību virknes attēlojumus.

Skats = Connection.String(Data.UnikālaisIdentifier());

1.6. Iezīmes darbam ar COM savienojumu

Automatizācijā un COM savienojumā TRUE un FALSE ir šādas vērtības: -1 (mīnus viens) un 0.

Ir iespējams organizēt COM savienojumu kopu. Tajā pašā laikā saņēmēja serverī 1C:Enterprise tiek izveidoti vairāki COM savienojuma objekti IEPRIEKŠĒJĀ, un savienojuma izveide aizņem vēl mazāk laika, jo nav nepieciešams izveidot jaunu objektu.

Ir ieviests jauns Query Builder objekts, kas paredzēts vaicājuma tekstu ģenerēšanai, pamatojoties uz norādītajiem iestatījumiem. Šis objekts atbalsta atskaišu veidotāja funkcionalitāti, kas nav saistīta ar atskaites izvadīšanu izklājlapas dokumentā vai citiem ar lietotāja interfeisu saistītiem uzdevumiem. Šo objektu var izmantot serverī 1C:Enterprise un COM savienojumā.

Palaižot iebūvēto valodu serverī 1C:Enterprise, varat izmantot COM objektus.

COM kļūdas tiek pārveidotas par iegulto valodu izņēmumiem.

Ja konfigurācija mēģina izveidot nederīgu objektu, piemēram, izklājlapas dokumentu, ārējā savienojuma modulī, koplietotā modulī vai objekta modulī, COM savienojums var netikt izveidots vai var tikt pārtraukts kā izņēmums.

Viens veids, kā pārsūtīt datus no vienas 1C konfigurācijas uz citu, ir programmatūras savienojums, izmantojot COM. Daudzi uzņēmumi izmanto vairākas dažādas datu bāzes, starp kurām ir jābūt noteiktiem savienojumiem un atkarībām. Ja nepieciešams ne tikai pārsūtīt datus, bet arī veikt noteiktu datu apstrādi, tad COM savienojums būs optimālais mehānisms. Spēja analizēt datus no citas 1C datu bāzes ir noderīga jebkuram izstrādātājam.

Mēs savienojam ar 1C datu bāzi, izmantojot COM

Lai ieviestu COM savienojumu 1C, tiek izmantots īpašs mehānisms ar nosaukumu COMConnector. Šis objekts ir uzstādīts kopā ar platformu un tiek izmantots informācijas bāzu savienošanai. Jāatzīmē, ka versijām 8.2 un 8.3 tiek izmantoti objekti ar dažādiem nosaukumiem - attiecīgi “V82.COMConnector” un “V83.COMConnector”.

Atcerieties, ka COM savienojuma ilgums ar datu bāzi maksā licenci – neaizraujieties ar vairāku savienojumu vienlaicīgu izpildi. Tas ir īpaši svarīgi organizācijām, kurām ir ierobežots licenču skaits. Šo problēmu var atrisināt, izmantojot rutīnas uzdevumus, kas tiek izpildīti, ja nav aktīvo lietotāju savienojumu ar informācijas bāzi.

Lai varētu izveidot savienojumu ar citu datu bāzi un pieprasīt nepieciešamo informāciju, jums jāzina šādi dati:

  1. Kāda veida tas ir - fails vai klients-serveris;
  2. Kur tas atrodas;
  3. Kādu vārdu un paroli var izmantot, lai pieteiktos?
  4. Kādi dati jūs interesē?

No pirmajiem trim punktiem, lai ieviestu COM savienojumu, jums ir jāizveido parametru virkne. Atkarībā no informācijas drošības veida tas atšķirsies pēc izskata. Izmantojot saņemto virkni, tiek izveidots savienojums, ar kura palīdzību jūs varat savākt datus no citas datu bāzes analīzei un apstrādei, izmantojot jebkādas metodes.

Savienojuma parametriFileIB = "Fails=""Path_to_database""; Usr=""Lietotāja_vārds"";Pwd=""Parole"""; Savienojuma parametriClientServerIB = "Srvr=""Servera_nosaukums""; Ref=""Datu bāzes_nosaukums""; Usr=""Lietotāja_nosaukums""; Pwd=""Parole""";

Savienojuma funkcija ir vienkārša, un tai nevajadzētu radīt nekādus jautājumus, ja visi parametri ir norādīti pareizi. Lai paātrinātu atkļūdošanu un iespējamo kļūdu analīzi, labāk ir iekļaut savienojumu konstrukcijā “Mēģināt”. Funkcija atgriezīs “COM objekta” tipa vērtību, ar kuru jūs strādāsiet, lai iegūtu nepieciešamos datus.

&OnServer funkcija ConnectToBase() exportConnectionIB Parameters = "File=""E:\1c database\ERP""; Usr=""Administrators"";Pwd=""1"""; V83COMCon= jauns COMObject("V83.COMConnector"); Mēģināt atgriezt V83COMCon.Connect(IB savienojuma parametri); Izņēmuma ziņojums(ErrorDescription());

Atgriezties Undefined; EndAttempt; EndFunction

Izmantojot COM savienojumu, jūs varat ne tikai atlasīt datus, bet arī pievienot tos datubāzei, ar kuru veidojat savienojumu. Atcerieties, ka mēs varam pārsūtīt 4 primitīvus datu tipus, izmantojot COM objektu. Citi veidi būs jānorāda, izmantojot platformā iebūvētās meklēšanas funkcijas. Lūdzu, ņemiet vērā, ka globālās platformas funkcijas tiek izsauktas arī, izmantojot COM savienojumu.

Mēs saņemam datus no 1C datu bāzes

Kad esat saņēmis vēlamo objektu, jums ir jānolasa dati no citas datu bāzes. Lai to izdarītu, mēs izmantojam pieprasījumu, izmantojot COM savienojumu 1C 8.3, izmantojot no funkcijas saņemto “COM objekta” tipa vērtību. Ir svarīgi vispirms izveidot savienojumu ar datu bāzi un pēc tam izpildīt pieprasījumu. Izpilde notiek, izmantojot NewObject metodi, kā parametru norādot objekta tipu virknes formā - “Pieprasījums”.

&OnServer procedūra TestCOMOnServer() Savienojums = ConnectToBase(); Ja TypeValue(Savienojums) Tips("Nedefinēts"), Tad RequestBPZO = Connection.NewObject("Pieprasījums");

  • RequestBPZO.Text = "ATLASĪT pirmos 15 | DirectoryUser.Name AS nosaukums | FROM | Directory.users AS DirectoryUser";
  • Select = RequestBPZO.Execute().select();
  • Kamēr Selection.next() cilpa Report(Selection.Number);
RequestBPZO = Connection.NewObject("Pieprasījums"); RequestBPZO.Text = "SELECT first 15 | DirectoryUser.Name AS Name |FROM | Directory.Users AS DirectoryUser I WHERE | DirectoryUser.Department = &RequiredDepartment | Un DirectoryUser.Name, piemēram, ""%"" + &RequiredName+ ""%""" ; Pieprasīt BPZO.SetParameter("Nepieciešamā nodaļa", Savienojums. Katalogi. Uzņēmuma struktūra. Atrast pēc koda ("00-000023")); RequestBPZO.SetParameter("RequiredName","Jekaterina"); Select = RequestBPZO.Execute().select(); Kamēr Selection.next() cilpa Report(Selection.Name); EndCycle;

Ja nepieciešams pārsūtīt masīvu uz datu bāzi atlasei, pamatojoties uz vairākiem parametriem, piemēram, nodaļas, tiek izmantota arī komanda NewObject. Līdzīgi varat nodot vērtību sarakstu vai tabulu, aizpildot tos ar citas datu bāzes elementiem, izmantojot savienojumu. Visas esošās platformas objektu un mehānismu metodes ir pieejamas meklēšanai.

RequestBPZO = Connection.NewObject.("Pieprasījums"); RequestBPZO.Text = "SELECT first 15 | DirectoryUser.Name AS Name | FROM | Directory.Users AS DirectoryUser I WHERE | DirectoryUser.Department B (&Nepieciešamsnodaļa) | Un DirectoryUser.Name, piemēram, ""%"" + &NepieciešamsName+ ""%" " "; Nodaļu masīvs = Connection.NewObject("Masīvs"); Nodaļu masīvs.Pievienot(Savienojums.Katalogi.Uzņēmuma struktūra.Atrast pēc koda("00-000023")); Nodaļu masīvs.Pievienot(Savienojums.Katalogi.Uzņēmuma struktūra.Atrast pēc koda("00-000038")); Nodaļu masīvs.Pievienot(Savienojums.Katalogi.Uzņēmuma struktūra.Atrast pēc koda("00-000046")); Pieprasīt BPZO.SetParameter ("Nepieciešamā nodaļa", nodaļu masīvs); RequestBPZO.SetParameter("RequiredName","Jekaterina"); Select = RequestBPZO.Execute().select(); Kamēr Selection.next() cilpa Report(Selection.Name); EndCycle;

Pārsūtot dokumentus vai direktoriju elementus, vienmēr rodas jautājums par konkrēta objekta nodošanas kontroli. Ar COM savienojumu palīdzību šādas problēmas var atrisināt, izmantojot unikālu identifikatoru. Spraudņu datubāzē ir jāatrod objekts pēc identifikatora no pašreizējās informācijas drošības, izmantojot funkciju “GetLink”, izmantojot identifikatoru kā virkni. Ja tāds nav atrasts, varat to izveidot, izmantojot COM savienojumu.

StrIdent = String(Directories.Users.FindByCode("00-0000313").UnikālaisIdentifier()); Ja NAV ValueFilled(Connection.Directories.Users.GetLink(Connection.NewObject("UnikālaisIdentifier", StrIdent))), tad NewUser = Connection.Directories.Users.CreateItem();

NewUser.Name = Directories.Users.FindByCode("00-0000313").Nosaukums;

NewUser.Individual = Directories.Users.FindByCode("00-0000313"). Individuāls;

NewUser.Write(); endIf;



Neliels ieskats Bellā. Romantiskā hronika. Neliels ieskats ģenialitātē. Messerers par Akhmadulinu Boriss Meserers ieskats Bella romantiskajā hronikā