не претендую на эталон правильности с точки зрения специалистов 1С.
--
До всех операций подключения, в справочник "пользователи" добавляем реквизит "Uid_чат", в который, для нужных пользователей будем заносить соответствующий UIN из MyChat.
В модуле обычного приложения
Объявляем
Перем КомпонентMyChat Экспорт;
в этом же модуле, в стандартной процедуре ПриНачалеРаботыСистемы()
добавляем , через "Попытку" - т.к. не на всех машинах пользователей в каталог 1С добавлены Dllки
Код: Выделить всёПопытка
Результат=ПодключитьВнешнююКомпоненту("mychatvk.dll","MyChat", ТипВнешнейКомпоненты.Native);
Если Результат Тогда
КомпонентMyChat = Новый ("AddIn.MyChat.MyChatClass");
КонецЕсли;
Исключение //Сообщение выводим только пользователям, которым присвоен UIN из MyChat
если сокрлп(глТекущийПользователь.Uid_чат)>" " тогда
Сообщить("Ошибка подключения mychatvk.dll!");
КонецЕсли;
КонецПопытки;
Далее в любом месте кода 1С, по любому событию, например при поступлении товара
в форме документа "ПоступлениеТоваровУслуг", в стандартной процедуре
ПослеЗаписи() добавляем:
Код: Выделить всё//не интересуют не проведенные документы, и документы без товара
если Проведен=Истина и Товары.Количество()>0 тогда
Попытка
ID_Получателя="15";
ID_Отправителя=Ответственный.Uid_чат;
Если сокрлп(ID_Отправителя)<=" " тогда
//на случай если пользователю не задан id, отправим сообщение от служебного
ID_Отправителя="0";
Конецесли;
ТекстСообщения = "Поступление проведено "+сокрлп(Контрагент)+" Сумма="+формат(СуммаДокумента,"ЧГ=0")
// адрес сервера, номер порта, ключ Integration API, отправитель, получатель, текст сообщения
Результат = КомпонентMyChat.SendPrivateMessage("192.168.0.1", 2004, "iddqd", ID_Отправителя, ID_Получателя, ТекстСообщения);
Исключение
КонецПопытки;
конецесли;