Нет соединения с сервером взаимодействия 1с

Обновлено: 29.06.2022

В начале апреля фирма «1С» выпустила новую версию платформы – 8.3.10.

Новые возможности получились весьма «вкусными». В этой статье мы рассмотрим Систему взаимодействий.

Если коротко, то это Skype (или Telegram) внутри конфигурации 1С. О таком корпоративном мессенджере давно мечтали руководители и IT-шники :)

И вот чудо свершилось – теперь можно звонить, общаться текстом и устраивать конференции между сотрудниками не покидая 1С. И все это может привязано к объектам – конкретным документам, договорам, контрагентам, …

Начнем рассмотрение Системы взаимодействия с самых основ.

Концепция

Сначала давайте рассмотрим, что из себя представляет «1С:Предприятие». Этот программный комплекс построен по классической трёхзвенной архитектуре. Представить его можно в следующем виде:

Есть клиентская часть, серверная часть и база данных. Передача данных между клиентом и сервером происходит при помощи серверного вызова, а доступ к базе данных возможен только со стороны сервера.

Подробнее про серверные вызовы можно прочитать в статье «Как работает серверный вызов в 1С». Для данного же материала важно отметить следующий факт – инициировать серверный вызов для передачи данных возможно только на клиентской части.

Но давайте вернёмся к «Системе взаимодействий»! Для начала обратимся к документации и посмотрим – что же скрывается под таким громким названием?

Под термином «видеозвонок» понимается любой возможный вариант общения двух пользователей, который включает в себя как только голосовой канал общения, так и полноценный видеозвонок (голосовая информация и изображение).

Исходя из описания, получается что фирма «1С» встроила в платформу «мессенджер» для общения пользователей между собой. «Наконец-то!» – воскликнут одни. «Зачем?» – вопрошают другие. Оставим эту дискуссию для комментариев, а пока продолжим рассматривать «Систему взаимодействий» дальше.

Логично, что общение имеет смысл в том случае, когда в системе работают два или более пользователей. В среде «1С:Предприятие» для каждого пользователя организуется своя рабочая область. Поэтому [в клиент-серверном варианте] несколько клиентских подключений к информационной базе можно представить следующим образом:

Но! Клиентские процессы работают каждый в своей рабочей области и не имеют пересечений. Единственная возможность передачи информации – через серверную часть.

Рисунок 3 – Схема запуска клиентской частью обработчика ожидания для периодического запроса к серверной части

Как видим, общение клиентских частей таким образом возможно, но оно имеет свои особенности.

Но самое главное: увеличится нагрузка на самое узкое место системы – соединение между клиентом и сервером (особенно в момент передачи потока медиа). Поэтому фирме «1С» надо было найти иное решение задачи взаимодействия пользователей.

Понятное дело, что пользователей может быть больше двух. А значит, организовывать прямой канал «клиент» – «клиент» нецелесообразно, нужен некий «маршрутизатор» – серверная часть «Системы взаимодействий».

Встроить этот «маршрутизатор» в серверную часть «1С:Предприятие», по уже понятным нам причинам, нецелесообразно. Поэтому («в-третьих»), дополнительно необходимо определиться с расположением серверной части «Системы взаимодействий».

Итак, у нас получилось несколько «пазлов», сложив которые, мы увидим полную картину о «Системе взаимодействий». Давайте прямо сейчас это и сделаем!

Серверную часть «Системы взаимодействий» разработчики фирмы «1С» реализовали в виде отдельного программного продукта «1С:Предприятие – Сервер взаимодействия», который в будущем может быть развернут как в рамках локальной сети конкретной организации, так и в интернете в виде сервиса. Клиентскую часть системы разработчики встроили в платформу «1С:Предприятие».

Вопрос с оперативной двусторонней передачей информации между клиентом и сервером «Системы взаимодействий» решился без «изобретения велосипеда»: на помощь пришёл современный протокол WebSocket (далее WS). В качестве «вишенки на торте» – этот протокол позволяет передавать информацию в зашифрованном виде, что обеспечивает защиту передаваемой информации.

Стоит отметить, что при совершении видеовызовов по протоколу WS передается лишь служебная информация для инициализации звонка. Передача видео происходит с использованием других технологий, встроенных в «Систему взаимодействий».

Сложив всё вместе, получаем следующую схему:

Получается, для того чтобы этот функционал начали активно использовать даже те, кто работает в программах «1С:Предприятие» давно, необходимо, чтобы он был единым целым с существующей системой, а не «чем-то сбоку». А для этого необходимо, чтобы «Система взаимодействий» «видела» пользователей информационной базы.

Но как «Система взаимодействий» узнает о пользователях информационной базы, если это отдельный сервис?

Для каждого пользователя в информационной базе 1С создается новый пользователь в «системе взаимодействия». Это происходит автоматически при первой аутентификации пользователя информационной базы после подключения её к сервису. При этом уникальный идентификатор нового адресата для взаимодействий сохраняется как в базе данных, так и в сервисе.

Получается, что все желающие будут пользоваться одним «маршрутизатором»? Как это возможно, как не запутаться – где чья информационная база и кому можно управлять её подключением к сервису?

Идентификация абонента выполняется по адресу электронной почты, и он может являться владельцем одной или нескольких информационных баз, подключенных к «Системе взаимодействий».

Неконтекстные обсуждения представляют собой чаты общего характера, доступные только тем пользователям, которые были добавлены в беседу. При помощи них можно устраивать групповые совещания с ограниченным кругом участников.

Такой подход позволяет закрыть все потребности в удалённом общении пользователей – от «Марья Ивановна, посмотри отгрузку номер 330 от 31 декабря – там цена почему-то занижена…» до управленческих конференций.

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

Внимание! К моменту публикации этой статьи фирма «1С» уже опубликовала некоторые особенности платформы 8.3.11, в которых сообщается об изменении механизма работы «Системы взаимодействий» в части видеовызовов.

В платформе 8.3.10 технология видеозвонков была реализована при помощи центрального видео-сервера, встроенного в сервер «Системы взаимодействий». Скорее всего, тестирование данного механизма показало большую нагрузку на серверную часть «Системы взаимодействий» при совершении пользователями звонков. И уже в следующей версии платформы [8.3.11] видеовызовы будут выполняться по технологии peer-to-peer.

Также, разработчики «приоткрыли завесу» над технологиями, которые они использовали при создании «Системы взаимодействий». Например, для хранения сессий пользователей, подписок на события и прочей служебной информации они используют распределенное хранилище Hazelcast.

Ну что, наверное уже хочется попробовать «Систему взаимодействий»? Сейчас мы расскажем, как начать её использовать.

Подключение

Начать работать с «Системой взаимодействий» можно на любой, даже пустой, конфигурации, если используется платформа «8.3.10». Для этого необходимо убедиться, что свойство Режим совместимости установлено в значение Не использовать:

Когда условия в информационной базе соблюдены, можно начинать использовать «Систему взаимодействий». Для этого необходимо её сначала подключить к сервису «1С:Диалог». Управление подключением к «Системе взаимодействий» производится в пользовательском режиме «1С:Предприятие» при помощи соответствующей стандартной функции, доступной через главное меню программы в разделе Все функции:

В случае, если информационная база ещё не подключена к сервису «1С:Диалог», откроется следующая форма:

Когда вы укажете адрес электронной почты, на который сервис «1С:Диалог» сможет выслать регистрационную информацию, на него придёт письмо примерно следующего содержания:

Цифровой код из письма (на рисунке подсвечен желтым цветом), необходимо использовать для завершения регистрации при помощи диалогового окна подтверждения регистрации следующего вида:

Интуитивно понятно, что в поле Адрес электронной почты абонента необходимо указать электронную почту, которая была использована на первом шаге регистрации, а в поле Код регистрации – код из письма. При указании некорректных данных в этих полях ввода «Система взаимодействий» вернёт ошибку «Отказано в доступе» и регистрация не будет завершена.

Поле Наименование информационной базы заполняется произвольными символами (как показала практика, можно использовать даже спец. символы).

