Обратите внимание, что сейчас есть стандартный функционал вычисления даты в виде даты.
Одному из моих клиентов понадобилось вычислить дату следующего визита автовладельца. Из данных есть только даты двух предыдущих посещений и количество километров, которые данный клиент проехал за это время. Была задача понимать, какая будет дата, когда он проедет 10 000 км.
С помощью вычисляемого поля это сделать просто. В Планфиксе есть достаточное для этого количество формул, но дата вычисляется в виде строки и это нехорошо.
Мы видим следующую дату, но система нам никак не сможет напомнить об этом. К тому же любая другая автоматика не будет работать с датой в виде строки. В ближайших планах разработчиков реализовать функцию вычисления даты нет.
Вы же знаете, что ПланФикс хорош тем, что если чего-то в нем нет, то это скорее всего можно сделать внутри ПланФикса или вне его. Автоматически и бесперебойно.
Так получилось и в этом случае.
Мне помог Integromat.
В данной статье я показываю, как можно отсылать данные в Integromat, проводить с письмом необходимые действия, возвращать это письмо в ПланФикс и средствами парсера класть нужную нам дату, но уже в виде даты, а не строки.
Вы спросите, а зачем нам какое-то стороннее средство. Опытные пользователи знают, что в целях защиты от неконтролируемого срабатывания сценариев в Планфиксе есть защита: если отправить письмо и снова его вернуть, то оно не обработается и ничего не произойдет.
Получается, что мы обходим данную защиту.
Что потребуется сделать:
- Подготавливаем сценарий для отправки шаблона письма на новый ящик gmail. Далее расскажу, почему лучше новый.
- Настраиваем Integromat, чтобы наше письмо правильно обрабатывалось и возвращалось обратно.
- Настраиваем правило разбора почты.
Подготавливаем сценарий ПланФикса для отправки письма
Исходим из того, что у нас уже есть готовый шаблон, в котором есть исходная дата, слагаемое и результат в виде готовой даты:
Мы делаем сценарий, который реагирует на изменение поля Дата2 и отправляет письмо на указанный адрес.
Почему нужно сделать отдельный адрес?
Дело в лимитах интегромата на количество действий. Интегромат будет проверять каждое новое письмо, если связывать какой-то действующий электронный адрес, и тем самым будет уменьшаться данный лимит. В случае если вам лень зарегистрировать новый ящик или нужно большее количество действий, то оформляйте платный аккаунт.
Вот так выглядит сам сценарий:
А вот так выглядит шаблон.
Можно подготовить абсолютно любой шаблон. Самое главное — выдержать в нем 3 значения:
- Какой-то тригер. В моем случае это фраза “пересчитай дату”
- Переменная с нашей датой.
- Переменная с номером задачи, чтобы парсер знал, в какую именно задачу класть данные, которые мы вернули из Интегромата.
Настраиваем Integromat
После регистрации в сервисе нужно перейти в раздел Templates и в фильтре указываем ключевое слово GMAIL.
Нам потребуется шаблон, который называется «Automatically forward new Gmail emails containing a specific word to another email address» — Автоматическая отправка емайла, который содержит ключевое слово, на другой адрес.
Необходимо выбрать его и нажать на первую иконку gmail.
В нем указываем следующие настройки:
- Связываем Интегромат с gmail/
- Как первичный фильтр указываем отправителя. В нашем случае это адрес Планфикса, с которого отправляются письма из сценария.
Следующим шагом нужно нажать кнопку фильтра и в его настройках мы указываем, что:
- Тело письма содержит фразу
- “Пересчитай дату”
Завершаем настройку сервиса:
Указываем виртуальный адрес ПланФикса, в котором будем настраивать правило разбора почты
В письме передаем ту же тему и то же содержание.
Данный шаблон делает простое, но необходимое для нас действие: он удаляет технические заголовки, по которым планфикс определяет, что ему пересылают его же письмо. Обычные почтовые сервисы при автоматической пересылке этого не делают.
Не забудьте провести тест связки с помощью кнопку Run once. И если все ок, можете включать шаблон и наслаждаться тем, как работают роботы.
Настраиваем правило разбора почты ПланФикса
В парсере мы первым делом настраиваем инфоблоки Дата и Номер задачи:
В основной операции мы определяем нашу задачу с помощью скрытого комментария:
И затем изменяем ее же, устанавливаем значение поля Дата2.
Вот и вся магия.
В результате у нас есть вычисленная дата в нужном нам формате, в котором можно производить дальнейшие операции.
Если возникнут проблемы в настройке, смело пишите в комментариях, отвечу как можно скорее и помогу в вашем вопросе.