ICQ и Jabber для 1С


Внешняя компонента для обмена сообщениями в сети ICQ и Jabber.

Для работы компоненты потребуется установленный Microsoft .NET Framework 2.0, который можно скачать отсюда.
http://www.microsoft.com/downloads/details.aspx?displaylang=ru&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5

и зарегистрировать компоненту в Windows - запустить reg.bat
или использовать совместно с хранилищем внешних компонент: http://avprog.ru/projects/2863/

*** Приложен демо-пример на 1С 8.1 и 7.7

//*** Методы ICQ: 

Соединиться(Сервер,Порт,НомерАськи,Пароль);


Отсоединиться();

ОтослатьСообщение(Сообщение,НомерАськиАдрессата);

ИзменитьСтатус(Статус);

ПолучитьИнформациюОПользователе(НомерАськиАдрессата);

ЗагрузитьКонтактЛист(НомерАськи);

//*** Методы Jabber:

жСоединиться(ИД,Пароль,Приоритет,Порт,ИспользоватьSSL,РегистрироватьНовыйАккаунт,Сервер);


жОтсоединиться();

жСтатус(Статус);

жОтослатьСообщение(ЮзерИД,Сообщение);

жПолучитьДанныеПользователя(ЮзерИД); жДобавитьПользователя(ЮзерИД,Ник);

жУдалитьПользователя(ЮзерИД);

жПодтвердитьАвторизацию(ЮзерИД);

жОтказатьВАвторизации(ЮзерИД);

жПринятьФайл(ЮзерИД,ФайлИД);

жОтклонитьФайл(ЮзерИД,ФайлИД);

жОтослатьФайл(ЮзерИД,ФайлОтправки,Описание);

//*** Методы общие:

ИспользоватьProxy(ТипПрокси,СерверПрокси,ПортПрокси,ЮзерПрокси,ПарольПрокси);


//Типы прокси: 0 - http, 1 - socks5 //Юзер и пароль прокси используются только для socks5 //*** Параметры внешнего события //ICQ:

ПроцедураВнешнееСобытие(Источник,Событие,Данные)

Если Источник = "DushelovICQ" Тогда Если 

Событие = "Сообщение" Тогда //обработка входящего сообщения ИначеЕсли 

Событие = "Контакт" Тогда //добавление контакта ИначеЕсли 

Событие = "КонтактСтатус" Тогда //изменение статуса контакта ИначеЕсли 

Событие = "СоединениеСтатус" Тогда //статус соединения ИначеЕсли 

Событие = "КлиентСтатус" Тогда //статус клиента ИначеЕсли 

Событие = "ИнформацияОПользователе" Тогда //получение информации о контакте ИначеЕсли 

Событие = "Ошибка" Тогда //ошибки Иначе //прочее КонецЕсли;
	

КонецЕсли;

КонецПроцедуры //Jabber:

Процедура ВнешнееСобытие(Источник,Событие,Данные)

Если Источник = "DushelovJabber" Тогда

ОбработатьСообщение(Событие,Данные);
	

КонецЕсли;

КонецПроцедуры

Процедура ОбработатьСообщение(Событие,Данные)

Если Событие = "Сообщение" Тогда //обработка входящего сообщения ИначеЕсли

Событие = "Сервер" Тогда //список серверов ИначеЕсли 

Событие = "Контактлист" Тогда Если 

Лев(Данные, 4) = "ADD:" Тогда //добавление контакта ИначеЕсли 

Лев(Данные, 7) = "REMOVE:" Тогда //удаление контакта ИначеЕсли 

Лев(Данные, 7) = "STATUS:" Тогда //изменение статуса контакта КонецЕсли;
	

ИначеЕсли

Событие = "Дебаг" Тогда //отладка ИначеЕсли 

Событие = "Сокет" Тогда //состояние сокета ИначеЕсли 

Событие = "ДанныеПользователя" Тогда //получение данных о контакте ИначеЕсли 

Событие = "Авторизация" Тогда //запрос на авторизацию ИначеЕсли 

Событие = "ПриемФайла" Тогда //получение файла ИначеЕсли 

Событие = "ОтправкаФайла" Тогда //отправка файла Иначе Если 

Данные = "online" Тогда //статус ИначеЕсли 

Данные = "offline" Тогда //статус Иначе //прочее 

КонецЕсли;
	

КонецЕсли;

КонецПроцедуры


 

 

*** ИСТОРИЯ:

09-10-2008
Нового в версии 3.0.0.1:
- изменена процедура соединения у джаббера (булево заменил на число)
- добавлен пример для 7.7 (аська и джаббер - основные элементы)

24-09-2008
Нового в версии 3.0.0.0:
- переработал движок (внес изменения в новом протоколе, статусы контактов теперь отображаются)

04-07-2007
Нового в версии 2.0.0.0:
- переработал движок (исправлена проблема с сокетами на некоторых компьютерах)

31-10-2006
Нового в версии 1.0.0.3:
- добавлена работа с профилями
- добавлено получение информации о пользователях
- в демо-примере (1C v8) статусы отображаются графически

26-10-2006
Нового в версии 1.0.0.2:
- изменен протокол ICQ в связи с изменениями на серверах
- добавлена работа ICQ с proxy (http, sock5)
- получение контактлиста с сервера
- отслеживание статуса и клиента пользователей в контактлисте
- добавлены статусы клиента

Файлы обработки:

-