thành phần com đăng ký 1c

Điều này dẫn đến một số khó khăn. Ví dụ: khi cố gắng chấm dứt phiên bị treo từ biểu mẫu sau:

Điều này không thể thực hiện được bằng cách sử dụng “kết nối COM với tác nhân máy chủ” và thao tác sẽ không thành công kèm theo lỗi.

Để tạo thủ công kết nối COM cho phiên bản 32 bit của nền tảng 1C chạy trên phiên bản 64 bit hệ điều hành, bạn cần hoàn thành các bước sau.

1. Cần đăng ký thư viện 32 bit trong hệ thống comcntr.dll. Để thực hiện việc này, hãy mở dòng lệnh cmd.exe trên máy chủ với tư cách quản trị viên và chạy các lệnh sau:

C:\Users\admin>cd C:\Program Files (x86)\1cv8\8.3.6.2390\bin C:\Program Files (x86)\1cv8\8.3.6.2390\bin>regsvr32 comcntr.dll

Trong cửa sổ hiện ra thông báo đăng ký thư viện thành công, nhấn “OK”:

Thư mục thùng rác bạn cần tìm đường dẫn nơi bạn đã cài đặt nó Phiên bản hiện tại Nền tảng 1C. Tại thời điểm viết bài này, số lượng của nó 8.3.6.2390 .

2. Khởi chạy bảng điều khiển “Dịch vụ thành phần”: Bắt đầu -> Công cụ quản trị -> Dịch vụ thành phần. Mở rộng nhánh “Dịch vụ thành phần”. Gọi menu bằng cách nhấp vào phím phải di chuột qua nhánh “COM + Ứng dụng” và chọn Mới -> Ứng dụng:

3. Bạn sẽ thấy cửa sổ chào mừng của “Trình hướng dẫn cài đặt ứng dụng COM +”, trong đó bạn cần nhấp vào “Tiếp theo”:

4. Trong cửa sổ tiếp theo, nhấp vào “Tạo ứng dụng mới”:

5. Nhập tên mong muốn cho ứng dụng mới. Ví dụ sử dụng Đầu nối V83_Com, đánh dấu phương thức kích hoạt là “ Ứng dụng máy chủ” và nhấp vào tiếp theo:

6. Trong cửa sổ tiếp theo, chọn tài khoản mà tác nhân máy chủ 1C sử dụng khi khởi động. Trong ví dụ này là Tài khoản quản trị viên địa phương máy chủ. Nhập cặp tên người dùng/mật khẩu của bạn và nhấp vào “Tiếp theo”:

7.

8. TRÊN bước tiếp theo, bạn cần thêm (nếu hợp lý) một người dùng mà đại lý máy chủ 1C thay mặt họ khởi động và theo đó, tài khoản của họ sẽ được sử dụng để chứng nhận hoạt động của ứng dụng COM + mới của chúng tôi. Trong cửa sổ ví dụ này Chỉ quản trị viên tên miền được chỉ định, thay mặt họ khởi chạy “Trình hướng dẫn cài đặt ứng dụng COM +”, nhấp vào nút “Thêm”:

9. Trong cửa sổ tiếp theo, nhập tên tài khoản mà tác nhân máy chủ 1C chạy và nhấp vào “OK”:

10. Quay lại “Wizard…”, đảm bảo rằng tài khoản bạn đang tìm kiếm đã được thêm và nhấp vào “Tiếp theo”:

11. Đóng “Trình hướng dẫn cài đặt ứng dụng COM+” bằng cách nhấp vào “Hoàn tất”:

12. Chúng ta quay lại cửa sổ bảng điều khiển Dịch vụ Thành phần. Đảm bảo rằng ứng dụng COM+ có tên của bạn (trong ví dụ là V83_ComConnector) đã được tạo:

13. Mở rộng cây của ứng dụng đã tạo và bằng cách nhấp chuột phải vào menu trên nhánh “Thành phần”, tạo thành phần mới Mới -> Thành phần:

14. Bạn sẽ thấy cửa sổ chào mừng của “Trình hướng dẫn cài đặt thành phần COM +”, trong đó bạn cần nhấp vào “Tiếp theo”:

15. Trong cửa sổ tiếp theo, nhấp vào “Cài đặt các thành phần mới”:

16. Bằng cách sử dụng windows explorer chọn thư viện comcntr.dll, nằm dọc theo đường dẫn C:\Program Files (x86)\1cv8\8.3.6.2390\bin mà chúng tôi đã đăng ký trong hệ thống ở bước đầu tiên. Đảm bảo rằng đường dẫn đến thư viện này khớp với phiên bản nền tảng của bạn. Trong ví dụ này là 8.3.6.2390 . Và nhấp vào “Mở”:

17. Trong cửa sổ “Wizards…” tiếp theo, nhấp vào “Tiếp theo”:

18. Đóng “Trình hướng dẫn cài đặt thành phần COM+” bằng cách nhấp vào “Hoàn tất”:

19. Bạn sẽ được đưa trở lại cửa sổ bảng điều khiển Dịch vụ Thành phần. Hãy chắc chắn rằng chúng tôi ứng dụng COM+ một thành phần mới đã được tạo:

20. Gọi thuộc tính của nó:

21. Và trên tab “Bảo mật” trong hộp “Vai trò được đặt rõ ràng cho các đối tượng đã chọn:”, đánh dấu bằng chuột Chủ sở hữu tác giả và nhấp vào “OK”:

22. Quay lại bảng điều khiển Dịch vụ Thành phần, đóng nó lại và khởi động lại máy chủ.

Sau khi thực hiện các bước này, việc chấm dứt các phiên “bị kẹt” trong 1C phiên bản 8.3 diễn ra mà không gặp vấn đề gì. Điều bất tiện duy nhất là bây giờ sau mỗi lần cập nhật nền tảng 1C lên phiên bản mới, thao tác này phải được thực hiện.

Có lần tôi gặp phải vấn đề tạo kết nối COM ở phía máy chủ. Vấn đề rất khó chẩn đoán vì... mã hoạt động hoàn hảo dưới máy khách sẽ từ chối hoạt động trên máy chủ, chẳng hạn như nếu mã thực hiện một tác vụ thông thường.

Phương pháp được đề xuất dưới đây cho phép bạn thoát khỏi vấn đề được mô tả. Thật không may, sau khi cài đặt lại nền tảng, mọi thứ trở lại bình thường và quy trình phải được lặp lại.

Cập nhật. Ngoài ra: nếu máy chủ Windows 64-bit có 1C Enterprise Server 64-bit (trong bản phân phối windows64.rar),
thì sẽ không có vấn đề như vậy. Trình cài đặt cho phép bạn cài đặt đầu nối COM mà không cần cài đặt phía bắc. Điều này hữu ích khi ứng dụng được triển khai trên nền tảng 8.3 và cần có kết nối COM với cơ sở dữ liệu trên nền tảng 8.2.

Cảm ơn vì sự bổ sungbrix8x.

Một thuật toán thiết lập hệ thống được đưa ra, kèm theo ảnh chụp màn hình cho từng hành động.

2. Đăng ký thành phần comcntr.dll

5. Bắt đầu máy chủ 1C. (Nhất thiết :)

Gọi bàn điều khiển


Đăng ký thành phần. Thành phần bị thiếu nếu chỉ cài đặt máy chủ 1C. Vì lý do nào đó, 1C chỉ xuất bản nó như một phần của ứng dụng khách.


Hãy bắt đầu dịch vụ thành phần. Được mô tả cho máy chủ Windows Tiêu chuẩn 2008 R2.








trong chủ đề Thêm thành phần thành phần mới comcntr.dll






QUAN TRỌNG!!! Sau khi cài đặt bạn cần thay đổi thuộc tính một chút. Sự tinh tế này không được mô tả ở bất cứ đâu, nếu không có nó thì nó sẽ không có tác dụng với tôi!

Khởi động lại máy chủ vật lý

Truy cập vào cơ sở thông tin từ chương trình bên ngoàiĐối tượng COM COMConnector được sử dụng. Tùy thuộc vào phiên bản nền tảng, V82.COMConnector hoặc V83.COMConnector được sử dụng. Khi cài đặt nền tảng 1C, lớp COMConnector sẽ tự động được đăng ký trong hệ điều hành. Nếu vì lý do nào đó việc đăng ký không thành công, bạn có thể đăng ký thủ công.

Bạn có thể tìm thấy ví dụ về cách làm việc với cơ sở dữ liệu 1C thông qua kết nối COM trong.
Nếu COMConnector chưa được đăng ký trong Windows thì khi sáng tạo phần mềmđối tượng sẽ xuất hiện lỗi:
Lỗi khi gọi hàm tạo (COMObject): -2147221164(0x80040154): Lớp chưa được đăng ký.

