Как исправить календарь в 1С, если неделя начинается с воскресенья?

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом IT и автоматизация бизнеса
← На главную

При работе в программах системы 1С:Предприятие (например, в «1С:Зарплата и управление персоналом 3.1» или других типовых конфигурациях) пользователи могут столкнуться с ситуацией, когда стандартный календарь выбора даты, а также производственные календари начинают отображать дни недели не с привычного понедельника, а с воскресенья. Проанализируем, почему возникает такое поведение платформы и как вернуть стандартное отображение дней недели.

Причины некорректного отображения первого дня недели

Отображение календаря в интерфейсе 1С зависит от нескольких уровней региональных настроек: параметров самой информационной базы, настроек операционной системы клиентского компьютера или сервера, а также параметров интернет-браузера при работе через веб-клиент. Выясним основные факторы, приводящие к сбою:

  1. Некорректные региональные установки информационной базы. В свойствах базы может быть явно выбран неверный язык/страна, либо в параметре Первый день недели установлено значение «Воскресенье» или «Авто» при неподходящей стране.
  2. Включенный признак использования установок текущего сеанса. Если в параметрах базы активна опция Использовать региональные установки текущего сеанса, платформа игнорирует централизованные настройки базы и ориентируется на локаль операционной системы конкретного рабочего места.
  3. Локализация операционной системы. Если в операционной системе Windows или Linux установлена англоязычная локаль (например, en_US) или первым днем недели в региональных стандартах ОС выбрано воскресенье, клиент 1С перенимает эти параметры.
  4. Настройки языка в веб-клиенте. При работе через браузер интерфейс адаптируется под приоритетный язык, указанный в настройках веб-обозревателя.

Способ 1. Настройка региональных установок информационной базы в Конфигураторе

Рассмотрим основной способ решения, позволяющий централизованно задать единые правила для всех пользователей информационной базы. Разберем действия по шагам:

  1. Запустим нужную информационную базу в режиме Конфигуратор с правами администратора.
  2. В главном командном меню перейдем в раздел Администрирование -> Региональные установки информационной базы.
  3. В открывшемся окне параметров проверим поле Язык (страна) — убедимся, что там выбрано значение Русский (Россия).
  4. Найдем параметр Первый день недели и вместо значения Авто или Воскресенье явно установим Понедельник.
  5. Обратим внимание на флаг Использовать региональные установки текущего сеанса. Если на компьютерах пользователей установлены разные языковые пакеты ОС и требуется жестко зафиксировать российский формат дат и календаря, снимем этот флаг.
  6. Нажмем кнопку ОК для сохранения изменений и перезапустим сеанс 1С:Предприятия в режиме пользователя.

Способ 2. Принудительное указание локализации сеанса через параметры запуска

Если изменить настройки базы данных через Конфигуратор временно невозможно или проблема проявляется только у отдельных пользователей, разберем способ принудительной передачи кода локализации через стартер 1С:

  1. Откроем окно запуска 1С:Предприятия со списком баз.
  2. Выделим проблемную информационную базу и нажмем кнопку Изменить.
  3. Нажмем кнопку Далее до страницы дополнительных параметров.
  4. В поле Дополнительные параметры запуска пропишем специальный ключ локализации:

/VL ru_RU

Параметр /VL (или /L) указывает платформе язык и региональные стандарты интерфейса и сеанса, что заставляет программу применить российские стандарты календаря.

Способ 3. Проверка настроек операционной системы и веб-клиента

Проанализируем сопутствующие системные параметры, которые могут влиять на отображение интерфейса:

  1. Настройки Windows: перейдем в Панель управления -> Часы и регион -> Региональные стандарты. Убедимся, что формат установлен как Русский (Россия), а в дополнительных параметрах формата первым днем недели выбран понедельник.
  2. Серверная служба 1С: в клиент-серверном варианте локализация регламентных заданий берется из профиля пользователя операционной системы, от имени которого запущена служба ragent. Для корректной работы серверных формирований отчетов убедимся, что в профиле системного пользователя задана корректная локаль.
  3. Веб-клиент: если работа ведется через браузер, перейдем в настройки языков обозревателя и переместим Русский (ru-RU) на первую позицию по приоритету.

Особенности платформы и программного кода

Посмотрим на важные особенности поведения платформы 1С:Предприятие:

  1. Режим совместимости: свойство Первый день недели в региональных установках доступно для изменения в конфигурациях с режимом совместимости 8.3.7 и выше. В более старых режимах совместимости поле заблокировано и по умолчанию использует понедельник.
  2. Встроенный язык: визуальное изменение первого дня недели в календаре не влияет на результат выполнения системной функции встроенного языка ДеньНедели(). Независимо от настроек интерфейса, функция ДеньНедели(<Дата>) всегда возвращает число от 1 (понедельник) до 7 (воскресенье):

НомерДня = ДеньНедели(ТекущаяДата());
Если НомерДня = 1 Тогда
    Сообщить("Сегодня понедельник");
КонецЕсли;

Таким образом, для восстановления привычного вида календаря достаточно скорректировать региональные установки информационной базы в Конфигураторе, зафиксировав первый день недели как понедельник.

← На главную