bslls:DeprecatedCurrentDate¶
Использование устаревшего метода "ТекущаяДата" (DeprecatedCurrentDate)¶
- Тип: Ошибка
- Важность: Важный
- Включена по умолчанию: Да
- Теги:
standard,deprecated,unpredictable
Описание диагностики¶
Конфигурации должны быть рассчитаны на работу в условиях, когда часовой пояс на серверном компьютере не совпадает с реальным часовым поясом пользователей информационной базы. Например, с сервером, расположенным в Москве, работают сотрудники компании из Владивостока, и при этом все операции в системе должны выполняться по местному времени (Владивостока).
Такой сценарий работы часто востребован в клиент-серверных информационных базах и в прикладных решениях в модели сервиса (SaaS).
Во всех серверных процедурах и функциях вместо функции ТекущаяДата, которая возвращает дату и время серверного компьютера, следует использовать функцию ТекущаяДатаСеанса, которая приводит время сервера к часовому поясу пользовательского сеанса.
В клиентском коде использование функции ТекущаяДата также недопустимо. Это требование обусловлено тем, что текущее время, вычисленное в клиентском и серверном коде, не должно различаться.
При использовании Библиотеки стандартных подсистем рекомендуется использовать функцию ДатаСеанса общего модуля ОбщегоНазначенияКлиент.
Примеры¶
На клиенте¶
Неправильно:
Правильно:
На сервере¶
Правильно:
Источники¶
Соответствие стандартам¶
- #std643, п. 2.1: Работа в разных часовых поясах — Диагностика «Использование устаревшего метода "ТекущаяДата" (DeprecatedCurrentDate)» проверяет условие пункта 2.1 стандарта std643.
- #std643, п. 3.1: Работа в разных часовых поясах — Диагностика «Использование устаревшего метода "ТекущаяДата" (DeprecatedCurrentDate)» проверяет условие пункта 3.1 стандарта std643.
Источник диагностики¶
- Исходная статья
- Ревизия:
f4616cda8a216789ee40529ed857e614b9e2ea25 - Лицензия:
LGPL-3.0-or-later