Lidhja 1s nëpërmjet com. V8: Lidhja COM

Print (Ctrl+P)

Një nga opsionet për shkëmbimin e të dhënave midis bazave të të dhënave 1C është një shkëmbim përmes një lidhjeje COM. Duke përdorur një lidhje COM, mund të lidheni nga një bazë të dhënash 1C në tjetrën dhe të lexoni ose shkruani të dhëna. Ju mund ta përdorni këtë metodë si në variantet klient-server të bazave të të dhënave, ashtu edhe në bazat e të dhënave të skedarëve. Ky artikull diskuton këtë lloj lidhjesh në platformën 8.3

lidhje com

Ju mund të krijoni dy lloje të objekteve COM për aplikacionin 1C. Janë lidhje ole V83.Aplikimi dhe lidhjet com V83. COMConnector . Në rast se V83.Aplikimi lëshohet një kopje pothuajse e plotë e aplikacionit 1C. Në rast përdorimi V83. COMConnector fillon një pjesë e vogël e serverit. Shpejtësia e punës në këtë rast është më e lartë, por disa funksione mund të mos jenë të disponueshme. Në veçanti, puna me formularë dhe me module të zakonshme për të cilat nuk është vendosur vetia e punës me lidhje të jashtme. Ju duhet të përdorni kryesisht V83. COMConnector dhe vetëm në rast të mungesës së funksionalitetit V83.Aplikimi. Dallimi në shpejtësi mund të jetë veçanërisht i dukshëm në bazat e të dhënave të mëdha. Për platformën 8.2 përdoret V82.Application ose V82.COMConnector

Krijoni një lidhje OLE

Lidhja = New COMObject (“V83.Application”);

Vendosni lidhjen COM

Lidhja = New COMObject (“V83.COMConnector”);

Vargu i lidhjes

//Për opsionin klient-server
StringConnection= “Srvr = “ “Emri i Serverit” “;Ref = “ “Emri bazë” ;
//Për opsionin e modalitetit të skedarit:
StringConnection= "Skedari = ""Baza e rrugës" “; Usr = Emri i përdoruesit; Pwd = Fjalëkalimi”;
Përpjekje
Lidhje = Lidhje . Lidhu(ConnectionString) ;
Përjashtim
Message = New MessageToUser;
Mesazh . Teksti = "Lidhja me bazën e të dhënave dështoi" + Përshkrimi Gabim(); Mesazh . Për të raportuar();
Fund Provoni ;

Prishja e lidhjes

Lidhja = E pacaktuar ;
Për objekt V83.Aplikimiështë e detyrueshme shkëputja e lidhjes, përndryshe një seancë jo e plotë do të mbetet e varur, e cila më pas do të duhet të fshihet manualisht. Në rast se V83. COMConnector lidhja ndërpritet automatikisht në përfundim të procedurës në të cilën është bërë lidhja dhe ka edhe një moment të vogël. Për përdoruesin nën të cilin po bëhet lidhja, kutia e kontrollit "Kërkoni konfirmim kur mbyllni programin" në cilësimet e tij duhet të çaktivizohet.

Metoda NewObject().

Për të krijuar një objekt të ri, mund të përdorni metodën NewObject(), për shembull:

Për V83. COMConnector

RequestCOM = Lidhja. Objekti i ri( "Kërkesë ") ;
TableCOM = Lidhja. Objekti i ri( "Tabela e vlerave") ;
ArrayCOM = Lidhja. NewObject("Array");

WidCOM = Connection.NewObject

Për V83.Aplikimi

QueryOLE = Lidhja. Objekti i ri (" Kërkesë ") ;
TableOLE = Lidhja. Objekt i Ri("Tabela e vlerave") ;
ArrayOLE = Lidhja.NewObject(“Array”);
WidCOM = Connection.NewObject(“UniqueIdentifier”,StringUID);

RequestCOM . Teksti ="ZGJIDH
| Pozicionet e Organizatave Kodi,
| Pozicionet e Organizatave Emri
| NGA | Drejtoria.PozicionetOrganizatat
AS Pozicionet e Organizatave”;

Rezultati = RequestCOM. Ekzekutoni ();
Mostra = rezultat. Zgjidhni ();
Ndërsa përzgjedhja. Tjetra ()Cikli
Cikli i Fundit ;
Ju gjithashtu mund të përdorni menaxherët e objekteve të konfigurimit:
DirectoryCOM = Lidhja. Libra referencë. Emri i drejtorisë;
DocumentCOM = Lidhja. Dokumentacioni. Emri i Dokumentit;
RegisterCOM = Lidhja. RegjistratInformacion. Emri i Regjistrit;

Marrja dhe krahasimi i një numri mbi një lidhje COM

Për të krahasuar vlerat e elementeve të numërimit të përcaktuar në konfigurim, është e nevojshme të konvertohen këto elemente në një nga llojet primitive, krahasimi i të cilave nuk shkakton vështirësi. Këto lloje mund të jenë ose numerike ose vargje. Ju mund të konvertoni vlerën e një elementi numërues në një lloj numerik si ky

Elementi Enum = Connection.Directories.Directory1.FindByCode(1).Atributi1;

PossibleValues ​​= EnumElement.Metadata().EnumValues;

EnumElementNumber = PossibleValues.Index(PossibleValues.Find(Connection.XMLString(EnumElement)));

Nëse EnumItemNumber = 0 Pastaj Raportoni( "EnumValue1");

ElseIf EnumItemNumber = 1 Pastaj Raporti ("Vlera e Përgjithshme2");

FundNëse;

Marrja e një objekti përmes COM me ID

Nëpërmjet menaxherëve të objekteve të konfigurimit ne marrim një objekt com, për shembull:
DocumentCOM = Lidhja. Dokumentacioni. Emri i Dokumentit;

Pastaj marrim vargun unik të identifikuesit:

StringUID = Connection.string ( DocumentCOM.UniqueIdentifier())

ID = Y i ri ID unike (StringUID);
ME linkByIdentifier = Dokumentet[Emri i Dokumentit].GetLink(Identifikuesi);

Nëse duhet të gjeni objektin com sipas dokumentit me ID, atëherë duhet të shkruani kështu:

WidCOM = Lidhja.NewObject(“UniqueIdentifier”,StringUID );
LinkByIdentifier = Lidhja.Dokumentet[Emri i Dokumentit].GetLink(UidCOM);

Kur duam të shohim të dhëna nga disa tabela në të njëjtën kohë, d.m.th. për të mbledhur disa tabela në një, lind koncepti i bashkimit të tabelave dhe marrëdhënieve ndërmjet tyre. Lidhjet janë katër llojesh:

  • majtas;
  • drejtë,
  • e brendshme;
  • i plotë.

Ne do të shqyrtojmë çdo lloj në një shembull abstrakt. Ka 2 tabela, në të parën ruajmë informacion përshkrues për nomenklaturën, në të dytën për mbetjet e saj:

Për të marrë një nga këto tabela, duhet të specifikojmë në mënyrë eksplicite se cilat fusha do të lidhim, me çfarë kushti dhe lloji. Tani do të bëhet më e qartë.

Bashkohu majtas

Duke përdorur një bashkim majtas, ne i themi sistemit se si rezultat duam të shohim të gjitha regjistrimet nga tabela e majtë dhe të dhënat nga e djathta që plotësojnë kushtin e lidhjes. Le të themi se lidhim tabelat sipas fushës së produktit me kushtin e barabartë, atëherë marrim një tabelë të formës:

Kërkesa.Teksti =
"ZGJIDH
| Nomenklatura.Produkti,
| Nomenklatura.Ngjyra AS Nomenklatura e ngjyrave,
| Mbetjet Ngjyra AS Ngjyra e mbetur,
| Mbetet Sasia
| NGA

";

Për karrigen, nuk kishte përputhje nga tabela e mbetjeve, kështu që fushat u mbushën me vlera NULL, të cilat duhet të përpunohen nga funksioni ISNULL, shih Funksionet e gjuhës së pyetjeve 1C 8.