Việc đăng ký có thể được thực hiện bằng cách sử dụng dòng lệnh. Để mở dòng lệnh trong Windows 7 hoặc Windows 10, bạn cần nhập cmd vào thanh tìm kiếm trong menu BẮT ĐẦU. Đối với Windows 8, trong “Cửa sổ bắt đầu”, nhập cmd vào tìm kiếm. Chạy cmd.exe với quyền quản trị viên.

Cú pháp dòng lệnh của Windows

cd c:\tệp chương trình- vào thư mục file chương trình
đĩa CD\- vào thư mục gốc của đĩa
Với:- lái xe c
đĩa CD..- cao hơn một cấp


Windows (x64)

Để đăng ký ComConnector trong hệ điều hành Windows 64-bit, hãy thực hiện
đội: C:\Windows\SysWOW64\

c:\Windows\System32>
c:\Windows\System32>cd c:\Windows\SysWOW64
c:\Windows\SysWOW64>
c:\Windows\SysWOW64>regsvr32 "c:\tệp chương trình (x86)\1cv8\8.3.9.2233\bin\comcntr.dll"
...
Gỡ cài đặt
c:\Windows\SysWOW64>

Windows (x32)

Đối với hoạt động 32-bit Hệ thống Windows thực hiện
đội: C:\Windows\System32\regsvr32 "C:\Program Files (x86)\1cv8\8.3.9.2233\bin\comcntr.dll"

c:\Windows\System32>
c:\Windows\System32>regsvr32 "c:\tệp chương trình (x86)\1cv8\8.3.9.2233\bin\comcntr.dll"
...
Gỡ cài đặt
c:\Windows\System32>regsvr32 "c:\tệp chương trình (x86)\1cv8\8.3.9.2233\bin\comcntr.dll" /u

Sau khi thực hiện thành công sẽ xuất hiện thông báo:

Trình cập nhật-1s. Giải quyết vấn đề với thư viện com để kết nối bên ngoài với cơ sở dữ liệu.

2018-10-05T16:32:35+00:00

Trong công việc của mình, Updater-1c sử dụng thư viện com từ 1c để kết nối bên ngoài với cơ sở dữ liệu.

Trong hầu hết các trường hợp, không có vấn đề gì xảy ra với thư viện này - bản thân trình cập nhật sẽ tự động đăng ký và sử dụng thư viện phiên bản cần thiết 1c, nhưng đôi khi cũng có trường hợp phát sinh (chủ yếu trên hệ điều hành máy chủ) khi bắt buộc phải “nhảy múa với tambourine”.

Làm thế nào để hiểu rằng chúng tôi có vấn đề với COM

Để thực hiện việc này, hãy nhấn nút “Kiểm tra cài đặt” trong khi giữ phím “Shift” trên bàn phím:

Trong điều kiện bình thường công việc COM báo cáo sẽ giống như thế này:

Nếu có vấn đề với COM, lỗi này hoặc lỗi tương tự sẽ xuất hiện:

Anh ấy cũng có thể viết một cái gì đó như " Không tạo được kết nối phần mềmđến 1C".

Có, theo kết quả kiểm tra, chúng tôi có vấn đề với COM

Trước hết, chúng ta đang nói về loại thư viện nào? Thư viện này comcntr.dll, cái nào ở trong thư mục thùng rác nền tảng 1C cụ thể:

Thư viện này được cài đặt và đăng ký tự động với hệ thống khi cài đặt nền tảng.

Ngoài ra, trình cập nhật trước khi kết nối với cơ sở dữ liệu qua nối ngoài nó còn đăng ký thư viện từ phiên bản nền tảng được yêu cầu trong hệ thống bằng lệnh:

regsvr32. exe /n/i:người dùng

Vậy chúng ta có thể làm gì?

Bước #0

Trước hết, chúng tôi đảm bảo rằng chúng tôi thực sự có phiên bản chuyên nghiệp của nền tảng, vì đối với phiên bản cơ bản nền tảng, các kết nối bên ngoài tới cơ sở dữ liệu sẽ không hoạt động (đây là hạn chế của nền tảng).

Để hiểu chúng tôi có nền tảng gì (cơ bản hoặc chuyên nghiệp), hãy chạy nền tảng này.

Nếu giấy phép cho nền tảng vẫn chưa chuyên nghiệp nhưng cơ bản thì tất cả các bước khác đều không có ý nghĩa. Kết nối bên ngoài sẽ không hoạt động với cơ sở dữ liệu (do hạn chế về nền tảng). Không còn gì ngoài việc cấu hình cơ sở dữ liệu.

