Как изменить формат даты в Универсальном отчете 1С:Предприятие 8.3

Пользователь 1С v8.3 (Управляемые формы) Бухгалтерский учет
← На главную

При работе с Универсальным отчетом в системе 1С пользователи часто сталкиваются с необходимостью изменить стандартное отображение дат. Например, вместо стандартного представления 01.09.2019 00:00:00 требуется вывести лаконичное Сентябрь 2019 или просто дату без времени. В этой статье мы подробно разберем, как управлять визуальным представлением периодов, используя встроенные инструменты системы компоновки данных (СКД), не прибегая к программированию.

Способ 1. Настройка через условное оформление

Самый гибкий и правильный способ изменить формат отображения конкретного поля в отчете — это использование механизма условного оформления. Рассмотрим пошагово, как это сделать в интерфейсе «Такси» или в любом современном приложении на базе 1С 8.3.

  1. Открытие настроек: В окне «Универсального отчета» нажмем кнопку Настройки....
  2. Переход в расширенный режим: В нижней части окна выберем вариант Расширенный. Без этого режима вкладка с оформлением может быть скрыта.
  3. Вкладка «Оформление»: Перейдем на соответствующую закладку. Здесь мы увидим таблицу «Условное оформление».
  4. Добавление элемента: Нажмем кнопку Добавить. Откроется окно настройки элемента оформления.
  5. Установка формата: На первой закладке («Оформление») найдем строку Формат. Нажмем на кнопку с троеточием в этой строке.
  6. Выбор форматной строки: Проанализируем открывшееся окно. Здесь крайне важно различать Локальный формат даты и поле Формат.

    Если нам нужно стандартное системное представление (например, «Короткая дата»), мы выбираем его из выпадающего списка в поле «Локальный формат». Однако, если нам нужен специфический вид (например, только месяц и год), этот список нам не поможет. В этом случае мы должны вписать код в поле Формат выше.

  7. Пример кода: Чтобы получить вид «Сентябрь 2019», в поле «Формат» введем следующую строку: ДФ='MMMM yyyy'.
  8. Выбор поля: Перейдем на закладку Оформляемые поля и выберем поле, к которому должен примениться этот формат (например, Период или ПериодМесяц).
  9. Завершение: Нажмем «ОК», затем «Закрыть и сформировать».

Важный нюанс: «Локальный формат» против «Форматной строки»

Разберем типичную трудность, с которой сталкиваются пользователи. При попытке редактирования формата многие ошибочно пытаются вписать текст в поле Локальный формат даты. Это поле заблокировано для ручного ввода, так как оно предлагает только стандартные настройки операционной системы.

Выясним причину: Локальный формат — это предопределенные шаблоны (длинная дата, краткая дата). Для ввода собственного шаблона (маски) необходимо использовать строку Формат. В конструкторе формата снимите галочку Использовать локальный формат, если она установлена, и тогда поле для ввода кода ДФ=... станет активным.

Способ 2. Использование «Пользовательских полей»

Бывают ситуации, когда стандартное поле Период ведет себя некорректно при группировке или условное оформление не применяется ко всем уровням иерархии. В таких случаях мы можем создать свое собственное поле с заранее заданным форматом.

Проанализируем алгоритм создания такого поля:

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

Формат(Период, "ДФ='MMMM yyyy'")

После этого созданное поле нужно добавить на вкладку Поля и сортировки, установив напротив него флажок, а стандартное поле Период можно скрыть.

Справочник кодов форматной строки

Для того чтобы самостоятельно конструировать нужный вид даты, рассмотрим основные коды, которые понимает платформа 1С. Помните, что регистр букв имеет значение!

Рассмотрим примеры популярных форматных строк:

Параметр локализации (L или Л)

Иногда возникает ситуация, когда отчет на сервере выводит названия месяцев на английском языке (например, September 2019), хотя интерфейс программы русский. Это происходит из-за региональных настроек сервера. Чтобы принудительно заставить 1С выводить дату на русском языке, в форматную строку нужно добавить параметр локализации:

ДФ='MMMM yyyy'; Л=ru_RU

Здесь Л=ru_RU (или L=ru_RU) жестко указывает системе использовать русский стандарт именования месяцев и дней недели.

Настройка формата в группировках

Если ваш отчет имеет иерархическую структуру (группировки по периодам), убедитесь, что вы применяете оформление именно к тому полю, которое используется в группировке. Если в группировке выбрано поле ПериодМесяц, то и в условном оформлении в списке «Оформляемые поля» должно быть выбрано ПериодМесяц.

Также стоит проверить вкладку Поля в настройках. В колонке Оформление для каждого выбранного поля можно задать формат индивидуально, не создавая отдельный элемент в «Условном оформлении». Это часто является более быстрым и надежным способом для простых задач изменения визуального ряда отчета.

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

← На главную