Спасибо всем
Задача стоит в написании что-то вроде регистратуры для ЛПУ, где требуется определять для граждан старше 3 лет возраст в годах, а для маленьких - в годах и месяцах. В целом меня получилось:
ФУНКЦИЯ СТРОКА: ФормализованныйВозраст(ДАТА:дата_рожд,дата_тек)
др_тек_года = ДАТА(ЧИСЛО(дата_рожд),МЕС(дата_рожд),ГОД(дата_тек))
кол_лет = ГОД(ДАТА_ТЕК)-ГОД(дата_рожд)
ЕСЛИ кол_лет>=3 ТО
ЕСЛИ др_тек_года <= ДАТА_ТЕК ТО
РЕЗУЛЬТАТ = СТР(кол_лет)
ИНАЧЕ
РЕЗУЛЬТАТ = СТР(кол_лет -1)
КОНЕЦ_ЕСЛИ
ИНАЧЕ
ЕСЛИ ГОД(дата_рожд)=ГОД(ДАТА_ТЕК) ТО
клм = МЕС(ДАТА_ТЕК)-МЕС(дата_рожд)
РЕЗУЛЬТАТ = СТР(клм)+" мес."
ИНАЧЕ
// клм = (ДАТА_ТЕК-дата_рожд)/365*12
клм_общ = 0
тек_зн_м = МЕС(дата_рожд)
ЦИКЛ ДЛЯ (и=дата_рожд,ДАТА_ТЕК)
ЕСЛИ МЕС(и)<>тек_зн_м ТО
клм_общ+=1
тек_зн_м = МЕС(и)
КОНЕЦ_ЕСЛИ
КОНЕЦ_ЦИКЛА
кол_лет = РУБ(клм_общ/12)
кол_мес = клм_общ-(кол_лет*12)
скока = ?(кол_лет =1,"год","года")
РЕЗУЛЬТАТ = ?(кол_лет <> 0,СТР(кол_лет)+" "+скока+" ","")+СТР(кол_мес)+" мес."//СТР(клм)+"мес, а годы"
КОНЕЦ_ЕСЛИ
КОНЕЦ_ЕСЛИ
КОНЕЦ_ФУНКЦИИ