Как создать служба компонентов com 1с
Перейти к содержимому

Как создать служба компонентов com 1с

  • автор:

Настройка COM-коннектора 1С 8

Наличие на сервере COM-коннектора 1С8 позволяет другим приложениям интегрироваться с 1С.

Регистрация библиотеки (запускать с правами администратора):

regsvr32 «C:\Program Files\1cv8\8.3.10.2252\bin\comcntr.dll»

Создать новое приложение COM+:

Добавить пользователей/роли, которые будут использовать компоненту:

Добавить новый компонент comcntr.dll:

Свойства коннектора, вкладка «Безопасность – снять галку «Принудительная проверка доступа для приложения»:

Свойства компонента, вкладка «Безопасность» — установить галку на CreatorOwner:

Аналогично для интерфейса (раскрываем коннектор, далее компоненты, далее интерфейсы):

Установка COM-компонента в 1С

Подключение к информационной базе через com-соединение происходит через внешний com-компонент который настраивается на стороне сервера. Если не создать компонент, то будет появляться ошибка «Класс не зарегистрирован» или «Недопустимая строка с указанием класса».

Вначале необходимо зарегистрировать DLL в системе, запускаем командную строку от имени администратора и вводим

C:\Windows\SysWOW64\regsvr32 "C:\Program Files (x86)\1cv8\8.3.22.2106\bin\comcntr.dll"

Далее создаем коннектор

  • Заходим в Панель управления – Администрирование – Службы компонентов
  • В контекстном меню выбираем Создать – Приложение. Откроется Мастер установки приложений COM+. Выбираем «Создать новое приложение». Вводим имя V83COMConnector. Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее»
  • На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее»
  • Выбираем роль «CreatorOwner» и нажимаем «Далее» и «Готово»
  • В появившейся ветке V83COMConnector переходим к ветке Компоненты. В контекстном меню выбираем Создать – Компонент. Откроется Мастер установки компонентов COM+. Нажимаем «Далее»
  • Выбираем «Установка новых компонентов». Выбираем файл “C:\Program Files x86\1cv8\8.3.22.2106\bin\comcntr.dll”. Нажимаем «Далее» – «Готово»
  • Переходим к ветке V83COMConnector. В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность». Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений – «Неограниченный»

Инструкция по настройке COM-соединения

Данная инструкция устарела, так как с выпуском обновления для платформы Mobile SMARTS версия 3.0.0.45306 от 12.05.2017, была решена проблема с оберткой Com-соединения. Актуальную инструкцию читайте здесь.

Для некоторых товароучетных систем, такие как «Далион», «Штрих-М», которые требуют дополнительные параметры проверки защиты, для работы в онлайне, требуется сменить тип подключения внешнего соединения с Applications на Com.

  1. Запускаем менеджер баз данных

Регистрируем компоненту. Компонента отсутствует, если установлен только сервер 1С. Почему-то 1С публикует ее только в составе клиента.

64 битная версия SteelTrace Server запущенная на Windows Server 2008 R2 Standard не может получить инстанцию 1С COM объекта. Это происходит потому, что 64 битные приложения не могут запускать 32 битные DLL, которые активируются при запуске 32 битного COM объекта 1С. Для решения проблемы нужно воспользоваться оберткой COM+ которая являясь 64 битным приложением может взаимодействовать с 32 битными библиотеками.

Для это необходимо выполнить следующие шаги (описание для Windows Server 2008 R2 Standart):

Запускаем службу компонентов.

В ветке Приложения COM+ добавьте новое приложение.

Следуем инструкциям установщика.

Создаем новое приложение.

Укажите Activation type — Server application (серверное приложение) и присвойте имя V82_COMConnector, чтобы было понятно о чем речь.

Выберите пользователя с правами Администратора Windows, для запуска приложения

В ветке созданного приложения переходим на ветку «Роли» выбираем роль «CreatorOwner».

В разделе «Пользователи» выбираем пользователя — учетную запись под которой работает сервер 1С и нажимаем «Далее».

Переходим на ветку Components (Компоненты) и создаем компонент.

Следуем инструкциям установщика.

Устанавливаем новый компонент.

Добавляем новую компоненту comcntr.dll из каталога загрузочных модулей 1С:Предприятия.

После настройки компоненты, нужно запустить COM-коннектор, есть два способа:

    Самый простой — перезапустить службу сервера.

Ручное создание COM+ соединения для 1С ­ Дневник ­ Максим Боголепов

Это выливается в некоторые трудности. Например, при попытке завершения “подвисшего” сеанса из следующей формы:

COM+ соединение для 1С. Рис.1

Сделать это, используя “ COM -соединение с агентом сервера”, не получится, и операция завершится ошибкой.

Для того, чтобы вручную создать COM -соединение для 32-х битной версии платформы 1С, работающей на 64-х битной версии операционной системы, необходимы выполнить следующие шаги.