Напомню, что идентификация информационной базы в «Системе взаимодействий» происходит по Уникальному идентификатору, который автоматически создаётся в момент регистрации, хранится и в «Системе взаимодействий» и в базе данных и не может быть установлен или изменён самостоятельно. Символы, введённые в поле Наименование информационной базы, никакого влияния на это не оказывают.

После этого в текущем сеансе «1С:Предприятие» объекты «Системы взаимодействий» автоматически активизируются без перезапуска клиента. Остальным пользователям для получения возможности участвовать в обсуждениях и получать/выполнять звонки, необходимо выполнить перезапуск сеанса работы в информационной базе.

  • Регистрационный номер лицензионной программы 1С и ИНН организации, на которую приобреталась эта программа
  • Электронную почту абонента сервиса
  • Планируемое количество пользователей.

Каждая заявка анализируется, и по результатам рассмотрения открывается доступ к видео-вызовам или присылается отказ.

Доступ к тестированию видеозвонков открывается абоненту и действует на все информационные базы, подключенные этим абонентом к сервису.

Использование «Системы взаимодействий» «в картинках»

А теперь заглянем в использование системы. Но только совсем чуть-чуть… Как говорится – «для затравочки»!

Настройка 1С:Сервера взаимодействия и медиасервера

$ tar xvzf 1c_cs_10.0.47_linux_x86_64.tar.gz
$ tar xvjf postgresql_11.5_19.1C_x86_64_rpm.tar.bz2

$ sudo ./1ce-installer-cli install

$ sudo passwd postgres

$ su postgres
$ /usr/pgsql-11/bin/initdb -D /var/lib/pgsql/11/data
$ psql

$ exit
$ sudo systemctl enable postgresql-11
$ sudo systemctl start postgresql-11

Проверить, что все запустилось: Копировать в буфер обмена

При необходимости смотреть логи: Копировать в буфер обмена

Настройка обмена файлами в системе взаимодействия

Для обмена файлами в системе взаимодействия необходимо подключиться на сервере взаимодействия к хранилищу файлов. Хранилище должно поддерживать протокол S3 (V2 или V4).

Можно развернуть собственное хранилище:

Или подключиться к существующим:

  1. Amazon
  2. Amazon CDN
  3. Google Cloud
  4. Google Cloud CDN
  5. Croc Cloud
  6. Техносерв

Необходимо выбрать только один вариант использования хранилища файлов:

$ sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent
$ sudo firewall-cmd --reload

Для доступа к серверу хранилища, необходимо задать логин и пароль в переменных среды MINIO_ACCESS_KEY и MINIO_SECRET_KEY, соответственно. Чтобы значения этих переменных устанавливалиь при старте, занесем их инициализацию в /etc/default.
Копировать в буфер обмена

$ sudo vi /etc/default/minio

$ sudo vi /etc/systemd/system/minio.service

[Service]
WorkingDirectory=/usr/local/
User=user
Group=user
EnvironmentFile=/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"$\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/opt/minio/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
LimitNOFILE=65536
TimeoutStopSec=infinity
SendSIGKILL=no

$ sudo systemctl enable minio.service
$ sudo systemctl start minio.service

Создайте новое хранилище, например cs-bucket

Логин: значение переменной MINIO_ACCESS_KEY,
Пароль: значение переменной MINIO_SECRET_KEY

В данном примере будет использоваться хранилище Amazon

Если вы планируете работать в web-клиенте, то необходимо настроить CORS:

Подключение информационной базы к серверу взаимодействия


Подключение медиасервера для проведения видеоконференций

$ sudo yum install git

$ mkdir ~/distr
$ cd ~/distr

$ sudo yum install epel-release
$ sudo yum install wget ninja-build meson jansson-devel openssl-devel libsrtp-devel sofia-sip-devel glib2-devel opus-devel libogg-devel libcurl-devel pkgconfig gengetopt libconfig-devel libtool autoconf automake cmake
$ sudo yum groupinstall 'Development Tools'

$ cd ~/distr
$ git clone https://libwebsockets.org/repo/libwebsockets
$ cd libwebsockets
$ mkdir build
$ cd build
$ cmake -DLWS_MAX_SMP=1 -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS="-fpic" -DLIB_SUFFIX=64 ..
$ make && sudo make install

$ sudo mkdir /var/log/janus
$ sudo vi /opt/janus/etc/janus/janus.jcfg

$ sudo vi /opt/janus/etc/janus/janus.plugin.videoroom.jcfg

$ sudo vi /etc/systemd/system/janus.service
[Unit]
Description=Janus WebRTC Server
After=network.target

$ sudo systemctl enable janus.service
$ sudo systemctl start janus.service

$ sudo firewall-cmd --zone=public --add-port=8088/tcp –permanent
$ sudo firewall-cmd --zone=public --add-port=0-65535/udp –permanent
$ sudo firewall-cmd –reload

mediaserver - имя машины или IP-адрес сервера Janus.

Для проверки, что конференция идет через медиасервер, необходимо создать конференцию с числом участников >= значения параметра conference-server-based-threshold. После того, как все участники конференции ответят на звонок, выполнить команду:

Разберем ошибку с кодом « 10061 (0х0000274D) », когда 1С отказывает в подключении клиента к серверу. В чем может быть причина.

Техническое описание

server_addr=tcp:// descr=:10061(0х0000274D): Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение;

Описание проблемы

Клиент 1С не может установить соединение с сервером. Что-то «мешает».

Возможные проверки

  1. Проверьте работу «Агента сервера 1С:Предприятия 8.3» — служба должна быть в состоянии «Выполняется», а также обратите внимание на диапазоны используемых портов (они прописаны в параметрах запуска службы — например, по умолчанию — « -regport 1541 -port 1540 -range 1560:1591 »).
  2. На сервере 1С должно быть разрешено сетевое обнаружение . Панель управления\Сеть и Интернет\Центр управления сетями и общим доступом\Дополнительные параметры общего доступа.
  3. Настройки брандмауэра на сервере — порты (п. 1) должны быть разрешены в правилах и открыты для входящих подключений . Если роль брандмауэра выполняет антивирус или другое ПО — смотрите настройки вашего сетевого экрана. Или временно отключите брандмауэр (антивирус), чтобы исключить влияние этих правил.
  4. Рекомендуется понизить приоритет ipv6 , оставить главным ipv4. Особенности и правильный способ отключения через реестр — в статье . После настройки выполните команду ping по имени/адресу сервера — должен отвечать ipv4.
  5. На клиенте 1С выполните проверку доступности порта с помощью консольной команды. Она покажет, есть ли соединение на порт сервера.

6. Перезагрузите сервер 1С . Бывают случаи, когда требуется перезагрузка или некорректно удалено защитное ПО, которое может блокировать порты.

✅ Успехов вам. Проверяйте до победы — пусть все получится, и подключения к серверу 1С восстановятся.

А потом расскажите, что именно помогло в вашем случае. Это будет полезно для других, кто столкнется с подобной ошибкой.

⚡ Подписывайтесь на канал или задавайте вопрос на сайте — постараемся помочь всеми техническими силами. Безопасной и производительной работы в Windows и 1С.

Система взаимодействия — это механизм появившийся в технологической платформе 8.3.10. Это механизм позволяет клиентским приложениям, серверу и пользователям взаимодействовать между собой. В этой статье я попробую рассказать обо всем этом более подробно.

Общая информация

Итак, как уже было сказано выше, система взаимодействия позволяет осуществлять различные виды взаимодействия между приложениями, сервером и пользователями. Цель создания такой системы — упростить автоматизацию бизнес-процессов и предоставить пользователям простое средство коммуникации.

По видам, взаимодействия можно разделить на:

  • Не интерактивные — когда информацией обмениваются только подсистемы прикладного решения (без участия живых людей);
  • Только интерактивные — когда все участники взаимодействия являются живыми людьми;
  • Смешанные — когда человек общается с подсистемой прикладного решения (своего рода робот, отвечающий на запросы).

Неконтекстные обсуждения — не привязанные к какому-либо объекту информационной базы. Участвовать могут любые пользователи выбранные инициатором обсуждения. Обсуждений такого вида может быть сколько угодно.

Контекстные обсуждения — привязаны к конкретному объекту информационной базы. Доступ к обсуждению имеют те пользователи, которые имеют доступ к обсуждаемому объекту. Для каждого объекта может существовать только одно обсуждение.

Сервер взаимодействия

Для начала раздобудем все, что потребуется (устанавливать в этом же порядке):

    ; ;
  • Ring;
  • Сервер взаимодействия (64-bit);

Ring и сервер взаимодействия

Ring и сервер взаимодействия

Сервер взаимодействия включает в себя севера Hazelcast и Elasticsearch, которые можно скачивать и устанавливать отдельно, но в нашем случае я выбрал общий вариант.

Во время установки потребуется ввести логин и пароль от учетной записи PostgreSQL.

Проверка состояния сервера взаимодействий

Проверка состояния сервера взаимодействий

Запустить и остановить компоненты системы можно как и все остальные службы:

Службы сервера взаимодействий

Службы сервера взаимодействий

А также при помощи утилиты Ring:

ring hazelcast --instance service start(stop)
ring elasticsearch --instance service start(stop)
ring cs --instance service start(stop)

Настройки сервера взаимодействий в моем случае находятся тут:

В этой папке находится достаточно много файлов и соответственно немало настроек, описывать которые в этой статье я не буду, ибо статья обзорная. Небольшие изменения внесу только в файл com._1c.ecs.websocket.yml :

Настройка WebSocket

Настройка WebSocket

Изменить параметры можно при помощи утилиты Ring. Подробнее об имеющихся параметрах можно узнать на сайте ИТС или из справки утилиты Ring:

Подключение и использование

Для подключения к собственному серверу взаимодействий потребуется специальная обработка — CollaborationSystemRegister.epf , которую можно скачать там же, где и сам сервер. В этой обработке нужно указать адрес для подключения (который настраивается в файле com._1c.ecs.websocket.yml ) и адрес эл. почты:

Доброго времени суток друзья, столкнулся с проблемой, не могу разобраться с ее решением. Обо всем по порядку.
Не так давно, мы начали переход на 1С БП 3.0 и все что на ней основано, по сравнению с 2.0 тормозить она стала раз в 5 больше, базы открывались от 2 до 5 минут! Решение пришло быстро, MS SQL Server.
Так как для меня это первый опыт его настройки, начал я тренироваться в виртуальной машине Hyper-V, все работало более менее, пока я не загрузил туда БД сельхоз отдела, примерно через 2 - 3 часа работы сервер перестает работать, базы не подключается, даже напрямую на этом же сервере. В локальной сети выходит ошибка "1541 descr = сервер не доступен (не отвечает, завершается аварийно или порт занят другим приложением". Сначала я грешил на сетевую карту, потом на брандмауер (его отключение тоже не помогло), и вот вчера я взял физический сервер, все настроил установил, перенес базы и буквально час назад та же беда! Все драйвера обновлены, мощности сервера должно хватать (Xeon X5606 2.13 Ghz/24Gb RAM DDR3 1333/LAN 1Gb) у сети топология "Звезда". Последнее на что грешу то что сервер не включен в домен Active Directory, но тогда почему и на самом сервере база отваливается?
Кратко о ПО:
1С Предприятие 8.3.8.2088
MS SQL Server 2014 SP1
Windows Server 2008R2
Буду рад любому совету.

Дополнено:
Аналогичная проблема проявляется на Debian. С одной базой УТ10 работает нормально. При переносе старой БД (бухгалтерия) с файлового варианта на SQL (postgres) периодически раз в 1-2 недели базы становятся недоступными до перезапуска службы srv1cv83. Есть ощущение что чем больше баз переносится тем меньше срок работы до перезапуска, так при переносе 5 БД срок работы был 2-3 дня.
К одной базе УТ10 доступ осуществляется локально (на одной машине), при добавлении других баз работа с ними начинается через клиентов по сети, но в момент сбоя базы недоступны ни в каком виде до перезапуска службы srv1cv83.
В технологическом журнале из подозрительного можно выделить только следующее:

Читайте также: