Jabber клиент (xmpp) для мгновенного обмена сообщениями, NativeAPI внешняя компонента (ВК) для 1С (версия 3.0) платформы x32, x64 (работает на клиенте и сервере)

Программирование - Внешние компоненты

46
Внешняя компонента для 1С предприятие, для мгновенного обмена сообщениями, написана по технологии NativeAPI (не требует регистрации в системе как COM компоненты). Это полноценный Jabber клиент для 1С (xmpp протокол). Работает на платформах x32 и x64 на клиенте и сервере, в том числе и на сервере приложений, в фоновом сеансе и регламентных заданиях.

Версия 3.0

1. Видео о том, что примерно можно реализовать с помощью компоненты (все ответы от робота приходят из 1С)

2. Видео о работе компоненты

Для работы компоненты нужно объявить переменную и создать в ней компоненту

Например: 

&НаКлиенте
Перем JabberОбъект Экспорт;

&НаКлиенте
Процедура ПриОткрытии(Отказ)
     
     ПодключитьВнешнююКомпоненту("ОбщийМакет.JabberКомпоненты", "JabberClient", ТипВнешнейКомпоненты.Native);
     Об = Новый("AddIn.JabberClient.JabberClient");
     
     JabberОбъект.Сервер = Объект.Сервер;
     JabberОбъект.Порт = Объект.Порт;
     JabberОбъект.Логин = Объект.Логин;
     JabberОбъект.Пароль = Объект.Пароль;
     JabberОбъект.Ресурс = Объект.Ресурс;
     JabberОбъект.ИспользоватьШифрование = Объект.Шифрование;
     JabberОбъект.МетодАутентификации = Объект.МетодАутентификации;
     
     Результат = JabberОбъект.Подключиться();
     Если Результат = Истина Тогда
          Сообщить("Подключились");
     Иначе
          Сообщить("Неудача");
     КонецЕсли;
     
КонецПроцедуры

// Пример обработки входящих событий и сообщений
&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)

     Если Событие = "Изменение статуса пользователя" Тогда
          НовоеСостояние = ПреобразоватьПолученныеЗначения(Данные);		
          Если НовоеСостояние <> Неопределено Тогда
          ИзменитьСостояниеПользователяВКонтактЛисте(НовоеСостояние);
          КонецЕсли;
          Логин = НовоеСостояние.Пользователь + "@" + НовоеСостояние.Домен;
          ДоступностьПользователя = НовоеСостояние.Доступность;
          Оповестить(Событие, ДоступностьПользователя, Логин);
     ИначеЕсли Событие = "Входящее сообщение" Тогда
          Оповестить(Событие, Данные, Источник);
     КонецЕсли;
		
КонецПроцедуры

Дальше работаем как с обычным объектом. 

В архиве содержится набор компонент x32 и x64, а также база-пример с реализованной в ней подсистемной.

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

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

Об.Ресурс = "";

Например настройки PSI:

Настройки PSI

Или QIP

Результат:

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

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

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

Код внешней компоненты полностью закрыт. Модификация кода, декомпиляция в каком либо виде запрещена.

Код подсистемы Jabber написан на языке 1С и полностью открыт. Может модифицироваться и применяться по своему усмотрению.

Работает на всех версиях платформы начиная с 8.2 и выше (на момент публикации проверялось начиная от 8.2.19.130 включительно до 8.3.10.2252)

Срок действия бесплатной технической поддержки 60 календарных дней. В техническую поддержку входит:

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

После окончания срока бесплатной технической поддержки имеется возможность получить платную техэническую поддердку, по стоимости 700 р. в час, не более 3 часов в месяц.

Причины купить

Данная компонента значительно облегчит жизнь в части работы с Jabber серверами из 1С. Мгновенный обмен сообщениями позволяет выполнять различного рода задачи в 1С, напирмер выполнять по команде из чата то или иное задание, формировать отчетность, отправлять документы пользователям. Или просто организовать интеграцию с Вашим джабер сервером из Вашей базы 1С.

Достоинства

  • Мгновенные сообщения реализованные через внешнее событие
  • Оффлайн сообщения
  • Работает напрямую с сервером Jabber из 1С. 
  • Многопоточность
  • Конференции
  • Прием/отправка файлов
  • Различные методы аутентификации
  • Работа с контакт листом и авторизацией
  • Работа с одного аккаунта одновременно. Можно одновремнно работать из Jabber клиента и из Jabber компоненты (и даже из нескольких разных Jabber компонент которые подключены в разных местах).
  • Работает на всех версиях платформы начиная с 8.2 и выше (на момент публикации проверялось включительно до 8.3.10)

Гарантия возврата денег

ООО "Инфостарт" гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом течение 14-ти дней со дня поступления денег на наш счет.

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

Для возврата оплаты просто свяжитесь с нами.

46


Новый вопрос

E-mail*
Тема (вопрос)*

См. также