Система взаимодействий в платформе 8.3.10 (как сделать так, чтобы менеджеры были под контролем и не уносили список клиентов)

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

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

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

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

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

Концепция

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

Рисунок 1 – Упрощённая схема трёхзвенной архитектуры

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

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

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

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

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

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

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

Рисунок 2 – Схема многопользовательского варианта работы «1С:Предприятие»

Вроде бы «чего проще» – передать сообщение с одной клиентской части на другую?

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

И здесь кроется очередное «Но!» – как упоминалось ранее, серверная часть не может инициировать клиентский вызов. А это значит, что для обнаружения новых сообщений в существующей системе необходимо организовать периодический мониторинг клиентом серверной части. Выглядеть это будет примерно следующим образом:

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

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

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

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

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

Во-первых, необходимо дать пользователям возможность отправлять и принимать сообщения (в том числе служебных – для инициации видео-вызовов):

Рисунок 4 – Отправка сообщения

Во-вторых, должен быть налажен механизм транспорта исходящих и входящих сообщений:

Рисунок 5 – Транспорт исходящего сообщения

Причём желательно иметь возможность оперативного получения информации о поступлении новых сообщений.

Рисунок 6 – Транспорт входящего и информирование о поступлении нового сообщения

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

Рисунок 7 – Канал для передачи сообщений между пользовательскими сеансами

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

Рисунок 8 – Схема серверной части «Системы взаимодействий». Первое приближение

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

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

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

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

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

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

Рисунок 9 – Схема работы «Системы взаимодействий». Первое приближение

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

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

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

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

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

Рисунок 10 – Схема работы «Системы взаимодействий». Второе приближение

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

В настоящий момент начать обмениваться сообщениями может любой желающий, даже несмотря на то, что «Система взаимодействий» пока не поставляется в виде отдельного продукта. Дело в том, что фирма «1С» запустила сервер в качестве сервиса «1С:Диалог», по адресу «1cDialog.com».

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

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

Рисунок 11 – Схема серверной части «Системы взаимодействий». Второе приближение

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

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

Обмен сообщениями и совершение видеозвонков происходит в рамках обсуждений, которые бывают двух видов – контекстные и неконтекстные. Первые используются в привязке к некоторым объектам информационной базы, что позволяет пользователям вести беседу по конкретному предмету, который в момент переписки и/или видео-звонка будет находиться перед глазами.

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

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

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

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

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

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

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

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

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

Подключение

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

Рисунок 12 – Настройка режима совместимости конфигурации

А в конфигурации есть хотя бы один пользователь, и он обладает правом РегистрацияИнформационнойБазыСистемыВзаимодействия:

Рисунок 13 – Настройка роли

Кроме этого, на компьютерах, где планируется использовать обмен сообщениями, должен быть открыт доступ по URL к серверу «Системы взаимодействий». Так как сейчас сервер доступен исключительно в виде сервиса, то на рабочих местах не должно быть запрета на адрес «wss://1cdialog.com:443».

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

Рисунок 14 – Меню подключения к «Системе взаимодействий»

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

Рисунок 15 – Окно управления подключением к «Системе взаимодействий». Подключение отсутствует

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

Рисунок 16 – Окно управления подключением к «Системе взаимодействий». Запрос кода регистрации
Что примечательно, после ввода в строку даже одного символа кнопка Получить код становится активной, следовательно на данном этапе нет проверки введенного текста на соответствие маске электронной почты. При нажатии на кнопку Получить код система выдаст сообщение о том, что «Код регистрации выслан на адрес …», и откроется диалоговое окно подтверждения регистрации.

Также отметим, что указание существующего адреса электронной почты не всегда приводит к ожидаемому результату. Автору так и не удалось дождаться письма с кодом подтверждения регистрации на его активный адрес бесплатного почтового сервера mail.ru. Зато с «импортным» gmail.com таких проблем не возникло.

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

Рисунок 17 – Пример письма с кодом регистрации в «Системе взаимодействий»

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

Рисунок 18 – Окно управления подключением к «Системе взаимодействий». Регистрация

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

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

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

В случае, если вам удастся соблюсти все требования и произвести нехитрые манипуляции по регистрации без ошибок, «1С:Предприятие» наградит вас за это следующим сообщением:

Рисунок 19 – Окно управления подключением к «Системе взаимодействий». Успех!

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

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

Стоит отметить, что сервис 1cDialog.com пока работает в тестовом режиме. Поэтому доступ к видеозвонкам ограничен и предоставляется только по запросу в службу технической поддержки по адресу электронной почты info@1cDialog.com. В этом письме-запросе необходимо указать:

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

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

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

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

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

Рисунок 20 – Неконтекстное обсуждение. Информирование о поступлении нового сообщения

Рисунок 21 – Неконтекстное обсуждение. Переписка

Рисунок 22 – Контекстное обсуждение

Рисунок 23 – Контекстный видеозвонок «Второго пользователя» «Первому»

Вместо заключения

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

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

Теперь не надо будет при приёме на работу нового сотрудника создавать ему аккаунт в мессенджере для общения по рабочим вопросам. А пользователям не надо переключаться между окнами и уметь пользоваться разными инструментами для электронного общения. Вести учёт и переписку теперь стало возможным в режиме одного окна, без использования сторонних средств!

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

  1. Спустя тестовый период использования, сервис 1cDialog.com станет «условно бесплатным»
  2. В рамках договора сопровождения ИТС уровня ПРОФ будет бесплатно предоставляться возможность использования «Системы взаимодействий» ограниченному количеству пользователей
  3. Возможность совершать видеовызовы будет платной даже для категории пользователей, подпадающих под п. 2
  4. Отдельный сервер «Системы взаимодействий» будет являться самостоятельной позицией прайса фирмы «1С»
  5. Появится возможность общаться между собой у пользователей разных информационных баз, а может быть, даже баз, принадлежащих разным абонентам.

А на ваш взгляд, какова вероятность воплощения в жизнь этих фантазий? Пишите в комментариях!

Об авторе

Автор статьи – Павел Ванин

г. Владимир

E-mail: pahich@mail.ru

PDF-версия статьи для участников группы ВКонтакте

Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.

Если Вы еще не вступили в нее – сделайте это сейчас, и в блоке ниже (на этой странице) появятся ссылки на скачивание материалов.


Статья в PDF-форматеСтатья в PDF-формате
Вы можете скачать эту статью в формате PDF по следующей ссылке: Ссылка доступна для зарегистрированных пользователей)

Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кэш браузера или подписаться через другой браузер.

53 комментариев для “Система взаимодействий в платформе 8.3.10 (как сделать так, чтобы менеджеры были под контролем и не уносили список клиентов)

  1. Orion сказал:

    При подключении к сервису 1С:Диалог после ввода почтового адреса для получения кода выдает ошибку “Невозможно установить соединение с сервером взаимодействия tls handshake failed”. С чем это может быть связано? Лучше устанавливать свой сервер взаимодействия или использовать указанный сервис?

    • Павел Ванин сказал:

      Добрый день!

      Данная ошибка говорит, что у Вас при создании безопасного туннеля произошел сбой. Причину сказать не могу, могу только дать советы из серии “смотрите настройки брандмауэра, антивирусной программы, используемых прокси, установите последние обновления ОС, …”

      По поводу сервиса или своего сервера. С точки зрения использования при нормальном интернете разницы быть не должно. С юридической точки зрения установка своего сервера допустима только при выполнении определенных условий (завязка на уровне используемых лицензий и ИТС).
      Замечено, что сервис обновляется реже, чем выходят новые версии локального сервера. Поэтому, если хотите пробовать новые фишки, то скорее всего лучше использовать локальную версию.

      • Orion сказал:

        При выполнении кода (на стороне сервера, клиент-сервер)
        “СистемаВзаимодействия.СоздатьОбсуждение()”
        возникает ошибка: “Невозможно установить соединение с сервером системы взаимодействия TLS handshake failed”.

        Интерактивно обсуждения создаются. Программно в файловой базе создаются (находится на сервере).
        Программно в клиент-серверной базе – ошибка. Непонятно, если регистрацию система взаимодействия на “1С Диалог” прошла успешно, почему возникает такая ошибка?

  2. Александр сказал:

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

    • Павел Ванин сказал:

      Александр, добрый день!

      На сколько я понял из Вашего вопроса, Вы хотите использовать вместо встроенной в конфигурацию систему задач и оповещений использовать Систему взаимодействия (СВ). Для этого необходимо подключить конфигурацию к СВ и (при необходимости) переписать в конфигурации создание оповещений пользователей на оповещения при помощи СВ. Это позволит использовать агента.

      В конфигурации УНФ такая интеграция выполнена самой фирмой 1С. Есть ли это в документообороте – не могу сказать.

  3. Николай сказал:

    Какова нагрузка на базу при использовании системы.
    ERP и Документооборот и так местами не шустрые, не будет ли база висеть при использовании сервера взаимодействия?

    • Павел Ванин сказал:

      Николай, добрый день!

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

  4. i.sibagatullin сказал:

    Добрый день. подскажите, пожалуйста, у нас есть несколько баз РИБ, возможен ли обмен сообщениями между пользователями разных баз. при наличии одних и тех же объектов. При условии что сервер взаимодействия будет установлен локально.

    • Pahich сказал:

      Добрый день!

      В документации по системе взаимодействий написано:
      ——
      Система взаимодействия – это механизм, позволяющий, в рамках одной информационной базы, взаимодействовать между собой клиентским приложениям, серверу и пользователям этой информационной базы.
      ——
      А, про РИБ разработчик пишет следующее:
      ——
      Распределенная информационная база – Информационная система, состоящая из нескольких информационных баз 1С:Предприятия (узлов), обладающих идентичными конфигурациями и обменивающихся данными в офф-лайн режиме.
      ——

      Отсюда делаем вывод, что обмен сообщениями между пользователями разных баз (даже РИБ) невозможен.
      По крайней мере пока этого не захочет сделать вендор :)

      • johny1987 сказал:

        Что за бред?! Стоит база РИБ, в ней разработана подсистема чата – всё работает в РИБ.
        И почему нельзя обмениваться между базами разных конфигураций? Что мешает использовать COM соединения или OLE?

        • Pahich сказал:

          johny1987, добрый день!

          >> Что за бред?!

          : ) Надеюсь, что это не про мой комментарий ))

          >> Стоит база РИБ, в ней разработана подсистема чата – всё работает в РИБ.

          Система взаимодействий в настоящий момент позволяет обмениваться сообщениями в рамках одной информационной базы. И не важно РИБ это или нет.

          >> И почему нельзя обмениваться между базами разных конфигураций? Что мешает использовать COM соединения или OLE?

          Ну наверное можно самостоятельно сторонними средствами выйти из этой ситуации. Ответ был в рамках типовых возможностей программы.

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

  5. andreib сказал:

    Здравствуйте, решил прикрутить механизм к УПП. В управляемом приложении работает. В обычном могу создать, прочитать обсуждения и сообщения, но не получается подключить обработчик, метод “НачатьПодключениеОбработчикаНовыхСообщений” выдает ошибку “Система взаимодействия не зарегистрирована”. В чем проблема не пойму.

    • Pahich сказал:

      andreib, день добрый!

      Вопрос понятен, но неизвестных в нем слишком много, чтобы дать какой-то ответ. Давайте попробуем уточнить:
      1. Правильно ли я понял, что тут «В управляемом приложении работает. В обычном могу создать, прочитать обсуждения и сообщения, но не получается подключить обработчик,…» идет речь об одной информационной базе, запуская которую в режиме УФ «все-превсе» работает, а в режиме ОФ (тот же самый код) выдает ошибку?
      2. Скажите какой режим совместимости установлен для конфигурации?
      3. Пришлите результат выполнения метода «ИнформационнаяБазаЗарегистрирована()» перед выполнением «НачатьПодключениеОбработчикаНовыхСообщений»
      4. Ну и попробуйте метод «НачатьПодключениеОбработчикаНовыхСообщений()» выполнить в привилегированном режиме.

      Жду обратной связи! :)

      • andreib сказал:

        Здравствуйте!
        1. Да база одна. В упр.приложении (толстый клиент) все работает, а в обычном приложении (толстый клиент) нет. Код один и тот же.

        Если НЕ СистемаВзаимодействия.ИнформационнаяБазаЗарегистрирована() Тогда
        Возврат;
        КонецЕсли;

        УстановитьПривилегированныйРежим(Истина);

        Отбор = Новый ОтборОбсужденийСистемыВзаимодействия();
        Отбор.ТекущийПользовательЯвляетсяУчастником = Истина;
        Отбор.НаправлениеСортировки = НаправлениеСортировки.Убыв;

        СписокОбсуждений = СистемаВзаимодействия.ПолучитьОбсуждения(Отбор);
        ПоследнееОбсуждение = СписокОбсуждений[0];

        ОписаниеОповещенияПодключенияОбработчика = Новый ОписаниеОповещения(“ОбработкаОповещенияПодключенияСерверныхСообщенийБезКонтекста”, СерверВзаимодействияОбычный,);
        ОписаниеОповещенияСерверныхСообщенийБезКонтекста = Новый ОписаниеОповещения(“ОбработкаОповещенияСерверныхСообщенийБезКонтекста”, СерверВзаимодействияОбычный,);
        СистемаВзаимодействия.НачатьПодключениеОбработчикаНовыхСообщений(ОписаниеОповещенияПодключенияОбработчика, ПоследнееОбсуждение.Идентификатор, ОписаниеОповещенияСерверныхСообщенийБезКонтекста);

        УстановитьПривилегированныйРежим(Ложь);

        2. Установлен режим совместимости: Версия 8.2.13.
        3. СистемаВзаимодействия.ИнформационнаяБазаЗарегистрирована() = Истина.
        4. Привилегированный режим установлен.

        • Pahich сказал:

          andreib, добрый день!

          Я думаю, что Вы сами понимаете – данный вопрос находится за рамками задокументированных возможностей. Поэтому, на корректную работу системы взаимодействий в вашем случае можно только надеяться.

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

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

          Понимаю, что эти советы звучат не профессионально, но думаю что в вашем случае больше ничем помочь не смогу. : )

          Если получится каким-то способом выйти из ситуации, то прошу Вас тут опубликовать решение – оно может оказаться полезным для многих специалистов! )

          • andreib сказал:

            Здравствуйте!
            Понятно, спасибо за ответ. Придется, наверное, отказаться от этой затеи, т.к. те пользователи работают в режиме ОФ.

            • Андрей сказал:

              Добрый день!
              Прошло время, появились новые релизы.
              Кому либо удалось выполнить СистемаВзаимодействия.НачатьПодключениеОбработчикаНовыхСообщений под толстым клиентом в обычных формах? Я пробовал на 8.3.12.1529, в любом случае получаю ошибку что и описана выше – “система взаимодействия не зарегистрирована”.

  6. aleksei_bush сказал:

    1с 8.3.11. Настроил 1с:сервер взаимодействия. Программно отправляю сообщения. Выходит вот такое сообщение: “Ошибка при отправке сообщения: Ошибка при вызове метода контекста (Записать): Система взаимодействия: в доступе отказано”. Встроенным механизмом сообщения отправляются. Обсуждения программно создаются, а сообщения не отправляются.

    • Pahich сказал:

      aleksei_bush, добрый день!

      Для более точного «диагноза» лучше было бы иметь перед глазами участок программного кода, на котором возникает данная ошибка. Но могу предположить, что Вы не установили привилегированный режим перед отправкой сообщения.

      Проверьте этот момент. Если же дело не в этом, то просьба приложить к следующему сообщению код.

      Спасибо! :)

      • aleksei_bush сказал:

        Спасибо за ответ. Действительно, дело было в неустановленном привилегированном режиме

  7. skv_79 сказал:

    В общем программно пытаюсь отправлять сообщение от одного пользователя другому в 8.3.10:
    ОбсуждениеСВ = СистемаВзаимодействия.СоздатьОбсуждение();
    //ОбсуждениеСВ.Отображаемое = Ложь; // доступно только в 8.3.11
    ОбсуждениеСВ.Участники.Добавить(СистемаВзаимодействия.ПолучитьИдентификаторПользователя(ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор));
    ОбсуждениеСВ.Участники.Добавить(ИдентификаторПользователяСВ);
    ОбсуждениеСВ.Заголовок = “Новая задача”;
    КонтекстОбсужденияСВ = Новый КонтекстОбсужденияСистемыВзаимодействия(ПолучитьНавигационнуюСсылку(Объект.НавСсылка.ПолучитьОбъект())); // работает только в 8.3.11???
    ОбсуждениеСВ.КонтекстОбсуждения = КонтекстОбсужденияСВ;
    ОбсуждениеСВ.Записать();

    Сообщение = СистемаВзаимодействия.СоздатьСообщение(ОбсуждениеСВ.Идентификатор);
    Сообщение.Текст = “Для вас создана новая задача “+Объект.ТекстЗадачи;
    Сообщение.Получатели.Добавить(ИдентификаторПользователяСВ);
    Сообщение.Записать()
    Сообщение всегда доходит до пользователя, но всплывает сообщение не всегда. Это глюк беты или я что-то не так делаю?

    • Pahich сказал:

      skv_79, спасибо за внимание к статье!

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

      Могу предположить, что то, о чем Вы пишете – это нормальное поведение системы.

      Если же дело не в этом, то просьба прислать подробное описание поведения системы для моделирования.

  8. GElena сказал:

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

    • Pahich сказал:

      GElena, добрый день!

      Спасибо Вам за интерес и прочтение статьи! :)

      Да, программно можно создать контекстное сообщение с указанием пользователей, которые получат оповещение о нём.

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

      Подробно о работе системы взаимодействий можно прочитать в документации к платформе (например, на сайте ИТС). Рекомендую изучать уже платформу 8.3.11, так как в ней есть новые «вкусности»! :)

      Если что-то не будет получаться, пишите – постараюсь дать более развёрнутый ответ! )

  9. dimap сказал:

    В рамках обсуждения в документе как указывается адресат? Что-то на картинках не видно …

    • Pahich сказал:

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

  10. Сергей сказал:

    Хочу еще добавить, система взаимодействия а конкретнее видеозвонки недоступны в режиме работы на терминальном сервере (RDP). Просто не отображается кнопка видеозвонков. Работа через веб-клиент – видеозвонки работают, очень порадовало! Теперь пользователям вообще ничего не нужно устанавливать, настраивать. Открыл браузер – работай! В браузере смартфона Chrome видеозвонки недоступны.

  11. Keti6Alex сказал:

    Спасибо. Очень интересная и полезная статья. Даже не слышала раньше о таком механизме. Теперь буду знать и использовать при необходимости.

  12. oyeah сказал:

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

  13. Анна сказал:

    Спасибо, интересно, актуально. Правильно я поняла, что пока этим сервисом можно пользоваться бесплатно?

    • Pahich сказал:

      Анна, пока сервис предоставляется пользователям, имеющим договор сопровождения ИТС, бесплатно. Использование видеозвонков становится доступно только после одобрения фирмой 1С дополнительного запроса.

      По локальной версии все подробно описывается в информационном письме фирмы 1С №23353 от 24.08.2017 (отсылку на которое чуть ранее дал Andrew.K@mail.ru).

  14. Andrew.K@mail.ru сказал:

    Анонс статьи в рассылке заинтересовал и перейдя по ссылке начал читать – оказалось что статья для “домохозяек”… печально.

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

  15. dimon698 сказал:

    Почитал. Попробовал.
    У нас платформа 8.3.10. Включил этот функционал в рабочей базе УТ11.2.3 Система взаимодействия работает. Но только в интерфейсе “Такси” и очень даже здорово.
    В интерфейсе “Формы в закладках” не работает. Не вижу ни соответствующих кнопок, ни необходимых настроек. Однако хочется, чтобы система взаимодействия работала в интерфейсе “Формы в закладках”.

    Вопрос:
    Может подскажете, есть ли необходимые настройки?
    Или система взаимодействия работает только в интерфейсе “Такси”?

    • Pahich сказал:

      dimon698, по информации от разработчиков – «Интерфейсная часть системы взаимодействия реализована в интерфейсе Такси». Думаю, что для интерфейса «Формы в закладках» можно попробовать самостоятельно реализовать интерфейсную часть. Но однозначно это будет не просто и не «очень даже здорово»… :)

    • Andrew.K@mail.ru сказал:

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

        • Pahich сказал:

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

  16. Олег сказал:

    О реализации протокола WebSocket на платформе 1С я писал еще года 3 назад. Предлагал реализацию дуплексного взаимодействия сервера с клиентами на основании подписки на события сервера. Это крайне востребовано когда число пользователей от сотен и более. Когда к примеру пользователям необходимо оперативно видеть состояние склада, задач и т.п., сейчас необходимо каждому клиенту либо включать обновление формы каждые … минут, либо запускать обработчик с той-же периодичностью. В результате и сеть и сервер начинает перегружаться горой абсолютно бессмысленных запросов. А я предлагал чтобы клиент подписывался на событие к примеру записи в определенную таблицу и когда событие происходило, сервер о нем оповещал-бы клиента и на клиенте запускался соответствующий обработчик. При таком взаимодействии трафик и нагрузка на сервер при увеличении числа клиентов уменьшается на порядки.
    Но пока такое не реализовали и судя по тому, что 1С придерживается нерушимой концепции “серверная часть не может инициировать клиентский вызов”, реализовывать не собираются. Реализованная “Система взаимодействий” через сервер 1С в масштабе взаимодействия различных организаций- решение правильное. А вот общение пользователей сидящих в соседних комнатах “через Плутон”, а не через собственный сервер 1С- полный бред. А если еще и по концепции безопасности организации пользователям закрыт доступ в Инет, то вообще не реализуемо.
    Отвечу TeMochkiN. 1С не интересно “маршрутизатор” за бесплатно встраивать в платформу. Выгоднее это продавать за отдельную плату. Хотя технически не проблема реализовать “маршрутизатор” в виде надстройки на стандартный сервер 1С, как к примеру платформу 7.7 продавали по компонентам бух.учет, опер.учет, расчет и УРБД.

    • Pahich сказал:

      Олег, спасибо за уделенное внимание!

      Думаю, что отчасти благодаря таким людям как Вы, фирма 1С идет нужным курсом… Может быть не так быстро как хотелось бы… Но все же! :)

  17. TeMochkiN сказал:

    Кстати, опытным путем выяснил, что система взаимодействия работает и в тех конфигурациях, которые имеют режим совместимости с платформой 8.2. Правда сама обработка регистрации ИБ в системе взаимодействия не работает, т.к. там используется переименованное свойство ЭтотОбъект (ThisObject), которое в 8.2 называлось ЭтаФорма (ThisForm).

    Чтобы обойти эту ошибку, можно сделать так:
    1. В режиме предприятия выполнить код КопироватьФайл(“v8res://mngbase/StandardECSRegister.epf”, “C:\StandardECSRegister.epf”)
    2. Открыть полученную обработку в конфигураторе и заменить в модуле формы ThisObject на ThisForm. Сохраняем.
    3. Открываем отредактированную обработку в режиме предприятия и регистрируем нашу ИБ, работающая в режиме совместимости с 8.2 :)

    • Pahich сказал:

      TeMochkiN, Спасибо Вам за «пытливый ум»! Полезная информация об очередной недокументированной возможности платформы 1С :)

  18. TeMochkiN сказал:

    “Встроить этот «маршрутизатор» в серверную часть «1С:Предприятие», по уже понятным нам причинам, нецелесообразно.”
    Прошу прощения, а где можно почитать про эти понятные причины? :)
    Я программирую только на 1С, поэтому нет понимания почему так делать нецелесообразно, но очень интересно узнать чисто для себя :)

    • Pahich сказал:

      TeMochkiN, для работы «маршрутизатора» необходим сервер-клиентский вызов. Платформа такими возможностями не обладает.

      • TeMochkiN сказал:

        Аааа, это итак понятно, я просто подумал, что известно по каким причинами не стали реализовывать этот сервер-клиентский вызов в самом сервере 1С:Предприятия))) Тогда вопросов нет)

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

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

Мы используем файлы cookies, чтобы сделать сайт удобнее.
Продолжая просмотр сайта, Вы соглашаетесь с их использованием.
Подробнее