Расчет возраста

Печать (Ctrl+P)

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


&НаКлиенте
Функция РазностьМеждуДатамиВГадах(Дата1,Дата2) 
	Возврат  Цел(РазностьМеждуДатамиВМесяцах(Дата1,Дата2)/12);
КонецФункции  

&НаКлиенте
Функция РазностьМеждуДатамиВМесяцах(Дата1,Дата2)  
	Год1 = Год(Дата1);
	Год2 = Год(Дата2);
	Месяц1 = Месяц(Дата1);
	Месяц2 = Месяц(Дата2);
	День1 = День(Дата1);
	День2 = День(Дата2);
	Результат = (Год2 - Год1) * 12 + Месяц2 - Месяц1;
	Если Результат < 0 Тогда Результат = 0 - Результат; КонецЕсли;
	Если ((Дата1 > Дата2) И (День1 < День2)) ИЛИ ((Дата1 < Дата2) И (День1 > День2)) Тогда
		Результат = Результат - 1;
	КонецЕсли;
	Возврат Результат;
КонецФункции  

При расчете возраста в запросе нужно использовать функцию работы с датой языка запроса РАЗНОСТЬДАТ(<Дата1>, <Дата2>, <Тип>), где тип – это строка “ГОД”

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.