@Vikiviki2

Как посчитать возраст контакта в Битрикс24?

Апдейт: разобралась, дело было в кавычках.
Но теперь вопрос как вывести отрицательное значение, если дата рождения больше текущей даты? Спасибо!

Добрый день!
Подскажите, пожалуйста, где ошибка:
Нужно посчитать возраст в мес. в карточке контакта
1) Создала пользовательское поле в карточке контакта для записи в него возраста (тип поля целое число)
2) Создала бп через изменение переменной {{=datediff({=System:Date}, {=Document:UF_CRM_5E8DD2AA4FF3B}, ‘%m’)}}, где {=Document:UF_CRM_5E8DD2AA4FF3B} - это пользовательское поле дата рождения ребенка1
3) Создала переменную с типом поля целое число.
4) Через изменение документа записываю (от имени админа) значение переменной в соответствующее поле в карточке
5) БП срабатывает при создании и изменении карточки контакта.
6) Ничего не происходит. Поле где должен проставляться возраст пустое ((((

Заранее спасибо большое за ответ!
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 1
gromdron
@gromdron
Bitrix developer
1) Проверьте кавычки вокруг %m. Это должно быть кавычки, а не апострофы.
2) Проверьте код поля. Насколько мне известно в облаке нет "{=Document:UF_CRM_5E8DD2AA4FF3B}," в последнем обновлении там будет "{{Дата рождения ребенка1}}"
3) Вы сделали бесконечный цикл. Изменение любого поля, ведет к перерасчету даты и изменению поля возраст.
Изменение поля "возраст" является изменением и срабатывает бп еще раз. Вам нужно придумать механизм остановки. Например добавить техническое поле "Старая дата рождения ребенка1" и проверять в БП, что если значение "Дата рождения ребенка1" и "Старая дата рождения ребенка1" не одинаковы - произвести вычисления. В противном случае изменения не проводить.
4) Есть специальный блок - "запись в отчет" куда вы можете внести соответствующие записи и понять как он выводит необходимую информацию и что реально считает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы