Для работы компоненты потребуется установленный Microsoft .NET Framework 2.0, который можно скачать отсюда.
http://www.microsoft.com/downloads/details.aspx?displaylang=ru&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5
и зарегистрировать компоненту в Windows — запустить reg.bat
или использовать совместно с хранилищем внешних компонент: //infostart.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)
— получение контактлиста с сервера
— отслеживание статуса и клиента пользователей в контактлисте
— добавлены статусы клиента
Обновлено:
Нового в версии 1.0.0.3:
— добавлена работа с профилями
— добавлено получение информации о пользователях
— в демо-примере (1C v8) статусы отображаются графически
Ошибка при работе с компонентой (WinXP sp2, прокси нет, файрвола нет):
04.04.2007 20:50:48: Error connect: Запрос на отправку или получение данных (when sending on a datagram socket using a sendto call) no address was supplied
Тоже ошибка… ;-(
23.06.2007 14:29:46: Error connect: Запрос на отправку или получение данных (when sending on a datagram socket using a sendto call) no address was supplied
Переработал движок. Ошибки быть не должно.
Ошибка: при соединении выход ошибки с кодом 0005
Далее »
connecting
senduserdata
Offline
Неверный пароль, повторите.
Offline
Нажмите для коннекта!»
Пароль цифрой — не промазать
При использовании демо-примера? 1С какая?
Компонента не регистрируется на Win 2003 Server
Вставил в свою 1с7.7 при загрузке выдает :
Ошибка при инициализации объекта из компоненты <Неизвестная компонента>
icq.ЗагрузитьКонтактЛист(СокрЛП(НомерICQ));
{Обработка.Аська.Форма.Модуль(18)}: Поле агрегатного объекта не обнаружено (ЗагрузитьКонтактЛист)
Пример конфигурации — не грузиться — говорит, что база не готово произведите настройку в конфигураторе. (что настраивать не знаю)
В Просмотре событий слуюб компонентов говорит:
Не найдено описание для события с кодом ( 0 ) в источнике ( .NET Runtime ). Возможно, на локальном компьютере нет нужных данных в реестре или файлов DLL сообщений для отображения сообщений удаленного компьютера. Попробуйте использовать ключ /AUXSOURCE= для получения этого описания, — дополнительные сведения об этом содержатся в справке. В записи события содержится следующая информация: Unable to open shim database version registry key — v2.0.50727.00000.
(8) А чё мудрить?
http://infostart.ru/profile/1329/projects/765/
а Jabber же может использовать Транспорт ISQ
Обновление:
— переработал движок (внес изменения в новом протоколе, статусы контактов теперь отображаются)
— значительно оптимизировал работу компоненты (видно по размеру компоненты) 😉
Установка обновления — грохаете старую версию полностью. И ставите новую (reg.bat)
Вместо этой хрени написали бы нормальный внутренний чат-обмен внутри пользователей базы… с возможностью прекреплять объекты базы, прочитапно-непрочитано и т.д… для 8-ки тут есть у кого-то неплохая, а для 7-ки — нету….
(12)>внутренний чат-обмен внутри пользователей базы.
Ни фига не понимаю, зачем чат именно ВНУТРИ БАЗЫ??? Есть куча внутрисетевых чатов, в т.ч.
с возможностью прикрепления, уведомления и т.д.
(12) категорически не согласен!
С помощью этой «хрени» можно такие вещи вытворять, оооо! Например, ходишь ты/директор с телефоном по городу, где запущен клиент ICQ. На работе запущена база с этой компонентой.
Так вот, идёшь ты … и БАЦ, тебе приспичело узнать остатки пива на складе 1. Отправляешь хитрую комбинацию слов на номер аськи, которая стоит на серваке, и через несколько секунд получаешь оперативный ответ!
(13) мы уже как-то спорили с ним на эту тему (ты тоже участвовал).
Это из той же оперы, что и ФАР. 😉
(12) я на 7-ке уже давно не пишу…
В планах у меня добавить GMail агент, mail агент, MSN.
(14) Ага! Особо меня умиляют пожелания сделать плагин для фара, только потому что некоторые упертые… Делать мне больше не фиг, как рисовать дерево объектов псевдографикой в досе!
(16) это хорошо!
А MSN-ом кто-нить пользуется?
(18) некоторые организации пользуют его для корпоративного общения.
Интересно… А кто еще что пользует в качестве корпоративной болталки? Кроме почты…
(20) RChat, писан Ромкой Корнелиусом спецом для крупного завода, где мы с ним работали
(21) без сервера? а какие возможности?
22. Сообщения, запрос конфигурации компа (из выбранного в сети), список процессов, возможность админу удаленно загасить любой процесс. Сообщения можно посылать всем, по группам, по произвольным сохраненным спискам. Протокол UDP
+(23) Да! Еще и органайзер в нем
(20) У нас MS Office Communicator. Пытался, кстати, пределать его к 1С по COM, фиг там! Кроме авторизации ни чего не вышло… (
(25) Кодер, а свою приблуду по по проверке правописания? :))))))
ПрИделать :))))))))))))))))))))
(26) ой! прошу прощения, бывает… )
Доработал немного примерчик для 8.1 — используюhttp://infostart.ru/projects/2272/ для вывода сообщений в трей.
(13) прикрепи к внуртисетевому чату карточку клиента и чтобы без лишних извращений получатель мог открыть…
..
Фар — не трогайте своими грязными руками!;-)
(29) пожалуйста, 😉http://infostart.ru/profile/3975/projects/2628/
Автор, а на чем писан движок Аськи? Сырцами поделишься? xenvb@mail.ru
09-10-2008
Нового в версии 3.0.0.1:
— изменена процедура соединения у джаббера (булево заменил на число)
— добавлен пример для 7.7 (аська и джаббер — основные элементы)
(31) продам
(34) Квип, к примеру, с 1С не работает.
(35) Нет, нельзя.
(37) 1C не умеет работать с сокетами.
(38) Можно, тогда бери и пиши. Я пишу на том, что мне нравится.
(40) Попробуй с login.icq.com пообщаться. Что он тебе ответит по хттп.
(42) Буду писать бота на ICQ для соблазнения девок.
Напишу — поделюсь с 1сниками. Гыгыгы.
Тока не здесь, лады? На работе с кем-нит поделись или в своём любимом ливинтернете, но только не здесь, умоляю!
Мирабилис в очередной раз протокол изменила, аськи у всех поотваливались.
Проверил компоненту — работает, как часы 😉
(44)
> Мирабилис в очередной раз протокол изменила, аськи у всех поотваливались
Родной клиент ICQ 6.5 не отвалился.
QIP довольно быстро выпустил новую версию, но, правда, Infium.
> Проверил компоненту — работает, как часы 😉
У нее свой собственный протокол? 🙂
Не, протокол не собственный. Видимо, я просто не использую все навороченности последних протоколов, и потому работает.
Миранда тоже нормально пашет. У меня даже дома супер древняя миранда работает почти нормально 😉
(47) Изменение протокола сегодня произошло. Ты уверен, что Миранда еще пашет?
(46) Тогда респект тебе и плюсик
п.с. я еще раньше плюсовал. Впрок 🙂
Абсолютно. Даже специально закрыл/открыл
test
сорри за (52), почему-то не добавляется одно сообщение.
текст, наверно, не нравится 🙂
Вообще, судя по пришедшим сообщениям, все было как раз наоборот.
Какие-то старые навороты отвалились и работают только новые.
ICQ version 5.1 is no longer supported.
(55) Где?
(56) Приходили сообщения с номера ICQ 1
1 (13:16:47 9/12/2008)
=============================
System Message
=============================
ICQ version 5.1 is no longer supported.
Вторую часть этого сообщения ИнфоСтарт не пропускает.
у меня закрыты системные сообщения.
ну в целом понятно, как обычно. я уже менял 2 раза протокол компоненты 🙂 видимо, скоро будет 3 раз…
(54) Да, так оно и было. Отвалились клиенты, которые работали со старыми фичами протоколов.
Пользователи по всему миру лишились доступа к ICQ
Сегодня по всему миру перестал работать сервис мгновенных сообщений ICQ. Проблема не коснулась только пользователей последних версий клиента – ICQ Lite и ICQ 6. Как сообщила «Газете.Ru» Светлана Мукосеева из PR-агентства Spice Group (представляет интересы ICQ в России), сбой связан с проведением технических работ, завершить которые планируется до конца дня. После их завершения старые версии ICQ не смогут работать с протоколом «аськи». Чтобы работать с «аськой», придется скачать программы ICQ Lite или ICQ 6 (доступны на сайтах rambler.ru и icq.com).
Работать с ICQ не смогут и альтернативных клиенты (например, QIP), рассказала Мукосеева. Впрочем, в интернете уже появилась обновленная версия QIP Infium, которая поддерживает изменения, внесенные в протокол «аськи».
В последнее время сбои в работе ICQ случаются регулярно. В марте 2007 года сервис в течение нескольких часов был недоступен во всем мире, а в апреле того же года перебои затронули Россию и Германию. В конце мая и начале 2008 года российские пользователи вновь испытывали проблемы с доступом к «аське». Как правило, перебои связаны либо с неполадками на сервере, либо с проведением технических работ. Подобные сбои пока не имели для пользователей долговременных последствий и не приводили к потере личных данных. «Газета.Ru»
уточнение к (59)
http://www.asechka.ru/archive/?id=2415
Для получения демо-версии или покупки обращайтесь по контактам, указанным в профиле.
Очень полезная разработка, но без возможности авторизации на http proxy, пока не применимая.
Хотя бы base авторизацию добавьте, плс.
(62) Авторизацию я добавлю, не вопрос.
Я уже собрался веб сервис писать для on-line обращения из периферии в центральную базу. (на периферии фронт из 8.1 Розничная торговля, в центре 7.7 ТиС) Теперь буду пробовать на джабере сделать. И чем больше думаю, тем мне это решение больше нравится 🙂
К стати есть ограничения по коммерческому использованию? (продажа в составе своего продукта)
не открываетсяhttp://dushelov.ru/1c/icq
где, собственно, скачать то?
Демку выложу завтра.
Где можнос качать демку? )) хотел бы глянуть )
кстати какие ограничения будут в демке?
Оставил бесплатной. Скачать тут.
(68) спс )) большое )) очень благодарен )
Душелов.. Я бы попросил тебя доработать компаненту если не сложно чтобы она отключалась ) как нибудь ) т.к. функция отключится или прервать подключение если
не оплучается подключится после какойнить попытки.. А то нажимаеш подключить и она долбится пока не надоест ((
п.с. я не настаиваю просто хотел бы видеть в данной компаненте такое
(69) Для этого добавляется регистр сведений — прочитанные сообщения и — вперед 😉 Все в ваших руках.
(70) На прошлых местах работы менеджерам была запрещена внешняя аска. Только из 1С и с номерами из списка контрагентов. Так что делалось максимаольно удобно.
(72) Закрывай обработку и все 😉 А потом по таймеру открывай и соединяйся.
(74) Я бы с удовольствие, но такой вариант не подходит.. т.к. не использую ствою обратотку, а вписал в свой код )) и там нет возможности открывать и закрывать всегда висит открыс ((..
Можно обнулять компанентку ты что подключил при начале работы системы .. но это не правильно))
Очень-очень нужная компонента!
Спасибо за нее!
Есть пара моментов, которые хотелось бы:
1. В аське и джаббере метод для отправки сообщения содержит 2 параметра – учетная запись кому и само сообщение. Только в разных протоколах они поменяны местами.
2. Если в джаббере указать неверный логин, попробовать подключиться, а потом отправить сообщение, то вызывается исключение внешней компоненты (что-то вроде не создан объект).
3. Обработка статуса контакта в джаббере: если контакт онлайн – приходит статус NONE, если Отошел – AWAY (другие по списку), но оффлайн – NONE. Т.е. не могу отличить в сети контакт или нет.
4. В аське – добавление контакта, запросить авторизацию и разрешить авторизацию (по аналогии с джаббером)
5. Маил агент не реально, да?
(73)http://infostart.ru/projects/4347/
Хорошая идея, спасибо. ICQ работает на Ура. А вот у меня с jabber проблема: долго мучался, прежде чем понять, почему не подключается. Сервер jabber у нас свой, на FreeBSD — OpenFire. Когда Инет включен -подключение не идет. Если от инета отключиться — то соединение проходит, работает, сообщения посылает.
Пробовал подключиться через Spark — все работает нормально в любом состоянии. Можно это как-то поправить?
А что же авторизации через прокси нет?
Согласен с Serj1С по пункту 2 (глюк с неверным логином).
Из хотелок: не хватает метода компоненты который выдавал бы текущий статус в сети.
И ещё. Чей глюк — не понятно, но на релизе 8.2.10.65 аварийное завешение платформы при закрытии 1С, если использовался метод жОтключиться()
На релизе 9.356 работало нормально
Странный глюк:
сервер Jabber у нас свой, клиент spark работает без проблем. При попытке подключиться черех эту компоненту — выдает «ошибка авторизации! Неверный пароль или имя пользователя.» Ошибки в имени пользователя или пароле неможет быть.
Если пытаться подключиться компонентой к внешним серверам jabber (infostart.ru например) то проходит все без проблем. Очевидно что-то в настройках собственного сервера — куда копать?
тоже было подобное … тогда помогла простая перезагрузка … подозреваю какое-то кеширование не сбросилось
два вопроса по компоненте
1. какой таймАут для соединения с ICQ и можно ли его поменять
2. а почему для HTTP прокси нельзя использовать связку User и Password ?
PS А почему интересно SOCKS5 везде (и в документации и в демонстрационной кофе) обозван как sock5
Очень полезная компонента для Jabber. (Еще в 2006 г пытался сделать что-то похожее, но в итоге пришлось сделать просто программу для отправки сообщений из командной строки). Но есть несколько вопросов:
1) Самый важный… При соединении указываю JID в каноническом формате ID@server/resorce, но ресурс игнорируется — все равно подставляется Jabber1C. Это принципиально, т.к. для связи 1С-Jabber у нас предусмотрена одна учетка. Множественные подключения от этой учетки обеспечиваются применением разных ресурсов.
2. Я не разобрался, как определить собственный статус.
3. Хотелось бы, чтобы при подключении необходимо было указывать 2 параметра (JID и пароль), а остальное — по умолчанию
4. Почему-то при долгих простоях сеанса отключение протокола срабатывает не первого раза
5. Можно ли разделить компоненты icq и jabber? Обычно все-таки что-то одно применяют.
Заранее спасибо
P.S. Ссылкаhttp://dushelov.ru/1c/icq не открывается
доделываю класс оболочку для работы с жаббером
и присоединяюсь к (76)
«3. Обработка статуса контакта в джаббере: если контакт онлайн – приходит статус NONE, если Отошел – AWAY (другие по списку), но оффлайн – NONE. Т.е. не могу отличить в сети контакт или нет.»
Будет обновление, точнее отдельная разработка по джабберу по последнему протоколу, в виде активикса (для работы в контексте сервера).
+(85)
я решил для себя проблему со статусами
после подключения к жабберу
делаю паузу в 3 секунды и ставлю текущий статус = «dnd»
тогда в обработке внешнего события статус = «dnd»
следователь
а как вообще можно проверить подключен я к джабберу или нет?
ай спасиба! ай классная штукенция!
Запихнул в Документоообороте в модуль управляемого приложения, в процедуру ПриНачалеРаботыСистемы() подключение внешней компоненты(ВК) и подключение к аське, а отключение от оськи в процедуру ПередЗавершениемРаботыСистемы(). После выхода и повторного запуска 1с. 1с напрочь отказываеться подключать ВК. Не могу понять то ли я что-то не так делаю, то ли глюк ВК. Будет очень печально, если глюк компоненты, очень нужная вещь
Здравствуйте. Есть возможность добавить «запрос авторизации» в аську и в джаббер?
Попытался использовать компоненту для подключения к локальному серверу джаббера.
Метод жСоединиться проходит.
А вот при вызове любого другого метода вываливается с ошибкой:
DushelovICQ : Object reference not set to an instance of an object..
Может у кого что такое было?
Автору спасибо!
Все заработало, но на некоторые компы из 1С приходят сообщения вида:
«LNX00001105; ; Èíñòèòóò óïðàâëåíèÿ è ïðàâà; 214018, Ñìîëåíñêàÿ îáë, Ñìîëåíñê ã, Ïàìôèëîâà óë, äîì»
Не сталкивался с такой проблемой?
Большое спасибо, очень нужная вещь 😀
Очень-очень нужная компонента!
Спасибо за нее!
Есть пара моментов, которые хотелось бы:
1. В аське и джаббере метод для отправки сообщения содержит 2 параметра – учетная запись кому и само сообщение. Только в разных протоколах они поменяны местами.
2. Если в джаббере указать неверный логин, попробовать подключиться, а потом отправить сообщение, то вызывается исключение внешней компоненты (что-то вроде не создан объект).
3. Обработка статуса контакта в джаббере: если контакт онлайн – приходит статус NONE, если Отошел – AWAY (другие по списку), но оффлайн – NONE. Т.е. не могу отличить в сети контакт или нет.
4. В аське – добавление контакта, запросить авторизацию и разрешить авторизацию (по аналогии с джаббером)
5. Маил агент не реально, да?
спасибо за компоненту. немного доработать под себя и будет самое то!
Спасибо,
спасибо, очень помогло
Теперь без палева в аське сидеть можно ))
Интересная реализация!
Спасибо, помогло.
Спасибо за проект.
В чем может быть проблема — виснет на этапе «28.05.2012 11:06:27: Запрос контакт-листа…», аська в онлайне, но контакт-листа нет.
(102) Разобрался. Проблема была в правах 7-й винды.
Вопрос — реально ли использовать компоненту в контексте сервера 1c x64 ?
Компонента классная, юзаем для уведомлений из 1с.
Хорошая обработка!
Компонента — отличная! Точно можно в аське шифроваться) Спасибо автору!
Компонента здорово помогла. На виртуальной машине крутится самописный автомат на 7.7 — забирает и обрабатывает запросы абонентов и много чего еще. При нештатной ситуации через компоненту посылается сообщение в аську техподдержки. Спасибо.
Спасибо за хорошее (судя по отзывам решение) да еще и бесплатно. Сейчас скачаю попробую как оно работает. +