Lotus Notes- как изменить год с даты рождения на @today

Я должен сделать просмотр календаря, чтобы показать дни рождения сотрудника. Я хочу преобразовать дату своего рождения, чтобы это был год. До сих пор я имел это и пробовал различные методы, но продолжаю получать ошибки "неправильного типа данных".

currentYear:=@Year(@Today);
curentmonth:=@Month(DOB);
currentday:=@Day(DOB);
@Date(currentday;currentmonth;currentYear)

Есть идеи, что не так? Спасибо

4 ответа

Пабло прав, но вы также можете воспользоваться очень полезной функцией @Adjust:

@Adjust(DOB; @Year(@Now)-@Year(DOB);0;0;0;0;0)

Документация говорит, что правильное использование @Date(year;month;day), Поскольку нет никаких указаний на специфичную для локали обработку параметров, я считаю, что это ваша проблема.

Использование @Today или @Now в формуле столбца представления или где-либо еще приведет к тому, что индекс представления будет постоянно устаревать. Если это большая БД, это будет очень медленным и раздражающим для пользователей.

Вместо этого я рекомендую использовать вычисляемое поле или агент для создания многозначного поля с датами на следующие 5-20 лет. Агент должен запускаться только один раз в год, чтобы сохранить документы в вашем календаре. Таким образом, в календаре Notes хранятся юбилеи, даты рождения и повторяющиеся собрания.

Спасибо за ваши ответы и помощь. Я добавлю поле в форму и запущу агента, как предложил Ньюбс. Используя код, который придумал Фил. Это работает хорошо.

Другие вопросы по тегам