Lidhja e majtë funksionon si një lak brenda një cikli - merr rekordin e parë nga tabela e majtë dhe kalon nëpër të gjitha rekordet nga tabela e djathtë në mënyrë që të plotësojë kushtin e lidhjes. Pastaj merret rekordi i dytë nga tabela e majtë, e kështu me radhë. Nëse disa rekorde nga tabela e duhur papritmas plotësojnë kushtin e lidhjes, atëherë në tabelën që rezulton do t'i shtohen disa rreshta (sipas numrit të lidhjeve të suksesshme) Siç mund ta shihni, tabela që rezulton nuk është informative, të dhënat nuk reflektojnë thelbi i vërtetë, kështu që është më mirë t'i lidhim këto tabela me dy fusha: Produkti dhe Ngjyra, vetëm këtë herë do të përpunojmë NULL-të:

Kërkesa.Teksti =
"ZGJIDH
| Nomenklatura.Produkti,
| Nomenklatura.Ngjyra,
| ISNULL (Mbetet. Sasia, 0) AS Sasia
| NGA
| Nomenklatura AS Nomenklatura
| LEFT JOIN Residuals AS Residuals
| Nomenklatura e softuerit.Produkti = Mbetet.Produkti

Bashkohu djathtas

Lidhja e duhur në thelb nuk është e ndryshme nga e majta. Nëse ndërroni tabelat, atëherë bashkimi i djathtë do të kthehet në të majtë, për më tepër, kur përdorni konstruktorin, vetë sistemi do t'i konvertojë të gjitha lidhjet e djathta në të majta.

Bashkimi i brendshëm

Duke përdorur një bashkim të brendshëm, ne i themi sistemit se si rezultat duam të shohim vetëm ato regjistrime që plotësojnë kushtin e lidhjes si nga tabela e djathtë ashtu edhe nga e majta. Kështu, numri i regjistrimeve rezultuese do të jetë më i vogël ose i barabartë me numrin e rekordeve të vetë "tabela e shkurtër" e përfshirë në bashkim. Le të aplikojmë një bashkim të brendshëm në fushat Produkt dhe Ngjyra të tabelave tona:

Kërkesa.Teksti =
"ZGJIDH
| Nomenklatura.Produkti,
| Nomenklatura.Ngjyra,
| Mbetet.Sasia AS Sasi
| NGA
| Nomenklatura AS Nomenklatura
| BASHKIMI I BRENDSHËM mbetjet AS mbetje
| Nomenklatura e softuerit.Produkti = Mbetet.Produkti
| Dhe Nomenklatura.Ngjyra = Mbetet.Ngjyra";

Lidhje e plotë

Një bashkim i plotë do t'i kalojë rezultatit të gjitha rekordet nga të dyja tabelat, ato rekorde që plotësojnë kushtin e lidhjes do të lidhen, ato rekorde që nuk plotësojnë kushtin e lidhjes do të jenë akoma në rezultatin e pyetjes, por me një pjesë të fushave NULL. E plotë është, si të thuash, lidhjet majtas dhe djathtas në një.

Mund të ketë shumë detyra për këtë temë, le të përpiqemi të zgjidhim njërën prej tyre. Organizata jonë është një tregtar i 2 fabrikave të mobiljeve: Zarya dhe Rassvet. Asortimenti me koston e secilës prej fabrikave ruhet në tabela të ndryshme. Shtë e nevojshme të hartoni një listë të vetme çmimesh dhe të merrni produktet në të me çmimin më të ulët:

Le të aplikojmë një lidhje të plotë me një përzgjedhje të të gjitha fushave, ne do të lidhemi sipas produktit:

Kërkesa.Teksti =
"ZGJIDH
| Nomenklatura Zarya. Artikulli AS Zëri Zarya,
| NomenklaturaZarya.Çmimi SI ÇmimiZarya,
| Agimi i nomenklaturës. Artikulli AS artikulli Agimi,
| NomenklaturaAgimi.Çmimi AS ÇmimiAgimi
| NGA

Kjo nuk është saktësisht ajo që na nevojitet, le të kombinojmë fushën e produktit në një dhe të përpunojmë NULL-të:

Kërkesa.Teksti =
"ZGJIDH
//ndërtimi ISNULL u diskutua në seksionin e funksionit të gjuhës së pyetjes
//nëse çmimi nuk është i përcaktuar, atëherë inicializoni atë
//pse 1000000 shikoni shpjegimet më poshtë
| ISNULL(NomenklaturaZarya.Çmimi, 1000000) AS PriceZarya,
| ISNULL(NomenklatureDawn.Price, 1000000) AS PriceDawn
| NGA
| NomenklaturaZarya AS NomenklaturaZarya
| LIDHJA E PLOTË NomenklaturaAgimi AS NomenklaturaAgimi
| ON NomenclatureDawn.Product = NomenclatureDawn.Product";

Mbetet vetëm për të zgjedhur çmimin minimal. Trupi përfundimtar i kërkesës do të duket si ky:

Kërkesa.Teksti =
"ZGJIDH
| ISNULL(NomenclatureDawn.Item, NomenclatureDawn.Item) AS artikull,
| ZGJEDHJA
| WHEN ISNULL(NomenklatureDawn.Çmimi, 1000000) > ISNULL(NomenklatureDawn.Price, 1000000)
| PASTAJ ISNULL (NomenklaturaDawn.Çmimi, 1000000)
| TJETËR NULL (NomenklaturaZarya.Çmimi, 1000000)
| FUND SI ÇMIM
| NGA
| NomenklaturaZarya AS NomenklaturaZarya
| LIDHJA E PLOTË NomenklaturaAgimi AS NomenklaturaAgimi
| ON NomenclatureDawn.Product = NomenclatureDawn.Product";

Nëse çmimi nuk është i përcaktuar (NULL), atëherë duhet të inicializohet me ndonjë vlerë, përndryshe operacioni mbi/nën krahasim do të dështojë me një gabim. e inicializojmë çmimin me një shumë jorealiste të madhe që të “humbet” në operacionin e krahasimit, sepse sipas kushtit të problemit zgjedhim çmimin më të ulët.

← Funksionet e gjuhës së pyetjes 1C 8 | Bashkohet në pyetjet 1C 8 →


Fjalë kyçe: COM, lidhje, e jashtme, OLE, Automatizim, Connect, ComConnector, Srvr

Kur përdorni lidhjet 1C:Enterprise 8.0 COM për të hyrë në të dhëna, ekzistojnë avantazhet e mëposhtme në krahasim me përdorimin e serverit Automatizimi:

  1. Konfigurimi më i shpejtë i lidhjes pasi nuk ka nevojë të krijohet një proces i veçantë sistemi operativ, dhe të gjitha veprimet kryhen brenda procesit të thirrjes;

  2. Qasje më e shpejtë në vetitë dhe metodat e 1C:Objektet e ndërmarrjes, pasi organizimi i ankesës nuk kërkon organizimin e komunikimit ndërprocesor;
  3. Më pak konsum i burimeve të sistemit operativ.

Në përgjithësi, puna me 1C:Enterprise 8.0 nëpërmjet një lidhjeje COM është e ngjashme me punën me 1C:Enterprise në modalitetin e serverit Automatizimi. Dallimet kryesore janë si më poshtë:

  1. Në rastin e një serveri Automatizimi, lëshohet një aplikacion i plotë 1C: Enterprise 8.0, dhe në rastin e një lidhjeje COM, lëshohet një server COM relativisht i vogël në proces.

  2. Kur punoni nëpërmjet lidhjes COM nuk janë të disponueshme funksionalitetin në një mënyrë ose në një tjetër që lidhet me organizimin e ndërfaqes së përdoruesit 1C: Ndërmarrja 8.0;
  3. Kur punoni me një lidhje COM, moduli i aplikacionit të konfigurimit 1C:Enterprise 8.0 nuk përdoret. Roli i tij kur punoni me një lidhje COM luhet nga moduli i lidhjes së jashtme.

