Как мы интегрировали свою систему управления разработкой со Slack. Инструменты, возможности, процесс разработки

Публикация № 1373835

Разработка - Системная интеграция - Интеграция

Slack – это не только корпоративный мессенджер. Он предоставляет гибкие настройки уведомлений и реализует несколько вариантов интеграции, с помощью которых можно наладить взаимодействие с собственным приложением. Об интеграции Slack с системой управления разработкой, написанной на 1С, рассказал руководитель компании «ПрогТехБизнес» Александр Анисков.

 

 

Я представляю небольшую компанию ПрогТехБизнес.

  • Нам уже больше 10 лет, но я до сих пор считаю, что мы – стартап. Ничего не меняется. Как 10 лет назад мы были стартапом, так и остаемся.

  • У нас достаточно высококвалифицированная команда, потому что люди, которые к нам приходят, проходят очень жесткий саркастический отбор путем того, что, если человек просто не выдерживает этого дикого сарказма по поводу качества его решений, он просто уходит. Получается, что команда – высококвалифицированная, но с ними невозможно работать. Они даже мне, руководителю, могут запросто сказать: «Ты тут сегодня такое написал – это надо выложить, чтобы все поржали».

  • И да, мы отвратительно представлены в интернете. Если вы найдете наш сайт, вам будет за него так же стыдно, как мне (есть такое понятие – испанский стыд).

Но что можно сказать о нас, как о разработчиках?

  • Мы глубоко интегрируемся в бизнес нашего клиента – это наше кредо, мы не делаем маленьких решений, не пишем маленькие разработки, мы всегда говорим о том, что если мы с вами работаем, то это надолго и всерьез. И дело не в деньгах, которые мы заработаем, а дело в понимании того, что мы для вас делаем и как мы ваш бизнес будем понимать.

  • Мы начали автоматизировать себя еще до того, как это стало мейнстримом. Когда компания ПрогТехБизнес только появилась, нас было всего двое, и никакой автоматизации двум человекам не нужно, потому что мы легко могли обо всем договориться. Но у нас уже тогда появилась система управления задачами, где мы начали что-то делать.

  • Но время шло, прошло 13 лет, и мы застряли. Объективно оценивая путь, который мы прошли – мы немного застряли в прошлом веке, мы не можем похвастаться тем, что у нас самые лучшие методики разработки. Но мы работаем в этом направлении, и я постараюсь про это тоже рассказать.

Кто я? В ИТ-мире меня знают как vandalsvq.

  • Я – Тони Старк без костюма, инженер, программист, руководитель.

  • На Инфостарте я представлен собственными разработками, которые, как правило, делались для нашей компании, а потом немного ушли в мир.

  • Некогда активно участвовал в сообществе 1С++ (если кто-то вообще помнит, что для 7.7 такое было).

  • И у меня тяжелая участь – я основной разработчик внутреннего инструментария в нашей компании. Как правило, я поднимаю руку и говорю: «Ребята, завтра у нас будет все по-новому».

Я открыт для обратной связи, ищите меня везде по нику vandalsvq. Люблю общаться с разносторонними людьми – это очень интересно.

 

5 минут про Slack

 

 

У всех вас наверняка есть Telegram, WhatsApp, Viber, Skype и т.д. Когда вы пользовались этими мессенджерами, у вас точно возникала ситуация – сначала в группе конструктивно общается 10 человек, а потом кто-то начинает разводить флейм, и в какой-то момент группа превращается в дикий треш и угар. Когда в этом большом полотне обсуждений начинают теряться важные вещи, ты уже перестаешь понимать, что вообще происходит.

У меня была такая история с моим предыдущим телефоном – ему было 10 лет, и он улетел об стену, потому что меня просто это все достало. Эти бесконечные уведомления, люди, пишущие ни о чем, в группах, на которые ты подписан из-за того, что там на 100 тысяч сообщений одно важное. В общем, телефон улетел в стену. Его просто нужно было поменять. Нашел хороший способ.

  • Slack – это отличная замена WhatsApp, Telegram и другим мессенджерам, потому что у него есть множество вариантов организации способов взаимодействия – публичные каналы, приватные каналы, личные сообщения. Вы скажете – а что тут нового? В Slack есть треды – ветки внутри сообщений. Когда вы создаете сообщение, и оно становится темой для последующего обсуждения – человек проваливается внутрь и начинает общаться в отдельной ветке. Тогда это полотно уже превращается в полотно важных сообщений, внутри которых идет общение. Правда, у вас будет сначала одна большая проблема – должен быть человек, который будет писать: «Идите в тред», потом удалять сообщения, переносить их в тред. Но со временем все привыкнут, поверьте.

  • Вторая вещь, которая мне очень понравилась, и я ее просто полюбил – это гибкая настройка уведомлений. Я ненавижу телефоны, ненавижу уведомления – я вообще ненавижу, когда меня трогают, и отключаю все, что только можно. Но Slack мне позволил подписаться на важные слова в уведомлениях, на пару важных каналов, замьютив их на определенных платформах – в телефон мне нужно присылать уведомления тогда-то, на десктоп – тогда-то и т.д. И мне это все помогло избавиться от множества фонового шума при том, что у нас в Slack общается множество людей – даже заказчики подключены, причем, они там такую вакханалию устраивают, что просто тихий ужас. Поэтому мне особенно нравится механизм «Не беспокоить».

  • Встроенные напоминания – тоже ничего нового, вы можете создавать напоминания в телефоне себе, в ToDo, где угодно. Когда я нахожу очень важное сообщение и хочу почитать этот тред, я его либо добавляю в избранное, либо в напоминания. И тихо вечером, когда все уснули, сижу и перечитываю то, что написали.

  • И мое любимое – открытые механизмы интеграции. Можно пользоваться интеграцией с G Suite. А мы написали свое приложение, где автоматизировали очень многие вопросы, связанные с управлением разработкой. Возможность построить собственную интеграцию – это та киллер-фича, которая отличает Slack от множества других мессенджеров. И, конечно, очень приятный момент, что те ограничения, которые есть в бесплатной версии, позволяют ей спокойно пользоваться в не очень крупных командах. Если, конечно, у вас команда на 100 человек, возможно, вам и не хватит 10 000 сообщений, которые хранятся в памяти и поиске, но нам пока хватает. Тем более что многие вещи потом переходят в задачи.

Slack – это не система учета задач. Это просто система общения. Мы поговорили, обсудили, приняли решение – на основе этого формируется задача, предпринимаются какие-то действия и т.д.

Тем не менее, давайте с вами поговорим о том, как построить собственную интеграцию. Или вообще, что такое приложение в Slack – что оно умеет.

 

Приложение в Slack

 

 

Slack дает нам множество возможностей:

  • Мы можем отправлять любые сообщения в разрешенные каналы, просто давая право боту писать в этот канал. Какие это могут быть сообщения – мы с вами поговорим чуть позже. В любом случае, это отличная система для построения каких-то важных оповещений.

  • Вторая, моя любимая тема – это slash-команды для директивного общения. Slash-команды – это отличный способ научить 30 человек говорить одинаково, потому что научить бота понимать 30 человек, если честно, намного сложнее. А 30 человек научить общаться похожим образом, запомнить какие-то команды, дать им подсказки – это очень легко.

  • Система подписок на события – отличная тема, позволяет вам в вашем приложении отслеживать, что вообще происходит в Slack – какие изменения происходят в каналах, какие пользователи в них вступают или, наоборот, покидают. Можно отслеживать, как меняются статусы – там есть игра «HeyTaco!», где в качестве благодарности можно выставлять друг другу такосы, и по общему количеству такосов у пользователя определяется, кто молодец. Конечно, это все баловство, тем не менее, там можно сделать приложение, которое подписывается на событие и ведет счетчик, когда кто-то поставил эмоджи к вашему сообщению.

  • Любое приложение для Slack – это, в первую очередь, еще и бот, который может писать и получать сообщения, и может немного притворяться человеком.

  • И интерактивные элементы сообщений – это то, чего нет в других мессенджерах. Это – возможность добавить в сообщение элементы взаимодействия, аналогичные полям ввода данных в 1С. Вы все их знаете – это поля выбора, выпадающие списки, флажки и т.д. Но об этом чуть позже. Так вот эти элементы сообщений – это то, чего нет в других мессенджерах. Они нам позволяют построить сообщения не только от пользователя к нашему приложению и от приложения к пользователю, но и еще вдобавок получить обратную связь.

Но давайте обо всем по порядку.

 

Механизмы интеграции

 

 

Чтобы все это получить, Slack нам дает 6 вариантов интеграции (7 вариант – это классическое API).

  • Первый вариант – это Incoming webhooks. Собственно, это и есть отправка произвольных сообщений в любые каналы.

  • Interactive messages – это возможность вставлять элементы, создавать интерактивные сообщения. Чуть позже я покажу скриншоты приложения, вы поймете, о чем я говорю.

  • Slash Commands – это те команды, которые начинаются с косой черты. Информация, переданная с помощью slash-команды, приходит к вам в приложение.

  • Bot users – он здесь помечен синим цветом, и почему это так, я расскажу позднее. Про боты у меня есть отдельное особое мнение, и, честно признаться, сначала я думал попытаться сделать что-то типа интересного «умного бота», но тут меня ждал определенный фейл.

  • Event Subscriptions – это возможность подписаться на любые изменения, которые происходят в Slack, про это я уже говорил раньше.

  • И последнее, красное, Real-time messaging. К сожалению, этот механизм взаимодействия со Slack для 1С недоступен без использования внешних компонент, потому что используются веб-сокеты, а с ними 1С работает только через ВК.

Но, опять-таки, как выбрать, чем пользоваться?

 

Выбор механизма интеграции

 

Есть схема по выбору механизма интеграции. Она когда-то была написана самим Slack для японцев на японском языке, и было весело пытаться ее перевести с японского. Слава Богу, я нашел вариант на английском и немного ее доработал для понимания, что происходит в 1С.

Схема остается классической, вы можете ее прочитать. Но, когда будете читать, обратите внимание на желтые квадратики. Это то, что 1С либо не умеет, либо есть альтернатива.

Для Real-time messaging есть альтернатива в виде веб API и подписки на события, но, к сожалению, если вы хотите знать все, что происходит к Slack по каждому чиху, вас тут ждет небольшое разочарование. Наверное, ничего не получится без ВК.

 

Легкий старт. Incoming Webhooks

 

Давайте теперь поговорим, насколько легко в этом во всем стартануть.

Допустим, вы хотите построить систему интерактивных уведомлений. С чего начать в этом случае:

  • Ставите Slack.

  • Переходите по адресу https://api.slack.com/.

  • Создаете свое собственное приложение, называете его, как вам нравится.

  • В настройках Slack включаете функциональность Incoming Webhooks.

  • И указываете, к какому каналу нужно привязать это приложение.

В результате получаете ссылку, по которой вы можете отправлять из вашей системы POST-запрос, чтобы что-то постить в Slack.

Что именно вы собираетесь сообщать из своей системы в Slack – это уже вопрос к вам. Лично мое мнение – устраивать из Slack систему уведомления о том, что изменился статус задач – это то еще удовольствие. Не потому, что это плохо, а потому, что, если вы безальтернативно не даете человеку отключиться от вашей нотификации – это, реально, достает. Поэтому дайте возможность отключить эту функциональность тем людям, которым эти уведомления получать не обязательно.

В любом случае, уведомления – это очень важно. Например, у вас работает сервер, у него прекрасные показатели работоспособности – он 99,9% времени работает, но в какой-то момент все падает. И этот 0,01% приходится на то время, когда вы отдыхаете с друзьями. Как об этом узнать? Кому-то такое сообщение удобно получать с помощью SMS, а кому-то в Slack. Это позволяет быстро среагировать и, возможно, что-то сделать.

