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