1.1 Si të krijoni një lidhje COM

Për të organizuar aksesin në të dhënat 1C:Enterprise 8.0 nëpërmjet një lidhjeje COM, kryhet sekuenca e mëposhtme e veprimeve:

  1. krijohet një objekt COM me identifikuesin V8.COMConnector , me ndihmën e të cilit vendoset lidhja;

  2. thirret metoda Connect e objektit të krijuar më parë V8.COMConnector. Metoda Connect kthen një lidhje me objektin e lidhjes COM me bazën e informacionit 1C:Enterprise 8.0;
  3. përmes objektit të marrë të lidhjes COM, bëhet qasja në metodat, vetitë dhe objektet e lejuara të infobazës me të cilën vendoset lidhja.

E rëndësishme! Për shkak të mungesës së një ndërfaqeje përdoruesi në një lidhje COM, jo të gjitha objektet, si dhe vetitë dhe metodat, mund të përdoren në një lidhje COM.

1C: Objektet e ndërmarrjes të aksesueshme nga jashtë nëpërmjet lidhjes COM:

  1. Ndryshoret e eksportuara dhe procedurat/funksionet e modulit të lidhjes së jashtme

  2. Variabla të eksportuara dhe procedura/funksione të moduleve të zakonshme
  3. Përfshirja dhe përjashtimi i të gjithë moduleve duke vendosur vetitë e modulit të përbashkët

  4. Përfshirja dhe përjashtimi i fragmenteve të moduleve të zakonshme duke përdorur paraprocesorin
  5. Konteksti global 1C: Ndërmarrja 8.0, me përjashtim të objekteve që lidhen ngushtë me aplikacionin e klientit (TextDocument, SpreadsheetDocument, ...)

1.2 Moduli i lidhjes së jashtme

Siç është vërejtur tashmë, detyrat e modulit të aplikacionit kur punoni përmes një lidhjeje COM kryhen nga moduli i lidhjes së jashtme. Ky modul mund të ketë procedurat e mbajtësit të ngjarjeve AtStartSystemWork() dhe AtShutdownSystem(), të cilat mund të përmbajnë veprime që duhet të kryhen përkatësisht gjatë inicializimit dhe përfundimit të lidhjes.

Procedurat, funksionet dhe variablat globale të përcaktuara në një modul të bashkimit të jashtëm me fjalën kyçe Export bëhen, si në rastin e një moduli aplikacioni, pjesë e kontekstit global.

1.3 Modulet e përgjithshme

Karakteristikat "Client", "Server" dhe "ExternalConnection" janë prezantuar për modulet e zakonshme. Ato synojnë të përcaktojnë në konfigurim përdorimin e moduleve në versionin klient-server dhe në modalitetin e lidhjes COM.

1.4 Objekti "V8.COMConnector".

E vetmja detyrë e zgjidhur nga objekti COM V8.COMConnector është krijimi i një lidhjeje COM me bazën e informacionit 1C:Enterprise 8.0. Me një shembull të vetëm të objektit V8.COMConnector, mund të krijohet një numër i pakufizuar lidhjesh. Objekti V8.COMConnector ka një metodë të vetme Connect që përdoret për të krijuar një lidhje COM me bazën e informacionit 1C:Enterprise 8.0.

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