Но когда мы дальше рассмотрим интерактивные сообщения, вы увидите, что можно не просто отреагировать, но и отдавать назад определенные команды, которые будут выполнены. В этом нам помогут slash-команды.

 

Slash-команды

 

 

Slash-команда – это кодовое слово, написанное через косую черту.

Свою автоматизацию в Slack мы начали с того, что у нас начали отмечать планируемые отсутствия сотрудника на рабочем месте.

У нас не регламентируется время, сколько ты находишься в офисе. Каждый человек волен самостоятельно принимать решение, где он работает. Задача должна быть выполнена, все остальное меня лично, как руководителя, не волнует. Главное – команда должна знать:

  • где ты находишься в данный момент – работаешь на удаленке или в офисе;

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

Для этой цели мы ввели маленькую команду: /отсутствие и научили ее понимать такие аргументы: «сегодня» («завтра»), «с 10 до 17», «указание причины», «не беспокоить», «согласовать» (в этом случае отсутствие уйдет на согласование к руководителю проекта, менеджеру – к тому, кому это надо).

Конечно, даже такая маленькая команда у нас долго приживалась, но потом она так многими полюбилась, что внедрение других slash-команд дальше проходило намного проще. Люди привыкли, они поняли удобство, что не так сложно запомнить команду «/отсутствие сегодня». Это человекопонятный язык.

Что мы дальше стали делать? Мы написали ряд команд для нашей системы управления АСУП:

  • /asup connect – соединяет пользователя с программой;

  • /asup manage – позволяет управлять вашими настройками;

  • /asup create – позволяет создавать задачи;

  • /asup [номер задачи] [вид работ] [затраченное время] [описание] – либо посмотреть статусы, либо установить затраты, которые вы понесли.

  • /asup help (или /asup ?) – справка по возможностям бота

  • /asup list – увидеть все задачи

  • /asup commands – посмотреть, какие команды еще доступны.

Как это все включается? Все работает примерно так же, как и другие механизмы:

  • мы включаем механизм slash-команд;

  • создаем slash-команды, придумываем им короткое лаконичное простое очень понятное всем название;

  • и после этого нам нужно дать ссылку, куда Slack будет отправлять POST-запрос каждый раз, когда человек вводит эту команду;

  • для этого мы создаем в 1С HTTP-сервис;

  • создаем для него URL-шаблон;

  • задаем обработчик POST-события, и все – ничего сложного.

Маленький нюанс – конечно, при разработке вы, скорее всего, будете использовать localhost, потому что мало кто имеет дома белый IP, и выставлять наружу какие-то сервисы, которые могут заддосить ваш комп, подвесить его на время – сомнительное удовольствие.

Поэтому просто запомните – ngrok. Маленькая утилита, которая прокидывает туннель между псевдо-адресом в интернете и вашим localhost. Прекрасная утилита, решает проблему.

На слайде видно, что у команды Request URL ссылается на домен https://934e2eb6.ngrok.io. Это возможность прокинуть туннель между интернетом и вашим локалхостом.

После этого пишете обработчик события для POST-команды и решаете, что делать.

 

 

А по поводу «что делать и как правильно отвечать» – тут маленький нюанс.

Отвечать нужно быстро. В отличие от 1С мы не имеем права очень долго думать, у нас на то, чтобы ответить, установлен лимит три секунды. Что вы можете сделать за три секунды? Проверить авторизацию, узнать, что человек отправил правильную команду, и сказать: «Я вас понял, все будет сделано, шеф!».

Поэтому – немедленный ответ, подтверждение получения команды и дальше выполнение отложенных действий, если это требуется (с помощью фонового задания и выполнения в фоне).

Мои рекомендации:

  • вместо пустого ответа с кодом 200 лучше напишите любое слово, хотя бы просто: «Понял»;

  • если вы не хотите, чтобы все видели ответ, добавьте в него реквизит («response_type»: «in_channel»), тогда это будет личное сообщение – это очень хорошая возможность Slack, когда у вас в общем канале человеку приходит сугубо личное сообщение, которое видит только он;

  • добавьте команду help и в любой непонятной ситуации возвращайте предложение о помощи – это мастхев;

  • включите экранирование имен пользователей и каналов – не нужно вам в программе знать ничего кроме кода вашего пользователя;

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

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

 

Интерактивные элементы

 

 

Интерактивные элементы – это самая главная фича. Пожалуйста, поля выбора из списка, поля ввода многострочного текста, флажки, переключатели, какие-то кнопки меню, поля для выбора даты и т.д.

Элементов достаточно, чтобы эмулировать практически любую форму ввода. Вы, наверное, можете даже попробовать себе бухучет построить в Slack. Будет забавно. Только зачем?

  • На слайде перечислены все доступные элементы, которые можно вставлять в сообщение. За маленьким исключением. Сообщение – это все-таки короткая строка, здесь не нужно вставлять много элементов.

  • Чтобы сделать полноценную форму, есть возможность создавать модальные формы – такие же, как мы привыкли видеть в 1С (выскакивает окошко, человек что-то вводит и т.д.).

  • Есть маленький нюанс – обработка событий по изменению этих реквизитов. Это отдельная история. О ней чуть позже.

  • Чтобы вам было удобно, Slack предусмотрел Block Builder Kit – заходите, играйтесь.

  • А мы, кроме этого, написали ряд библиотек, которые позволяют вам не задумываться о том, как эти элементы упаковываются в JSON-пакеты и создаются. Поэтому, когда все это будет выложено на Инфостарт, находите, берите, пользуйтесь – я буду только рад.

 

 

Чтобы мы смогли обработать ответ пользователя:

  • Должна быть включена функциональность Interactive Components (обработка событий интерактивных компонент). Мы ее включаем и указываем в качестве Request URL адрес POST-обработчика, который на стороне нашей системы получает изменение поля и как-то на это реагирует

  • Есть также очень полезная вещь – динамическое поле выбора. Если у вас справочник «Контрагенты» на 1000 полей, а вы хотите человеку дать выбор контрагента в сообщении, то, наверное, не стоит передавать JSON-пакет на все 1000 наименований. Это глупо. Достаточно реализовать простейший сценарий – человек вводит ИНН, наименование контрагента, и из справочника подбираются какие-то подходящие позиции. Для этого вы постите обработчик Select Menus и после этого можете совершенно спокойно получить этот запрос. Это как процедура ОбработкаВыбора() в менеджере справочника. Если проводить аналогии – ничего сверхъестественного в этом нет. Поэтому подписываемся на изменение элементов, подписываемся на выбор из меню.

  • И мы с вами можем привязывать к сообщению отдельные пункты меню – Actions. Например, вы хотите, чтобы из сообщения можно было сразу же создавать задачу – вы создаете пункт меню «Создать задачу в АСУП», и привязываете к нему обработчик. Вам придет текст сообщения, и вы сможете его обработать. Это точно так же обрабатывается в POST-запросе – точно так же делается HTTP-сервис, URL-шаблон и POST-обработчик к нему, в котором прописывается, куда Slack будет обращаться.

 

 

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

В случае с 1С это у нас определяется контекстом – мы все знаем про элементы на форме. А когда пользователь что-то меняет в Slack, то Slack нам сообщает только про то, что поменялось это поле, при этом вы не узнаете, что есть другие поля, другие кнопки и т.д. Когда другое поле поменяется – вы узнаете, что оно поменялось. А когда пользователь нажмет кнопку ОК, вы узнаете, что кнопка ОК нажата, а что на этой форме еще находилось – вы понятия не имеете.

Но это легко решается. Когда вы отправляете подобные формы, создайте простой регистр сведений с измерениями «Ключ блока» и «Ключ элемента». И каждый раз, когда вам приходит такое уведомление с ключом блока и ключом элемента, вы будете туда по ключам элементов дописывать значение, которое человек ввел. А при нажатии на кнопку «Записать» вы сможете, обратившись к этому регистру сведений, эти данные получить. Ничего сложного.

Единственное, что я бы порекомендовал ввести в этом регистре сведений очистку по таймингу, чтобы данные по блоку через какое-то время автоматически удалялись. Иначе регистр просто переполнится – он вообще должен быть минимальным при условии, что у вас не так много таких сообщений.

 

Подписка на события

 

 

Следующий элемент, который позволяет вам взаимодействовать со Slack – это подписка на события. У подписки есть определенная особенность. Дело в том, что, когда вы включаете любой другой режим интеграции Slack и создаете для него ссылку, Slack эту ссылку не проверяет, верит вам на слово, что она где-то в интернете доступна, в нее можно отправить POST-запрос, и все будет хорошо.

Но при включении подписок на события Slack сначала просит вас подтвердить, что существует определенный обработчик, который будет готов принять подписку на событие.

Это все опять решается просто: вы точно так же делаете HTTP-сервис, точно так же создаете URL-шаблон и реализуете для него POST-обработчик. Но только сначала вам в POST-обработчике нужно сделать обработку первого запроса от Slack, чтобы подтвердить, что у вас все хорошо, и ваш URL работает. То есть если обычно вы заходите в Slack, что-то настраиваете, а потом возвращаетесь в 1С и допрограммируете, то здесь вы сначала программируете в 1С, потом настраиваете Slack, а потом опять продолжаете программировать в 1С.

Чем вам поможет подписка на событие?

  • Во-первых, вы можете узнать об упоминаниях вашего приложения. Это очень неплохой кейс.

  • Или вы можете реагировать на добавление в Slack нового пользователя. Когда в коллектив приходит новый человек, ему, как правило, тяжело сразу понять, что вообще происходит. Добавьте человека в Slack, и, если у вас настроена подписка на событие добавления нового пользователя, отправьте сообщение: «Добро пожаловать в нашу систему! Здесь у нас находится база знаний, а здесь еще что-то. Здесь у нас бухгалтер, а здесь программист. А этого человека лучше вообще никогда не трогай».

  • Или, например, можно парсить сообщения на присутствие в них знака «#», который означает номер задачи, над которой ведется работа. И в ответ выдавать информацию о том, в каком статусе эта задача сейчас находится, и что вообще с ней происходит. Например, вы пишете человеку: «Что с задачей #номер?». И Slack вам сам отвечает – задача находится у того-то в таком-то статусе.

 

Боты

 

 

А теперь про боты. Боты бывают либо тупые, либо умные.

Тупые боты пишутся очень легко, и они крайне просто заменяются slash-командами.

Например, тупые боты могут выдавать отчеты по выбору: «Я могу тебе дать: 1. Отчет А; 2. Отчет Б; 3. Отчет В». Вы выбираете. Потом он у вас спрашивает, какие вам нужны настройки и выдает список вариантов отчета. Вы опять выбираете, и после этого вам бот присылает отчет.

Но вы же могли сразу написать slash-команду «/отчет», чтобы Slack выдал список вариантов предопределенных настроек. Это намного проще, намного понятнее, намного эффективнее.

А умные боты – это уже другая история. Вы можете интегрироваться с Яндекс.Диалог, с TensorFlow – отдать туда текст и получить в ответ структуру, где данные разделены по городам, датам, каким-то другим признакам. А дальше у вас с этой нейросетью начинается новая веселая жизнь, где важен контекст, в рамках которого вы общаетесь, и вам нужно попытаться понять, что в этой структуре относится к вам, и что с этим делать. Это очень прекрасная тема, которая вас погрузит в то, что к 1С имеет очень мало отношения.

Поэтому боты умные – это дорого и долго. А тупые боты никому не нужны, потому что все предыдущие механизмы нам их спокойно заменяют.

 

Немного о разном

 

 

У Slack недавно появилась прекрасная вещь – это рабочие области вашего приложения. Это как главное окно в 1С, где выводится количество задач, запланированные на день события и т.д. Вы можете то же самое сделать в Slack. Здесь приведен пример, как Outlook ведет свое главное окно.

Кроме того, есть возможность обратиться к Slack через запрос к веб-API и сделать множество других полезных вещей.

Важно, что приложение для Slack можно сделать за пять минут. В ближайшее время (плановый срок – июнь 2021 года) мы планируем опубликовать на Инфостарте нашу конфигурацию с примерами взаимодействия. Если вы встроите ее общие модули к себе или построите на их основе расширение, вы сделаете приложение за пять минут. Чтобы его оформить красиво, вам понадобится полчаса. А после того, как вы попадете в этот мир, вас вряд ли отпустит, и вы всю жизнь будете это развивать. Это надолго и всерьез.

Ищите цикл статей «Полезный код для программистов 1С». Там есть еще и другие полезные лайфхаки.

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

 

*************

Данная статья написана по итогам доклада (видео), прочитанного на INFOSTART MEETUP Kazan. Больше статей можно прочитать здесь.

Приглашаем всех принять участие в тематических митапах Инфостарта и INFOSTART EVENT 2021 (6-8 мая, СПб).

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ildary 02.02.21 09:53 Сейчас в теме
Зашёл в ветку, чтобы выразить почтение человеку, так много сделавшему для развития 7.7 - Большое спасибо и низкий поклон за 1С++ и ТабличноеПоле.
cleaner_it; vandalsvq; artbear; +3 Ответить
2. artbear 1303 02.02.21 10:00 Сейчас в теме
(1) Спасибо за память )
cleaner_it; +1 Ответить
4. vandalsvq 1198 02.02.21 20:06 Сейчас в теме
(1) всегда пожалуйста. Это уже память. В 8-ке я как-то так не отметился особо )))))
3. artbear 1303 02.02.21 10:03 Сейчас в теме
(0) Александр, Отличный доклад.

мы в Инфостарте ушли от Слака из-за его ограничений, хотя также было немало интеграций с ним сделано.
Сейчас у нас есть интеграция с Телеграмом, разные ее виды, но не все виды интеграций стали повторять.

А у тебя и твоей команды есть планы перейти на Телеграм и доработать интеграцию?
5. vandalsvq 1198 02.02.21 20:16 Сейчас в теме
(3) если я скажу что ограничения Slack нас не смущают, я в целом буду лукавить. Сейчас например достало что файлы нормально из истории не почистить и он все время напоминает что где-то кончилось место. Но пожалуй, это один из немногих моментов, который ну действительно напрягает. Память в 10тыс сообщений нас не парит. Ибо как я говорил, это просто мессенджер. Все что надо помнить - Confluence, все что код или около него - Git, все что задачи - АСУП (наша система управления задачами).
На текущий момент переходить не планировали. Я пока не рассматриваю "гражданские" мессенджеры для рабочих дел. Ибо там много личного - это сильно отвлекает. Альтернативы сильно не изучал, время не позволяет. Что касается доработок, конкретно сейчас Slack далеко не в приоритете. Сейчас нам важнее продвинутся в интеграции системы управления задач и разработки. Поскольку это больше потенциально несет полезного. Ну и опять вернуться к продолжению построения инфраструктуры разработки.

Я думаю у вас была проблема масштаба. Инфостарт явно поболее будет нас (и на порядок). Я как то думал наперед и вижу много проблем и вероятность что мы уйдем от Slack тоже большая. Ибо все таки считаю, что 5$ за мессенджер с человека - это дорого. Что будет взамен я не знаю. Более того, после покупки Slack компанией Salesforce, вполне может произойти изменение и он вполне может стать более "дешевым" для пользования (для конкуренции с MS Teams и др). Так что "будем посмотреть" как говорится
6. milanse 36 04.02.21 14:41 Сейчас в теме
(5)А что за АСУП? Если не секрет. Что может , чего не может ?
7. vandalsvq 1198 05.02.21 16:25 Сейчас в теме
(6) это наша собственная разработка.
Сначала была просто система учета задач и сообщений, но со временем обросла возможностями:
- управление процессами компании (анализ, программирование, тестирование, подготовка обновлений, выпуск релизов, планирование)
- хранение данных об информационных базах на серверах (каталогизация, администрирование, управление)
- связь с Git и базой знаний Confluence для связи между задачами, коммитами, релизами, новостями в базе знаний и статьями
- хранение трудозатрат по задачам, чтобы удобнее было вставлять клиентам (ну и минимальный функционал для бухгалтерии, но он крайне зачаточный)
Ну в общем я бы сказал что это просто система управления задачами, но по ходу развития она как-то научилась всему и по чуть-чуть. Вообще это был и остается основной стержень автоматизации компании, некоторая наша экосистема. Но основной план ее развития - сделать экосистему для работы сотрудников как нашей компании, так и заказчиков, сторонних сотрудников и т.д. Посмотрим во что это все превратится
Оставьте свое сообщение

См. также

Обмен данными. Консистентность vs Многопоточность Промо

Интеграция v8 1cv8.cf Бесплатно (free)

Рассмотрим теоретические основы обмена данными. Какие бывают обмены, какие гарантии при этом даются, зачем идти на компромиссы и что при этом может пойти не так. Есть ли идеальная схема?

03.09.2019    13842    m-rv    1    

Интеграция "1С:Управление торговлей 10.3" с Yandex SpeechKit для распознавания телефонных звонков

WEB Интеграция Телефония, SIP Бесплатно (free)

Распознавание телефонных звонков позволяет контролировать работу менеджеров, организовать для них дополнительный KPI, помогает разбирать конфликты и категоризировать звонки по вхождению слов. О своем опыте интеграции «1С:Управления торговлей 10.3» и сервиса Yandex SpeechKit на INFOSTART MEETUP Saint Petersburg.Online рассказал ИТ-директор компании «Умный дом» Федор Рыжков.

12.03.2021    616    zzhiraf_    0    

«БИП: Бизнес-Процессы». Интеграция с Telegram и Конструктор чат-ботов

Управление бизнес-процессами (BPM) Интеграция v8 УУ Бесплатно (free)

В статье приводятся примеры настройки автоматических оповещений в системе «БИП: Бизнес-Процессы» с использованием мессенджера Telegram. Также, приводятся примеры создания и настройки произвольных чат-ботов с использованием Конструктора чат-ботов.

15.02.2021    505    YuriYuriev    0    

Практические опыты с Red Hat JBoss Middleware RED HAT JBOSS FUSE. Часть №2

Интеграция Бесплатно (free)

Пробуем активировать маршрутизацию, разбираемся с пакетами (бандлами), терминалом karaf, графической средой управления с web-интерфейсом hawtio.

14.02.2021    310    ksnik    0    

И тогда наверняка нас захватят облака Промо

Интеграция Бесплатно (free)

Внимание! Данный текст содержит достаточно мало технических подробностей и готовых рецептов. Главным образом некоторые размышления на предмет будущего технологий и профессий. Некое лёгкое чтение на досуге.

28.06.2019    10333    comol    36    

Практические опыты с Red Hat JBoss Middleware RED HAT JBOSS FUSE. Часть №1

Интеграция Бесплатно (free)

Задачи интеграции на солидном предприятии могут быть неочевидно сложны и многообразны. Нередко выполняется скрупулезная оценка рисков до начала разработки "на берегу". Рассмотрите эксперименты с бесплатными аналогами дорогостоящих эквивалентов систем интеграции на основе сервисной шины предприятия ESB. Они проводились на актуальной версии Centos Linux. Большим плюсом Fuse являются разнообразие решаемых задач, широкие возможности смены или доработки стратегии, технологий интеграции уже в процессе внедрения. (В скачанных дистрибутивах заготовки настроек для запуска этого ПО на Windows имеются.). В данной публикации Вы узнаете как установить и запустить сервисную шину RED HAT JBOSS FUSE.

13.02.2021    348    ksnik    0    

Архитектурное решение интеграции баз 1С с использованием брокера сообщений Rabbit MQ

Интеграция v8 1cv8.cf Бесплатно (free)

При решении задач интеграции баз данных можно использовать различные средства «транспорта» сообщений. Одним из таких механизмов является брокер сообщений «Rabbit MQ». Такие механизмы очередей сообщений удобно использовать для организации обмена между информационными системами с различной структурой данных, когда велик объем передаваемой информации и требуются гарантии успешной доставки сообщений, а также когда поддержание работоспособности иных способов передачи, например через файлы, становиться слишком трудоемким. Брокер сообщений Rabbit MQ широко описан в сети, но 1С пока не имеет штатных механизмов работы с ним, поэтому их приходится дорабатывать. Рассмотрим пример архитектуры 1С с его использованием.

12.02.2021    884    Koder_Line    1    

HTML редактор/editor (Wysiwyg) для WebKit 1С (CMS, B2B), альтернатива TinyMCE и стандартному ФорматированныйДокумент

WEB Интеграция v8 v8::УФ 1cv8.cf Бесплатно (free)

Suneditor - отличная замена HTML редактору TinyMCE (бесплатному), в публикации с открытым кодом подключим его в 1С с WebKit, скачать HTMLeditor обработку можно бесплатно.

28.12.2020    2068    SizovE    23    

Автоматизация магазина на Oracle Apex. Обзор аналога 1С Промо

Интеграция Розничная торговля Розничная торговля Бесплатно (free)

Как известно 1С - лидер в автоматизации учета в постсоветском пространстве. Есть ли достойные альтернативы (не дорогие, с возможностью конфигурирования, простые) ? Однозначно да ! Предлагаю Вашему вниманию обзор "буржуйской" технологии Oracle Apex

17.05.2013    60653    avhrst    295    

Чтение вложенных свойств Структур Структуры, Соответствий, свойства через точку, разбор JSON

Практика программирования WEB Интеграция Универсальные функции v8 Бесплатно (free)

JSON: {user.device.type} - как получить значение {type}? А если вложенность значительно глубже? Как проверить, что оно заполнено или удалить его - всё это в публикации с открытым кодом и даже без рекурсии. Бонусом разбор дерева значений - ДанныеФормыЭлементДерева, СтрокаДереваЗначений.

17.11.2020    1742    SizovE    2    

Сказ о том, как в одной крупной компании документооборот внедряли, или проблемы типовых обменов между КА и ДО

Интеграция Документоборот 2 Перенос данных из 1C8 в 1C8 v8 ДО КА2 Бесплатно (free)

Приветствую всех. Сегодня пойдет речь о том, как на одной крупной компании внедряли 1С:Документооборот 2.1 в связке с КА 2.4. Вроде бы системы типовые, мы практически не добавляли ничего в них, но проблем было столько, что я решил изложить их в статье. Может, кому-то пригодится это в дальнейшем, и не придется тратить кучу времени на поиск решений.

10.11.2020    5185    maks_20    22    

Структура обработки загрузки номенклатуры поставщика с примерами и комментариями (часть 2)

Интеграция Практика программирования v8 1cv8.cf Бесплатно (free)

В статье опишу вариант обработки для загрузки номенклатуры поставщика, блок загрузки номенклатуры и доп. реквизитов.

17.10.2020    815    malikov_pro    2    

Бесплатный GPS-трекинг Промо

Интеграция Управление персоналом (HRM) Учет рабочего времени Управление персоналом (HRM) Учет рабочего времени Бесплатно (free)

Современные технологии и возможности становятся все более доступными для широких масс и повсеместно используемыми, как для частного лица, так и для мелкого и среднего бизнеса. Так и GPS-трекинг (отслеживание в реальном времени на карте местоположения водителей, курьеров, монтажных бригад, торговых представителей, детей, собак и т.п., а также просмотр статистики по их передвижениям и остановкам), становится сейчас все более востребованным сервисом, как для домашних условий, так и для предприятия. И, если крупные фирмы (например, транспортные предприятия) подписав договора с коммерческими сервисами, оплачивая своевременно счета за устройства и абонплату, эту проблему для себя решили, то это скорее подходит для крупных корпоративных клиентов. Что делать нам, простым смертным или небольшой фирме с несколькими водителями, например? Какие есть простые, надежные и недорогие решения?

05.01.2013    49234    venger    19    

Интеграция 1С и B2B-проектов

Интеграция Бесплатно (free)

Часто у бизнеса возникает потребность предоставить крупным клиентам возможность самостоятельно оформлять заказы на B2B-портале, интегрированном с 1С. Как организовать такую интеграцию на конференции Infostart Event 2019 Inception рассказал исполнительный директор компании «Гильдия консультантов» Николай Елатонцев.

09.10.2020    2511    nelatontsev@webgk.ru    1    

Управление соляриями из 1С через Arduino

Интеграция v8 1cv8.cf Здравоохранение, медицина, стоматология УУ Бесплатно (free)

Мой опыт автоматизации сети соляриев с интеграцией 1С и оборудования соляриев с помощью платформы Arduino.

01.10.2020    2237    impextr    31    

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 4 - NoSQL (MongoDB, Redis)

Интеграция Бесплатно (free)

Если в ИТ-инфраструктуре есть NoSQL решения, с которыми требуется взаимодействовать из 1С, можем использовать прослойку на Golang в стиле RESTful

21.09.2020    4878    dmitry-irk38    11    

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 3 - ElasticSearch

Интеграция Журнал регистрации Бесплатно (free)

Как в статье №1 этого цикла выгрузим через прослойку журнал регистрации (xml формат) в ElasticSearch. Статья будет иметь практическую направленность в минималистичном стиле

14.09.2020    1574    dmitry-irk38    4    

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 2 - Docker

Интеграция Бесплатно (free)

В предыдущей статье мы создали микросервис, сейчас мы поместим его в Docker контейнер. Статья будет иметь практическую направленность в минималистичном стиле

07.09.2020    2273    dmitry-irk38    0    

Интеграция с Трелло. Готовый код

Обмен данными 1С Интеграция Agile (XP, SCRUM, Канбан) v8 Бесплатно (free)

Код основных действий, интеграция с API Трелло.

19.08.2020    3638    Yashazz    14    

Интеграции с сервером SQL. Быстро и просто

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

Решаем вопросы экспорта/импорта данных в базы отличного от 1С происхождения.

06.07.2020    2846    Infector    4    

Мониторинг факта выполнения обмена с помощью сервиса healthchecks.io

Интеграция Системное администрирование v8 1cv8.cf Россия Бесплатно (free)

В статье опишу вариант простого мониторинга обработчиков, запускаемых по расписанию.

30.06.2020    2067    malikov_pro    5    

Частые проблемы с бесшовной интеграцией документооборота

Документооборот и делопроизводство Интеграция Бесплатно (free)

Если верить популярности запросов, то самая часто встречающаяся проблема, с которой сталкиваются специалисты при таком обмене, — это возвращение изменений в исходный документ.

30.06.2020    2780    Koder_Line    3    

Как мы запилили в АЙТАТ.РФ обработку-бота, чтобы ускорить отгрузку в 2 раза или Реальный опыт внедрения нового механизма "Трансляция событий" от 1С-Коннект

Интеграция v8 Бесплатно (free)

Статья о внедрении и использовании в решениях задач нового механизма от 1С-Коннект. Будет полезно тем кто использует интеграцию 1С-Коннект с 1С Предприятие. На текущий момент механизм "Трансляция событий" находится в бета-тестировании и доступен только закрытому списку приглашенных участников. Выражаем благодарность разработчикам механизма "Трансляция событий".

24.06.2020    1982    direwest    4    

Маркировка лекарственных препаратов. Часть первая "Быстрая интеграция"

Интеграция Розничная торговля v8 1cv8.cf Фармацевтика, аптеки Россия УУ Бесплатно (free)

Данный цикл будет посвящен маркировке лекарственных препаратов (далее ЛП), нюансам работы с "1С: Библиотека интеграции с МДЛП", доступной для скачивания на сайте ИТС, методиками работы с регистраторами выбытия, и проблемам, с которыми пришлось столкнуться при интеграции. Эта статья будет представлять из себя краткую инструкцию, что делать, когда маркировка уже близко и необходимо быстро внедрить ее. Надеюсь, она станет подспорьем в данной задаче. Будут приведены рекомендации, как в короткие сроки с минимально необходимой функциональностью и минимумом чтения документации произвести интеграцию библиотеки МДЛП и выполнить начальные настройки. Также будут даны рекомендации по быстрым, но важным, на мой взгляд, доработкам.

23.06.2020    7531    IssakN    32    

Диадок. Подключаемый модуль. Отладка

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

Небольшой пример, как работать с подключаемым модулем Диадок (для изменения УПД перед выгрузкой на сайт Диадок.). Отладка подключаемого модуля, если не смогли подключить стандартную отладку.

17.06.2020    7465    John_d    10    

Как построить микросервисную инфраструктуру

Интеграция Бесплатно (free)

При росте информационных систем возникает потребность выноса определенной бизнес-логики в отдельное приложение для повышения отказоустойчивости и возможности одновременного использования этой функциональности в различных источниках. О том, как построить микросервисную инфраструктуру с использованием Apache Kafka в качестве шины данных, на конференции Infostart Event 2019 Inception рассказал разработчик группы компаний Автоград Дмитрий Маренин.

15.06.2020    8935    dmarenin    6    

1C# – 1С моей мечты

Интеграция v8 Бесплатно (free)

Встроенных в платформу 1С возможностей не всегда хватает для построения сложных интеграционных схем между различными 1С и не-1С-решениями на базе MS SQL Server. Как сделать интеграцию между SQL-базами более гибкой с помощью платформы 1С# на конференции Infostart Event 2019 Inception рассказал Дмитрий Жичкин.

01.06.2020    12150    zhichkin    36    

Обработчик "После завершения транзакции" своими руками

Практика программирования Интеграция v8::blocking Бесплатно (free)

Обработчик "Сразу после завершения транзакции" очень востребован в механизме обмена мгновенными сообщениями, развитием которого фирма 1С заинтересовались настолько, что уже создала "Сервисы интеграции". Но платформа 8.3.17 всё еще не имеет полноценного обработчика "После записи" в подписках на события.

31.05.2020    3362    barelpro    63    

Интеграция Camunda BPM и 1С

WEB Интеграция v8 Бесплатно (free)

Быстрый старт. Только практические примеры. Установка, запуск и публикация бизнес-процесса на сервере Camunda BPM. Управление бизнес-процессами из 1С при помощи Camunda REST API.

12.05.2020    4883    zhichkin    30    

Учимся готовить кроликов с редиской: опыт применения Rabbit MQ и Redis в интеграционных проектах

Производительность и оптимизация (HighLoad) Интеграция Бесплатно (free)

При построении мощных производительных отказоустойчивых решений для интеграции во всем мире активно используются технологии обработки очередей сообщений с помощью брокера RabbitMQ и кэш-сервера Redis. О практическом опыте использования этих технологий при построении ИТ-ландшафта, включающего системы на 1С, на конференции Infostart Event 2019 Inception рассказал Сергей Наумов.

12.05.2020    7154    SergeyN    3    

Как мы загружаем данные в "Центр управления кассами Магнита"

Внешние источники данных Интеграция v8 1cv8.cf Бесплатно (free)

Статья о том, как мы делали механизм загрузки больших объемов данных в "Центр управления кассами Магнита"

08.05.2020    5449    chernenko_vv    25    

Интеграция СуперОкна7 и УНФ

Интеграция Внешние источники данных v8 УНФ Россия Бесплатно (free)

Изучаем базу данных СуперОкна7, смотрим возможности передачи и получения информации.

08.05.2020    2565    vostok1.dz    3    

Синхронизация БИТ:СКУД 8 с Parsec.Net 2.5

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

Настройка синхронизации БИТ:СКУД 8 с Parsec.Net.2.5, выгрузка данных из внешней системы контроля доступа.

04.05.2020    4458    RPGrigorev    0    

Измерительная лаборатория с использованием 1С+Ардуино

Периферийные устройства Интеграция v8 Россия Бесплатно (free)

1С в автоматизации "научных" и около... экспериментов.

02.05.2020    4755    maxlab    16    

Интеграция БИТ:СКУД с типовой конфигурацией

Интеграция v8 1cv8.cf Россия Бесплатно (free)

Интеграция БИТ:СКУД с типовой конфигурацией, обновление БИТ:СКУД в составе конфигурации и отдельно. Обновление системы защиты.

26.04.2020    5685    RPGrigorev    0    

Интеграция 1С и BI-системы: мой опыт с коннектором ATK BIView

Интеграция v8 1cv8.cf Россия Бесплатно (free)

Интеграция 1С и BI-системы: мой опыт с коннектором ATK BIView.

06.04.2020    5224    Flyerink    2    

Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

Производительность и оптимизация (HighLoad) WEB Интеграция Мобильная разработка Администрирование веб-серверов v8 Бесплатно (free)

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

31.03.2020    14710    informa1555    35    

Использование таблиц SQL Server в качестве очередей сообщений

Практика программирования Интеграция v8 Бесплатно (free)

Статья о событийно-ориентированной интеграции и об асинхронной обработке данных в контексте 1C под управлением SQL Server. Подробно разбирается вопрос использования таблиц СУБД в качестве очередей сообщений.

23.03.2020    3572    zhichkin    9    

Интеграция "Библиотеки интеграции МДЛП 1.1.2.7" с типовой конфигурацией

Интеграция Конфигурирование 1С v8 Здравоохранение, медицина, стоматология Россия Бесплатно (free)

Инструкция для интеграции “Библиотеки интеграции МДЛП 1.1.2.7” в типовые конфигурации, на примере конфигурации “Управление нашей фирмой, редакция 1.6 (1.6.18.168)”.

02.03.2020    7992    RPGrigorev    3    

Бесшовная интеграция через обмен по правилам - миссия выполнима

Практика программирования Интеграция Перенос данных из 1C8 в 1C8 v8 ДО ERP2 Бесплатно (free)

При организации работы с договорами в ERP 2, с помощью бесшовной интеграции с Документооборотом, «типовой» методикой является создание договоров в ЕРП. После создания договора в ЕРП, пользователь «отправляет» договор в ДО по бесшовной интеграции. На практике, весьма часто пользователи хотят видеть обратную схему: вводить договоры в ДО и при этом получать их в ЕРП без «лишних телодвижений». Или даже вводить их независимо в обеих системах – так, чтобы потом «стыковать» по каким-то определенным правилам.

24.01.2020    5995    e-9    2    

Облачные кассы и 1С. Интеграция, которой не было

Интеграция Кассовые операции Россия Бесплатно (free)

В кейсе расскажем о сценариях работы с арендованными онлайн-кассами (облачными кассами). Приведем общую схему работы, удовлетворяющую требованиям закона. Опишем интересное нетиповое решение интеграции с 1С.

24.09.2019    9896    antonovintervolga    15    

Передача данных с сервера на клиент через WebSocket NativeAPI и Centrifugo

Интеграция v8::УФ 1cv8.cf Россия Бесплатно (free)

В статье описываю реализацию обмена для замены передачи сообщений через 1С Сервер взаимодействия.

23.09.2019    8548    malikov_pro    11    

Оповещения боту из 1С за 31 минуту

Практика программирования Интеграция v8::УФ 1cv8.cf Бесплатно (free)

Поделюсь опытом, как быстро сделать бота с оповещениями в Телеграмм из 1С без лишних затрат.

18.09.2019    18556    feva    42    

Подбор оборудования для информационных систем на платформе 1С

Интеграция Производительность и оптимизация (HighLoad) Бесплатно (free)

При подборе оборудования по рекомендациям с сайта ИТС возникает противоречие: проводить ли нагрузочные тесты, чтобы определить возможную нагрузку, или достаточно просто взять данные из таблиц статистики? О том, какую тактику применить в том или ином случае, на конференции INFOSTART EVENT 2018 Education рассказал начальник отдела разработки компании IBS Филиппов Евгений.

09.09.2019    9749    jf2000    8