При разработке печатных форм в среде 1С:Предприятие часто возникает задача вывода даты не в стандартном цифровом виде, а в более «читабельном» формате — например, «Май 2026». Давайте разберем, как правильно реализовать эту задачу, какие инструменты для этого существуют и каких ошибок стоит избегать.
Для управления отображением даты в 1С используется универсальная функция Формат(). Она позволяет преобразовать значение типа Дата в строковое представление в соответствии с заданным шаблоном. В качестве первого аргумента функции мы передаем саму дату, а вторым — строку формата.
Рассмотрим основной способ решения нашей задачи:
Чтобы получить название месяца прописью, в строке формата используется параметр ДФ (Дата Формат). Внутри этого параметра мы задаем шаблон. Значение MMMM отвечает за полное название месяца, а yyyy — за вывод года четырьмя цифрами.
// Пример использования для получения строки вида «Май 2026»
Результат = Формат(Дата, "ДФ='MMMM yyyy'");
Если же по условиям вашей задачи требуется выводить год двумя цифрами, просто измените шаблон года на yy:
// Пример использования для получения строки вида «Май 26»
Результат = Формат(Дата, "ДФ='MMMM yy'");
Начинающие разработчики иногда пытаются «собрать» дату с помощью функций Лев(), Прав() и СтрДлина(), комбинируя их с результатом ДЛФ=DD. Мы не рекомендуем этот подход по нескольким причинам:
Формат() с параметром ДФ занимает всего одну строку и читается гораздо легче.Формат() автоматически учитывает региональные настройки системы и текущий язык интерфейса, что гарантирует правильное склонение названий месяцев в соответствии с настройками пользователя.При создании макета печатной формы часто хочется добиться выравнивания текста «по ширине», как в текстовых редакторах типа MS Word. Однако важно помнить, что табличный документ 1С имеет свои ограничения:
Свойство ячейки ГоризонтальноеПоложение со значением ПоШирине будет работать только в том случае, если в ячейке находится достаточно длинный текст, содержащий пробелы. 1С не осуществляет «кеглирование» (автоматическую расстановку интервалов между символами) для достижения идеально ровных краев. Если вам необходимо добиться визуального порядка в шапке документа:
Для профессиональной разработки печатных форм всегда старайтесь придерживаться использования функции Формат() с параметром ДФ. Это стандартный и наиболее эффективный путь. Использование ДЛФ=DD (Дата Локального Формата) лучше оставить для случаев, когда вам требуется стандартный вывод даты, принятый в системе, без дополнительных трансформаций.
Помните, что форматная строка ДФ='MMMM yyyy' является наиболее гибким инструментом, позволяющим легко менять порядок и отображение частей даты. Экспериментируйте с конструктором форматной строки в конфигураторе, чтобы быстро подбирать нужный вариант вывода данных для пользователей!