Vargu i lidhjes IB është një zinxhir fragmentesh të formës Parameter=Vlera. Fragmentet ndahen nga njëri-tjetri me ";". Nëse vlera përmban karaktere të hapësirës së bardhë, ajo duhet të mbyllet në thonjëza të dyfishta (").

Parametrat e përbashkët:

usr - emri i përdoruesit;
pwd - fjalëkalimi.

Parametri i mëposhtëm është përcaktuar për variantin e skedarit:

Dosja - drejtoria e bazës së informacionit.

Për versionin klient-server, janë përcaktuar parametrat e mëposhtëm:

Srvr - 1C: Emri i serverit të ndërmarrjes;
Ref - emri i bazës së informacionit në server.

Metoda Connect krijon një lidhje COM me bazën e informacionit 1C:Enterprise 8.0 dhe kthen një referencë për objektin e lidhjes COM.

// Krijohet një objekt lidhës
V8 = New COMObject ("V8.COMConnector");
// krijoni një objekt lidhjeje COM
Lidhja = V8.Connect("File=""c:\InfoBases\Trade""; Usr =""Drejtori"";")

1.5 Objekti "COM Connection".

Lidhja COM me bazën e informacionit 1C: Enterprise ofron akses të plotë në kontekstin e tij global (shih "Konteksti i ekzekutimit të njësisë së programit"). Prandaj, një lidhje COM mund të ketë si metodat e saj: konstantet e sistemit, vlerat e objekteve të specifikuara në konfigurues, të aksesuara duke përdorur menaxherët (për shembull, konstantet, numërimet, drejtoritë, dokumentet, regjistrat e dokumenteve, raportet, përpunimin, planet e llojeve të karakteristikat, llogaritë e planeve, planet e llojit të llogaritjes, regjistrat), si dhe variablat e deklaruara në modulin e lidhjes së jashtme me fjalën kyçe Export.

Për më tepër, lidhja COM ka një metodë shtesë NewObject që mund të përdoret për të krijuar vlera të llojeve specifike.

ts = Lidhja. NewObject ("Tabela e vlerave");

Metoda e vargut Ju lejon të merrni paraqitje të vargjeve të vlerave 1C:Enterprise.

Pamja = Connection.String(Data.UniqueIdentifier());

1.6. Karakteristikat e punës me lidhjen COM

Në Automatizim dhe në një lidhje COM, TRUE dhe FALSE kanë respektivisht vlerat -1 (minus një) dhe 0.

Është e mundur të organizohet një grup lidhjesh COM. Në të njëjtën kohë, disa objekte të lidhjes COM krijohen në host në serverin 1C:Enterprise në ADVANCE, dhe kërkon edhe më pak kohë për të krijuar një lidhje, pasi nuk ka nevojë të krijoni një objekt të ri.

Është implementuar një objekt i ri Query Builder, i projektuar për të gjeneruar tekste pyetjesh bazuar në cilësimet e specifikuara. Ky objekt mbështet funksionet e ndërtuesit të raporteve që nuk kanë të bëjnë me shfaqjen e një raporti në një dokument spreadsheet dhe detyra të tjera që lidhen me ndërfaqja e përdoruesit. Ky objekt mund të përdoret në serverin 1C:Enterprise dhe në një lidhje COM.

Përdorimi i objekteve COM është i disponueshëm kur gjuha e integruar funksionon në serverin 1C:Enterprise.

Gabimet COM përkthehen në 1C: përjashtime të ndërmarrjes.

Nëse konfigurimi tenton të krijojë një objekt të pavlefshëm, si p.sh dokumenti i tabelës, në një modul lidhjeje të jashtme, në një modul të përgjithshëm ose në një modul objekti, atëherë lidhja COM nuk mund të vendoset ose të përfundojë si përjashtim.

) Ashtu është

Në të njëjtën kohë, kam parë më shumë se një herë kur thjesht “hiqen” botime që nuk tërheqin as 10 pikë.
Pse ndodhi kjo? Ndoshta sepse dikush padyshim i ka pëlqyer.