1. Необходимо зарегистрировать в системе 32-х битную библиотеку comcntr.dll. Для этого, откройте на сервере командную строку cmd.exe от имени администратора и выполните следующие команды:

C:\Users\администратор>cd C:\Program Files (x86)\1cv8\8.3.6.2390\bin C:\Program Files (x86)\1cv8\8.3.6.2390\bin>regsvr32 comcntr.dll

В появившемся окошке с сообщением об успешной регистрации библиотеки необходимо нажать “ОК”:

COM+ соединение для 1С. Рис.0

Папку bin надо искать по пути, куда у вас установлена текущая версия платформы 1С. На момент написания статьи – её номер 8.3.6.2390.

2. Запускаем консоль “Службы компонентов”: Пуск -> Администрирование -> Службы компонентов . Раскрываем ветку “Службы компонентов”. Вызываем меню, кликнув правой клавишей мыши по ветке “Приложения COM +” и выбираем Создать -> Приложение :

COM+ соединение для 1С. Рис.2

3. У вас откроется приветственное окно “Мастера установки приложений COM +”, в котором необходимо нажать “Далее”:

COM+ соединение для 1С. Рис.3

4. В следующем окне нажмите на “Создать новое приложение”:

COM+ соединение для 1С. Рис.4

5. Введите желаемое имя для нового приложения. В примере используется V83_ComConnector, отметьте способ активации, как “Серверное приложение” и нажмите далее:

COM+ соединение для 1С. Рис.5

6. В следующем окне выберите учетную запись, которую использует при старте агент сервера 1С. В примере – это учетная запись локального администратора сервера. Введите пару логин/пароль и нажмите “Далее”:

COM+ соединение для 1С. Рис.6

7. В следующем окне “Мастера…” нажмите “Далее”:

COM+ соединение для 1С. Рис.7

8. На следующем шаге, вам необходимо добавить (если имеет смысл) пользователя, от имени которого стартует агент сервера 1С и, соответственно, учетная запись которого будет использована для удостоверения работы нашего нового COM + приложения. В окне данного примера указан только доменный администратор, от имени которого запущен “Мастер установки приложений COM +”, нажмите кнопку “Добавить”:

COM+ соединение для 1С. Рис.8

9. В следующем окне введите имя учетной записи, от имени которой работает агент сервера 1С, и нажмите “ОК”:

COM+ соединение для 1С. Рис.9

10. Вернувшись к “Мастеру…”, убедитесь, что искомая учетная запись добавилась и нажмите “Далее”:

COM+ соединение для 1С. Рис.10

11. Закройте “Мастер установки приложений COM +”, нажав “Готово”:

COM+ соединение для 1С. Рис.11

12. Мы вернулись к окну консоли “Службы компонентов”. Убедитесь, что приложение COM + с вашим именем (в примере – V83_ComConnector) создан:

COM+ соединение для 1С. Рис.12

13. Раскройте дерево созданного приложения и, вызвав меню правой кнопкой мыши по ветви “Компоненты”, создайте новый компонент Создать -> Компонент :

COM+ соединение для 1С. Рис.13

14. У вас откроется приветственное окно “Мастера установки компонентов COM +”, в котором необходимо нажать “Далее”:

COM+ соединение для 1С. Рис.14

15. В следующем окне нажмите на “Установка новых компонентов”:

COM+ соединение для 1С. Рис.15

16. С помощью окна explorer выберите библиотеку comcntr.dll, находящуюся по пути C:\Program Files (x86)\1cv8\8.3.6.2390\bin , которую мы зарегистрировали в системе на первом шаге. Убедитесь, что путь к этой библиотеке совпадает с вашей версией платформы. В примере – это 8.3.6.2390. И нажмите “Открыть”:

COM+ соединение для 1С. Рис.16

17. В следующем окне “Мастера…” нажмите “Далее”:

COM+ соединение для 1С. Рис.17

18. Закройте “Мастера установки компонентов COM +”, нажав “Готово”:

COM+ соединение для 1С. Рис.18

19. Вы вернетесь к окну консоли “Службы компонентов”. Убедитесь, что в нашем приложении COM + создалась новая компонента:

COM+ соединение для 1С. Рис.19

20. Вызовите её свойства:

COM+ соединение для 1С. Рис.20

21. И на вкладке “Безопасность” в окошке “Явно установленные для выделенных объектов роли:” отметьте мышкой CreatorOwner и нажмите “ОК”:

COM+ соединение для 1С. Рис.21

22. Вернувшись к консоли “Службы компонентов” закройте её и перезагрузите сервер.

После выполнения указанных действий, завершение “подвисших” сеансов в 1С версии 8.3 происходило без проблем. Единственное неудобство – теперь после каждого обновления платформы 1С на новую версию, необходимо проделывать данную операцию.

Поделиться

Twitter Vkontakte Facebook MyWorld Odnoklassniki LiveJournal Blogger Google+ Email

Просмотров статьи: 41420 Раздел: Администрирование

Rating: 4.0/5(4 votes cast)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *