Contacte

Eliminarea erorilor de conectare prin conexiunea COM. Eliminarea erorilor de conectare prin conexiune COM 1C de înregistrare COM Componente

În acest articol, voi vorbi despre multe caracteristici ale interacțiunii dintre bazele de 1c în conformitate cu tehnologia COM acumulată de-a lungul anilor de dezvoltare și utilizare a integrării produs comercial 2 sunt: \u200b\u200bintegrarea companiei noastre 2 sunt.

Termeni

OS - Sistem de operare

COM client - proces de operare (flux), care necesită crearea unui obiect com

COM Server - COM-Obiect creat de solicitarea clientului

COM Conector - V8x.comCoCoCoComencer Obiect pentru a crea conexiuni externe cu baze de date 1C

Server de automatizare - este OLE-SERVER, COM Object V8x.Application pentru a crea aplicații 1C

Ediția platformei - substring la punctul 2 al versiunii platformei (de exemplu 8.2, 8.3)

Ansamblul platformei - linia completă de versiune a platformei (de exemplu 8.2.19.130, 8.2.16.352)

Conectarea unei conexiuni externe

Luați în considerare algoritmul pentru conectarea unei conexiuni externe în detaliu
  1. Crearea unui con-conector COM (nume de clasă - V8x.comConnector). Opțiuni:
  2. Intracesional (inproc)
  3. O clasă de clasă V8x.comConnector de același bit pe măsură ce clientul COM trebuie înregistrată.
  4. Dacă publicarea platformei COM Client coincide cu ediția COM Server Platform, este, de asemenea, necesar să se asambleze platforma COM client și serverul COM.
  5. Este înregistrată la instalarea platformei cu opțiunea "Union extern". În orice moment, acesta poate fi înregistrat la comanda "REGSVR32 COMCNTR.DLL" în directorul executabil al platformei.
  6. Obiect COM este creat în memoria clientului COM
  7. Crearea costurilor de aproximativ - 0,01 (primul) /0.001 (al doilea)
  8. Exemplu

  9. Outprocesse locale (locale)
  10. Un clasa de clasa V8x.comConnector de orice bit și ansamblul platformei trebuie înregistrat. Trebuie să configurați prin DCOMCNFG.EXE COM + o aplicație cu activare "Aplicație server" / "Aplicație server". Citiți mai multe revizuite mai jos.
  11. Obiectul COM este creat în memoria procesului de gazdă a serviciului (dllhost.exe) pe computerul COM client
  12. Cultivarea costurilor aproximativ - 0,06 (primul) / 0,03 (al doilea) sec
  13. Exemplu
    Comedle \u003d New COM Object ("V83.comConnector");
    Conexiune străină \u003d komsetirir .connect (compusul șirului);
  14. Outpproceses Nonlocal (DCOM)
  15. O clasă V8x.comConnector de orice platformă de asamblare și de asamblare trebuie să fie înregistrată pe un computer non-local. Trebuie să configurați pe un computer non-local prin aplicația DCOMCNFG.EXE COM + cu activare "Aplicație Singer" / "Aplicație server". Citiți mai multe revizuite mai jos.
  16. Trebuie să configurați rolul "serverului de aplicație" / "aplicație server" pe un computer nonlocal și să activați accesul non-local prin selectarea opțiunii " Acces la retea la COM + "/" COM + acces la rețea ". Citiți mai multe revizuite mai jos.
  17. Obiectul COM este creat în memoria procesului de gazdă a serviciului (dllhost.exe) pe un alt computer
  18. Costul creării aproximativ
  19. Date experimentale

Graficul arată că durata creării acestui obiect este direct proporțională cu întârzierea canalului, iar coeficientul de proporționalitate este de aproximativ 24. Se poate presupune că atunci când creați acest obiect COM, 24 de apeluri prin canal.
  1. Exemplu
    Comedy \u003d New Comback ("V83.comConnector", NameComputer);
    Conexiune străină \u003d komsetirir .connect (compusul șirului);
  2. Executarea metodei de conectare (crearea unei conexiuni externe)
  3. Crearea unei sesiuni - 1 sec
  4. Inițializarea sesiunii - sec
  5. Sistemul de lucru anterior (numai serverul de automatizare)
  6. Sistemul de propactare
  7. Inițializarea parametrilor sesiunii
  8. Încărcarea metadatelor necesare

COM Costuri de apel

De fiecare dată când atragem în limba încorporată proprietatea sau metoda obiectului COM (efectuarea unui apel COM), apar o serie de acțiuni suplimentare comparativ cu referire la obiectul nativ al limbajului încorporat. Dacă serverul COM este într-un alt proces local, atunci este, de asemenea, transferul tuturor parametrilor de la clientul COM la serverul COM și în cele din urmă, parametrii transferați către clientul COM. Pentru un astfel de transfer, informațiile ar trebui să fie serializate în mod natural pe partea expeditorului și apoi deserializate pe partea beneficiară, care, împreună cu alte acțiuni, au primit numele de marshaling și demarasoline. În modul nonlocal (DCOM) un astfel de transfer va mai petrece timp comunicații de rețea și când primiți primul obiect la noul com pentru ao transfera la "scheletul" și, prin urmare, întârzierea canalului va juca un rol decisiv (mai multe informații despre COM, DOM în Wikipedia, Privire de ansamblu tehnică. DCOM,)

Tipul de calcul al apelului COM-Server

  1. Minim pentru serverul COM-ECESIONAL
  2. Mijlocul pentru serverul local non-procesiune
  3. De la mediu la mare pentru un server de comotare nelocală în funcție de calitatea canalului de comunicare

Minimizarea numărului de apeluri com

  1. Creați o prelucrare externă de bază cu un set de metode comune pentru primirea apelurilor de la Client COM pe partea de server COM
  2. Acum nu trebuie să schimbăm configurația bazei de date a serverului COM pentru a utiliza funcționalitatea complexă.
  3. În produsul nostru, am sunat "procesorul de servicii". La transfer și inițializare durează aproximativ 1 secundă
  4. Noi proiectăm interacțiunea cu serverul COM pe principiul "minim de apeluri COM", adică pregătiți tot ceea ce aveți nevoie pe clientul COM și transmiteți un apel mare ca parametri "
  5. Creați procesarea încorporată pentru a efectua un astfel de apel în clientul COM
  6. Transferarea obiectelor agregate
  7. Serializați toți parametrii de intrare pe partea clientului COM
  8. Deserializați toți parametrii de intrare pe partea Serverului COM
  9. Serializați toți parametrii de ieșire de pe partea Serverului COM
  10. Resetrializarea tuturor parametrilor de ieșire din partea Clientului COM
  11. În produsul nostru, l-am numit "Executia serviciului InfA"
  12. Pentru mai multe apeluri com, oferim o frecvență de frecvență
  13. De exemplu, apelurile de informații pot fi efectuate cu o frecvență variabilă

Părere

Atunci când se utilizează principiul "minim de apeluri COM", o parte semnificativă a timpului va fi efectuată în contextul altcuiva, care întărește serios unele inconveniente de apeluri COM:
  1. Nu puteți întrerupe fluxul COM client și conexiunea la serverul de aplicații 1C până când serverul COM este finalizat.
  2. Clientul COM nu are informații despre progresul apelului în serverul COM
Pentru a combate aceste inconveniente pot fi organizate părere De la serverul COM la Clientul COM, trecerea legăturii COM Server la modul comun COM client și numiți periodic un client COM prin intermediul acesteia. Trebuie remarcat faptul că există erori de platformă (https://partners.v8.1c.ru/forum/t/1382465/m/1382465), manifestată atunci când creează referințe la un modul comun în mai mult de un com-nord de sesiune. Prin urmare, în timp ce este mai bine să curățați legăturile către un modul comun în toate serverele COM reținute înainte de plasarea într-una nouă. În provocările de întoarcere puteți transmite:
  1. informații despre progres
  2. mesaje acumulate către utilizator (pentru a obține o funcție pentru a primi utilizatorul (adevărul))

Schema principiului "minimului de apeluri com"

O astfel de schemă este prietenoasă cu întârzieri cu canalele de înaltă legătură. Prin urmare, este în mare parte similară cu apelul de serviciu web. În consecință, utilizarea acesteia pentru interacțiunea COM, reduceți în mod semnificativ costul posibilelor tranziții între Com și Serviciul Web în ambele direcții.

Debugging.

Atunci când utilizați minimul de apeluri COM, este posibilă facilitarea depunerii executării codului pe serverul COM prin efectuarea unei ferestre de conexiune modală opțională la clientul COM. În această fereastră, trebuie să puteți seta parametrii de conectare de unică folosință, să efectuați funcții auxiliare și să vizualizați informații despre sesiunea conectată. Mai jos, deoarece un exemplu arată o astfel de fereastră din produsul nostru.

Pentru a permite capacitatea de a depana conexiuni externe, trebuie să creați un fișier COMCNTRCFG.XML cu conținutul corespunzător din Subdirectorul Conf. În fereastra conexiunii, puteți face un buton / casetă de selectare pentru crearea de software un astfel de fișier. Cu toate acestea, multe versiuni ale platformei conțin o eroare datorată că elementele de buclă ale conexiunilor externe nu sunt vizibile în depanare chiar și cu acest fișier configurat corect. Pe platforma 8.3, aceste probleme par a fi rezolvate.

Exemplu de fișier comcnrcfg.xml:


De asemenea, nu puteți uita de necesitatea de a rula un configurator pentru depanarea de la același (până la registrul de litere) al șirului de conexiune ca obiect de depanare. Prin urmare, în acest dialog, trebuie să efectuați un buton pentru a porni configuratorul de server COM cu linia corectă a conexiunii.

Într-o anumită măsură pentru a ocoli problema invizibilității obiectului de depanare a unei conexiuni externe și o serie de alte inconveniente pot fi realizate prin executarea unică a codului de pe clientul gros, înlocuind modul "Conexiune externă" pe "automatizarea server "(aplicație), adică Folosind V8x.Application și a permis vizibilitatea. Prin urmare, în fereastra de conectare, aveți nevoie de parametri pentru a selecta modul de conectare.

După crearea unei conexiuni la Clientul COM, un depanator de bază de bază COM este de obicei necesar și setarea punctului de oprire acolo în locul potrivit. Prin urmare, în fereastra de conectare, trebuie să poziționați butonul COM Connection / Configurator Configurator. Dacă serverul COM rulează în modul de aplicare vizibil, atunci să conectați debuggerul, puteți utiliza un apel asincron la excepția din acesta. Din dialogul de eroare din aplicația COM Server, puteți deschide configuratorul și în majoritatea cazurilor conectați imediat depanatorul. Dacă conexiunea de debugger nu este disponibilă în acest fel, operatorul va ajuta la afișarea informațiilor despre sesiune (numărul său) în baza de date COM Server. De asemenea, aveți nevoie de butonul Open din debuggerul de fișiere deschise. prelucrarea externăcare vor fi efectuate în ea.

Management COM Clase și Aplicații COM + 1C

Management COM clase

  1. Conexiune externă (V8x.comConnector)
  2. Înregistrare: regsvr32 comcnr.dll
  3. Anularea: Regsvr32 COMCNTR.DLL / U
  4. Server de automatizare (V8x.Application)
  5. Înregistrare - 1cv8.exe / regserver
  6. Anulare - 1cv8.exe / UnregServer

Gestionarea aplicațiilor COM +

Exercitate prin snap dcomcnfg.exe. Pentru a înregistra 1c ca o aplicație COM +, trebuie să deschideți snap-ul "dcomcnfg". În ea în filiala "Componenta" - "Computere" - "Computerul meu" - Aplicații "COM +" (Aplicații COM +) Trebuie să adăugați o nouă aplicație (aplicație). Când adăugați, puteți specifica orice nume. Apoi, trebuie să specificați utilizatorul, în numele căruia va funcționa aplicația COM +, pe fila de identificare (identitate). De asemenea, trebuie să setați accesul la aplicație pentru toți utilizatorii adăugând, dacă nu există niciun rol, cu niciun nume în filiala Roles (roluri) și adăugați utilizatori la sucursala sa (toată lumea) la sucursala sa. După adăugarea unei aplicații, trebuie să creați o componentă nouă. Pentru a face acest lucru, în filiala "Componente" a aplicației create, trebuie să selectați elementul de meniu "Creați" - "Component". Când creați pentru a selecta importul de componente deja înregistrate și pentru a găsi componenta 1C (V8x.comConnector.1) în listă (de preferință 64 de biți).

În produsul nostru există o "clasă COM" pentru a vizualiza / înregistra / modifica toate clasele COM și aplicațiile COM + 1C pe computerul specificat:

Configurarea serverului DCOM

Pentru serverul Windows 2008, trebuie să adăugați rolul "Aplicații Server". Pentru a face acest lucru, deschideți panoul de control al computerului, faceți clic dreapta în ramurile "rol" și selectați elementul de meniu "Adăugați un rol".

Va apărea o fereastră în care doriți să selectați rolul "serverului de aplicații" / "server de aplicații". La etapa de selecție a serverului de aplicații, trebuie să specificați elementul "Accesul la rețea la COM +" / "COM + Network Access" ". Dacă nu faceți, atunci când încercați să creați un obiect com, veți primi o eroare "atunci când apelați la un designer (Combek): Componenta sau aplicația care conține componenta a fost dezactivată".

Probleme

  1. Costuri ridicate de conexiune / inițializare
  2. Holding COM Servere - un instrument eficient lupta
  3. Depozitare temporara. Producătorul nu recomandă, dar nu există loc pentru a merge. http://infostart.ru/public/331683/
  4. Reutilizați valorile returnate. Eliminat la fiecare 20 de minute
  5. Diferite ansambluri ale platformei client și server cu aceeași ediție de platformă
  6. Să se ocolească reciproc de la clientul COM să construiască platforma, să aloce și să configureze serverul DCOM
  7. Lipsa de informații despre tipurile de obiecte 1C investite în obiecte COM (în loc de tipul de obiect 1c, primim tipul "COMOUB") și absența sfaturilor contextuale asupra lor
  8. Pentru a ocoli, aplicați principiul "minim de apeluri com"
  9. Când transmiteți o excepție de la serverul COM, este nevoie de o scurtă forma datorită erorii platformei
  10. Pentru a ocoli, întoarceți-vă în jurul fiecărui apel din partea Serverului COM într-o încercare și excludeți excepția descriere completă Erori
  11. Când creați o eroare de obiect COM "versiunea" COMCNTR "Componenta (8.x.xx.xxx) diferă de versiunea modulului rădăcină" Core82 "(8.x.yy.yyy)"
  12. Pentru a bypass Creați COM + o aplicație cu activarea periodică. Apoi, serverul COM va fi creat într-un proces separat, iar meciurile versiunilor acestor module nu vor fi necesare.
  13. Canale lente (întârzieri mari)
  14. Fiecare subrețe pentru un canal lent separat este atribuită și configurați serverul DCOM și când accesați bazele din spatele acestui canal, serverele COM creează pe acest computer, minimizând numărul și cantitatea de apeluri COM client<->COM Server.
  15. Cache (reutilizări) com
  16. Imposibil de rupt conexiunea fluxului de lucru în care este așteptat apelul de server COM.
  17. Puteți utiliza crearea obiectelor COM în procesele gazdă selectate, configurarea în consecință a aplicației COM + și înregistrați identificatorii acestor procese în legarea la sesiunile COM pentru clienți. Apoi, dacă este necesar, completați conexiunea serverului unei astfel de sesiuni, puteți ucide mai întâi procesul de server COM și apoi sesiunea în sine.
  18. Când accesează obiectul COM, poate apărea o eroare " Eroare necunoscută" Posibile motive:
  19. Serverul COM a încetat să existe. Posibile motive:
  20. Stack se revarsă
  21. Eroare nealiniată
  22. Procesul gazdă sa încheiat
  23. Pierderea de comunicare cu un server com nonlocal
  24. Coincidența numelor de proprietăți și metode fără parametrii obiectului creează ambiguitate de a le contacta prin com
  25. De exemplu, dacă un director are o recuzită completă de reprezentare completă, atunci datorită prezenței unei metode complete otenoaminare (), contactarea detaliilor de nume complet prin com poate duce la o metodă completă de indicare ()
  26. Pentru a ocoli, utilizați principiul "minim al apelurilor com"

COM Technology vs Web Services pe rețeaua locală

dezavantaje

  1. Complexitatea discutată mai sus cu interacțiunea diferitelor ansambluri ale platformei 1C, care necesită un mecanism de service pentru soluția lor
  2. Costuri ridicate pentru conectare / inițializare, deci în absența cache-ului ineficient pentru apelurile frecvente mici
  3. Legarea la familia sistemelor de operare (platformă) Windows

Beneficii

  1. Nu este nevoie să schimbați configurația bazelor la care vă conectați
  2. Funcționalitate largă
  3. Debugging mai ușor
  4. Nu este nevoie să implementați și să mențineți un server web

Capturați licențele clientului

În cele mai multe cazuri, toate aplicațiile client, un caz special din care sunt automatizarea serverului și cu rezervări este o conexiune externă, într-o sesiune de operare, este nevoie doar de toate licențele. Cu toate acestea, dacă aplicația client nu a reușit să obțină o licență hardware (de la hasp local sau hasp de rețea) și licență software. (Platformă sau configurație de bază), se face o încercare de a obține o licență separată de la serverul 1c: întreprinderi. Server 1C: Întreprinderile pot da doar licența numai dacă licențele sunt permise în proprietățile bazei de date ale serverului 1C: întreprinderi. În acest caz, fiecare aplicație client și o conexiune externă pot capta propria licență.

Concluzie

Dacă doriți să aflați mai multe despre caracteristicile descrise, puteți descărca gratuit o configurație gratuită și o bază de date de produs, pentru care este necesar să plasați o pre-comandă pe un produs informativ pentru produsul 2S: integrare. În ciuda prezenței în configurația modulului protejat, 99% cod software. Configurația este deschisă, adică puteți explora implementarea metodelor descrise.

Componenta COM furnizată împreună cu platforma vă permite să interacționați între ele bazele de informare, precum și accesul bazelor de date 1c: întreprinderi de la aplicații terțe părți. Puteți citi mai mult pentru mai multe site oficial.

Exemplu de lucru prin conexiunea COM, am fost luați în considerare într-unul din articolele anterioare. Astăzi considerăm acțiunile din sistem necesare pentru a utiliza componentele COM.

Înregistrarea în sistem

După instalarea platformei comitetului, componenta COM trebuie instalată automat instalator. Fișierul component extern este localizat în directorul:

C: \\ Program Files \\ 1CV82 \\ [versiunea platformei] \\ bin \\ comcnr.dll

Astfel, când instalați Novka versiune noua Platformele componente vor fi instalate noi și se află în directorul relevant. Pentru a utiliza componenta COM, trebuie să fie înregistrată în sistem de operare.

Există situații în care programul de instalare nu poate înregistra automat DLL în sistemul de operare, deci trebuie făcut manual. De asemenea, la instalarea unei noi versiuni a platformei peste instalarea deja, ar putea fi nevoie să vă înregistrați cOMCNTRL.DLL. Din directorul versiunii instalate.

Puteți efectua manual utilizând o comandă de șir care rulează pe numele administratorului după cum urmează:

regsvr32 comcnrl.dll.

lansat în directorul de mai sus.


Este adesea necesar să se obțină date din diferite baze, care nu sunt deloc neobișnuite pe diferite platforme. Poate fi schimb de date regulat între baze de date. De asemenea, pot exista o prelucrare de transfer de date unică. Acestea pot fi, de asemenea, rapoarte de colectare a datelor din diferite baze și pot forma rezultatul de ieșire necesar.
În fiecare dintre aceste cazuri, este necesar să se conecteze de la o bază la alta prin conexiunea COM. În stadiul de conectare, se află adesea probleme diferite. Acest articol va lua în considerare unele erori și modalități de a le elimina. Vor fi erori concrete la conectarea între anumite platforme, dar metodele de eliminare pot fi aceleași potrivite și când sunt conectate între platforme în alte variante.

Situația este prima. Când încercați să vă conectați prin com, se eliberează un mesaj de eroare la baza de date sursă. Ceva de genul: "Eroare la apelarea unui constructor (COMOBJECT): -2147221164 (0x80040154): Clasa nu este înregistrată".
Pentru a elimina o astfel de eroare, trebuie să înregistreze prima dată pentru a înregistra biblioteca clienților - receptor. în plus diferite versiuni Clienții unei versiuni a platformei trebuie să-și înregistreze biblioteca. Adică pentru diferite ansambluri ale platformei versiunii 8.3, trebuie să reînregistrați versiunea bibliotecii de eliberare a platformei dorite. Pentru versiunea 8.2 platformă, aceeași abordare.
Biblioteca este înregistrată după cum urmează. Linia de comandă începe de la sub administrator, comanda este scrisă în el.

Regsvr32 "[calea bibliotecii] \\ bin \\ comcntr.dll,

De exemplu, regsvr32 "C: \\ Fișierele programului (x86) \\ 1cv8 \\ 8.3.5.1119 \\ bin \\ comcnr.dll" și comanda este efectuată. Toate aplicațiile deschise 1c sunt mai bune pentru a se închide. Dacă înregistrarea reușită va fi emisă un mesaj despre succes. Dacă este emis un mesaj de eroare, atunci trebuie să verificați calea către care este localizată biblioteca și toate drepturile.
De asemenea, această comandă poate fi plasată în fișierul CMD și să o ruleze cu drepturile de administrator.

Dacă o astfel de eroare scade atunci când încercați să vă conectați la baza de date de pe platformă 7.7, verificați registrul pentru înregistrarea conectorului de 7,7. În secțiunea HKEY_Classes_root trebuie să existe sucursale descrise în imagine:

Pentru înregistrarea corectă a conectorului de 7,7, o dată trebuie să rulați 1C întreprindere 7.7 în numele administratorului.

Situația este a doua. Când încercați să instalați conexiunea COM, o eroare are o eroare cu un mesaj despre versiunea nepotrivită a clientului sursă BD. În acest caz, problema este rezolvată prin înregistrare versiunea corectă Bibliotecile COMCNTR.DLLL așa cum s-a descris mai sus.

Situație a celui de-al treilea. Când încercați să vă conectați prin com-conectare la baza de date sursă de pe platforma 1C 7.7, erorile nu sunt emise, dar procesarea "strânsă" se blochează. Când eliminați sarcina, conexiunea prin consola de gestionare a serverului 8.x rămâne și nu este resetată de niciun trucuri, cu excepția repornirii serviciului 1C Server. Acest fenomen apare atunci când se încearcă o încercare de la baza de date de pe platforma 8.x la baza de date de pe platforma 7.7 din sesiunea de server. În mod clar anumite cauze ale unui astfel de comportament al programului nu sunt date aici. Recomandare One - Utilizați conexiunea de apelare de la sesiunea de clienți (& Cutton).

Situația este a patra. Când încercați să vă conectați prin conexiunea COM la baza de date sursă pe platforma 1C 7.7, erorile nu sunt emise, dar conexiunile nu apar. În acest caz, iar în unele altele contribuie la înregistrarea manuală a comentariilor.

1. Mergeți la panoul de control → Administrare → Servicii Componente.
2. Mergeți la computerele ramificației → Computerul meu → Aplicații COM +.


3. În meniul contextual, selectați Creare → Anexă. Se deschide expertul de instalare a aplicației COM +. Selectați "Creați o nouă aplicație".

4. Numele noii aplicații este mai bine să scrieți clar despre ce vorbire: V8_Connector, Metoda de activare - "Aplicație server".

5. În etapa următoare, setați "utilizatorul curent". Faceți clic pe "Next". În ramura aplicației create, mergeți la sucursala "Rolul" Deschideți rolul "Creatorowner" și apoi în secțiunea "Utilizatori" Creați un utilizator - contul sub care funcționează serverul 1C.
6. În ramura aplicației create, mergeți la ramura "Componente" și creați o componentă: Creați - Componentă Selectați "Instalarea de noi componente" și selectați DLL-KU dorit în dialog (în acest exemplu: [Calea spre bibliotecă] \\ bin \\ comcnr.dll).
7. În meniul contextual, selectați "Proprietăți". În fereastra care se deschide, mergeți la fila "Securitate".
8. Scoateți "Verificarea accesului forțat pentru aplicații". Am pus un Daw "aplică politici limită de politică". Stabiliți nivelul de restricții - "nelimitat"


9. Faceți clic pe "OK".

Ca și în Windows X32 (x86) / x64, înregistrați componenta COMCNTR.DLL 1C 8 COMCNTR.DLL 1C 8.

Răspunsul la această întrebare este relevant în contextul schimbului de schimburi între bazele de date 1C utilizând conexiune directă. Una dintre opțiunile pentru componentele de instalare / înregistrare ale conexiunilor COM sunt date pe pagină: descrie opțiunea de instalare a componentei la instalarea / reinstalarea componentelor platformei 1C: o întreprindere dintr-un pachet standard de instalare. Dar se întâmplă că, la urma urmei, componenta COM pentru unii pini misterioși nu este încă înregistrată cu operațiunea de mai sus.

Este ceva opțiune alternativă Utilizarea liniei de comandă a sistemului de operare. Privind puțin înainte, și pentru a vă proteja de erori la înregistrarea componentelor COMCNTR.DLL COM printr-o linie de comandă, cum ar fi ecranul afișat

Pentru a evita eroarea "Modulul COMCNTR.dll este încărcat, dar nu a reușit să finalizeze apelul dllregisterster, codul de eroare 0x80070005" porniți linia de comandă cu drepturile de administrator

În sistemul X32 System (X86) pentru platforma 1C: Întreprinderea 8.2

C: \\ Fișierele programului (X86) \\ 1CV82 \\<номер_релиза>\\ bin\u003e regsvr32 comcntr.dll

Unde<номер_релиза> - numărul de eliberare utilizată în prezent a platformei 1C 8.

Pentru platforma 1c: Enterprise 8.3 linie de comanda Pentru a înregistra componenta COM va arăta așa ceva:

C: \\ Fișierele programului (X86) \\ 1CV8 \\<номер_релиза>\\ bin\u003e regsvr32 comcntr.dll

Pe ecranul de mai jos ca pirome pentru cazul înregistrării COMCNTR.dll în valoarea OS X86<номер_релиза> - "8.3.9.1818"

Acum luați în considerare opțiunea pentru sistemul de biți X64 pentru platforma 1C: întreprinderea 8.2, o alternativă:

C: \\ Windows \\ syswow64\u003e regsvr32 "C: \\ Fișierele program (x86) \\ 1cv82 \\<номер_релиза>\\ bin \\ comcntr.dll "

Pentru Windows X64, compusul COM 1C 8.3 poate fi stins după cum urmează:

C: \\ Windows \\ syswow64\u003e Regsvr32 "C: \\ Program Files (x86) \\ 1cv8 \\<номер_релиза>\\ bin \\ comcntr.dll "

Dacă tot același material nu ajută, se propune abordarea publicațiilor alternative: înregistrarea componentelor COMCNTR.dll în versiunea pe 64 de biți a componentelor Microsoft și a componentelor de înregistrare comcntr.dll pentru compusul COM de la 1c 8 într-un funcționare pe 32 de biți sistem

© www .. Toate drepturile rezervate. Utilizarea textelor și a imaginilor din această pagină fără permisiunea scrisă a proprietarului este interzisă. Când utilizați materialele din această pagină, este necesar să specificați legăturile cu această pagină.

La un moment dat, s-au confruntat cu problema creării unei conexiuni com pe partea serverului. Problema este dificil de diagnosticat, deoarece Codul funcționează perfect sub client refuză să lucreze pe server, de exemplu, dacă codul execută sarcina de reglementare.

Metoda propusă mai jos vă permite să scăpați de problema descrisă. Din păcate, după reinstalarea platformei, totul se întoarce la cercuri proprii și procedura trebuie repetată.

Http://www.steeltrace.ru/details/articleid/22/%d1%80 %d0%B5%D0%B3%D0%B8%D1%81%d1%82%d1%80%d0%b0%d1. % 86% D0% b8% D1% 8F-1% D1% 81-COM-% D0% D0% D0% D0% D0% BON% D0% D0% B5% D0% Bd% D1% 92% D0% bb% D0% D1% D1% 80% B0% D0% B1% D0% Be% D1% 82% D1% 8B-% D1 % 81-64-% d0% B1% D0% D0% BD% D1% 8B% D0% BC% D0% BF% D1% 80% D0% B8% D0% BB % D0% B% D0% D0% B5% D0% D0% D0% D1% 8F% D0% BC% D0% B8.aspx

Actualizare.. Supliment: Dacă serverul este pe 64 de biți pe un server Windows 64-bit (în distribuția Windows64.rar),
că o astfel de problemă nu va fi. Punctul de referință vă permite să livrați conectorul COM fără a instala nordul însuși. Acest lucru este util atunci când aplicația este implementată pe platformă 8.3, iar conexiunea COM este necesară pentru baze la 8.2.

Pentru adăugare, mulțumescbrix8x..

Este afișat un algoritm de configurare a sistemului, cu un ecran pentru fiecare acțiune.

2. Componente de înregistrare comcnr.dll

5. Start Server 1C. (necesar :)

Consola de apel


Înregistram componenta. Nu există nici o componentă dacă este instalat numai serverul 1C. Din anumite motive, 1c îl publică doar ca parte a clientului.


Actualizare.. Dacă componenta nu este înregistrată, este posibil să fie necesar să eliminați mai întâi componenta veche, doar apoi obțineți unul nou.
Efectuarea regsvr32. / U. "C: \\ Program Files \\ 1CV8 \\ 8.2.18.82 \\ bin \\ comcnr.dll"
Apoi același, dar fără "/ u" regsvr32 "C: \\ Program Files \\ 1cv8 \\ 8.2.18.82 \\ bin \\ comcnr.dll"

Pentru adăugare, mulțumescshur52..

Rulați serviciul de componente. Descrie pentru Windows Server. 2008 R2 Standart.








Într-o ramură Componentele Adăugați o nouă componentă COMCNTR.DLL






IMPORTANT!!! După instalare, trebuie să schimbați ușor proprietățile. Această subtilitate nu este descrisă nicăieri, nu am lucrat fără ea!

Repornirea serverului fizic



Ți-a plăcut articolul? Împărtășește-l