gifts2017

1С: Предприятие + корпоративный чат, как наладить оперативные уведомления за 10 минут

Опубликовал Алексей Пикуров (Demanoidos) в раздел Программирование - Практика программирования

Как сделать автоматические уведомления о разных событиях из 1С в корпоративный чат MyChat для сотрудников компании

Есть в 1С: Предприятие несколько задач, которые хотелось бы решить без применения «чёрной магии» и малыми силами, но система не позволяет сделать такое, потому что в ней нет нормального корпоративного чата. Речь идёт о линейке версий 1С 8.xx.

  1. 1С + корпоративный чат, зачем?
  2. Какой чат взять?
  3. Как увязать эти две системы?
  4. Что делать, когда не получается?

1. 1С + корпоративный чат, зачем?

Например, при создании заказа автоматически отправлять уведомление исполнителю, это гораздо быстрее, чем через почту. Или ускорить согласование заявок на платежи. Либо уведомлять людей о том, что пришли выписки по платежкам из банка.

Было бы круто отправлять такие сообщения сразу в корпоративный чат, нужному человеку.

Экономим время — уведомления рассылаются сразу же по событию, нет задержек. Телефон не занят, необязательно, чтобы человек сидел на рабочем месте, уведомление пришло в чат и будет прочитано.

Автоматические напоминания о важных событиях  система не пропустит ничего и не забудет уведомить нужного человека.

Хорошая история  раз это корпоративный чат, то можно открыть историю сообщений и прочитать, что, когда и в каком порядке приходило. С поиском, в хронологическом порядке.

2. Какой чат взять?

Про «вкусности» рассказали, теперь о прозе. Как это всё сделать, желательно побыстрее и попроще?

Вам понадобится офисный чат MyChat, если у вас его ещё нет  скачайте бесплатную версию на 20 человек, «на попробовать» хватит, потом можно расширить лицензию. Бесплатная версия по функционалу почти ничем не отличается от коммерческой, да и триала на 30 дней нету, лицензия не ограничена по времени.

Итак, скачали, установили сервер и хотя бы один клиент, подключили клиент к серверу. Это всё можно сделать на одном компьютере, для теста хватит вполне. Ставится всё линейно, без умных вопросов. Если вдруг возникнет заминка, то вот руководства по установке:

Как установить сервер MyChat? (пошаговое руководство)

Как установить клиент MyChat? (как поставить и подключить к серверу, официальная справка)

У нас сейчас запущены сервер и клиент MyChat на одном компьютере:

Клиент и сервер MyChat, запущенные на одном компьютере

Итак, всё готово и можно переходить к следующему шагу. Как отправить сообщение из 1С прямо в офисный чат?

3. Как увязать эти две системы?

Нам понадобится два файла:

  1. Компонент для 1С, C:\Program Files (x86)\MyChat Server\doc\IntegrationAPI\1C\8.xx\mychatvk.dll, сделан по технологии NativeAPI.
  2. Библиотека MyChat Integration API, C:\Program Files (x86)\MyChat Server\doc\IntegrationAPI\MyChatIntegrationAPIDLLs\x32\mychat.dll

Берём эти две dll-библиотеки и выкладываем их в в папку \bin установленной 1С (C:\Program Files (x86)\1cv8t\8.3.5.1248\bin\).

Теперь открываем тестовую конфигурацию 1С и пишем туда вот такое (у моего компьютера с работающим сервером MyChat IP адрес 192.168.10.107, а пользователь, которого я зарегистрировал, UIN=2), а вы впишите свои данные:

Перем КомпонентMyChat;

Процедура ПоказатьТекстСтатусаНажатие(Элемент)
   ТекстСообщения = ТекстСтатуса + Символы.CR + Символы.LF + "Вторая строка";  
                            // адрес сервера, номер порта, ключ Integration API, отправитель, получатель, текст сообщения
   Результат = КомпонентMyChat.SendPrivateMessage("192.168.10.107", 2004, "iddqd", "0", "2", ТекстСообщения);
   Сообщить(Результат); // результат работы функции
КонецПроцедуры

Процедура ПриОткрытии()
   Сообщить("Версия MyChat.dll - " + КомпонентMyChat.GetMyChatLibVersion());
   Сообщить("Дата MyChat.dll - " + КомпонентMyChat.GetMyChatLibReleaseDate());
   Сообщить("Версия MyChatVK.dll - " + КомпонентMyChat.GetMyChatVKLibVersion());
   Сообщить("Дата MyChatVK.dll - " + КомпонентMyChat.GetMyChatVKLibReleaseDate());
КонецПроцедуры

Результат=ПодключитьВнешнююКомпоненту("mychatvk.dll","MyChat", ТипВнешнейКомпоненты.Native);
Если Результат Тогда
   КомпонентMyChat = Новый ("AddIn.MyChat.MyChatClass");
Иначе Сообщить("Ошибка подключения mychatvk.dll!");
КонецЕсли;

Набираем сообщение, жмём кнопку «Показать» и вуаля:

Сообщение из 1С, полученное в корпоративный чат

Что вообще произошло?

Мы нажали кнопку в 1С, отработала процедура, «дёрнула» функцию компоненты, а та, в свою очередь, через MyChat IntegrationAPI уже отправила личное сообщение от имени робота, встроенного в мессенджер  реальному человеку.

Можно и не от имени робота, но так проще, у нас ведь пользователей-то нет ещё, конфигурация тестовая.

Понятно, что в примере всё линейно и максимально просто, но для теста и понимания, как оно работает  достаточно.

Надо сказать, что сообщения отправляются надёжно, MyChat работает по схеме клиент-сервер. Можно отправлять сообщения тем людям, которых нет в сети. Можно увязать в корпоративный чат разбросанные по городу или стране подразделения, можно отправлять сообщения массово, с обязательным подтверждением прочтения. Есть всякие «вкусности», но это всё темы для отдельных статей.

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

4. Что делать, когда не получается?

Кто ничего не делает, тот никогда не ошибается. Если что-то поломалось или не работает, а разобраться, почему, самому никак не выходит  пишите на форум поддержки MyChat. Там отзывчивые адекватные люди, вам всегда оперативно ответят и постараются помочь.

Скачать файлы

Наименование Файл Версия Размер
NativeAPI компонента для интеграции 1С и MyChat 8
.dll 305,02Kb
13.08.16
8
.dll 305,02Kb Скачать
Библиотека для работы с MyChat IntegrationAPI 7
.dll 1,19Mb
13.08.16
7
.dll 1,19Mb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей Поликарпов (Serega-artem) 14.08.16 08:36
Я вот не очень понял. Компоненты для интеграции - это автор разработал, или они уже штатно идут?
2. Алексей Пикуров (Demanoidos) 14.08.16 12:06
Сергей, эти компоненты идут штатно в комплекте с дистрибутивом MyChat Server, бесплатно. Разработаны авторами мессенджера.
3. Сергей Поликарпов (Serega-artem) 14.08.16 12:53
(2) Demanoidos, Спасибо за информацию!
4. Алексей Пикуров (Demanoidos) 14.08.16 16:35
(3) Serega-artem, пожалуйста, обращайтесь на форум поддержки, если что.
Serega-artem; +1 Ответить 1
5. Сергей К. (eskor) 15.08.16 11:57
(4) Demanoidos, лично я считаю, что интегрировать что-то типа MyChat жуткий моветон. Есть куча решений по чатам в самой 1С, как на уровне событий, так и совсем других. А глобально, наиболее удобно и перспективно использовать внешние сервисы, например telegramm с внятным API и кросс-платформенными клиентами. На форуме есть несколько примеров организации ботов, организовать чат на порядок проще. Причем никаких внеших компонент, исключительно http.
olgerd666; dark_wolf; sys1c; PrinzOfMunchen; Rik30; dj_serega; Silenser; Trucker; +8 2 Ответить 2
6. Алексей Пикуров (Demanoidos) 15.08.16 12:15
(5) eskor, возражу. Чаты на основе самой 1С это жуткое УГ. В силу того, что платформа для этого не предназначена. Прежде, чем делать какие-то выводы, рекомендую хотя бы попробовать.

Далее, чаты на основе Telegram это здорово, но ему нужен Интернет, а MyChat — это сервер внутри вашей сети. Если вы добровольно согласны сливать внутреннюю информацию компании на чужие сервера непонятно куда - это ваше право. Лично я на такое не готов. Как и множество наших клиентов.

организовать чат на порядок проще. Причем никаких внеших компонент, исключительно http


Пример в студию, покажите, насколько это проще, в отличие от того примера, что я привел.
Serega-artem; A7758735; shibanovan; +3 1 Ответить 1
7. Сергей К. (eskor) 15.08.16 17:36
(6) Demanoidos, да не вопрос. Вот готовый пример от автора<тыц>
И насчет безопасности не перебарщивайте. Принципиально то - кто инициирует соединение и какие порты при этом используются. Впрочем это тема отдельного разговора, достаточно того, что telegramm можно встроить в 1С без танцев с бубном, и безопасность при этом не пострадает.
8. Антон Антон (kare) 16.08.16 13:56
(7) eskor, платформа, не у всех 8.3 !
9. Алексей Пикуров (Demanoidos) 16.08.16 14:07
(7) eskor, наверное, вы пошутили насчёт простоты :) Там кода на три порядка больше, я специально зашёл и посмотрел. Уже не говоря про версию 8.3. Идём дальше, нужен бот. А получатели должны подписаться на этого бота. В статье, что я написал, речь идёт о корпоративном чате, с Windows. У людей десктопы. Вы предлагаете всем установить Telegram.
И насчет безопасности не перебарщивайте.

Хотелось бы. Но использование своего мессенджер-сервера - принципиальная вещь. При чём тут порты и кто инициирует соединение? Я говорю о том, что вы предлагаете конфиденциальную коммерческую информацию сливать на сервера Телеграма в Интернет. Это несерьёзно и недопустимо для бизнеса. Хотя, возможно, каким-то компаниям и наплевать на это.
Впрочем это тема отдельного разговора

100% согласен с вами.
10. Алексей Константинов (enzain) 17.08.16 10:58
Если вам нужны оперативные уведомления - то нужно отправлять СМС.
11. Алексей Константинов (enzain) 17.08.16 11:01
(5) eskor, Гораздо лучше - это рассылка СМС со СВОЕГО шлюза. своим работникам, или кому еще пожелаете.
Чаты, телеграммы - это все зло ...
12. Алексей Пикуров (Demanoidos) 17.08.16 12:38
(10) enzain, SMS это здорово, но стоит денег. Каждая. Как минимум вам нужен шлюз и тарифный пакет для отправки сообщений. И в SMS вы запихнёте максимум 70 русских символов. Это очень мало. Мало того, посмотреть архив СМС, сделать поиск по нему. А как ответить в чат?... Ну вы поняли ход мысли :) И да, никаких гарантий насчёт получения.

Наша компания делала такой шлюз на основе Siemens MC35i, всё работало, но не бесплатно.

P.S. Забыл про бонус. Оператор связи и все интересующиеся будут знать про все ваши телодвижения в бухгалтерии. Привет Яровой :):)
shibanovan; Westbound; slauter77; +3 Ответить
13. Иванов Иван (slauter77) 17.08.16 12:55
Вообще-то правы все! Я бы совместил идеи. SMS - для сотрудников работающих в "полях", и чат для "офисного планктона".
Типа SMS: Вася! Обнови 1С:Бухгалтерию ООО "Василёк"
Чат: Марья Ивановна! Платеж не прошел на сумму бла бла бла для организации бла бла ссылка, документ ссылка ...
Serega-artem; Demanoidos; +2 Ответить 1
14. Алексей Пикуров (Demanoidos) 17.08.16 13:05
(13) slauter77, да, это хороший вариант, когда до сотрудника никак не достучаться и интернета у него нет. SMS - единственный способ прислать хоть какое-то сообщение.
15. Andrei Novikov (dreamadv) 22.08.16 10:21
У нас для подобного решения и оповещений используется свой jabber сервер с глобальным ростером единным для всех.
16. Алексей Пикуров (Demanoidos) 22.08.16 12:14
(15) dreamadv, покажите своё решение, если не жалко, может, у него есть какие-то сильные стороны, которых мы, возможно, не заметили.
17. Андрей Бавский (bas_nsk) 01.10.16 05:55
Автору, большой респект за публикацию!!!! Давно подыскивал чат , такой что бы была возможность поженить его с 1С. Почта -не оперативно , СМС - тоже не совсем то, так как в сообщении есть ссылка объект 1С .
Кое что находил из бесплатного , но из за заморочек в настройке проект так и не взлетел. А тут утром наткнулся на статью , а в обед уже первые 15 человек , радовались оперативностью оповещения. Пару недель понаблюдаю и если все будет Ок , будем брать коммерческую версию.Из минусов немного тормозит диалог передачи файлов , а так все ГУД.

18. Алексей Пикуров (Demanoidos) 01.10.16 10:15
(17) bas_nsk, Пожалуйста, пользуйтесь на здоровье. Андрей, насчёт диалога передачи файлов — лучше написать в официальный форум, там выясним, что конкретно не так и как это полечить.
19. rasswet (rasswet) 05.10.16 07:59
в одном из новейших релизов БУДЕТ чат от самой 1С +видеозвонки. Уже видел демонстрацию. Правда не известно когда он выйдет.
20. Алексей Пикуров (Demanoidos) 05.10.16 08:39
(19) rasswet, где об этом можно почитать? И, я так понимаю, всем, кто его захочет, придётся за новый релиз заплатить. Они не говорят, сколько?
21. Сергей Поликарпов (Serega-artem) 07.10.16 12:28
(19) rasswet, В новом релизе чего? Платформы? Там только чата нехватает с видеозвонками.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа