Рассчитать возраст контактов на Vtiger с помощью Javascript, если было изменено какое-либо поле контактов (код внутри) - PullRequest
0 голосов
/ 01 июля 2019

Я хотел бы рассчитать возраст моих контактов на основе его дня рождения. После некоторого поиска я придумал этот код:

(добавить код в Edit.js)

/*** Function to calculate Age based on birthday field change*/ 

jQuery('[name="birthday"]',form).change(function() {
var dateBirth = Vtiger_Helper_Js.getDateInstance(jQuery('[name="birthday"]',form).val(),jQuery('[name="birthday"]',form).attr("data-date-format"));

jQuery('[name="cf_755"]',form).val( Math.floor((Date.now()-dateBirth) / (31557600000)));

});

Он не работает так, как есть, и кроме того, он будет изменять возраст контакта только при обновлении поля дня рождения. Как заставить этот код работать, когда любое поле было обновлено?

Еще лучше было бы рассчитать возраст контакта в реальном времени, когда страница контакта открыта, т. Е. В подробном представлении.

Любая помощь очень ценится!

1 Ответ

0 голосов
/ 05 июля 2019

Вам нужно что-то вроде следующего кода:

$('form[id="EditView"] input, form[id="EditView"] select').change(function() {
    var dateBirth = Vtiger_Helper_Js.getDateInstance(jQuery('input[name="birthday"]').val(),jQuery('input[name="birthday"]').attr("data-date-format"));
    jQuery('input[name="cf_755"]').val( Math.floor((Date.now()-dateBirth) / (31557600000)));
});

также есть самый простой способ установить значение на входе cf_755. Используйте выражения Vtiger для вычисления значений с помощью рабочих процессов. вам просто нужно создать рабочий процесс и рассчитать возраст с помощью метода time_diffdays. нажмите здесь, чтобы проверить выражения vtiger

...