Po flas për këtë dhe them se do të ishte mirë të mos e lexonit artikullin sipas vlerësimit për të kuptuar se sa keni nevojë për të, ose ta vlerësoni jo aq primitive +/-. Sa për atë që më pëlqeu, do ta korrigjoja kështu: ajo shënoi aq shumë për faktin se yjet u formuan në atë mënyrë dhe shumë njerëz u mblodhën në faqe dhe shumë e pëlqyen, ju vetë e kuptoni se kjo është një çështje të rastësisë. sapo të largohet artikulli faqja kryesore atëherë ajo tashmë mund të gjendet vetëm sipas kërkesës, dhe kështu të gjithë kalojnë me vota. Dhe për të mbështetur në faqen kryesore, me sa kuptoj unë, lejojnë vetëm komente të vazhdueshme = promovim të artikullit.
Është për këtë që ata vendosin dyqane në rrugët e rrugëve - në fund të fundit, shpesh nuk është cilësia dhe rëndësia e produktit që ka rëndësi, por kalueshmëria e vendit, njerëzit që ecin shpesh blejnë atë që do të hedhin të nesërmen, vetëm për hir të procesit. Kjo është një sëmundje e njohur - shopomania. Ose thjesht rritja e fluksit rrit gjasat e blerësit të duhur.

Dhe të mirat dhe të këqijat ... janë vetëm një lloj "faleminderit" për kohën dhe punën e shpenzuar


ato. A llogaritet edhe një minus si "faleminderit"? Kështu që doja të dija qëndrimin tuaj nëse është e nevojshme ta vendosni atë në raste të tilla dhe sa interesante mendojnë të tjerët? Nëse duhet thënë kur artikulli është i dëmshëm / i keq ose kur është thjesht i padobishëm / bosh për ju.
Sipas mendimit tim, artikulli duket vetëm si një rritje vlerësimi, sepse:
1. Problemi me tipet e dhëna nga unë u injorua përgjithësisht nga autori, megjithëse ai nuk ishte shumë dembel të shkruante një mori komentesh.
2. Ka një pasaktësi të qartë në artikull: thuhet se kjo është e vetmja rrugë

V82 = COMobjekt i ri ("V82.ComConnector"); Kodi = ContractorCOM.Code;


por e bëj me qetësi me ndihmën e përpunimit si ky:

Njoftoni(Baza.Direktoritë.Kontrapartet.FindBy Name("LLC").Kodi);


dhe gjithçka është në rregull! Dhe unë zgjedh lidhjen V82.ComConnector
Është disi e çuditshme që autorit nuk i intereson fare që artikulli i tij përmban probleme të tilla që janë vënë në dukje, por ai nuk reagon në asnjë mënyrë.
3. Por ka ende një problem kur shfaqet gabimi "Klasa nuk ekziston".
4. Por ka një problem kur është instaluar 8.2, dhe më pas është instaluar 8.1 - provoni të shkëmbeni përmes OLE / COM me një shkëmbim tipik UT-BP!
5. A mund të tregoni përpunimin kryesor në faqe që ju lejon të lidheni në mënyrë universale përmes OLE / COM në mënyrë që fillestarët të mos humbasin kohë, ju shkruani për ta! Meqë ra fjala, për disa arsye, fotografia e saj mburret me ju, pse do të ?. Dhe si rezultat, 2 fjalë për meritat, dhe 6 të tjera në prapaskenë.

Në përgjithësi, unë nuk ju hedh baltë, por vë në dukje zbrazëtira specifike, por nuk ka asnjë reagim. Nëse kjo është përvoja që ndani, atëherë është disi e gabuar dhe e paplotë.
Dua të them, nëse autori do të kishte një dëshirë për të mbledhur të gjitha defektet, atëherë ai të paktën mund të dëgjonte përvojën e dikujt tjetër, dhe të mos këputej nga komentet. Menjëherë krijohet një situatë kur ai që e lexon di më shumë se autori, i thonë (ndonjëherë gabimisht), dhe ai gjithashtu kundërpërgjigjet. Si rezultat, të gjitha informacionet nuk janë në artikull, por në komente! Qesharak! Ndodh shpesh, por në të njëjtën kohë, nuk keni nevojë të mbështeteni në atë që keni dashur më të mirën - unë tregoj se si është më mirë, dhe të tjerët e tregojnë atë! Përfshijeni këtë në artikull dhe do të jetë e vlefshme, jo të gjithë janë të interesuar ta lexojnë këtë përleshje.



Artikuj të ngjashëm: