Необычное применение вычисляемых полей

Степан Чельцов, Первый интернет-проект

Дмитрий Гончаренко: Сегодня в рубрике “Чем бы еще удивить планфиксовский народ” рассказ Степана Чельцова из агентства Первый интернет-проект, партнера и интегратора ПланФикса, о том, как встроить в одно-единственное поле задачи весь остальной интернет. Дальнейшие представления излишни, передаю слово Степану.


Степан Чельцов:

Привет!

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

Сегодня я представляю вашему вниманию применение “Вычисляемого поля” с типом результата “Строка HTML”, которое до сих пор ни в справке, ни в кейсах не фигурировало.

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

Появление типа отражения вычисляемого поля прошло очень незаметно. В моем канале “Обнаружено в ПланФиксе” запись появилась в середине августа. И первое, что приходило на ум — а давайте вставим в вычисляемое поле ссылку. Сказано – сделано. Вот как это будет выглядеть:

"<a href="+"https://YOURDOMAIN.ru/"+">Название ссылки на домен</a>"

Просто ссылкой меня и вас не успокоить, думаю, это мы и раньше могли с вами делать через обычное поле типа “Строка” и галочкой отражения как ссылки. Кстати, там появились новые опции.

Значит давайте делать необычные ссылки. Например, мой сотрудник попросил сделать возможность быстро переходить к задачам-хранилищам из любой задачи. Я быстренько собрал вот такую ссылку:

"<a href="+"https://poravinternet.planfix.ru/?action=tasks&amp;filter=2034688&amp;project="+{{Задача.Проект.Идентификатор}}+">Доступы проекта</a>"

Обратите внимание, что тут уже становится интересно. Идентификатор вычисляется в задаче сам, в каждом проекте ссылка будет своя и уникальная. А цифровых параметры — это id фильтра, которые можно выудить из строки браузера, когда в проекте играете фильтрами под названием проекта.

Аппетит приходит во время еды. Я захотел что-то этакое.. ТАБЛИЦА!

Сказано — сделано, и получился первый неработающий пример:

<table border="1">
   <caption>Таблица размеров обуви</caption>
   <tr>
    <th>Россия</th>
    <th>Великобритания</th>
    <th>Европа</th>
    <th>Длина ступни, см</th>
   </tr>
   <tr><td>34,5</td><td>3,5</td><td>36</td><td>23</td></tr>
  </table>

Оказалось, что надо разобраться с небольшими деталями оформления, и теперь табличка становится красивой:

'<table border='+'"1"'+'>
   <caption>Таблица размеров обуви</caption>
   <tr>
    <th>Россия</th>
    <th>Великобритания</th>
    <th>Европа</th><th>Длина ступни, см</th>
    </tr>
    <tr><td>34,5</td><td>3,5</td><td>36</td><td>23</td></tr>
</table>'

Результат:

Таблица в текстовом поле задачи ПланФикса
кликните для увеличения

Обратите внимание, что цифра “1” в своих кавычках была, и ее пришлось окружить апострофами. Из-за этого пришлось добавить “+”, иначе конструкция не собирается. Можно и просто ‘”1″‘ сделать, но так не очень понятно, что мы делаем.

Раз уж мы уже научились делать умные ссылки и таблицы, что нас теперь остановит?

'<table border='+'"1"'+'>
  <caption>Проектная команда</caption>
  <tr><th>Фактическое время</th>
  <th>Исполнитель</th>
  <th>Заказчик</th>
  <th>Проект</th>
 </tr>
 <tr><td>'+{{Задача.⚒ Факт}}+'</td>
  <td>'+{{Задача.Исполнитель.ФИО}}+'</td>
  <td>'+{{Задача.Постановщик.ФИО}}+'</td>
  <td>'+{{Задача.Проект.Название}}+'</td>
</table>'

Результат:

Микроотчет в текстовом поле задачи ПланФикса
кликните для увеличения

Табличка красивая, но душа просит полета. Что же нам еще можно сделать необычного? Давайте сделаем в этой таблице микроотчет!

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

'<table border='+'"1"'+'>
<caption>Проектная команда</caption>
 <tr>
    <th>Фактическое время задачи</th>
    <th>Фактическое время месяца</th>
    <th>Лимит месяца</th>
    <th>Осталось на проект</th>
    <th>Доступы на проект</th>
    <th>Исполнитель</th>
    <th>Заказчик</th>
    <th>Проект</th>
  </tr><tr>
    <td>'+{{Задача.⚒ Факт}}+'</td>
    <td>'+{{Задача.Надзадача."Ф.месяца"}}+'</td>
    <td>'+{{Задача.Проект.Лимит}}+'</td>
    <td>'+({{Задача.Проект.Лимит}}-{{Задача.Надзадача."Ф.месяца"}})+'</td>
    <td>'+"<a href="+"https://poravinternet.planfix.ru/?action=tasks&amp;filter=2034688&amp;project="+{{Задача.Проект.Идентификатор}}+">Доступы проекта</a>"+'</td>
    <td>'+{{Задача.Исполнитель.ФИО}}+'</td>
    <td>'+{{Задача.Постановщик.ФИО}}+'</td>
    <td>'+{{Задача.Проект.Название}}+'</td>
</table>'

Результат:

Сводные данные по работе команды в задаче

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

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

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

"<table border="+'"1"'+">
  <caption>Проектная команда</caption>
  <tr>
    <td>Фактическое время задачи</td>
    <td>Фактическое время месяца</td>
    <td>Лимит месяца</td>
    <td>Осталось на проект</td>
    <td>Доступы на проект</td>
    <td>Исполнитель</td>
    <td>Заказчик</td>
    <td>Проект</td>
 </tr><tr>
    <td>"+{{Задача.⚒ Факт}}+"</td>
    <td>"+{{Задача.Надзадача."Ф.месяца"}}+"</td>
    <td>"+{{Задача.Проект.Лимит}}+"</td>
    <td>"+({{Задача.Проект.Лимит}}-{{Задача.Надзадача."Ф.месяца"}})+"</td>
    <td>"+"<a href="+"https://poravinternet.planfix.ru/?action=tasks&amp;filter=2034688&amp;project="+{{Задача.Проект.Идентификатор}}+">Доступы проекта</a>"+"</td>
  <td>"+{{Задача.Исполнитель.ФИО}}+"</td>
  <td>"+{{Задача.Постановщик.ФИО}}+"</td>
  <td>"+{{Задача.Проект.Название}}+"</td>
</table>"+"<table border="+'"1"'+">
  <caption>Быстрые ссылки для SEO-аналитика</caption>
  <tr>
    <td>"+"<a href="+"https://metrika.yandex.ru/list"+">Я.Метрика</a>"+"</td>
    <td>"+"<a href="+"https://analytics.google.com/analytics/web/#"+">Аналитикс</a>"+"</td>
    <td>"+"<a href="+"https://webmaster.yandex.ru/sites/?hostnameFilter=&amp;page=1"+">Я.Вебмастер</a>"+"</td>
    <td>"+"<a href="+"https://search.google.com"+">Search Console</a>"+"</td>
  </tr>
</table>"

И вот как это выглядит:

Публьт управления в вычисляемом поле задачи ПланФикса
кликните для увеличения

Но когда ты почувствовал власть, хочешь проверить ее границы и.. их практически нет! Безграничная власть!

И решили мы все это дело оформить красиво:

"<table cellspacing="+'"5"'+" cellpadding="+'"10"'+"><tbody>
<tr>
  <th align="+'"center"'+" bgcolor="+'"#a6d6ff"'+" color="+'"#ffffff"'+" colspan="+'"4"'+" height="+'"30"'+">Cheltsov.ru</th>
  <th align="+'"center"'+" bgcolor="+'"#a6d6ff"'+" colspan="+'"2"'+" height="+'"30"'+"><a href="+'"#"'+">Доступы</a></th></tr>
  <tr><th align="+'"center"'+" bgcolor="+'"#a6d6ff"'+" colspan="+'"2"'+" height="+'"30"'+" rowspan="+'"2"'+" width="+'"200"'+">Время</th>
  <th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Фактическое время задачи</th>
  <th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Фактическое время месяца</th>
  <th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Осталось на проект</th>
  <th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Лимит месяца</th>
  </tr>
  <tr>
    <td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">14 ч. 50 мин.</td>
    <td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">90 ч. 30 мин.</td>
    <td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">10 ч. 10 мин.</td>
    <td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">0</td>
  </tr>
  <tr>
  <th align="+'"center"'+" bgcolor="+'"#a6d6ff"'+" colspan="+'"2"'+" height="+'"30"'+" rowspan="+'"2"'+" width="+'"200"'+">Участники</th>
  <th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Постановщик</th><th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Исполнители</th>
  <th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Аудиторы</th><th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Заказчик</th>
  </tr>
  <tr>
    <td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Степан Чельцов</td>
    <td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Степан Чельцов</td>
    <td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Степан Чельцов</td>
    <td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Степан Чельцов</td>
  </tr>
</tbody>
</table>"

Скрин:

Красивая таблица в вычисляемом поле задачи ПланФикса
кликните для увеличения

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

Для старта давайте попробуем вытащить сюда запись справочника с информацией. У меня есть такой справочник с инструкциями для сотрудников моих клиентов. И там много скриншотов на все случаи жизни. Выведем дом.поле в шаблоне задачи по типу “Запись справочника” и укажем в задаче очередную запись. А в нашем поле укажем, что выводим “Описание”:

Справочная информация в поле задачи ПланФикса
кликните для увеличения

А я всего лишь добавил в нашем поле строчку:
+{{Задача.Инструкция.Описание}}

Фантазия начинает горячиться и мы вдруг начинаем понимать, что самое время вспомнить причину появления поле — возможность применять условия в самом поле. И тут мир начинает стремительно ускоряться, барабанная дробь и.. мы начинаем понимать, что в зависимости от самых разных значений в полях задачи, Контрагента, Проекта и даже записей справочника, мы можем менять значение этого поля.

Допустим, что мы с вами привяжем к Статусу набор инструкций, которые должен соблюдать сотрудник. А при переходе на статус уже глубокой проработки проекта, вам могут понадобиться формы авторизации в сторонних сервисах и быстром переходе между функциональными разделами вашего ПланФикса. При хорошей степени продуманности ваших процессов, все это можно заложить в логику вычисляемого поля и оно будет подстраиваться под ваши нужды. Для простоты понимания, я записал короткое, но наглядное видео.

Вот как работает поле из этого видео:

если({{Задача.Статус}}="Раз";
"<table border="+'"1"'+"><caption>Таблица размеров обуви</caption><tr><th>Россия</th><th>Великобритания</th><th>Европа</th><th>Длина ступни, см</th></tr><tr><td>34,5</td><td>3,5</td><td>36</td><td>23</td></tr></table>";если({{Задача.Статус}}="Два";"<table border="+'"1"'+"><caption>Проектная команда</caption><tr><th>Фактическое время</th><th>Исполнитель</th><th>Заказчик</th><th>Проект</th></tr><tr><td>"+{{Задача.⚒ Факт}}+"</td><td>"+{{Задача.Исполнитель.ФИО}}+"</td><td>"+{{Задача.Постановщик.ФИО}}+"</td><td>"+{{Задача.Проект.Название}}+"</td></table>";если({{Задача.Статус}}="Три";"<table border="+'"1"'+"><caption>Проектная команда</caption><tr><th>Фактическое время задачи</th><th>Фактическое время месяца</th><th>Лимит месяца</th><th>Осталось на проект</th><th>Доступы на проект</th><th>Исполнитель</th><th>Заказчик</th><th>Проект</th></tr><tr><td>"+{{Задача.⚒ Факт}}+"</td><td>"+{{Задача.Надзадача."Ф.месяца"}}+"</td><td>"+{{Задача.Проект.Лимит}}+"</td><td>"+({{Задача.Проект.Лимит}}-{{Задача.Надзадача."Ф.месяца"}})+"</td><td>"+"<a href="+"https://poravinternet.planfix.ru/?action=tasks&amp;filter=2034688&amp;project="+{{Задача.Проект.Идентификатор}}+">Доступы проекта</a>"+"</td><td>"+{{Задача.Исполнитель.ФИО}}+"</td><td>"+{{Задача.Постановщик.ФИО}}+"</td><td>"+{{Задача.Проект.Название}}+"</td></table>";если({{Задача.Статус}}="Четыре";"<table cellspacing="+'"5"'+" cellpadding="+'"10"'+"><tbody><tr><th align="+'"center"'+" bgcolor="+'"#a6d6ff"'+" color="+'"#ffffff"'+" colspan="+'"4"'+" height="+'"30"'+">cheltsov.ru (разработка)</th><th align="+'"center"'+" bgcolor="+'"#a6d6ff"'+" colspan="+'"2"'+" height="+'"30"'+"><a href="+'"#"'+">Доступы</a></th></tr><tr><th align="+'"center"'+" bgcolor="+'"#a6d6ff"'+" colspan="+'"2"'+" height="+'"30"'+" rowspan="+'"2"'+" width="+'"200"'+">Время</th><th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Фактическое время задачи</th><th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Фактическое время месяца</th><th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Осталось на проект</th><th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Лимит месяца</th></tr><tr><td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">14 ч. 50 мин.</td><td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">90 ч. 30 мин.</td><td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">10 ч. 10 мин.</td><td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">0</td></tr><tr><th align="+'"center"'+" bgcolor="+'"#a6d6ff"'+" colspan="+'"2"'+" height="+'"30"'+" rowspan="+'"2"'+" width="+'"200"'+">Участники</th><th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Постановщик</th><th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Исполнители</th><th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Аудиторы</th><th align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Заказчик</th></tr><tr><td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Степан Чельцов</td><td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Степан Чельцов</td><td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Степан Чельцов</td><td align="+'"center"'+" bgcolor="+'"d0e9ff"'+" height="+'"30"'+">Степан Чельцов</td></tr></tbody></table>";если({{Задача.Статус}}="Пять";"<iframe width="+'"800"'+" height="+'"400"'+" src="+{{Задача.🔗 Ссылка на материал}}+" name="+'"iframe"'+" scrolling="+'"auto"'+"> </iframe>"+"<table border="+'"1"'+"><caption>Быстрые ссылки для SEO-анализа</caption><tr><td>"+"<a href="+"https://metrika.yandex.ru/list"+">Я.Метрика</a>"+"</td><td>"+"<a href="+"https://analytics.google.com/analytics/web/#"+">Аналитикс</a>"+"</td><td>"+"<a href="+"https://webmaster.yandex.ru/sites/?hostnameFilter=&amp;page=1"+">Я.Вебмастер</a>"+"</td><td>"+"<a href="+"https://search.google.com"+">Search Console</a>"+"</td></tr></table>";
"Все, идите творить чудеса")))))

На самом деле, это практически неисчерпаемый набор возможностей, которые таятся внутри ПланФикса. Вам надо только вспомнить, что Вычисляемые поля у нас есть в Аналитиках, появятся в Карточках контактов, Проектах и даже в Справочниках однажды появятся. Мы можем собирать таблицы из таблиц. Можем строить сложные интерфейсы внутри задачи и помогать себе и коллегам работать на невероятных скоростях, просто сокращая количество кликов. Больше не надо заботиться о наглядности. Мы всегда знаем, что функционал у нас нагляден. Что мы можем использовать ссылки, вешать на них GET-параметры и UTM-метки для отслеживания ситуации по активностям внутри своего аккаунта. И многое-многое другое.

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

Пользуясь случаем, у меня 2 объявления.

Во-первых, приглашаю всех заинтересованных на свои курсы пользования ПланФиксом. Старт 13 января.

Первый курс — базовый.
На нем каждый участник получает практические навыки пользования интерфейсом ПланФикса без прав Администратора. Все то, о чем так часто спрашивают в чатах и на консультациях стало основой для разработки максимально емкого и понятного тренинга на 10 дней, в результате которого люди перестают бояться нажимать на кнопки, переходить по ссылкам и знают, как формулировать свои запросы к администратору аккаунта, чтобы их жизнь стала значительно удобнее. Но даже и без этого у обычного пользователя очень много возможностей.

Второй курс — продвинутый.
Этот курс разработан для тех, к кому придут курсанты с первого курса =) Потому курсантам “Продвинутого курса” предстоит стать настоящими продвинутыми пользователями системы, знать логику и принципы построения процессов, стать мастерами настройки нашего любимого ПланФикса.

Партнерский курс не рекламирую, но там я учу больше навыкам работы с Заказчиками. На него допускаются только те, кто прошли Продвинутый курс и могут пройти входное тестирование со мной. А после прохождения курсант сможет без труда пройти и тестирование в ПланФиксе. Это самый сложный курс, отбираю курсантов с пристрастием.

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

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

Во-вторых, приглашаю всех на бизнес-завтрак “Польза” 18 декабря 2019 года в Москве.

Я буду 2 часа рассказывать о том, как же заниматься бизнесом с удовольствием, прорываясь через проблемы и ненастья. И расскажу, почему ПланФикс к этому причастен напрямую.

Регистрация здесь.

✅Тема: «Управляемый хаос, или почему вы все равно должны изобрести велосипед в своем бизнесе»

💪Вы узнаете:
✔️В чем отличие хаоса управляемого от обычного
✔️Что такое “ролевые модели” в бизнесе
✔️Как на самом деле происходит масштабирование и рост компании, и что с этим делать
✔️Почему важны гибкие инструменты управления
✔️Как именно надо держать руку на пульсе изменений в своем бизнесе
✔️Почему важно именно заниматься процессами компании

🗓Дата: 18 декабря

📍Адрес: ул. Киевская, 7. Ресторан CQ Cafe


Дмитрий Гончаренко: На завтрак я бы и сам сходил послушал, но далеко лететь. Так что если будет запись, с удовольствием потом сам посмотрю и вам покажу.

Вообще я думаю, что среди наших пользователей есть множество людей, которым есть что рассказать про использование ПланФикс в разных бизнес-ситуациях. Просто многие рассуждают так: “Да что я, все ж обычно, ничего интересного – просто работаем и все”. Но вот именно такие “просто рабочие” истории очень интересны читателям нашего блога. Поэтому я бы с удовольствием опубликовал ваши рассказы в текстовом или видео-формате о том, как устроена ваша работа в ПланФиксе. Мы приближаемся к затяжным выходным, так что если у вас выдастся время и настроение — поделитесь своим опытом, это будет для всех очень полезно.

Дмитрий Гончаренко, Команда ПланФикса

33 комментария

    1. Аватар

      С div’ами, кстати, полная засада. Количество экранируемого в кавычки заполоняет все мыслимое пространство, что в переписке с Демиургами возникло опасение, что слишком большой объем может не сохраниться.

      Потому таблицы победили. При прочих равных, они короче по оформлению и проще для освоения.

      P.S. А сервисы прикольные =)

      1. Аватар

        А почему вы не использовали инлайновый стиль с помощью тега style в начале таблицы? Или этот тип строки воспринимает аргументы строго своего html тега, а универсальные и тег style строка обработать не может? Извините за вопрос. Читаю статью с телефона, самой потестить код в ближайшее время не будет возможности.

        1. Аватар

          Специально пошёл проверять только инлайновые оформление, подозревая возможные ограничения со стороны Платформы.

          Дойдут руки, попробую, расширять это направление работы точно буду.

    1. Аватар

      Да, схема такая:
      Проект, шаблон проекта
      Подпроект, шаблон подпроекта
      Задача в корне, шаблон Процесс проекта
      Задача в корне, шаблон месяца
      Подзадачи разных шаблонов
      – оплата счета
      – выполнение задач
      Задача в корне проекта, Шаблон Хранилища
      Задача в корне, шаблон Договора
      Задачи прочие, какие только нельзя вместить в месяц.

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

      Спрашивайте детальнее, расскажу.

      1. Аватар

        да, если не затруднит детальнее интересует момент создания подзадачи на “- выполнение задач”. Она попадает в структуру вручную (сверху вниз или принудительным указанием родительской задачи), либо ее родительская задача формируется в конце месяца? Поясню, идея тоже в группировке выполняемых задач в теч. месяца в надзадачу для формирования отчетности и выставления счетов. Но поскольку работа в поле, приходится работать с мобильным. А это значит что желательно быстрое заполнение только одного поля – названия задачи. Так вот сейчас ищу варианты как их группировать с наименьшими затратами а лучше автоматически. Пока что прорабатываю идею подобия хэштэгов в названии для последующего их использования в сценариях для заполнения. Поэтому и зацепил глазами этот Ваш абзац очень актуальный теперь

        1. Аватар

          У меня не стоит проблемы быстрой постановки задачи, потому тут мои комментарии не очень полезны будут. Все задачи по проектам продумываются максимально подробно, так как являются частью системы генерации РИД (результат интеллектуальной деятельности), что стало важно в последние дни.

          Менеджеры ставят задачи изи сначала как чек-лист и потом превращают их в задачи. Или в ходе переписки в задаче Месяца появляются некие пункты, которые опять же становятся чек-листами или задачами через “Создать задачу+”. И уже вручную указываются надзадачи.

          Можно экономить время по вашему кейсу, если соблюдать указанную мной иерархию. Тогда создавать задачи можно сразу из поля “Создать” в списке задач в корне сайта. А дальше сценарием ловить, что задача создана, нет надзадач, и тогда выбрать Надзадачей в одном проекте с этой по шаблону месяца.

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

            1. Аватар

              Игорь, я тут еще подумал по вашему кейсу.

              Ведь выезд в поля – это работа по задаче? Что если вашим ребятам выйти в режим, чтобы писать комментарий, ставить хэштег #task или что-то такое, и тогда сценарий, получая такой комментарий, сделает из него подзадачу к этой задаче. И пусть сотрудник пишет комментарий как задачу, осознанности будет больше.

              А если тега нет, то и подзадачи не будет.

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

    1. Аватар

      Курсы выходят на периодичность и сейчас я отрабатываю формат “Марафона”, чтобы за 10 дней интенсива дать максимум. Планирую, что раз в квартал будет идти сессия.

      Для базового Марафон уже стал слишком сложной историей, люди не готовы так интенсивно погружаться, потому скорее всего превращу это в 1-2 занятия в неделю и растяну на 2 месяца, не считая выездных интенсивов на корп.заказ.

      А по продвинутому пока сохраняю надежду, что интенсивность только на пользу. По сравнению с прошедшим курсом, на новый уже появляются новые темы и новые подходы. Я поставил себе цель вырабатывать конкретные навыки у курсантов, потому сменилась подача. И всем выпускникам прежних курсов дам билет в новый курс, чтобы закреплять навыки.

      Так как курс в целом штука трудоемкая, я подумываю про запись видео + семинары, тогда смогу более индивидуально работать и не бубнить одно и тоже по несколько раз.

  1. Аватар

    Очень круто.
    Формат <a href="+"https://poravinternet.planfix.ru/?action=tasks&filter=2034688… опять напомнило мне о идее передачи параметров фильтра, допустим, таким образом (прямо из заказа клиента по ссылке переходить):
    – Показать все заказы клиента
    – Показать все обращения клиента
    – Показать все обращения клиента с меткой такой то
    итд.
    Но мне ответили, что такого нет и не планируется.

    1. Аватар

      Такую штуку можно сделать через get-параметры, надо только ссылку правильно собрать. Как минимум, можно отчёты так делать.

      ПФ точно не сделают, есть же фильтры для этого.

  2. Аватар

    Друзья, мне в личку упало несколько вопросов на одинаковую тему – примеры из поста не удается копипастить. Отвечаю сразу всем.

    В посте мы действительно красоты ради привели все к структурированном виду, но на самом деле надо все вставлять без переносов и пробелов. Так устроен интерпретатор Планфикса.

    Ниже привожу правильные блоки для копипаста:
    Первый:
    ‘Таблица размеров обувиРоссияВеликобританияЕвропаДлина ступни, см34,53,53623’

    Второй:
    ‘Проектная командаФактическое времяИсполнительЗаказчикПроект’+{{Задача.⚒ Факт}}+”+{{Задача.Исполнитель.ФИО}}+”+{{Задача.Постановщик.ФИО}}+”+{{Задача.Проект.Название}}+”

    Третий:
    ‘Проектная командаФактическое время задачиФактическое время месяцаЛимит месяцаОсталось на проектДоступы на проектИсполнительЗаказчикПроект’+{{Задача.⚒ Факт}}+”+{{Задача.Надзадача.”Ф.месяца”}}+”+{{Задача.Проект.Лимит}}+”+({{Задача.Проект.Лимит}}-{{Задача.Надзадача.”Ф.месяца”}})+”+”Доступы проекта“+”+{{Задача.Исполнитель.ФИО}}+”+{{Задача.Постановщик.ФИО}}+”+{{Задача.Проект.Название}}+”

    Четвертый:
    “Проектная командаФактическое время задачиФактическое время месяцаЛимит месяцаОсталось на проектДоступы на проектИсполнительЗаказчикПроект”+{{Задача.⚒ Факт}}+””+{{Задача.Надзадача.”Ф.месяца”}}+””+{{Задача.Проект.Лимит}}+””+({{Задача.Проект.Лимит}}-{{Задача.Надзадача.”Ф.месяца”}})+””+”Доступы проекта“+””+{{Задача.Исполнитель.ФИО}}+””+{{Задача.Постановщик.ФИО}}+””+{{Задача.Проект.Название}}+””+”Быстрые ссылки для SEO-аналитика”+”Я.Метрика“+””+”Аналитикс“+””+”Я.Вебмастер“+””+”Search Console“+””

    Пятый:
    “Cheltsov.ruДоступыВремяФактическое время задачиФактическое время месяцаОсталось на проектЛимит месяца14 ч. 50 мин.90 ч. 30 мин.10 ч. 10 мин.0УчастникиПостановщикИсполнителиАудиторыЗаказчикСтепан ЧельцовСтепан ЧельцовСтепан ЧельцовСтепан Чельцов”

    Шестой:
    если({{Задача.Статус}}=”Раз”;”Таблица размеров обувиРоссияВеликобританияЕвропаДлина ступни, см34,53,53623″;если({{Задача.Статус}}=”Два”;”Проектная командаФактическое времяИсполнительЗаказчикПроект”+{{Задача.⚒ Факт}}+””+{{Задача.Исполнитель.ФИО}}+””+{{Задача.Постановщик.ФИО}}+””+{{Задача.Проект.Название}}+””;если({{Задача.Статус}}=”Три”;”Проектная командаФактическое время задачиФактическое время месяцаЛимит месяцаОсталось на проектДоступы на проектИсполнительЗаказчикПроект”+{{Задача.⚒ Факт}}+””+{{Задача.Надзадача.”Ф.месяца”}}+””+{{Задача.Проект.Лимит}}+””+({{Задача.Проект.Лимит}}-{{Задача.Надзадача.”Ф.месяца”}})+””+”Доступы проекта“+””+{{Задача.Исполнитель.ФИО}}+””+{{Задача.Постановщик.ФИО}}+””+{{Задача.Проект.Название}}+””;если({{Задача.Статус}}=”Четыре”;”cheltsov.ru (разработка)ДоступыВремяФактическое время задачиФактическое время месяцаОсталось на проектЛимит месяца14 ч. 50 мин.90 ч. 30 мин.10 ч. 10 мин.0УчастникиПостановщикИсполнителиАудиторыЗаказчикСтепан ЧельцовСтепан ЧельцовСтепан ЧельцовСтепан Чельцов”;если({{Задача.Статус}}=”Пять”;” “+”Быстрые ссылки для SEO-анализа”+”Я.Метрика“+””+”Аналитикс“+””+”Я.Вебмастер“+””+”Search Console“+””;”Все, идите творить чудеса”)))))

  3. Аватар

    Степан, добрый день. Помогите, пожалуйста, разобраться:
    Доступы проекта
    Где подробнее про это можно почитать/узнать. Мне нужно сделать такой фильтр для отображения подзадач, созданных по определённому шаблону у текущей подзадачи.

      1. Аватар

        Спасибо, Степан. А как сделать, чтобы фильтр менялся от текущей задачи – у Вас ведь в фильтр идентификатор проекта динамически добавляется – {{Задача.Проект.Идентификатор}}?

          1. Аватар

            Степан, простите за непонимание, Вы не могли бы показать, как сам фильтр устроен – всё, что в строку браузера после “tasks&filter=6797094” роли не играет…

            1. Аватар

              Извиняюсь, что долго отвечал.

              Сам фильтр настроен просто на отбор задач по определенному шаблону, там нет ничего хитрого.

              А вот с вашим тезисом, что после “filter=” не соглашусь, потому что у меня все так и устроено:
              https://YOURACCOUNT.planfix.ru/?action=tasks&filter=111111&project=222222

              Так один простой фильтр применяется к любому проекту. Ссылка формируется уже в Вычисляемом поле через Идентификатор проекта.

Добавить комментарий