Автор: PIPAGENCY
Сценарии, вебхуки и смекалка интеграторов – то, что помогает автоматизировать новые процессы в ПланФиксе. Степан Чельцов мастерски и с увлечением использует все эти инструменты и находит простые, но действенные способы решения клиентских задач.
Один из последних кейсов – нестандартный способ передачи аналитик из одних задач в другие.
Степан говорит, что с задачей пришлось «повозиться». На изыскания ушло около 8-ми часов. Но результат того стоил.
Кейс опубликован на официальном блоге ПланФикса. Администраторы и интеграторы платформы используют способ, присылают примеры решения клиентских задач.
И благодарят за удачное решение.
Решили поделиться кейсом с вами. Начнем.
В чате энтузиастов ПланФикса возникла дискуссия, где человек пытался через Интегромат отправить аналитики одной задачи в надзадачу, и у него не получалось. Меня привлекла ситуация, потому что запросы на это иногда возникали, я чувствовал возможность реализации, но руки не доходили. Итак, к барьеру.
Нам понадобятся:
Сначала подготовим вебхук:
1. Тип получаемого запроса — POST-запрос в формате JSON.
2. Получаем URL для следующего шага.
3. Создаем переменную для задачи с единственным значением. У меня это task.
4. Создаем переменную для всех аналитик с выбором всех найденных значений. У меня это massiv[*].
5. Скроллим и выбираем пункт «Изменить существующую задачу», которую найдем по инфоблоку task или где у вас номер задачи.
6. Добавим в нее комментарий, который покажет содержимое нашего запроса. У меня это две строчки — {{Инфоблок.task}} и {{Инфоблок.massiv}}.
7. Сохраняем, больше ничего не делаем, дальше продолжим.
Сценарий выглядит следующим образом:
1. Выбираем триггер запуска, у меня это кнопка процесса, у вас может быть добавление комментария или смена статуса, или заполнение полей, etc.
2. Готовим HTTP-запрос к вебхуку:
3. Сохраняем сценарий/кнопку.
Это была предварительная подготовка, потому что мы еще не знаем, какая у вас прилетит аналитика, а может и не одного вида прилетит. Разберем сначала кейс с одной аналитикой и каким-то количеством строк.
Вот пример моей аналитики. Расположил вертикально специально, чтобы считать было удобно. А считать мы будем строки:
Чтобы разобрать массив аналитик, нам понадобится понять базовую логику работы с массивами — они исчисляются с нуля, а не с единицы. Эти числа нам очень понадобятся. То есть:
Вернемся к нашему вебхуку и сделаем следующие настройки, как у меня.
Что здесь важно заметить:
Вы можете спросить, раз мы такие умные, зачем же комментарий добавляем? Ответ: потому что даже опытный разработчик потратит время на поиски своих ошибок, а они обязательно будут. Такой комментарий на этапе отладки поможет понять, а есть ли в ваших инфоблоках вообще хоть что-нибудь. И с каждым разом вы будете все увереннее разбираться, где же напортачили.
Теперь прокрутим наш вебхук и начнем добавлять аналитику как у меня.
Что здесь важно сделать:
Ремарка: если у вас есть поля типа «Запись справочника», задача подберется из списка по названию. А вот если у вас поле типа «Задача» — по названию подберется первая попавшаяся по возрастанию задача с таким названием. Потому называйте задачи уникальными названиями.
Сохраняем наш вебхук и запускаем сценарий. У меня получилось сначала вот такое:
Номер я четко увидел, массив покрутил у себя в PyCharm’e, потом вывел себе все поля для проверки самого себя, получилось уже получше:
Ну и аналитики у меня добавились корректно:
Когда закончите настройки, не забудьте удалить комментарий в задачу-приемника, это нам больше не нужно для ежедневной работы.
А теперь имитируем ситуацию, когда у вас несколько аналитик в задаче-источнике:
А вот что прилетело ко мне:
Данные добавились, но пользы мне от этого мало. Получились мусорные данные. Что же можно сделать?
В первую очередь, надо для себя уяснить, что для каждой аналитики придется делать свой вебхук, потому что вебхук не проверяет условия полученных значений, он их только устанавливает в поля. Следом важно понимать контекст событий, в которых появляется аналитика. Вы можете настроить триггер на добавление комментария, который содержит определенную аналитику:
Тогда и отправите аналитики самого комментария:
Возможно, что ваши ребята редактируют прикрепленные к задаче аналитики, их тоже можно взять отдельно. Если там всего один вид аналитик, конечно:
Практическая польза таких операций:
Если хотите глубже разбираться, приходите на мои воркшопыпо вокруг Планфикса.
И, конечно, я готов помогать консультациями по ПланФиксу всем, кто в этом нуждается.
Дата публикации: 28 окт, 2021