Вижу баг!
Нашли баг или ошибку на странице? Сообщите об этом — обязательно исправим!

Испытай PRO!

Подписка PRO на первую неделю со скидкой 50%

Попробовать

Микроблоги пользователей

HTD (how to do?) — это персональные микроблоги участников сообщества Cre.codes для совместного решения различных задач в области no-code, и в том числе при работе с редактором Creatium, сервисами Make, Integromat, Airtable, Google Sheets и т.д.

avatar
@
1
277

Все чаще и чаще работаю с датами в формате UNIX, это тот формат времени, где дата указана в секундах или в милисекундах, начиная от 1970 года.

Этот формат даты удобен тем, что передается как число, а следовательно с таким форматом можно выполнять различные математические преобразования.

Самый часто используемый — фильтр, который смотрит не только на факт содержания, но и может показать дату в определенном диапазоне, больше/меньше или равно.

Но работая с таким форматом, я заметил одну особенность, которая заключается в том, что большинство сервисов интеграторов, таких как Make отдают дату в формате UNIX до секунд, в то время как Creatium воспринимает время только в милесекундах, т.е. добавляет в конец 1000, а точнее три нуля.

now() = 1662542661000

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

В данной формуле достаточно заменить now() на нужную переменную в UNIX формате, и дата будет переведена в читаемый формат, но только если она соответсвуют правилам Creatium = 13 символов. А как мы уже разобрали ранее — в стандартном варианте последних трех нулей нет.

Как их добавить?
1. В сервисе интеграторе при записи данных в БД пропишите добавление 000 в конце.
2. Прямо в формуле (мне кажется это удобнее)

Как добавить в формулу?

Используйте вашу переменную table.current.f2 добавьте к ней как к строке, а не как к числу три нуля & "000" и оберните потом это все в функцию перевода строки в число toNumber()

Готовая конструкцию будет выглядеть так:
toNumber(table.current.f2 & "000")



Также иногда есть необходимость выводить данные с добавлением какого-то периода, например добавить 1 день, или 1 месяц или 1 год.
Шпаргалка ниже + по ссылке https://cre.codes/html


Также оставлю тут шпаргалку с датами в UNIX формате:

Обычная дата (Human readable time) — Секунды
1 минута — 60 секунд
1 час — 3600 секунд
1 день — 86400 секунд
1 неделя — 604800 секунд
1 месяц (30.44 дней)  — 2629743 секунд
1 год (365.24 дней)  —  31556926 секунд

Не забываем везде добавлять 000 =)

2
61

Q&A

Вопрос

Всю голову сломал, как уйти от результата "делить на 0 нельзя" . Проблема в том что вот это count(filter(map(tasks.rows, item.f43), item == table.current.title)) * 100 РАВНО 0

Есть БД , в ней 20 проектов, по каждому нужно выводить % прогресса. Считаю по формуле: количество выполненных задач внутри проекта / Общее количество задач проекта. Проблема, что в некоторых проектах 0 задач вообще.


Решение

Сделайте условие если ноль, то выводить ноль, а затем уже делите выполненное на общее

0
64

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

Вот список обновлений, которые планируются:

  1. Обновленный дизайн всех разделов;
  2. Смена темы оформления на светлую и темную, как в автоматическом, так и в ручном режиме;
  3. Дополнительные виджеты и компоненты в библиотеке;
  4. Наполнение бесплатными курсами;
  5. Готовые сценарии и интеграции;
  6. Форум (придет на смену блога "HTD");
  7. Регулярные прямые эфиры с экспертами в разных областях.
  8. Систему безопасной сделки для биржи
  9. Улучшенные условия подписки.

Оцените обновление уже сегодня, на примере главной страницы.
Пишите свое мнение в комментариях к данному посту.

0
37

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

Техническую часть полностью реализовал, за исключением автоматических платежей. Теперь остались практические вопросы:

  1. Стоимость подписки?
  2. Что входит в подписку?
  3. Нужно ли делать две разные подписки? Или оставить одну?
  4. Автопродление подписки (надо доделать интеграцию)
  5. Дублирование подписки на разных сайтах

Следовательно я предлагаю данные вопросы обсудить в комментариях.

3
59

В проекте Cre.codes предусмотрена биржа заказов. Биржа заказов — это место встречи Фрилансеров и Заказчиков.

Биржа должна стать основным агрегатором заказов и предложений в сфере дизайна сайтов, приложений, разработки, верстки и в целом направлению no-code.

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

Логика работы биржы

Роли:

На бирже предусмотрено две базовые роли пользователей:
— Фрилансер;
— Заказчик.

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

Публикация заказа:

Любой авторизованный пользователь может разместить заказ на бирже, при создании заказа необходимо указать следующую информацию:
— Название заказа;
— Описание заказа;
— Срок дедлайна;
— Сумму вознаграждения;
— Категорию (на выбор из списка).

После публикации бот отправляет уведомление в группу: https://t.me/crecode_stock

Отклик на заказ:

Пользователь с настройками профиля "Фрилансер" может откликнуться на заказ.
При отклике указывается:
— Текст отклика;
— Дата готовности;
— Сумма вознаграждения (по умолчанию равна сумме заказа).

Откликаться при этом на заказ можно только один раз.
Корректировка отклика (редактирование) не предусмотрено.

Отклики на заказ глазами заказчика:

Заказчик видит список всех поступивших откликов. Сортировка идет от новых к старым.
Информация, которая видна заказчику в откликах:
— Кто откликнулся;
— Текст отклика;
— Срок исполнения;
— Цена отклика.

Выбор исполнителя:

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

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

Рабочая область по заказу:

После выбора исполнителя заказчиком, выбранному исполнителю направляется уведомление на почту и в телеграм о создании такой области.
Внутри специальной страницы размещается список этапов выполнения заказа, а также вся информация по заказу:
— Описание заказа,
— стоимость установленная исполнителем,
— срок готовности.

Этапы:
— Обсуждение деталей,
— Получение исходной информации,
— В работе,
— Работа выполнена,
— Работа принята / Работа отклонена
— Отзыв о работе (как заказчику, так и исполнителю).

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

Смена шагов происходит совместными действиями каждой из сторон.
Например: Заказчик сообщил что все детали обсуждены (1-й шаг), и готов перейти к след. шагу. Нажимает на кнопку: Перейти к шагу №2. Далее идет уведомление Исполнителя, он должен подтвердить что действительно все детали обсудили, и также нажимает на кнопку "Перейти к шагу №2.

По завершению всех этапов — люди пишут отзыв друг-другу, который содержит текст, общую оценку (положительно или отрицательно).

Будут вопросы — давайте обсуждать в комментариях.

3
111

С появлением функционала формул в редакторе Креатиум, для нас открыты новые возможности, например мы можем вывести кол-во найденных записей в базе данных с помощью формулы:

Название переменной и ее свойства можно посмотреть в меню подключения БД

Для вывода в переменной выбираем источник Формула, сама формула выглядит так:

table.totalCount
0
86

Q&A

Горизонтальный скролл, крайне удобный элемент при размещении контента, занимающего достаточно внушительный размер по ширине.
Например при оформлении Канбан доски, если количество столбцов с карточками больше чем 3-4 на страницу.

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

Пример работы можно посмотреть по ссылке: https://cre.codes/267

3
233

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

Нашлось максимально простое решение — передавать webhook внутри картинки. Но если бы все было бы так просто, то я бы не писал этот пост.

И так что мы имеем:

  1. Webhook от Make (адрес)
  2. Картинку
  3. Базу данных

Мои действия:

Первое:
Для начала я разместил картинку размером 1х1px в самом низу страницы. В src картинки я вставил адрес webhooka.
Теперь при открытии страницы браузер будет загружать нашу "картинку", тем самым отправляя запрос на адрес хука.
Но запрос передается абсолютно пустой. Для того чтобы в теле запроса передать информацию, нужно передавать ее в параметрах url в формате url?param=data — где param = нужный параметр, а data = значение параметра.

Таким образом мой webhook превратился в https://hookadress.com?id={{id}}

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

Второе:
Получив webhook в Make мне нужно найти нужную запись по ID, далее взять текущее значение просмотров и прибавить +1.
Тоже ничего сложного, но при формуле var+1 я начал получать в базе значения такого вида:

  • 1
  • 11
  • 111
  • 1111

Это значит что мои цифры воспринимались как текст, а не кака цифра, и просто в конец добавлялась цифра как текст.

Исправить это можно за счет функции, которая приводит строку в цифру (аналог toNumber()), в Make она называется parseNumber()

После подсчета остается только записать все в БД и обновить данные на стороне Creatium посредствам обратного HTTP запроса.