Перейти к содержанию
bslls:DeprecatedCurrentDate

Использование устаревшего метода "ТекущаяДата" (DeprecatedCurrentDate)

  • Тип: Ошибка
  • Важность: Важный
  • Включена по умолчанию: Да
  • Теги: standard, deprecated, unpredictable

Описание диагностики

Конфигурации должны быть рассчитаны на работу в условиях, когда часовой пояс на серверном компьютере не совпадает с реальным часовым поясом пользователей информационной базы. Например, с сервером, расположенным в Москве, работают сотрудники компании из Владивостока, и при этом все операции в системе должны выполняться по местному времени (Владивостока).

Такой сценарий работы часто востребован в клиент-серверных информационных базах и в прикладных решениях в модели сервиса (SaaS).

Во всех серверных процедурах и функциях вместо функции ТекущаяДата, которая возвращает дату и время серверного компьютера, следует использовать функцию ТекущаяДатаСеанса, которая приводит время сервера к часовому поясу пользовательского сеанса.

В клиентском коде использование функции ТекущаяДата также недопустимо. Это требование обусловлено тем, что текущее время, вычисленное в клиентском и серверном коде, не должно различаться.

При использовании Библиотеки стандартных подсистем рекомендуется использовать функцию ДатаСеанса общего модуля ОбщегоНазначенияКлиент.

Примеры

На клиенте

Неправильно:

ДатаОперации = ТекущаяДата();

Правильно:

ДатаОперации = ОбщегоНазначенияКлиент.ДатаСеанса();

На сервере

ДатаОперации = ТекущаяДата();

Правильно:

ДатаОперации = ТекущаяДатаСеанса();

Источники

Соответствие стандартам

Источник диагностики