Ошибка протокола системы взаимодействия 1с
Система взаимодействия — это механизм появившийся в технологической платформе 8.3.10. Это механизм позволяет клиентским приложениям, серверу и пользователям взаимодействовать между собой. В этой статье я попробую рассказать обо всем этом более подробно.
Общая информация
Итак, как уже было сказано выше, система взаимодействия позволяет осуществлять различные виды взаимодействия между приложениями, сервером и пользователями. Цель создания такой системы — упростить автоматизацию бизнес-процессов и предоставить пользователям простое средство коммуникации.
По видам, взаимодействия можно разделить на:
- Не интерактивные — когда информацией обмениваются только подсистемы прикладного решения (без участия живых людей);
- Только интерактивные — когда все участники взаимодействия являются живыми людьми;
- Смешанные — когда человек общается с подсистемой прикладного решения (своего рода робот, отвечающий на запросы).
Неконтекстные обсуждения — не привязанные к какому-либо объекту информационной базы. Участвовать могут любые пользователи выбранные инициатором обсуждения. Обсуждений такого вида может быть сколько угодно.
Контекстные обсуждения — привязаны к конкретному объекту информационной базы. Доступ к обсуждению имеют те пользователи, которые имеют доступ к обсуждаемому объекту. Для каждого объекта может существовать только одно обсуждение.
Сервер взаимодействия
Для начала раздобудем все, что потребуется (устанавливать в этом же порядке):
-
; ;
- Ring;
- Сервер взаимодействия (64-bit);
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
Изменить параметры можно при помощи утилиты Ring. Подробнее об имеющихся параметрах можно узнать на сайте ИТС или из справки утилиты Ring:
Подключение и использование
Для подключения к собственному серверу взаимодействий потребуется специальная обработка — CollaborationSystemRegister.epf , которую можно скачать там же, где и сам сервер. В этой обработке нужно указать адрес для подключения (который настраивается в файле com._1c.ecs.websocket.yml ) и адрес эл. почты:
Кажется, 1С сделал скайп ? :)
прямо вот так презадания в разных базах общаются между собой.. - им этого не хватало! они тормозят и глючат от невнимания и одиночества!
(0) отменная вещь, как для поддержки пользователей, так и для решения текущих вопросов между отделами
тем паче, что бегает между базами 1С
(0) Хочу возможность ставить лайки и подписываться на канал.
ЗЫ ИМХО засирают платформу ненужной хернёй.
лучше бы ОписаниеОповещения к окончанию фонового прицепили. и у УстановитьОбработчикОжидания (чтобы параметры в него прокидывать)
(12) так у 1С есть это всё. 1С-Коннект.
Может его в конфигурацию при поддержке платформы встроят?
У MS скрепка выскакивала, у 1С на компе секретаря будет нач.отдела выбегать и. просить сделать документы.
(0) вследствие того, что недавно запретили отзываться об 1С нехорошо, я тоже восхищён данным нововведением, так победим!
Разговор во внутреннем чате большой международной компании:
xxx: Народ, у кого-нибудь есть зарядка для Нокии?
yyy: Да, у меня валяется в ящике. Ты где находишься?
xxx: На восьмом этаже, слева от входа.
yyy: Ээ, тогда не получится.
не очень понятно.
Удаленный доступ будет?
"Серверная часть представляет собой отдельный программный продукт 1С:Предприятие - Сервер взаимодействия, который может быть развернут в Интернете, или в локальной(. ) сети организации"
(35) На момент написания этой статьи сервер взаимодействия не поставляется в виде отдельного продукта. Но для того, чтобы вы могли пользоваться новым механизмом, в Интернете, на аппаратных мощностях фирмы «1С», мы развернули экземпляр этого сервера, носящий название 1С:Диалог. В данный момент это публичный сервер, которым могут пользоваться все желающие.
(41) Эта чисто чтобы связать пользователя ИБ с абонентом базы. При этом идентификация абонента происходит по адресу электронной почты
Интересно, раз там появились видеозвонки, оно будет теперь всё такое же угрёбищное, медленно и глючное, как и все остальные имеющиеся в природе приложения для видеозвонков?
Скайп, Вайбер, Хэнгаутс - их всех отличает безбожная неповоротливость и глючность. 1С, интересно, разделит эту участь или пронесет?
Имхо, любая новая фича в платформе просто обозначает, что какой-то жирный (не толстый) клиент возжелал странного, и сделать это на прикладном уровне его программисты не осилили. Пришлось пихать в "движок" платформы. Не очень лестно для платформы, что на ней самой многое не получается сделать.
(60)
Понятно, что для другого. Просто немного обидно, что допустим сотни простых разрабов долбят 1С который год - "дайте нам регэкспы", а им разводят руками, рассказывают про сложный цикл отбора требований, допиливания документации, всестороннем тестировании, приоритетах и тому подобной зауми, а потом какойнить дядя из ТырПырПромСвязьИнвест за рюмкой чая говорит - "а сделайте мне шоб как в скайпе" - нате, пожалуйста.
Что, это прямо офигеть какая фича, которую пользователи вымаливали годами у 1С?
(62) Там не дядя рулит, а требования по доработке функционала платформы выставляет группа разработчиков ERP - где то писалось об этом "мол нам понадобилось и девелоперы запилили" .
(48) >Скайп, Вайбер, Хэнгаутс - их всех отличает безбожная неповоротливость и глючность. 1С, интересно, разделит эту участь или пронесет?
Кто-то всерьез считает, что желто-красным удастся переплюнуть хотя бы Скайп, не говоря уже об остальных?
(64) Что-то такое было, кажется связано с подключением внешних сравнялок файлов. Но фичи из (0) навряд ли понадобились разработчикам ERP.
(65) Если будет работать по принципу p2p, то. если включенных 1С будет больше, чем скайпов, то может взлететь ))
Правда админы будут интересоваться - "а чего это 1С в покое трафик ест и нагружает процессор?"
(59) >какой-то жирный (не толстый) клиент возжелал странного
У меня есть другая версия: делают с прицелом на импортозамещение. Этого возжелал сами знаете кто и тут ничего странного. Ну и общий тренд ухватить пытаются (небось разрабы Slack распробовали).
(85) у меня на 4.0 при регистрации "Ошибка протокола системы взаимодействия", хотя в конфиге websocket указан ws.
(87) у меня была чистая установка - без проблем.
Как обновить - на сайте итс в загрузках рядом с СВ лежит инструкция
Всем добрый день. Ребята подскажите, после подключения системы взаимодействия несколько пользователей нельзя добавить в чат. Кто-нибудь сталкивался с этим? Заранее спасибо.Сервер взаимодействия свой.
(92) По данной проблеме понял в чем причина. Мой керио блокирует трафик из/в инет по какому-то или по каким-то портам, который использует сервер взаимодействия. Кто может подсказать, где можно почитать по поводу портов сервера взаимодействия? Заранее спасибо.
(92) пользователи регистрируются при заходе в базу. после перерегистрации лучше всем пользователям перезайти
Всем хорошего дня! Помогите, пожалуйста, решить проблему.
Занимаюсь внедрением системы взаимодействия в УНФ. Пытаюсь перевести механизм оповещений пользователей (режим наблюдения, "колокольчик" ) на основе независимого непериодического регистра сведений собственно на систему взаимодействия. Кто-нибудь сталкивался с такой проблемой при попытке установить режим наблюдения (чтобы оповещения высвечивались в "колокольчике") ?
(184)
У меня возникла при записи обсуждения. Оказалось что я не дозаполнил созданное обсуждение. Как только заполнил заголовок и ключ, всё заработало.
(185) Очень грустно, что все эти ошибки официально не документируются и приходится так мучиться с поиском их решения. С одной из ошибок я до сих пор не справился, может быть вы с ней сталкивались?
Поставили 1С:Сервер взаимодействия 5.0.37 и PostgreSQL 10.3-3.1C.
В файле "c:\ProgramData\1C\1CE\instances\cs\config\" только:
это хост и порт из файлика.
И регистрация прошла успешно.
На сервере в тонком клиенте все запустилось.
В вебклиенте через браузер и с удаленного ПК в тонком клиенте режим вебклиента горит красный восклицательный знак.
РДП у нас работает через проброс портов, поэтому просто указать ИП, который пишу в РДП не удалось.
Как в такой ситуации действовать?
(104) пользователи кстати запустили тонкий клиент в локальной сети на УФ написало СВ не работает, обхода я так понимаю нет?
Также при таком ИП в локальной сети на Такси тоже не доступно.
(106) у нас две сетевые карты у одной ip 192.168.0.1, а у другой 192.168.1.150.
Сначала прописал в хост 127.0.0.1, но тогда доступ есть только с сервера.
В хост прописал 192.168.0.1.
После обработкой регистрации все добавилось и после перезахода пользователя доступ был и по сети.
Осталось решить вопрос с пробросом портов. Думаю админ подсобит. И можно будет через вебклиент работать тоже.
(108) у нас есть внешний ip. Админ сделал проброс порта. Как проверить что СВ доступен по этому порту? Потому что не взлетает запуск СВ через обработку со внешним ip.
Также опытным путем было получено что в файле com._1c.ecs.websocket.yml можно прописать только ip сетевой карты, если писать внешний, то служба просто останавливается.
Поддержка 1С ответила, что при автоустановке ip в файлик программа пытается правильный подставить, но не всегда у нее это выходит, наверно когда болеше 1 сетевой карты.
Когда такие настройки поставил:
websocket:
hostname: 192.168.1.150
port: 17709
То смог регить так:
ws://192.168.1.150:17709
ws://192.168.0.1:17709
Когда такие:
websocket:
hostname: 192.168.0.1
port: 17709
Только:
ws://192.168.0.1:17709
Вот с таким адресом:
ws://ВнешнийИПДоступныйДляВебКлиента:17709
Он мне не дал вообще зарегить СВ.
Тут вопрос в админке или я что-то не понимаю?
Также в консоле не ответила утилита ринг. Не прописана папка хоум для джавы может из-за этого?
(110) по локальной сети звонки работают.
А вот через вебклиент нет. Скрин ошибки скинул.
Вот выдержка с ИТС:
Инициализация базы данных сервера
Команда инициализации выглядит следующим образом:
● cs_db – имя базы данных сервера взаимодействия,
● db_user – имя пользователя, от имени которого сервер взаимодействия подключается к СУБД.
● db_user_pwd – пароль этого пользователя.
Подключение к ICE-серверу
Команда подключения к ICE-сервера выглядит следующим образом:
(111) На сайте ИТС пишут, что для завершения регистрации требуется:
Устанавливал по-умолчанию.
Ошибка:
Failed to connect to localhost port 8087: Connection refused
Куда смотреть?
(172) дальше по тексту есть решение.
Сейчас столкнулись с другой проблемой эластик съел все место логами по 1.7 гига.
(173) вы пишете там что все дело в порте. но у меня порт открыт..все ок..по через интернет СВ работает..но в веб-клиенте не хочет
(176) тут фишка как база опубликована и если правильно, то что-то пропустили. И проблема в том что написали.
(177) опубликована так же как и у всех..или там в 1с много вариантов как опубликовать? я не понимаю вас. проблема в написании чего?
(178) тогда рекомендую писать в 1с. Проанализировав ответы и настройки можно самостоятельно понять что нужно менять. Перечитайте ИТС там хоть и скудно, но пища для размышления есть.
Добрый день, подскажите пожалуйста, пытаюсь настроить подключение через wss, но не получается подключится выдает ошибку, на скриншоте.
Внес настройки в файл com._1c.ecs.websocket.yml
websocket:
hostname: dns имя машины
port: 9098
keystore-path: C:\ProgramData\1C\1CE\instances\cs\data\security\keystore_new.jks
keystore-format: jks
keystore-password: Testpasswd
wss: true
Перезагрузил службу.
Не совсем ясно каких общих шифров нет, где их просматривать и исправлять.
Сертификат использую валидный, импортирую его в формате crt.
В формате pfx не импортируется пишет ошибку keytool error: java.lang.Exception: Input not an X.509 certificate
Вычитал в инете что нужно поменять тип хранилища на PKCS12, но после замены серт с закрытым ключем не импортируется все ровно.
Может кто то сталкивался и исправлял такую ошибку?
А как вы корректно добавили сертификаты?
Просто я уже добавил даже сертификат промежуточного центра, а он все равно пишет эту такую же ошибку.
(149)
Здравствуйте.
Я делал примерно так.
Выполняем все через cmd.
Переходим по пути:
Cd C:\Program Files\Java\jre1.8.0_201\bin
И в этой папке используем утилиту keytool
Примечание: для выбора сертификата в исходном файле PKCS12, keytool не достаточно умен, чтобы выяснить, какой сертификат вам нужен в хранилище, содержащем один сертификат.
Загрузить закрытый ключ в java хранилище используем следующею команду:
keytool -importkeystore -deststorepass [new_keystore_pass] -destkeypass [new_key_pass] -destkeystore Ошибка протокола системы взаимодействия 1с -srckeystore Ошибка протокола системы взаимодействия 1с -srcstoretype PKCS12 -srcstorepass [pass_used_in_p12_keystore ]_alsys_as_12_set_settore]
Пример:
keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore C:\ProgramData\1C\1CE\instances\cs\data\security\websocket-keystore.jks -srckeystore C:\Folder\nameCert.p12 -srcstoretype PKCS12 -srcstorepass 1
Импортировать crt сертификат в java хранилище:
keytool -importcert -keystore C:\ProgramData\1C\1CE\instances\cs\data\security\websocket-keystore.jks -file C:\Folder\nameCert.crt -alias nameCert
(150) добрый день, просит ввести пароль (на хранилище websocket-keystore.jks) при импорте сертификата, так должно быть? И какой тогда пароль ))
(155)
Пароль должно запросить.
В параметре -deststorepass [new_keystore_pass] мы указываем пароль для websocket-keystore.jks.
В параметре -destkeypass [new_key_pass] тут пароль для закрытого ключа.
Какой пароль указали вот тут deststorepass такой и введите. Если не помните пароль, тогда нужно пересоздать хранилище.
(156)до этого пароль никто не ставил, все файлы jks 1 Кб, -deststorepass указываю свой пишет неверный пароль, если не указывать, просит ввести, после ввода пишет хранилище взломано или неверный пароль (
(158)
Существующий файл websocket-keystore.jks переименуйте типа websocket-keystore-old.jks
Запустите к примеру такую команду:
keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore C:\ProgramData\1C\1CE\instances\cs\data\security\websocket-keystore.jks -srckeystore C:\Folder\nameCert.p12 -srcstoretype PKCS12 -srcstorepass 123456
(251) Может комуто поможет в настройке websocket.yml для параметра hostname: указал не ип внешний, а именно доменное имя на которое выдан сертификат
(252)а почему внешний если регистрация базы происходит на внутренний ип? Вы хотите сказать что нужно открыть порт веб сокета наружу и регистрировать на внешний ип (имя)!?
(254) почему на внутренний? я указывал ip который смотрит в мир, клиент же находится вне локальной сети. Да открывал порт для св в мир. wss я поднял, но вот сервер взаимодействия в вебклиенте все равно не работал, потом указал вместо ip доменное имя и все поднялось.
(255)я вас понял, благодарю (были подобные подозрения), а теперь еще вопрос: хочется правильной инструкции по созданию этого гребанного jks контейнера )
Добрый день, коллеги.
Установил сервер взаимодействия, вроде б всё работает, но .
через некоторое время пользователи стали жаловаться, что 1с (УТ11 тонкий клиент) глухо виснет при запуске.
Загружается в рабочий стол и виснет, элементы управления не доступны.
Методом проб и ошибок было выявлено что виноват всётаки сревер взаимодействия (если сервис 1с-cs остановить - проблема уходит)
Все пользователи в локале, антивирус - файерволы не причём.
В логах CS ошибка:
2019/03/25-16:17:21.219-0,JAVA,0,level=ERROR,pid=6460,threadId=147,thread=nioEventLoopGroup-3-14,logger=com._1c.ecs.internal.websocket.server.b.a,message=Удаленный хост принудительно разорвал существующее подключение,exception=java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
Подскажите плз куда копать.
(115) логи не копали. У одного клиента СВ стал жрать 50% проца.
Ступнули, переставили джаву и все пошло!
Настройка 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).
Можно развернуть собственное хранилище:
Или подключиться к существующим:
- Amazon
- Amazon CDN
- Google Cloud
- Google Cloud CDN
- Croc Cloud
- Техносерв
Необходимо выбрать только один вариант использования хранилища файлов:
$ 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. После того, как все участники конференции ответят на звонок, выполнить команду:
В начале апреля фирма «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С и ИНН организации, на которую приобреталась эта программа
- Электронную почту абонента сервиса
- Планируемое количество пользователей.
Каждая заявка анализируется, и по результатам рассмотрения открывается доступ к видео-вызовам или присылается отказ.
Доступ к тестированию видеозвонков открывается абоненту и действует на все информационные базы, подключенные этим абонентом к сервису.
Использование «Системы взаимодействий» «в картинках»
А теперь заглянем в использование системы. Но только совсем чуть-чуть… Как говорится – «для затравочки»!
Читайте также: