Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут!

Формат даты, числа, строки и времени в 1С

Функция Формат в 1С 8.3 предоставляет достаточно интересный инструмент разработчику для форматирования значений. Особенно часто эта функция используется для вывода примитивных типов данных (даты, времени, чисел, строки, булево) в нужном формате.

Рассмотрим подробнее функцию и способ составления форматной строки.

функция формат в 1С

Функция Формат()

Синтаксис функции достаточно прост:

Формат(<Значение>,<Форматная строка>)

Значение — форматируемое значение, Форматная строка — строка, заданная определенным образом, из которой формируется правило обработки формата.

Самое интересное — форматная строка. Рассмотрим её подробнее.

Конструктор форматной строки

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

Для запуска конструктора достаточно вызвать контекстное меню (правая кнопка мыши) и выбрать в списке «Конструктор форматной строки»:

конструктор форматной строки

Сам конструктор выглядит следующим образом:

Получите 267 видеоуроков по 1С бесплатно:

конструктор форматной строки внутри

Где необходимо выбрать нужную Вам вкладку в зависимости от типа данных — Число, Дата или Булево.

Рассмотрим использование функции на примерах.

Формат даты в 1С на примере месяца: прописью, без времени

Получить формат даты без времени:

Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy") // "25.02.2015"

Формат даты 1С, где месяц прописью:

Формат(ТекущаяДата(), "ДЛФ=DD") // "25 февраля 2015"

Формат времени без даты, только час, минута и секунда:

Формат(ТекущаяДата(), "ДЛФ=T") // "20:15:43"

Примеры формата числа

Получим формат числа с двумя точками после запятой:

Формат(100500, "ЧДЦ=2") // "100 500,00"

Число без неразрывных пробелов:

Формат(100500, "ЧГ=") // "100500"

Использование запятой вместо точки для дробной части:

Формат(100500, "ЧДЦ=2; ЧРД=,") // "100 500,00"

Округление числа (не математическое) до целых:

Формат(100500.99, "ЧДЦ=") // "100 500"

Вывод лидирующих нулей без неразрывных пробелов:

Формат(100500, "ЧЦ=9; ЧВН=; ЧГ=") // "000100500"

Читайте также другие статьи по конфигурированию 1С.

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

P.S. Наша компания предоставляет услуги по настройке, доработке и комплексному внедрению 1С. Закажите бесплатный расчет стоимости вашей задачи на странице Услуги 1С или по телефону +7 (499) 350 29 00.

Остались вопросы?

СПРОСИТЕ в комментариях!

Комментариев: 9 на “Формат даты, числа, строки и времени в 1С
  1. Почему все примеры кода в текстах приводятся только в русской версии языка..?

    Ответить

    • Просто так пишут 99.9% разработчиков 1с:)

      Ответить

  2. Получим формат числа с двумя точками после запятой:
    Формат(100500, «ЧДЦ=2») // «100 500.00»
    Наверно двумя знаками после точки?

    А как через конструктор представить номер телефона?
    123-45-67

    Ответить

    • Я думаю это не слишком принципиально, но всё же правильно «после запятой».

      По конструктору номера телефона — я бы хранил номер телефона в формате «1234567», а ввод и вывод данных осуществлял с помощью «маски».

      Ответить

  3. > Округление числа (не математическое) до целых: Формат(100500.99, «ЧДЦ=») // «100 500»

    У меня Формат(100500.99, «ЧДЦ=»)=100501. Зависит от платформы?

    Ответить

  4. А как из формата МесяцГод типа «Ноябрь 2016» сделать начало месяца с типом дата — 01.11.2016?

    Ответить

    • Мне не известно грамотного способа, я делал через «Если Месяц = «Ноябрь» Тогда»…

      Если найдете интересный способ — скажите 🙂

      Ответить

  5. при выводе на печать ТОРГ 12 количество выводится 63,36,000 а надо 63,360
    формат в этой колонке ЧЦ = 15 ЧДЦ=3

    Ответить

    • Формат колонки правильный. Возможно где-то в коде дописывается «000»?

      Ответить

Добавить комментарий: