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

Печать (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>, <Тип>), где тип – это строка “ГОД”

Previous Article
Next Article

One Reply to “Расчет возраста”

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

Ваш адрес email не будет опубликован.

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