Харитонов Михаил | Директор | 2iS

«Управленческий учет и Интеграция – близнецы-братья. Опыт проектов»

- Как быстро с нуля организовать полноценный УУ в любой конфигурации 1С? - Секреты эффективной архитектуры Плана счетов и Регистра бухгалтерии - Как получить Баланс и P&L без программирования? - Приёмы и примеры эффективного сбора данных для УУ из разных систем - Оптимизируй это… Взгляд на рабочую базу УУ клиента через 10 лет. Приёмы и решения. - Распараллеливаем потоки загрузки, приемки, обработки и расчета итогов - Декларативные описания и конструкторы или «разработчик больше не нужен» - Автоматическая документация без «писателей»

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

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

Перейти к публикации

Комментарии
Сортировка: Древо
1. DitriX 2755 24.10.15 08:25 Сейчас в теме
Во, вот теперь именно то, что нужно :) Огромное спасибо. И цену поставьте не 1$m, а 5 или 10, она достойна этого :)
46. sasha777666 265 11.08.17 15:53 Сейчас в теме
(1) её когда-то можно было за 1 см скачать?
3. FSerg 66 27.10.15 18:48 Сейчас в теме
При попытке выполнить: Об.Соединиться();
платформа вылетает с ошибкой (Win 7 32bit Eng)
8.3.6.2100
4. Техподдержка 28.10.15 03:29
(3) FSerg, Об.Создать("Сервер", "Порт", "Логин", "Пароль"); предварительно объявляли? Если да проверяйте внимательно параметры Логин, Пароль, Сервер, Порт, попробуйте с этими учетными данными предварительно авторизоваться с помощью обычного jabber клиента, авторизация проходит? Какой метод аутентификаци используется на сервере, PLAIN, SASL?
5. FSerg 66 10.11.15 13:49 Сейчас в теме
(4) Обработку запускал из вашего же демо-примера.
На сервере протокол точно не PLAIN, потому что хотел делать это модных сейчас Slack и HipChat.
Но в любом случае, какой бы протокол и ответ сервера не был - не очень клево что валится платформа.
6. Техподдержка 12.11.15 17:50
(5) FSerg, исправил компоненту, добавил обработчики исключений - теперь не валит платформу, а также выдает сообщение об ошибке, напишите почту в личку, я вышлю Вам (и все кто качал пишите в личку или на почту с указанием логина на infostart отправлю) новую компоненту, чтобы не перекачивать платно тут.
7. 1С_Мастер 64 22.12.15 17:01 Сейчас в теме
На линукс сервере компонента, к сожалению, подключаться отказывается. Жаль
8. Техподдержка 23.12.15 04:31
(7) 1С_Мастер, Компонента писалась под Win x32, x64. Пока так и не смог добиться того, чтобы она заработала на сервере. И вообще пока не нашел ни одной компоненты xmpp которая работала бы на сервере.
9. Техподдержка 25.12.15 04:06
(7) 1С_Мастер, Переработал компоненту, теперь работает и на сервере. Попробую теперь запустить ее на Linux.
10. zavedeev 15.01.16 20:48 Сейчас в теме
11. Техподдержка 18.01.16 03:57
(10) zavedeev, исходники не даю. Нигде не написано, что в архиве есть исходники или их Вам дадут.
12. Aletar 18.02.16 05:58 Сейчас в теме
Добрый день.

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

Когда имя пользователя задано латиницей, все нормально.
13. Техподдержка 18.02.16 09:26
(12) Aletar, добрый день. Я попробую разобраться в ситуации. Быть может дело в кодировке. Но это уже копаться надо в самой компоненте. Я напишу и выложу обновление как будет результат.
15. Техподдержка 22.02.16 15:14
(12) Aletar, Проверено на jabber.ua совместно с TLS. Все работает прекрасно. Попробуйте зарегистрируйте там пользователей с русскими именами, код:

Компонента = ПолучитьМакетССервера(); //Получаем макет компоненты с сервера
	ИмяФайлаКомпоненты = ПолучитьИмяВременногоФайла("dll"); //Получаем имя файла в который сохраним компоненту
	Компонента.Записать(ИмяФайлаКомпоненты); //Сохраняем компоненту в файл
	ПодключитьВнешнююКомпоненту(ИмяФайлаКомпоненты, "j3321", ТипВнешнейКомпоненты.Native); //Подключаем компоненту
	Об = Новый("AddIn.j3321.JabberClient"); //Вызываем класс из компоненты
	
	Результат = Об.Создать("jabber.ua", "5222", "тест_май_джабер2@jabber.ua", "*************ПАРОЛЬ_Я_СКРЫЛ**********", Истина); // Создаем экземпляр Jabber клиента с шифрованием
	Об.ОтправитьСообщение("тест_май_джабер@jabber.ua", "Тестовое сообщение из 1С!");
	Результат = Об.ПолучитьСообщения(); // Обязательно получить сообщения прежде чем выходить в онлайн с помощью Об.Соединиться(), чтобы не потерять сообщения которые
	                                    // были отправлены нам в оффлайн. Команда Об.ПолучитьСообщения() выведет нас в онайн и сразу вернет список сообщений в "Резултат"
	Если ЗначениеЗаполнено(Результат) Тогда // Если есть какая-то строка, значит получили сообщения, будем обрабатывать
		Попытка
			МассивСообщений = ПеревестиСтрокуНаСервере(Результат); // Переводим получнную из компоненты строку в массив 1С	
			Для Каждого Сообщение Из МассивСообщений Цикл
				Лог = "Сообщение от: " + Сообщение.Отправитель + ", текст сообщения: " + Сообщение.Сообщение + Символы.ПС + Лог;
			КонецЦикла;
		Исключение
		КонецПопытки;
	КонецЕсли;
	
	Элементы.Подключиться.Доступность = Истина;
	Элементы.Отключиться.Доступность = Истина;
	Элементы.СписокПользователей.Доступность = Истина;
	Элементы.СостояниеКлиента.Доступность = Истина;
	Элементы.ОтправитьСообщение.Доступность = Истина;
	Элементы.Версия.Доступность = Истина;
Показать
14. it@1c-usoft.ru 20.02.16 12:56 Сейчас в теме
С talk.google.com не получается настроить. Кто то пробовал?
16. Техподдержка 22.02.16 15:50
(14) it@1c-usoft.ru, Исправлено. Перекачайте компоненту будет работать с talk.google.com (не забудьте включить шифрование)
17. it@1c-usoft.ru 24.02.16 15:02 Сейчас в теме
Соединение проходит нормально.
Все функции работают.
Но.
К аккаунту на talk.google.com подключент через qip. Сообщения проходят. Но сообщения на hangouts не проходят.
В чем может быть проблема?
18. Техподдержка 28.02.16 15:48
(17) it@1c-usoft.ru, Нет не в курсе.
19. windsurf 31 15.05.16 20:39 Сейчас в теме
Спасибо за Вашу разработку! Получилось запустить компоненту, но сильно не хватает пары вещей:
1) инфы о статусе контактов (онлайн/офлайн) - не понятно кому можем писать, а кому бессмысленно
2) На jabber сервере, кроме логина контакта, хранится и его представление (удобочитаемое имя) - вот его бы тоже вытаскивать
20. Техподдержка 25.05.16 04:37
(19) windsurf, я попробую что-нибудь придумать.
21. kostyaCD 10.11.16 16:32 Сейчас в теме
Благодарю за компоненты и хотел бы узнать не поменялось ли что-то касательно Онлайн\Оффлайн. И интересует можно ли как-то отправлять свой статус на сервер, чтоб и остальные видели, что я в онлайне?
22. Техподдержка 14.11.16 17:12
(21) kostyaCD, не поменялось ничего касательно оффлайн/онлайн, этот момент пока в разработке. По поводу статуса, клиент при подключении отправляет автоматически уведомление, что он онлайн и переходит в статус "Готов поболтать". Таким образом все видят что вы онлайн если подключены или оффлайн если нет.
23. kostyaCD 22.11.16 13:14 Сейчас в теме
Хм... Странно, вроде подключаюсь и могу писать, а на другом устройстве все-равно в оффе. И еще хотел спросить есть ли способ с помощью этой компоненты добавлять пользователей в контакт лист? Не нашел что-то такого метода.
25. Техподдержка 30.11.16 17:37
(23) Добавил функцию добавления пользователей в контакт лист. см. описание
24. kostyaCD 24.11.16 12:20 Сейчас в теме
И еще хотел спросить. Есть свой сервере, маковский. Не удается получить список существующих пользователей, я так понимаю потому-что оно там должно у них подтягивать всех кто на этом сервере. И не получить/отправить сообщение. Схожая проблема есть у клиента PSI+, но Spark работает и вроде нормально с этим сервером. На самом деле не сильно разбираюсь во всех этих джабберах и хотел поинтересоваться, может что-то подскажете, что им на сервере подкрутить или как компоненту поднастроить?
26. Техподдержка 30.11.16 17:37
(24) к сожалению на счет сервера не подскажу
27. ksv74 86 08.12.16 23:20 Сейчас в теме
Под какую платформу файл выгрузки?
Не получается загрузить.
Ошибка "Не верный формат для загрузки информационной базы"
28. Техподдержка 09.12.16 09:29
(27) 8.3 попробуйте последнюю версию платформы
29. rubezh 13.12.16 13:30 Сейчас в теме
Подскажите, какие-нибудь параметры при отправке сообщений еще можно задавать? Интересует установка типа сообщения, что-то вроде type=>"chat". Потому как иначе выглядит как рассылка.
31. rubezh 14.12.16 09:53 Сейчас в теме
(30) Здорово, спасибо! Новую версию как можно будет получить?
32. Техподдержка 16.12.16 17:45
(31) Напишите почту в личку, получите компоненту
33. SITR-utyos 947 30.01.17 17:35 Сейчас в теме
Пробовал поиграться в тестовой базе. Выяснил, что не работает &насервере версия ВК x64.dll из архива. Та, что в dt в макете x64 - сообщения отправляет. Платформа 1С 8.3.9 x64, Windows server 2008 x64.

Так лучше будет может? )))
Процедура СоздатьНаСервере()
	Если 
		ПодключитьВнешнююКомпоненту("ОбщийМакет.JabCli64", "JabCli", ТипВнешнейКомпоненты.Native)
	Тогда
		Лог = "Компонента загружена" + Символы.ПС + Лог;
	Иначе
		Лог = "Ошибка при загрузке компоненты" + Символы.ПС + Лог;
		Возврат;
	КонецЕсли;
Показать
34. Техподдержка 31.01.17 08:06
(33) 64x компонента предназначена только для работы &НаСервере если база запущена на сервере приложений 1С. И только в контексте &НаСервере. Если используется &НаСервере в файловом варианте или &НаКлиенте, не важно какая ОС x64 или x32 (даже если вы запустили это на x64 сервере) то использовать нужно x32 компоненту.
35. SITR-utyos 947 31.01.17 10:41 Сейчас в теме
(34)
64x компонента предназначена только для работы &НаСервере если база запущена на сервере приложений 1С.
Так и было. Речь о том, что в поставке получается две разные версии компоненты x64, одна из которых не работает (???).
39. Техподдержка 14.02.17 13:23
(35) работают обе компоненты. Для работы брать dll в каталогах. Они самые актуальные.
36. SITR-utyos 947 01.02.17 08:32 Сейчас в теме
[quote]Версия 2.0

Переаботан алгоритм. Теперь не нудно вызывать процедуры Создать() и Уничтожить(), это делает конструктор с деструктором при подключении и отключении компоненты. Отлажена работа в фоновм задании и на сервере.[/quote]Правильно понимаю, что для компоненты x64 это тоже неактуально?
37. Техподдержка 14.02.17 12:52
(36)
ы x64 это тоже неактуально?


Правильно. Описание актуально для обоих версий компоненты 64 и 32
38. Техподдержка 14.02.17 13:18
ВНИМАНИЕ

Компонента х64 РАБОЧАЯ

в базе примере не поправлен вызов функции. Всегда внимательно читайте описание обновления. Было

Результат = Об.ОтправитьСообщение("test_my_jabber1@jabber.ru", "Тестовое сообщение из 1С!");


а нужно

Результат = Об.ОтправитьСообщение("test_my_jabber1@jabber.ru", "Тестовое сообщение из 1С!", "chat");




40. woodoo2garik 16.02.17 16:06 Сейчас в теме
Не получается использовать компоненту, платформа 8.3.9.2170, клиентское приложение. При попытке выполнить ОтправитьСообщение или СписокПользователей результат одинаков: "Ошибка: Access violation at address 09AD24C0 in module 'JabberClient32.dll'. Read of address 0000002C". При вызове метода Создать - ошибка "Метод объекта не обнаружен".
В свойствах JabberClient32.dll указана версия 1.0.0.0, компонента получена с Инфостарта вчера.
41. Техподдержка 16.02.17 16:45
(40)
Код в студию. Компонету как подключали? Просто взяли базу пример и попробовали понажимать кнопки? Если так то для начала в макетах базы примера замените компоненты на те что лежат файлами в папке, там актуальные. Сборка версии файла dll и версия компоненты разные вещи. Также рекомендую внимательно прочитать описание в теме.
42. woodoo2garik 16.02.17 17:44 Сейчас в теме
Компонента взята из каталога, размер JabberClient32.dll 1387008 байт. Тестировал на демо-базе, компоненты в макетах заменил на скачанные с Инфостарта (архив получен по электронной почте), в коде указал путь к ним же и заменил адрес сервера и учётные данные на свои. Соединение отрабатывает: "Событие в компоненте на клиенте: Связь установлена 0 OK", но далее при вызове любого метода возвращается указанная выше ошибка. Из самодельной тестовой обработки получается то же самое.
Проверялось на Server 2008 x64 и Windows 7 x32.
43. Техподдержка 17.02.17 04:51
(42) вы код так и не предоставили. Я по фотографии не лечу.
44. woodoo2garik 17.02.17 11:56 Сейчас в теме
&НаКлиенте
Перем Об;

&НаКлиенте
Процедура Соединиться(Команда)

ПодключитьВнешнююКомпоненту("C:\ext\jabber\JabberClient32.dll", "JabCli32", ТипВнешнейКомпоненты.Native); //Подключаем компоненту
Об = Новый("AddIn.JabCli32.JabberClient"); //Вызываем класс из компоненты
Об.Сервер = "openfire.xxx.zzz.ru";
Об.Порт = 5222;
Об.Логин = "test@openfire.xxx.zzz.ru";
Об.Пароль = "987654321";
Об.Ресурс = "";
Об.ИспользоватьШифрование = Истина;
ВнутрСтрокаСМассивомСообщений = Об.ПолучитьСообщения(); // Обязательно получить сообщения в первую очередь чтобы не потерять сообщения которые были отправлены нам в оффлайн.
                                                                                                                                             // далее метод Об.Соединиться() не обязателен - клиент выходит на связь автомактически,
Если ЗначениеЗаполнено(ВнутрСтрокаСМассивомСообщений) Тогда // Если есть какая-то строка, значит получили сообщения, будем обрабатывать
                Попытка
                               МассивСообщений = ПеревестиСтрокуНаСервере(ВнутрСтрокаСМассивомСообщений); // Переводим получнную из компоненты строку в массив 1С            
                               Для Каждого Сообщение Из МассивСообщений Цикл
                                               Лог = "Сообщение от: " + Сообщение.Отправитель + ", текст сообщения: " + Сообщение.Сообщение + Символы.ПС + Лог;
                               КонецЦикла;
                Исключение
                КонецПопытки;
КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ОтправитьСообщение(Команда)
                
                Результат = Об.ОтправитьСообщение("user1@openfire.xxx.zzz.ru", "Тестовое сообщение из 1С!", "chat");
                Если Результат Тогда
                               Лог = "Сообщение для успешно отправлено" + Символы.ПС + Лог;
                КонецЕсли;
                
КонецПроцедуры

&НаКлиенте
Процедура СписокПользователей(Команда)
                
                СписокПользователей.Очистить();
                Результат = Об.СписокПользователей();
                Если Значениезаполнено(Результат) Тогда
                               Массив = ПеревестиСтрокуНаСервере(Результат);
                               Для Каждого Юзер Из Массив Цикл
                                               СписокПользователей.Добавить(Юзер, Юзер);
                               КонецЦикла;
                КонецЕсли;
                
КонецПроцедуры


При выполнении ОтправитьСообщение() и СписокПользователей() Результат="Ошибка: Access violation at address 09BD24C0 in module 'JabberClient32.dll'. Read of address 0000002C"
Показать
45. Техподдержка 17.02.17 12:56
(44)
Соединиться(Команда)


А если так, что говорит?

ПодключитьВнешнююКомпоненту("C:\ext\jabber\JabberClient32.dll", "JabCli32", ТипВнешнейКомпоненты.Native); //Подключаем компоненту
Об = Новый("AddIn.JabCli32.JabberClient"); //Вызываем класс из компоненты;
Об.Сервер = "openfire.xxx.zzz.ru";
Об.Порт = 5222;
Об.Логин = "test@openfire.xxx.zzz.ru";
Об.Пароль = "987654321";
Об.Ресурс = "";
Об.Подключиться();
Если Об.Онлайн Тогда
         Сообщить("Онлайн");
Иначе
        Сообщить("Оффлайн");
КонецЕсли;
Показать


Что сообщает? Больше чем уверен - Оффлайн.
Оставьте свое сообщение

Вакансии

Удаленный ИТ-журналист
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата от 80 000 руб. до 150 000 руб.
Полный день

Консультант-аналитик 1С
Москва
зарплата до 160 000 руб.
Полный день

Удаленный бизнес-аналитик 1С
Санкт-Петербург
Временный (на проект)

Разработчик (эксперт) по направлению 1С:ЗУП 3
Санкт-Петербург
зарплата от 130 000 руб.
Полный день