В начале апреля фирма «1С» выпустила новую версию платформы – 8.3.10.
Новые возможности получились весьма «вкусными». В этой статье мы рассмотрим Систему взаимодействий.
Если коротко, то это Skype (или Telegram) внутри конфигурации 1С. О таком корпоративном мессенджере давно мечтали руководители и IT-шники :)
И вот чудо свершилось – теперь можно звонить, общаться текстом и устраивать конференции между сотрудниками не покидая 1С. И все это может привязано к объектам – конкретным документам, договорам, контрагентам, …
Начнем рассмотрение Системы взаимодействия с самых основ.
Концепция
Сначала давайте рассмотрим, что из себя представляет «1С:Предприятие». Этот программный комплекс построен по классической трёхзвенной архитектуре. Представить его можно в следующем виде:
Есть клиентская часть, серверная часть и база данных. Передача данных между клиентом и сервером происходит при помощи серверного вызова, а доступ к базе данных возможен только со стороны сервера.
Подробнее про серверные вызовы можно прочитать в статье «Как работает серверный вызов в 1С». Для данного же материала важно отметить следующий факт – инициировать серверный вызов для передачи данных возможно только на клиентской части.
Но давайте вернёмся к «Системе взаимодействий»! Для начала обратимся к документации и посмотрим – что же скрывается под таким громким названием?
Под термином «видеозвонок» понимается любой возможный вариант общения двух пользователей, который включает в себя как только голосовой канал общения, так и полноценный видеозвонок (голосовая информация и изображение).
Исходя из описания, получается что фирма «1С» встроила в платформу «мессенджер» для общения пользователей между собой. «Наконец-то!» – воскликнут одни. «Зачем?» – вопрошают другие. Оставим эту дискуссию для комментариев, а пока продолжим рассматривать «Систему взаимодействий» дальше.
Логично, что общение имеет смысл в том случае, когда в системе работают два или более пользователей. В среде «1С:Предприятие» для каждого пользователя организуется своя рабочая область. Поэтому [в клиент-серверном варианте] несколько клиентских подключений к информационной базе можно представить следующим образом:
Вроде бы «чего проще» – передать сообщение с одной клиентской части на другую?
Но! Клиентские процессы работают каждый в своей рабочей области и не имеют пересечений. Единственная возможность передачи информации – через серверную часть.
И здесь кроется очередное «Но!» – как упоминалось ранее, серверная часть не может инициировать клиентский вызов. А это значит, что для обнаружения новых сообщений в существующей системе необходимо организовать периодический мониторинг клиентом серверной части. Выглядеть это будет примерно следующим образом:
Как видим, общение клиентских частей таким образом возможно, но оно имеет свои особенности.
Например, подобное решение будет нагружать клиентские сеансы дополнительным фоновым процессом для проверки системы на наличие новых сообщений или запросов на инициацию голосовых вызовов. Также при подобной схеме работы не получится избежать задержки при получении входящих.
Но самое главное: увеличится нагрузка на самое узкое место системы – соединение между клиентом и сервером (особенно в момент передачи потока медиа). Поэтому фирме «1С» надо было найти иное решение задачи взаимодействия пользователей.
Давайте разберём, что же предстояло сделать разработчикам платформы для встраивания в «1С:Предприятие» механизма обмена текстовыми и видео-сообщениями.
Во-первых, необходимо дать пользователям возможность отправлять и принимать сообщения (в том числе служебных – для инициации видео-вызовов):
Во-вторых, должен быть налажен механизм транспорта исходящих и входящих сообщений:
Причём желательно иметь возможность оперативного получения информации о поступлении новых сообщений.
Как мы уже убедились на примере выше, существующее соединение между клиентом и сервером для этого не подходит. Поэтому необходимо организовать новый канал для передачи сообщений.
Понятное дело, что пользователей может быть больше двух. А значит, организовывать прямой канал «клиент» – «клиент» нецелесообразно, нужен некий «маршрутизатор» – серверная часть «Системы взаимодействий».
Встроить этот «маршрутизатор» в серверную часть «1С:Предприятие», по уже понятным нам причинам, нецелесообразно. Поэтому («в-третьих»), дополнительно необходимо определиться с расположением серверной части «Системы взаимодействий».
Итак, у нас получилось несколько «пазлов», сложив которые, мы увидим полную картину о «Системе взаимодействий». Давайте прямо сейчас это и сделаем!
Серверную часть «Системы взаимодействий» разработчики фирмы «1С» реализовали в виде отдельного программного продукта «1С:Предприятие – Сервер взаимодействия», который в будущем может быть развернут как в рамках локальной сети конкретной организации, так и в интернете в виде сервиса. Клиентскую часть системы разработчики встроили в платформу «1С:Предприятие».
Вопрос с оперативной двусторонней передачей информации между клиентом и сервером «Системы взаимодействий» решился без «изобретения велосипеда»: на помощь пришёл современный протокол WebSocket (далее WS). В качестве «вишенки на торте» – этот протокол позволяет передавать информацию в зашифрованном виде, что обеспечивает защиту передаваемой информации.
Сложив всё вместе, получаем следующую схему:
Итак, «Система взаимодействий» является дополнительным сервисом обмена сообщениями. А значит, там должен быть механизм независимой от 1С регистрации и аутентификации пользователей. Но сложная схема начала работы с новым сервисом означает, что количество желающих попробовать его «на старте» будет невелико, а для массового использования он должен обладать очень и очень весомыми преимуществами.
Получается, для того чтобы этот функционал начали активно использовать даже те, кто работает в программах «1С:Предприятие» давно, необходимо, чтобы он был единым целым с существующей системой, а не «чем-то сбоку». А для этого необходимо, чтобы «Система взаимодействий» «видела» пользователей информационной базы.
Но как «Система взаимодействий» узнает о пользователях информационной базы, если это отдельный сервис?
Разработчики фирмы «1С», на мой взгляд, пошли единственно верным путём – они максимально упростили «точку входа» в сервис. Платформа самостоятельно выполняет регистрацию, аутентификацию и определение адресатов сообщений. Это возможно благодаря созданию в «Системе взаимодействий» парных пользователей.
Для каждого пользователя в информационной базе 1С создается новый пользователь в «системе взаимодействия». Это происходит автоматически при первой аутентификации пользователя информационной базы после подключения её к сервису. При этом уникальный идентификатор нового адресата для взаимодействий сохраняется как в базе данных, так и в сервисе.
Благодаря этому в «Системе взаимодействий» происходит корректная маршрутизация сообщений с привязкой к пользователю информационной базы. А человек, работая в «1С:Предприятие», совершенно не задумывается о том, что использует какой-то дополнительный сервис.
В настоящий момент начать обмениваться сообщениями может любой желающий, даже несмотря на то, что «Система взаимодействий» пока не поставляется в виде отдельного продукта. Дело в том, что фирма «1С» запустила сервер в качестве сервиса «1С:Диалог», по адресу «1cDialog.com».
Получается, что все желающие будут пользоваться одним «маршрутизатором»? Как это возможно, как не запутаться – где чья информационная база и кому можно управлять её подключением к сервису?
Логично, что на уровне сервиса должно происходить глобальное разделение областей данных с информационными базами. По аналогии с другими существующими облачными сервисами от фирмы «1С» в качестве такого разделителя выступает понятие «Абонент». Его олицетворением является некое лицо (юридическое или физическое), которое желает иметь в своих информационных базах возможность обмена мгновенными сообщениями и совершения видеовызовов.
Идентификация абонента выполняется по адресу электронной почты, и он может являться владельцем одной или нескольких информационных баз, подключенных к «Системе взаимодействий».
Каждое подключение базы регистрируется в сервисе под уникальным идентификатором, который сохраняется как в «Системе взаимодействий», так и в самой информационной базе. Также на обеих сторонах хранятся криптографические ключи для безопасной передачи сообщений между клиентом и сервером с использованием (как мы уже знаем) протокола WS.
Обмен сообщениями и совершение видеозвонков происходит в рамках обсуждений, которые бывают двух видов – контекстные и неконтекстные. Первые используются в привязке к некоторым объектам информационной базы, что позволяет пользователям вести беседу по конкретному предмету, который в момент переписки и/или видео-звонка будет находиться перед глазами.
Неконтекстные обсуждения представляют собой чаты общего характера, доступные только тем пользователям, которые были добавлены в беседу. При помощи них можно устраивать групповые совещания с ограниченным кругом участников.
Такой подход позволяет закрыть все потребности в удалённом общении пользователей – от «Марья Ивановна, посмотри отгрузку номер 330 от 31 декабря – там цена почему-то занижена…» до управленческих конференций.
Стоит отметить, что пока нет возможности выполнять групповые видеовызовы, и будет ли развитие в этом направлении – информации на текущий момент нет.
В заключении теоретической части стоит отметить, что сообщения, которыми обмениваются пользователи, не хранятся в информационной базе. Поэтому в настоящий момент при отсутствии подключения к серверу «Системы взаимодействий» на рабочем месте не получится не только отправлять/принимать сообщения, но и увидеть историю сообщений.
Если же в момент отсутствия у пользователя подключения к сервису взаимодействий ему отправлялись сообщения или были попытки совершения видеовызовов, то при следующем подключении он получит оповещение о пропущенных входящих. Это удобно!
В платформе 8.3.10 технология видеозвонков была реализована при помощи центрального видео-сервера, встроенного в сервер «Системы взаимодействий». Скорее всего, тестирование данного механизма показало большую нагрузку на серверную часть «Системы взаимодействий» при совершении пользователями звонков. И уже в следующей версии платформы [8.3.11] видеовызовы будут выполняться по технологии peer-to-peer.
Также, разработчики «приоткрыли завесу» над технологиями, которые они использовали при создании «Системы взаимодействий». Например, для хранения сессий пользователей, подписок на события и прочей служебной информации они используют распределенное хранилище Hazelcast.
Ну что, наверное уже хочется попробовать «Систему взаимодействий»? Сейчас мы расскажем, как начать её использовать.
Подключение
Начать работать с «Системой взаимодействий» можно на любой, даже пустой, конфигурации, если используется платформа «8.3.10». Для этого необходимо убедиться, что свойство Режим совместимости установлено в значение Не использовать:
А в конфигурации есть хотя бы один пользователь, и он обладает правом РегистрацияИнформационнойБазыСистемыВзаимодействия:
Кроме этого, на компьютерах, где планируется использовать обмен сообщениями, должен быть открыт доступ по URL к серверу «Системы взаимодействий». Так как сейчас сервер доступен исключительно в виде сервиса, то на рабочих местах не должно быть запрета на адрес «wss://1cdialog.com:443».
Когда условия в информационной базе соблюдены, можно начинать использовать «Систему взаимодействий». Для этого необходимо её сначала подключить к сервису «1С:Диалог». Управление подключением к «Системе взаимодействий» производится в пользовательском режиме «1С:Предприятие» при помощи соответствующей стандартной функции, доступной через главное меню программы в разделе Все функции:
В случае, если информационная база ещё не подключена к сервису «1С:Диалог», откроется следующая форма:
Регистрация в системе происходит по двухступенчатому принципу: сначала на сервер отсылается запрос с указанием электронной почты абонента сервиса и идентификатора информационной базы, а затем при помощи кода подтверждения происходит завершение регистрации. Поэтому при подключении необходимо сначала воспользоваться кнопкой Получить код, по которой откроется диалог для ввода электронной почты:
Также отметим, что указание существующего адреса электронной почты не всегда приводит к ожидаемому результату. Автору так и не удалось дождаться письма с кодом подтверждения регистрации на его активный адрес бесплатного почтового сервера mail.ru. Зато с «импортным» gmail.com таких проблем не возникло.
Когда вы укажете адрес электронной почты, на который сервис «1С:Диалог» сможет выслать регистрационную информацию, на него придёт письмо примерно следующего содержания:
Цифровой код из письма (на рисунке подсвечен желтым цветом), необходимо использовать для завершения регистрации при помощи диалогового окна подтверждения регистрации следующего вида:
Интуитивно понятно, что в поле Адрес электронной почты абонента необходимо указать электронную почту, которая была использована на первом шаге регистрации, а в поле Код регистрации – код из письма. При указании некорректных данных в этих полях ввода «Система взаимодействий» вернёт ошибку «Отказано в доступе» и регистрация не будет завершена.
Поле Наименование информационной базы заполняется произвольными символами (как показала практика, можно использовать даже спец. символы).
Напомню, что идентификация информационной базы в «Системе взаимодействий» происходит по Уникальному идентификатору, который автоматически создаётся в момент регистрации, хранится и в «Системе взаимодействий» и в базе данных и не может быть установлен или изменён самостоятельно. Символы, введённые в поле Наименование информационной базы, никакого влияния на это не оказывают.
В случае, если вам удастся соблюсти все требования и произвести нехитрые манипуляции по регистрации без ошибок, «1С:Предприятие» наградит вас за это следующим сообщением:
После этого в текущем сеансе «1С:Предприятие» объекты «Системы взаимодействий» автоматически активизируются без перезапуска клиента. Остальным пользователям для получения возможности участвовать в обсуждениях и получать/выполнять звонки, необходимо выполнить перезапуск сеанса работы в информационной базе.
На этом регистрация в «Системе взаимодействий» завершена. Читателю может показаться, что процесс сложный и затянутый, но на самом деле это не так. Регистрация информационной базы в «Системе взаимодействий» может быть выполнена меньше чем за минуту.
- Регистрационный номер лицензионной программы 1С и ИНН организации, на которую приобреталась эта программа
- Электронную почту абонента сервиса
- Планируемое количество пользователей.
Каждая заявка анализируется, и по результатам рассмотрения открывается доступ к видео-вызовам или присылается отказ.
Доступ к тестированию видеозвонков открывается абоненту и действует на все информационные базы, подключенные этим абонентом к сервису.
Использование «Системы взаимодействий» «в картинках»
А теперь заглянем в использование системы. Но только совсем чуть-чуть… Как говорится – «для затравочки»!
Вместо заключения
В заключение автору хотелось бы озвучить свои впечатления и мысли, возникшие в ходе тестирования «Системы взаимодействий».
Механизм получился очень интересный, перспективный и отвечающий веяниям времени. Удалённое взаимодействие и электронное общение всё глубже укореняются в нашей жизни, а время становится всё более «дорогим».
Теперь не надо будет при приёме на работу нового сотрудника создавать ему аккаунт в мессенджере для общения по рабочим вопросам. А пользователям не надо переключаться между окнами и уметь пользоваться разными инструментами для электронного общения. Вести учёт и переписку теперь стало возможным в режиме одного окна, без использования сторонних средств!
И напоследок для раздумий и дискуссий в комментариях – фантазии автора (это исключительно мнение автора, которое не имеет ничего общего с мнением команды «Курсы-по-1С» и, тем более, с официальными источниками фирмы «1С»):
- Спустя тестовый период использования, сервис 1cDialog.com станет «условно бесплатным»
- В рамках договора сопровождения ИТС уровня ПРОФ будет бесплатно предоставляться возможность использования «Системы взаимодействий» ограниченному количеству пользователей
- Возможность совершать видеовызовы будет платной даже для категории пользователей, подпадающих под п. 2
- Отдельный сервер «Системы взаимодействий» будет являться самостоятельной позицией прайса фирмы «1С»
- Появится возможность общаться между собой у пользователей разных информационных баз, а может быть, даже баз, принадлежащих разным абонентам.
А на ваш взгляд, какова вероятность воплощения в жизнь этих фантазий? Пишите в комментариях!
Об авторе
PDF-версия статьи для участников группы ВКонтакте
Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.
Если Вы еще не вступили в нее – сделайте это сейчас, и в блоке ниже (на этой странице) появятся ссылки на скачивание материалов.
Вы можете скачать эту статью в формате PDF по следующей ссылке: Ссылка доступна для зарегистрированных пользователей)
Подскажите, а как вообще отключить не контекстные обсуждения? закладка появляется автоматом при подключении к серверу взаимодействия, но если к примеру мне нужны только контекстные, то как быть?
Добрый день, Евгений!
Насколько мне известно, такая возможность отсутствует
Здравствуйте! Интересуют Push-уведомления при работе системы взаимодействий. Увидел декларативно что эта вещь есть, не могу найти описание как это настроить. Принципиально понимаю, что это можно сделать программно вообще как работу с пуш уведомлениями, но есть подозрение , что пуш – уведомления можно настроить как-то не програмируя при работе с сервером взаимодействий
Добрый день, Дмитрий!
Вероятно вы спрашиваете об этом:
Если нет, то прошу уточнить вопрос.
Павел, благодарю Вас за ответ. Я в своем комментарии имею в виду функциональность под номером 6), которая декларируется разработчиком:
Функциональность системы взаимодействия
1) поддерживаются обсуждения «один на один». Они позволяют пользователям общаться только друг с другом,
2)поддерживаются статусы пользователя (не в сети, отошел, не беспокоить, доступен),
3)в сообщениях можно использовать «смайлики». С помощью смайликов, например, можно обмениваться сообщениями без текста,
4)можно назначить альтернативное сочетание клавиш, которое будет использоваться для отправки сообщений,
можно редактировать и удалять сообщения, редактировать заголовки обсуждений.
5)Редактирование обсуждений сопровождается служебными сообщениями Печатает остальным участникам обсуждения,
появление нового сообщения и входящий звонок сопровождаются звуковым оповещением,
6)поддерживаются push уведомления,
7)если соединение с сервером взаимодействия отсутствовало, а потом было восстановлено, неотправленные сообщения отправляются автоматически,
8)осуществляется диагностика качества видеозвонков. Она позволяет фирме «1С» собирать дополнительную техническую информацию в тех случаях, когда возникают проблемы видеосвязи.
Настройку, которую Вы указали в вашем ответе, мы с колегами задействовали. Но не ясно как это работает в случае с мобильным клиентом.
Суть задачи, которая поставлена заказчиком в следующем: При появлении сообщения в рамках системы взаимодействий пользователю на мобильное устройство должно приходить Push-уведомление даже при неактивном мобильном клиенте.
У нас есть определенный опыт работы в плане программной генерации Push-уведомлений в системе 1с при других различных событиях, которые не связаны с работой системы взаимодействий, например, поступление почты, и прочее.
Мы прочитав возможности функционала , описанные в пункте 6, решили что Push-уведомления при работе системы взаимодействий можно настроить не используя программирование.
Но как это сделать при работе мобильного клиента не совсем понятно.
Дмитрий, добрый день!
Цитирую материалы по серверу взаимодействий:
—
Если к серверу взаимодействия подключается мобильное приложение мобильного клиента, то сервер взаимодействия может отправлять мобильному клиенту уведомления о входящем сообщении или звонке. Для того, чтобы пользователь мобильного клиента получал такие уведомления, необходимо выполнить ряд действий, которые затрагивают несколько систем:
● Сервис 1С:Центр уведомлений.
● Сервер взаимодействия.
● Сервис доставки уведомлений.
● Мобильное приложение мобильного клиента.
—
Подробнее можно прочитать тут: https://its.1c.ru/db/cs21doc#bookmark:cs:TI000000050
Подскажите, пожалуйста по системе взаимодействия(СВ). Интересуют следующие моменты:
1. Можно ли как-то создать группу пользователей в СВ?
2. Можно ли как-то задать фильтр для объекта, чтоб по нему можно было просмотреть все сообщения св?
3. Можно ли просмотреть историю взаимодействия по всем пользователям за период?
Добрый день!
1. В системе взаимодействия (СВ) нет возможности создавать группы пользователей. Каждый пользователь СВ привязан к пользователю информационной базы (ИБ), поэтому администрирование по группам можно производить на уровне ИБ.
2. Если я правильно понял вопрос, то вы хотите получить все сообщения из контекстного обсуждения СВ с отбором по конкретному контексту (объекту)? Да, это возможно при помощи методов ПолучитьОбсуждения() и ПолучитьСообщения(). Сначала по контексту находите нужное обсуждение, потом по этому обсуждению получаете сообщения.
3. Не уверен, что понял задачу, которую вы хотите решить. Вероятно, вам помогут методы ПолучитьОбсуждения() и ПолучитьСообщения(). У них есть возможность установки отборов, подробное описание можно найти в синтаксис-помощнике.
Здравствуйте. Я в обсуждениях создал тему (нечайно) она обозвалась именем пользователя. В этой теме два участника, но во вкладке участнике никого нет… Это обсуждение невозможно покинуть или изменить. Если на теме нажать правой мышкой активно только Получить ссылку.. Как можно удалить это обсуждение? Спасибо.
Добрый день, Серёга.
С описанным вами случаем я никогда не сталкивался.
Если есть договор ИТС (1С:КП), то рекомендую с этим вопросом и более подробным описанием (желательно со скриншотами) обратиться в официальную поддержку от фирмы 1С.
Предположу, что можно попробовать эту ситуацию решить программным способом.
Здравствуйте.
А есть информация/документация как настроить свой локальный 1сдиалог?
Т.е. локально система взаимодействия устанавливается и работает. Но очень напрягает то, что кто угодно может использовать наш сервер взаимодействия (нужно знать только адрес:порт). Как реализовать чтоб на почту приходил код подтверждения только после его обработки вручную админом или просто код один и его никто не знает?
В конфигурационных файлах ничто не намекает, вообще куда копать?
Добрый день, max_dmt.
У меня такой информации нет. Если у вас получится разобраться с этим вопросом – прошу написать тут свой опыт =)
Это какой-то швах!
Собственный сервер так и не взлетел! Прочитана гора мануалов – всё бестолку!
Использовали штатный механизм зарегали базу через 1С:Диалог
Работают только текстовые сообщения.
Проблема:
пользователь в элементе справочника сделал обсуждение. элемент удален. оповещения остались и постоянно появляются на рабочем столе.
Как эту ересь удалить?
Добрый день, Дон Пабло! )
Из личного опыта: установка локального сервера взаимодействий состоит из ряда действий, которые надо выполнять в строгом порядке. Иначе он работать будет некорректно. Порядок и действия описаны в документации на сайте ИТС. Могут возникнуть сложности, но техподдержка достаточно быстро и качественно по ним помогает.
В 1С:Диалог изначально действительно были ограничения на использование видео-вызовов. Но сейчас вроде бы нет их. Какая версия платформы у вас используется? Может она несовместима с текущей версией сервера 1С:Диалог по части видео-вызовов?
По поводу удаления оповещения по сообщениям в несуществующем контексте. Не нашел возможности установки отметки просмотренных сообщений программно. Можно попробовать программно создать элемент справочника с таким же ЮИД, потом просмотреть сообщения по нему и заново удалить. Кривой способ, но на вскидку пришел такой ) Еще есть вариант -з зайти в базу данных и там почистить напрямую, но это только для локальной версии.
Надеюсь мои мысли вас на что-то натолкнут )
Подскажите пожалуйста , возможно ли в контекстном обсуждении поменять местами окна – в форме документа сначала обсуждение, а потом форма?
Ирина, добрый день! Не уверен что можно этим управлять при помощи настроек, но всегда можно создать полностью свою форму документа, в которой реализовать все нужные элементы формы самостоятельно.
Сейчас контекстное обсуждение крепится справа от формы и это я не программирую. Пожелание заказчика – чтобы обсуждение было слева от формы. Как-то можно управлять окном обсуждения?
Подскажите, нужно добавить команду при нажатии в сообщении правой кнопкой мыши:
Подключила обработчик – СистемаВзаимодействия.ПодключитьОбработчикФормированияКоманд;
Как правильно добавить команду в массив Команды в обработчике?
Ирина, добрый день! Пример использования этого метода есть тут: https://its.1c.ru/db/pubecs#content:36:hdoc
Спасибо, очень полезная информация
Как всегда, статья лучше чем на ИТС и полезные ответы в комментариях! (Вот мне как раз свою команду было нужно, специально из яндекса сразу сюда прошел). Спасибо!
Предполагается ли в будущем сделать “цитировать выделенное” в сообщении. Как например в скайпе?
Добрый день, Ирина! Да, разработчики платформы анонсировали эту возможность.
Подскажите пожалуйста, как из Обсуждение.КонтекстОбсуждения получить ссылку на объект, к которому прикреплено обсуждение?
Добрый день, Ирина!
КонтекстОбсуждения содержит навигационную ссылку. Подробнее о формате навигационных ссылок можно почитать тут: https://its.1c.ru/db/v837doc#bookmark:dev:TI000001216
Стандартного метода для получения из навигационной ссылки ссылки на объект базы в платформе 1С вроде нет (если найдете – отпишитесь тут =)).
Но на просторах интернета можно найти несколько вариантов, как пример: https://helpf.pro/faq/view/1469.html
Спасибо, воспользовалась предложенным вариантом -ПолучитьСсылкуИзНавигационной(Обсуждение.КонтекстОбсуждения.НавигационнаяСсылка)
Подскажите, каким образом можно отключить возможность использования видео / аудио звонков в системе взаимодействия?
Илья, добрый день!
В описании системы взаимодействия на сайте ИТС сказано:
Для использования видеозвонков должны быть выполнены следующие требования:
1. Сервер взаимодействия должен разрешать видеозвонки для абонента, который выполнял регистрацию приложения.
2. Клиентское приложение, которое применяется для доступа к приложению, позволяет использовать видеозвонки.
3. Компьютеры пользователей ‑ участников видеозвонка должны быть оснащены микрофонами и динамиками. При наличии видеокамеры у участника видеозвонка обеспечивается показ изображения видеокамеры другому участнику видеозвонка.
Могу предположить, что невыполнение этих требований приведёт к нужному результату)
Здравствуйте , 1С:Предприятие 8.3 (8.3.12.1412).
Создаю программно контекстное сообщение. Когда переходишь по контексту в объект , сообщение не помечается прочитанным. Удалить сообщение из оповещений и нажатие на команду “Очистить оповещения” ни как не влияет на сообщения .При перезапуски системы старые сообщения все равно всплывают. Сообщения отмечается прочитанными только когда пишешь какой-то комментарий в систему.
Однако при создании сообщения в ручную и когда переходишь по этому сообщению , то оно помечается как прочитанное.
В чем может быть проблема?
Вопрос закрыт. Проблема в том что ожидание долгое. Если скрыть окно обсуждении , а обработчик не успеет отметить сообщение как прочитанное , то увы. Обработчик насколько я понимаю вызываются с какой-то периодичностью. В более новых версиях платформы это действие происходит практически мгновенно , соответственно таких проблем нет.
Здравствуйте! Возможно ли систему взаимодействия использовать в режиме обычного приложения?
Добрый день!
Думаю, что ответ на свой вопрос Вы сможете найти в этой ветке: https://курсы-по-1с.рф/articles/2017-09-08-interaction-system-in-platform-8-3-10/comment-page-1/#comment-649529 ))
Добрый день.
Подключил систему взаимодействия к конфигурации Управление торговлей для Украины редакция 3.1.
Внеконтекстные сообщения создаются интерактивно без проблем. При попытке создать контекстное обсуждение приложение вылетает
Александр, добрый день!
Очень мало информации от Вас. Могу предположить что для вашего действия нужен привелегированный режим… Но это не точно : )
Попробуйте перед записью контекстного обсуждения вызвать метод “УстановитьПривилегированныйРежим(Истина);”
переустановил технологическую платформу
windows_8_3_14_1694
на
windows_8_3_12_1790
– заработало.
На сайте ИТС пишут, что для завершения регистрации требуется:
[URL=https://fastpic.ru/view/109/2019/0423/_7fbef443461345c598ffb7ef124e26a7.png.html][IMG]https://i109.fastpic.ru/thumb/2019/0423/a7/_7fbef443461345c598ffb7ef124e26a7.jpeg[/IMG][/URL]
Устанавливал по-умолчанию. Ошибка:
[URL=https://fastpic.ru/][IMG]https://i110.fastpic.ru/big/2019/0423/fd/3d5873a78a595c4a729230e1901845fd.png[/IMG][/URL]
На сайте ИТС разделе 4.7. Завершение настройки написано:
“Инициализация базы данных сервера
Команда инициализации выглядит следующим образом:
curl -Sf -X POST -H “Content-Type: application/json” -d “{ \”url\” : \”jdbc:postgresql://localhost:5432/\”, \”username\” : \”\”, \”password\” : \”\”, \”enabled\” : true }” -u admin:admin http://localhost:8087/admin/bucket_server
Пробую выполнить команду – ошибка
Failed to connect to localhost port 8087: Connection refused.
https://i110.fastpic.ru/big/2019/0423/fd/3d5873a78a595c4a729230e1901845fd.png
В чем может быть причина?
При подключении к сервису 1С:Диалог после ввода почтового адреса для получения кода выдает ошибку “Невозможно установить соединение с сервером взаимодействия tls handshake failed”. С чем это может быть связано? Лучше устанавливать свой сервер взаимодействия или использовать указанный сервис?
Добрый день!
Данная ошибка говорит, что у Вас при создании безопасного туннеля произошел сбой. Причину сказать не могу, могу только дать советы из серии “смотрите настройки брандмауэра, антивирусной программы, используемых прокси, установите последние обновления ОС, …”
По поводу сервиса или своего сервера. С точки зрения использования при нормальном интернете разницы быть не должно. С юридической точки зрения установка своего сервера допустима только при выполнении определенных условий (завязка на уровне используемых лицензий и ИТС).
Замечено, что сервис обновляется реже, чем выходят новые версии локального сервера. Поэтому, если хотите пробовать новые фишки, то скорее всего лучше использовать локальную версию.
Прокси мешал.
При выполнении кода (на стороне сервера, клиент-сервер)
“СистемаВзаимодействия.СоздатьОбсуждение()”
возникает ошибка: “Невозможно установить соединение с сервером системы взаимодействия TLS handshake failed”.
Интерактивно обсуждения создаются. Программно в файловой базе создаются (находится на сервере).
Программно в клиент-серверной базе – ошибка. Непонятно, если регистрацию система взаимодействия на “1С Диалог” прошла успешно, почему возникает такая ошибка?
Разобрался, служба была запущена под другой учётной записью.
Подскажите как управлять этой системой? как вывести уведомление программно?
Нужно в 1с документообороте все те уведомления которые выводятся окном (например о новой задаче, о назначении ответсвенного по документу..) выводились всплывающим окном в агенте системы зваимодействия
Александр, добрый день!
На сколько я понял из Вашего вопроса, Вы хотите использовать вместо встроенной в конфигурацию систему задач и оповещений использовать Систему взаимодействия (СВ). Для этого необходимо подключить конфигурацию к СВ и (при необходимости) переписать в конфигурации создание оповещений пользователей на оповещения при помощи СВ. Это позволит использовать агента.
В конфигурации УНФ такая интеграция выполнена самой фирмой 1С. Есть ли это в документообороте – не могу сказать.
Добавьте сортировку статей по автору :)
Спасибо! Постараемся учесть Ваше пожелание.
Какова нагрузка на базу при использовании системы.
ERP и Документооборот и так местами не шустрые, не будет ли база висеть при использовании сервера взаимодействия?
Николай, добрый день!
Система взаимодействий – самостоятельный продукт, взаимодействие которого с 1С реализована на уровне платформы.
По идее, прямого влияния на быстродействие системы быть не должно.
Если же Вы будете использовать локальную версию СВ и установите ее «рядом с сервером 1С», то вероятно ощутите косвенное влияние.
Добрый день. подскажите, пожалуйста, у нас есть несколько баз РИБ, возможен ли обмен сообщениями между пользователями разных баз. при наличии одних и тех же объектов. При условии что сервер взаимодействия будет установлен локально.
Добрый день!
В документации по системе взаимодействий написано:
——
Система взаимодействия – это механизм, позволяющий, в рамках одной информационной базы, взаимодействовать между собой клиентским приложениям, серверу и пользователям этой информационной базы.
——
А, про РИБ разработчик пишет следующее:
——
Распределенная информационная база – Информационная система, состоящая из нескольких информационных баз 1С:Предприятия (узлов), обладающих идентичными конфигурациями и обменивающихся данными в офф-лайн режиме.
——
Отсюда делаем вывод, что обмен сообщениями между пользователями разных баз (даже РИБ) невозможен.
По крайней мере пока этого не захочет сделать вендор :)
Что за бред?! Стоит база РИБ, в ней разработана подсистема чата – всё работает в РИБ.
И почему нельзя обмениваться между базами разных конфигураций? Что мешает использовать COM соединения или OLE?
johny1987, добрый день!
>> Что за бред?!
: ) Надеюсь, что это не про мой комментарий ))
>> Стоит база РИБ, в ней разработана подсистема чата – всё работает в РИБ.
Система взаимодействий в настоящий момент позволяет обмениваться сообщениями в рамках одной информационной базы. И не важно РИБ это или нет.
>> И почему нельзя обмениваться между базами разных конфигураций? Что мешает использовать COM соединения или OLE?
Ну наверное можно самостоятельно сторонними средствами выйти из этой ситуации. Ответ был в рамках типовых возможностей программы.
Но на самом деле, сейчас заниматься самостоятельно реализацией обмена сообщениями между базами РИБ не целесообразно. Так как в ближайшей перспективе данная возможность с высокой долей вероятности будет реализована в типовом функционале Системы взаимодействий (птичка напела : ))
Здравствуйте, решил прикрутить механизм к УПП. В управляемом приложении работает. В обычном могу создать, прочитать обсуждения и сообщения, но не получается подключить обработчик, метод “НачатьПодключениеОбработчикаНовыхСообщений” выдает ошибку “Система взаимодействия не зарегистрирована”. В чем проблема не пойму.
andreib, день добрый!
Вопрос понятен, но неизвестных в нем слишком много, чтобы дать какой-то ответ. Давайте попробуем уточнить:
1. Правильно ли я понял, что тут «В управляемом приложении работает. В обычном могу создать, прочитать обсуждения и сообщения, но не получается подключить обработчик,…» идет речь об одной информационной базе, запуская которую в режиме УФ «все-превсе» работает, а в режиме ОФ (тот же самый код) выдает ошибку?
2. Скажите какой режим совместимости установлен для конфигурации?
3. Пришлите результат выполнения метода «ИнформационнаяБазаЗарегистрирована()» перед выполнением «НачатьПодключениеОбработчикаНовыхСообщений»
4. Ну и попробуйте метод «НачатьПодключениеОбработчикаНовыхСообщений()» выполнить в привилегированном режиме.
Жду обратной связи! :)
Здравствуйте!
1. Да база одна. В упр.приложении (толстый клиент) все работает, а в обычном приложении (толстый клиент) нет. Код один и тот же.
Если НЕ СистемаВзаимодействия.ИнформационнаяБазаЗарегистрирована() Тогда
Возврат;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
Отбор = Новый ОтборОбсужденийСистемыВзаимодействия();
Отбор.ТекущийПользовательЯвляетсяУчастником = Истина;
Отбор.НаправлениеСортировки = НаправлениеСортировки.Убыв;
СписокОбсуждений = СистемаВзаимодействия.ПолучитьОбсуждения(Отбор);
ПоследнееОбсуждение = СписокОбсуждений[0];
ОписаниеОповещенияПодключенияОбработчика = Новый ОписаниеОповещения(“ОбработкаОповещенияПодключенияСерверныхСообщенийБезКонтекста”, СерверВзаимодействияОбычный,);
ОписаниеОповещенияСерверныхСообщенийБезКонтекста = Новый ОписаниеОповещения(“ОбработкаОповещенияСерверныхСообщенийБезКонтекста”, СерверВзаимодействияОбычный,);
СистемаВзаимодействия.НачатьПодключениеОбработчикаНовыхСообщений(ОписаниеОповещенияПодключенияОбработчика, ПоследнееОбсуждение.Идентификатор, ОписаниеОповещенияСерверныхСообщенийБезКонтекста);
УстановитьПривилегированныйРежим(Ложь);
2. Установлен режим совместимости: Версия 8.2.13.
3. СистемаВзаимодействия.ИнформационнаяБазаЗарегистрирована() = Истина.
4. Привилегированный режим установлен.
andreib, добрый день!
Я думаю, что Вы сами понимаете – данный вопрос находится за рамками задокументированных возможностей. Поэтому, на корректную работу системы взаимодействий в вашем случае можно только надеяться.
Самый «правильный» ответ будет следующим – переходите на современную конфигурацию, которая полностью поддерживает все современные механизмы платформы «1С:Предприятие».
Если же хочется исходить из текущего состояния, то можно попробовать отключить режим совместимости (может быть поможет для системы взаимодействий, но точно поломает механизмы конфигурации : ), или перевести рабочее место сотрудников, которым необходимо работать с системой взаимодействия, на управляемые формы.
Понимаю, что эти советы звучат не профессионально, но думаю что в вашем случае больше ничем помочь не смогу. : )
Если получится каким-то способом выйти из ситуации, то прошу Вас тут опубликовать решение – оно может оказаться полезным для многих специалистов! )
Здравствуйте!
Понятно, спасибо за ответ. Придется, наверное, отказаться от этой затеи, т.к. те пользователи работают в режиме ОФ.
Добрый день!
Прошло время, появились новые релизы.
Кому либо удалось выполнить СистемаВзаимодействия.НачатьПодключениеОбработчикаНовыхСообщений под толстым клиентом в обычных формах? Я пробовал на 8.3.12.1529, в любом случае получаю ошибку что и описана выше – “система взаимодействия не зарегистрирована”.
1с 8.3.11. Настроил 1с:сервер взаимодействия. Программно отправляю сообщения. Выходит вот такое сообщение: “Ошибка при отправке сообщения: Ошибка при вызове метода контекста (Записать): Система взаимодействия: в доступе отказано”. Встроенным механизмом сообщения отправляются. Обсуждения программно создаются, а сообщения не отправляются.
aleksei_bush, добрый день!
Для более точного «диагноза» лучше было бы иметь перед глазами участок программного кода, на котором возникает данная ошибка. Но могу предположить, что Вы не установили привилегированный режим перед отправкой сообщения.
Проверьте этот момент. Если же дело не в этом, то просьба приложить к следующему сообщению код.
Спасибо! :)
Спасибо за ответ. Действительно, дело было в неустановленном привилегированном режиме
В общем программно пытаюсь отправлять сообщение от одного пользователя другому в 8.3.10:
ОбсуждениеСВ = СистемаВзаимодействия.СоздатьОбсуждение();
//ОбсуждениеСВ.Отображаемое = Ложь; // доступно только в 8.3.11
ОбсуждениеСВ.Участники.Добавить(СистемаВзаимодействия.ПолучитьИдентификаторПользователя(ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор));
ОбсуждениеСВ.Участники.Добавить(ИдентификаторПользователяСВ);
ОбсуждениеСВ.Заголовок = “Новая задача”;
КонтекстОбсужденияСВ = Новый КонтекстОбсужденияСистемыВзаимодействия(ПолучитьНавигационнуюСсылку(Объект.НавСсылка.ПолучитьОбъект())); // работает только в 8.3.11???
ОбсуждениеСВ.КонтекстОбсуждения = КонтекстОбсужденияСВ;
ОбсуждениеСВ.Записать();
Сообщение = СистемаВзаимодействия.СоздатьСообщение(ОбсуждениеСВ.Идентификатор);
Сообщение.Текст = “Для вас создана новая задача “+Объект.ТекстЗадачи;
Сообщение.Получатели.Добавить(ИдентификаторПользователяСВ);
Сообщение.Записать()
Сообщение всегда доходит до пользователя, но всплывает сообщение не всегда. Это глюк беты или я что-то не так делаю?
skv_79, спасибо за внимание к статье!
В документации к системе взаимодействий написано следующее: «Для информирования пользователей о новых сообщениях, система взаимодействия использует оповещения. Следует понимать, что оповещение формируется не о каждом новом сообщении в обсуждении, а только в тот момент, когда в обсуждении появляется первое непрочитанное сообщение. Следующее оповещение, в рамках одного обсуждения, будет сформировано после того, как все сообщения в обсуждении будут прочитаны.»
Могу предположить, что то, о чем Вы пишете – это нормальное поведение системы.
Если же дело не в этом, то просьба прислать подробное описание поведения системы для моделирования.
Павел, спасибо за статью, но уже хочется большего :)
Скажите, а есть возможность программно формировать контекстное сообщение конкретному пользователю с привязкой к конкретному объекту (скажем, документу)?
GElena, добрый день!
Спасибо Вам за интерес и прочтение статьи! :)
Да, программно можно создать контекстное сообщение с указанием пользователей, которые получат оповещение о нём.
С точки зрения логики, создение такого сообщения должно выглядеть примерно следующим образом:
1) Попытка поиска обсуждения по контексту при помощи метода «ПолучитьОбсуждения()».
2) Если обсуждение не найдено, то создание нового контекстного обсуждения при помощи метода «СоздатьОбсуждение()» с указанием контекста (объекта данных).
3) Создание сообщения в найденом (или созданном) обсуждении при помощи метода «СоздатьСообщение()» с указанием «Получателей».
Подробно о работе системы взаимодействий можно прочитать в документации к платформе (например, на сайте ИТС). Рекомендую изучать уже платформу 8.3.11, так как в ней есть новые «вкусности»! :)
Если что-то не будет получаться, пишите – постараюсь дать более развёрнутый ответ! )
В рамках обсуждения в документе как указывается адресат? Что-то на картинках не видно …
dimap, как указать адресата в контекстном обсуждении, можно увидеть на рисунке 22. Не контекстные обсуждения являются «общим чатом» и в них нет возможности указать конкретного пользователя для адресации сообщения.
За комиксы отдельное спасибо!)
Хочу еще добавить, система взаимодействия а конкретнее видеозвонки недоступны в режиме работы на терминальном сервере (RDP). Просто не отображается кнопка видеозвонков. Работа через веб-клиент – видеозвонки работают, очень порадовало! Теперь пользователям вообще ничего не нужно устанавливать, настраивать. Открыл браузер – работай! В браузере смартфона Chrome видеозвонки недоступны.
Сергей, спасибо за дополнение!
Спасибо. Очень интересная и полезная статья. Даже не слышала раньше о таком механизме. Теперь буду знать и использовать при необходимости.
Надеюсь, разовьют до удаленного управления и демонстрации клиентского интерфейса.
Спасибо, интересно, актуально. Правильно я поняла, что пока этим сервисом можно пользоваться бесплатно?
Анна, пока сервис предоставляется пользователям, имеющим договор сопровождения ИТС, бесплатно. Использование видеозвонков становится доступно только после одобрения фирмой 1С дополнительного запроса.
По локальной версии все подробно описывается в информационном письме фирмы 1С №23353 от 24.08.2017 (отсылку на которое чуть ранее дал Andrew.K@mail.ru).
Анонс статьи в рассылке заинтересовал и перейдя по ссылке начал читать – оказалось что статья для “домохозяек”… печально.
Не знаю когда была написана данная статья, поэтому просто оставлю в комментарии – тестовый дистрибутив сервера взаимодействий доступен для скачивания с 24.08.2017, порядок использования и особенности лицензирования описаны в информационном письме от того же числа.
Спасибо за оказанное внимание!
Почитал. Попробовал.
У нас платформа 8.3.10. Включил этот функционал в рабочей базе УТ11.2.3 Система взаимодействия работает. Но только в интерфейсе “Такси” и очень даже здорово.
В интерфейсе “Формы в закладках” не работает. Не вижу ни соответствующих кнопок, ни необходимых настроек. Однако хочется, чтобы система взаимодействия работала в интерфейсе “Формы в закладках”.
Вопрос:
Может подскажете, есть ли необходимые настройки?
Или система взаимодействия работает только в интерфейсе “Такси”?
dimon698, по информации от разработчиков – «Интерфейсная часть системы взаимодействия реализована в интерфейсе Такси». Думаю, что для интерфейса «Формы в закладках» можно попробовать самостоятельно реализовать интерфейсную часть. Но однозначно это будет не просто и не «очень даже здорово»… :)
Понял. Спасибо за ответ.
Старый «управляемый» интерфейс, как я понимаю, из платформы вообще «выпилят», останутся только «такси» и обычные формы.
Не должны, как быть пользователям конфигураций на уф, но без такси?
Буквально на днях на партнерском форуме создали опрос об отказе от поддержки интерфейса 8.2
Пруф: https://partners.v8.1c.ru/forum/topic/1642161
janit, фирма «1С» четко уже дала понять, что поддержка «тупиковых» веток отнюдь не бесконечна. Скорее всего, рано или поздно выйдет платформа без поддержки старого управляемого интерфейса. Тогда придется задуматься – переходить на интерфейс «Такси» или смириться, что «поезд дальше не идет».
О реализации протокола WebSocket на платформе 1С я писал еще года 3 назад. Предлагал реализацию дуплексного взаимодействия сервера с клиентами на основании подписки на события сервера. Это крайне востребовано когда число пользователей от сотен и более. Когда к примеру пользователям необходимо оперативно видеть состояние склада, задач и т.п., сейчас необходимо каждому клиенту либо включать обновление формы каждые … минут, либо запускать обработчик с той-же периодичностью. В результате и сеть и сервер начинает перегружаться горой абсолютно бессмысленных запросов. А я предлагал чтобы клиент подписывался на событие к примеру записи в определенную таблицу и когда событие происходило, сервер о нем оповещал-бы клиента и на клиенте запускался соответствующий обработчик. При таком взаимодействии трафик и нагрузка на сервер при увеличении числа клиентов уменьшается на порядки.
Но пока такое не реализовали и судя по тому, что 1С придерживается нерушимой концепции “серверная часть не может инициировать клиентский вызов”, реализовывать не собираются. Реализованная “Система взаимодействий” через сервер 1С в масштабе взаимодействия различных организаций- решение правильное. А вот общение пользователей сидящих в соседних комнатах “через Плутон”, а не через собственный сервер 1С- полный бред. А если еще и по концепции безопасности организации пользователям закрыт доступ в Инет, то вообще не реализуемо.
Отвечу TeMochkiN. 1С не интересно “маршрутизатор” за бесплатно встраивать в платформу. Выгоднее это продавать за отдельную плату. Хотя технически не проблема реализовать “маршрутизатор” в виде надстройки на стандартный сервер 1С, как к примеру платформу 7.7 продавали по компонентам бух.учет, опер.учет, расчет и УРБД.
Олег, спасибо за уделенное внимание!
Думаю, что отчасти благодаря таким людям как Вы, фирма 1С идет нужным курсом… Может быть не так быстро как хотелось бы… Но все же! :)
Кстати, опытным путем выяснил, что система взаимодействия работает и в тех конфигурациях, которые имеют режим совместимости с платформой 8.2. Правда сама обработка регистрации ИБ в системе взаимодействия не работает, т.к. там используется переименованное свойство ЭтотОбъект (ThisObject), которое в 8.2 называлось ЭтаФорма (ThisForm).
Чтобы обойти эту ошибку, можно сделать так:
1. В режиме предприятия выполнить код КопироватьФайл(“v8res://mngbase/StandardECSRegister.epf”, “C:\StandardECSRegister.epf”)
2. Открыть полученную обработку в конфигураторе и заменить в модуле формы ThisObject на ThisForm. Сохраняем.
3. Открываем отредактированную обработку в режиме предприятия и регистрируем нашу ИБ, работающая в режиме совместимости с 8.2 :)
TeMochkiN, Спасибо Вам за «пытливый ум»! Полезная информация об очередной недокументированной возможности платформы 1С :)
“Встроить этот «маршрутизатор» в серверную часть «1С:Предприятие», по уже понятным нам причинам, нецелесообразно.”
Прошу прощения, а где можно почитать про эти понятные причины? :)
Я программирую только на 1С, поэтому нет понимания почему так делать нецелесообразно, но очень интересно узнать чисто для себя :)
TeMochkiN, для работы «маршрутизатора» необходим сервер-клиентский вызов. Платформа такими возможностями не обладает.
Аааа, это итак понятно, я просто подумал, что известно по каким причинами не стали реализовывать этот сервер-клиентский вызов в самом сервере 1С:Предприятия))) Тогда вопросов нет)