Почему дата не выводится в календаре и на таймлайне?

«Почему дата не выводится в календаре и на таймлайне?» – вопрос, который часто возникает у тех, кто только приступил к изучению формул Notion.

Проблема

Вы написали формулу Notion, которая подсчитывает дату окончания, если указан срок выполнения.

/* https://notionformulas.chumakova.ru */if(
	!empty(prop("Дней на выполнение")),
	dateAdd(prop("Дата начала"), toNumber(prop("Дней на выполнение")), "days"),
	""
)
/* https://notionformulas.chumakova.ru */(!prop("Дней на выполнение").empty()).if(
	prop("Дата начала").dateAdd(prop("Дней на выполнение").toNumber(), "days"),
	""
)

В этой формуле Notion используются: if, ! (not), empty, dateAdd, prop, toNumber.

Почему дата не выводится в календаре и на таймлайне
Формула, подсчитывающая дату окончания

Однако когда вы попытались вывести полученную дату окончания в календаре (Calendar view) и на диаграмме Ганта (Timeline view), обнаружили, что свойство с формулой отсутствует в списке.

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

Использованная вами функция dateAdd возвращает тип данных Date. Почему же тогда дата не может быть использована в календаре и на таймлайне?

Хотите чувствовать себя в Notion как рыба в воде?

Подпишитесь на канал автора сайта «Формулы Notion 2.0» с обзорами новых функций, советами начинающим и продвинутым пользователям, шаблонами, видеоуроками и эксклюзивными формулами! Перейти

Причина

Откройте окно ввода формулы. Нажмите на иконку с глазом (Show details). В строке состояния отобразится тип данных, возвращаемый формулой, – Unknown.

Почему дата не выводится в календаре и на таймлайне
Формула возвращает тип данных Unknown

Это означает, что разные ветки формулы возвращают разные типы данных. Так, первая ветка с использованием функции dateAdd возвращает тип данных Date, а вторая, выводящая пустое значение, – тип данных Text.

25 формул Notion на каждый день

Бесплатный шаблон для Notion с подборкой из 25 востребованных формул от автора сайта «Формулы Notion 2.0». Перейти

Решение

Чтобы свойство с формулой было доступно в списке, нужно, чтобы обе ветки формулы возвращали тип данных Date. Следовательно, нужно преобразовать пустое значение в дату.

Приведение пустого значения к дате

/* https://notionformulas.chumakova.ru */fromTimestamp(toNumber(""))
/* https://notionformulas.chumakova.ru */"".toNumber().fromTimestamp()
Формула Notion 2.0 «Приведение пустого значения к дате»

В этой формуле используются: fromTimestamp, toNumber.

Переписываем исходную формулу.

/* https://notionformulas.chumakova.ru */if(
	!empty(prop("Дней на выполнение")),
	dateAdd(prop("Дата начала"), toNumber(prop("Дней на выполнение")), "days"),
	fromTimestamp(toNumber(""))
)
/* https://notionformulas.chumakova.ru */(!prop("Дней на выполнение").empty()).if(
	prop("Дата начала").dateAdd(prop("Дней на выполнение").toNumber(), "days"),
	"".toNumber().fromTimestamp()
)

В этой формуле Notion используются: if, ! (not), empty, dateAdd, prop, toNumber, fromTimestamp.

Видим, что тип данных, возвращаемый формулой, поменялся с Unknown на Date.

Почему дата не выводится в календаре и на таймлайне
Формула возвращает тип данных Date

Теперь дату, полученную с помощью формулы, можно вывести в календаре и на таймлайне.

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