Bước 1

Nếu bạn đã bật UAC, bạn có thể đạt được điều này bằng cách nhấp chuột phải vào phím tắt trình cập nhật và chọn tùy chọn "Chạy với tư cách quản trị viên".

Tiếp theo, chọn cơ sở dữ liệu và nhấp vào nút “Kiểm tra cài đặt”. Nếu lỗi biến mất và không còn tái hiện ngay cả khi bạn chạy trình cập nhật bình thường (không có quyền quản trị viên), xin chúc mừng, sự cố đã được giải quyết. Nếu không, hãy tiếp tục.

Bước 2

Trong phiên bản 32 bit của HĐH, chúng tôi cố gắng thực thi lệnh

regsvr32/n/i:người dùng "đường dẫn tới thư mục bin\comcntr.dll"

Trên phiên bản HĐH 64 bit, lệnh sẽ giống như thế này:

C:\Windows\SysWOW64\regsvr32 /n/i:người dùng "đường dẫn tới thư mục bin\comcntr.dll"

Chúng tôi chạy các lệnh này từ tên người dùng với quyền quản trị viên. Và khi UAC được bật, hãy khởi chạy cmd thông qua “Chạy với tư cách quản trị viên” hoặc thông qua cùng một lần khởi chạy tệp bó đã viết.

Nếu lệnh đăng ký không giúp ích được thì trước tiên bạn phải xóa đăng ký thư viện comcntr.dll bằng cách chạy lệnh tương tự gọi regsvr32 bằng phím /u

Nếu cách này không hiệu quả, hãy thử cài đặt lại nền tảng 1C ở chế độ Fix, sau đó đăng ký thư viện như đã viết ở trên.

Bước 3

Có vẻ như trình cập nhật không thể đăng ký thành phần COM do cài đặt bảo mật trên máy chủ của bạn.
Trong trường hợp này:

  1. Đi tới Bảng điều khiển - Quản trị - Dịch vụ thành phần.
  2. Chúng ta hãy đến nhánh Máy tính - Máy tính của tôi - Ứng dụng COM+.
  3. TRONG danh mục chọn Tạo - Ứng dụng. Trình hướng dẫn cài đặt ứng dụng COM+ sẽ mở ra.
  4. Bấm tiếp".
  5. Chọn "Tạo ứng dụng mới".
  6. Nhập tên "V83COMConnector". Đặt nút chuyển "Ứng dụng máy chủ". Bấm tiếp".
  7. Trong bước tiếp theo, chúng tôi cài đặt " Người dùng hiện tại". Bấm tiếp".
  8. Nhấp vào "Hoàn tất".
  9. Trong nhánh V83COMConnector xuất hiện, hãy chuyển đến nhánh phụ Thành phần.
  10. Trong menu ngữ cảnh, chọn Mới - Thành phần. Trình hướng dẫn cài đặt thành phần COM+ sẽ mở ra.
  11. Bấm tiếp".
  12. Chọn "Cài đặt thành phần mới".
  13. Chọn một tập tin<каталог 1С>\bin\comcntr.dll.
  14. Nhấp vào "Tiếp theo" - "Kết thúc".
  15. Hãy chuyển sang nhánh V83COMConnector.
  16. Chọn "Thuộc tính" từ menu ngữ cảnh. Trong cửa sổ mở ra, hãy chuyển đến tab “Bảo mật”.
  17. Bỏ chọn " Buộc kiểm tra quyền truy cập cho các ứng dụng." Chọn hộp kiểm "Áp dụng chính sách hạn chế phần mềm". Đặt Mức hạn chế thành “Không giới hạn”.
  18. Nhấp vào "OK".

Sau đó, trình cập nhật sẽ có thể đăng ký độc lập các thành phần của tất cả các phiên bản nền tảng chứ không chỉ phiên bản mà chúng tôi đã chỉ định trong thành phần.

Bước 4

Điều xảy ra là chỉ cài đặt lại nền tảng mới giúp ích (trong trường hợp này, thành phần đã được đăng ký chính xác).

Bước #5

Nếu sự cố bắt đầu xảy ra ngay sau khi cập nhật nền tảng 1c thì rất có thể phiên bản mới nền tảng 1c thiếu một số gói dịch vụ hoặc bản cập nhật cho hệ điều hành của bạn. Vì vậy, nếu có thể thì chúng tôi cài đặt tất cả, nếu không thì chúng tôi hành động có chọn lọc theo cái này.