Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 17:39

При запуске программы расчет возраста

Автор Алексей_1985_06, 26 янв 2020, 14:50

0 Пользователей и 1 гость просматривают эту тему.

Алексей_1985_06

Добрый день уважаемые специалисты 1С. Есть необходимость при формировании документа, подставлять в реквизит - возраст человека, подскажите где  прописать код и что нужно поменять, чтоб расчет возраста в справочнике происходил при каждом запуске программы, т.е возраст был всегда актуален на текущую дату!
Сейчас у меня это реализовано при открытии элемента справочника, что соответственно не подходит...

&НаКлиенте
Процедура  РасчетВозраста()
Лет = 0;
Месяцев = 0;
Дней = 0;
ДатаРождения = Объект.ДатаРождения; 
Пока ДатаРождения <= ТекущаяДата() Цикл
ДатаРождения = ДобавитьМесяц(ДатаРождения,1);
Месяцев = Месяцев + 1;
КонецЦикла;
Месяцев = Месяцев-1;
Лет = Цел(Месяцев/12);
Месяцев = Месяцев-Лет*12;
Дней = Цел((ТекущаяДата() - ДобавитьМесяц(ДатаРождения,-1))/86400);
Строка = СтрокаСЧислом("; %1 год;; %1 года; %1 лет;",
    Лет,
    ВидЧисловогоЗначения.Количественное,
"L=ru");
Объект.Возраст = Строка;
КонецПроцедуры


&НаКлиенте
Процедура ДатаРожденияПриИзменении(Элемент)
РасчетВозраста ();
КонецПроцедуры


&НаКлиенте
Процедура ПриОткрытии(Отказ)
Если  Объект.ДатаРождения = '00000000000000' Тогда
Объект.Возраст = " ";
Иначе
РасчетВозраста ();
КонецЕсли;
КонецПроцедуры




Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск