Работа с внешней компонентой на сервере (Linux)








Это небольшая заметка о том как можно подключить и использовать внешнюю компоненту на сервере "1С:Предприятие".

Все достаточно просто.  Для примера нужен сервер и компонента. Сервер (CentOS 6.4) поднимем в Oracle VM VirtualBox.  Установку сервера  «1С:Предприятие» и СУБД описывать не будем, т.к. об этом итак написано неприлично много. Компоненту соберем из исходников с диска ИТС.

Для сборки компоненты придется доставить следующие пакеты:

yum install gcc gcc-c++ uuid libuuid-devel

Скопируем папку «VNCOMP82» с диска ИТС на сервер. Откроем консоль и перейдем в директорию

cd /root/Desktop/VNCOMP82/example/NativeAPI

Соберем компоненту

make

 

 

В результате в папке «NativeAPI» появится  динамическая библиотека «AddInNative.so»

 

 

Чтобы иметь возможность отладки на сервере, придется слегка подправить конфигурационный файл.

service srv1cv82 stop

vi /etc/sysconfig/srv1cv82

SRV1CV8_DEBUG=1

service srv1cv82 start



На сервере больше делать нечего, копируем библиотеку в Windows и приступаем к конфигурированию. Создаем пустую конфигурацию с серверным общим модулем, общим макетом (тип макета: двоичные данные) и обработкой. В макет загружаем либо «AddInNative.zip», или, если лень, просто «AddInNative.so». В обработке вызываем серверный метод, где и подключаем внешнюю компоненту.  Чтобы убедиться, что компонента подключена, идем в отладчик.

 

 

Надо заметить, что все методы внешней компоненты из примера на диске ИТС на сервере бессмысленны, т.к. в документации ясно написано:

«В случае использования компоненты на сервере приложений внешние события не обрабатываются. Также не будут обрабатываться методы работы со строкой статуса и сохранения параметров».

6 Comments

  1. CagoBHuK

    Огромный жирный плюс автору просто за то, что потрудился сам, и просветил общественность, а не просто сделал очередной «Hello world!»

    Reply
  2. ALLES

    А я трудился и сделал внешнюю компоненту, работающую на стороне сервера, но вот пришел движок 8.3.6.ХХХ и настала всем стараниям трында!! Вопрос: Работают ли хоть как-нибудь на движках 8.3.6.ХХХ внешние компоненты на сервере? Даже подключить не могу. «ПодключитьВнешнююКомпоненту» возвращает ЛОЖЬ или «Некорректная работа компоненты с памятью»

    Reply
  3. baton_pk

    Пара вопросов не по теме:

    1) вы действительно сидите по рутом???

    2) вы действительно используете vi???

    Reply
  4. quebracho

    (2) ALLES,

    К сожалению, данной информацией не владею. Попробуйте задать свой вопрос на форуме.

    Reply
  5. quebracho

    (3) baton_pk,

    Вопросы действительно не по теме.

    Reply
  6. diten

    СтартТаймер() выносит 1С, почему-то

    Reply

Leave a Comment

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