Формат в 1С 8.2 и 8.3

 

При работе с 1С постоянно требуется выводить числа или даты в каком-либо особенном, либо просто в пристойном, виде. Для всего этого существует функция Формат(), о ней собственно и пойдет речь.

Общие сведения о функции Формат()

Если упростить, то функция Формат() позволяет превратить число, дату или булево в строку. Функция Формат() принимает два параметра:

  • <Значение> — это собственно то значения, которому мы хотим придать какой-либо вид, это может быть число, дата или булево. Параметр обязательный.
  • <ФорматнаяСтрока> — второй параметр, в котором и заключается весь смысл функции Формат(), об этом параметре поговорим более подробно.

Следует сказать, что форматная строка не является обязательным параметром, и в этом случаем функция Формат() отличается от функции Строка() только тем, что для значений по умолчанию для типов Число и Дата (0 и 01.01.0001 00:00:00 соответственно) функция Формат() вернет пустую строку.

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

Каждый параметр форматирования состоит из имени, знака “=” и значения параметра. При этом значение параметра можно указывать в одинарных или двойных кавычках, это в тех случаях, когда значение параметра содержит символы используемые в синтаксисе форматной строки (например знак “;”).

Внутри значения параметра можно использовать произвольные символы, которые будут отображаться как есть. Наиболее очевидный пример — разделители при формировании представления даты. Также можно использовать одинарные кавычки, если есть подозрение, что символ может быть неправильно воспринят.

Параметры форматирования

Л (L) — указание языка и страны для которой будет выполняться стандартное форматирование, полный список доступен в синтаксис-помощнике.

Преобразование числа в строку

ЧЦ (ND) — максимальная длина целой части числа. Исходное число при этом округляется по правилу “Окр15как20”. Если указан этот параметр, то для отображения дробной части обязательно использовать параметр «ЧДЦ» о котором ниже.

ЧДЦ (NFD) — максимальная длина дробной части числа. Исходное число при этом округляется по правилу “Окр15как20”.

ЧС (NS) — указывает сдвиг разрядов: положительный — деление, отрицательный — умножение.

ЧРД (NDS) — позволяет указать каким символом разделять целую и дробную части числа.

ЧРГ (NGS) — позволяет указать каким символом разделять группы целой части числа. Если значением параметра будет пустая строка, то группы будут разделены неразрывным пробелом.

ЧН (NZ) — представление нулевого значения. Если параметр отсутствует, то нулевое значение будет представлено пустой строкой. Если параметр указан в виде “ЧН=”, то представлением нулевого значения будет “0”.

 

ЧВН (NLZ) — вывод лидирующих нулей. Параметр не имеет значения, само наличие “ЧВН=” уже свидетельствует о необходимости выводить лидирующие нули.

ЧГ (NG) — позволяет указать способ группировки для целой части числа. В качестве значения, через запятую указываются числа. Смысл имеют только первые два числа, поэтому один из вариантов предлагаемых конструктором форматной строки выглядит странно. Все группировки отсчитываются справа налево.

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

Всего есть несколько основных вариантов значения параметра:

  • “0” — все число представляется одной группой;
  • “x” — создается одна группа размером в “x” символов, остальные числа представляется одной отдельной группой;
  • “x, 0” — все число делится на группы размера “x”;
  • “x, y” — создается одна группа размером “x” символов, остальные числа делятся на группы размеров “y” символов.

ЧО (NN) — представление отрицательных чисел:

  • 0 (0) — строка вида «(1,1)»;
  • 1 (1) — строка вида «-1,1»;
  • 2 (2) — строка вида «- 1,1»;
  • 3 (3) — строка вида «1,1-«;
  • 4 (4) — строка вида «1,1 -«.

Преобразование даты в строку

ДФ (DF) — формат даты:

  • д (d) — день месяца (цифрами) без лидирующего нуля;
  • дд (dd) — день месяца (цифрами) с лидирующим нулем;
  • ддд (ddd) — краткое название дня недели*;
  • дддд (dddd) — полное название дня недели*;
  • М (M) — номер месяца (цифрами) без лидирующего нуля;
  • ММ (MM) — номер месяца (цифрами) с лидирующим нулем;
  • МММ (MMM) — краткое название месяца*;
  • ММММ (MMMM) — полное название месяца*;
  • к (q) — номер квартала в году;
  • г (y) — номер года без века и лидирующего нуля;
  • гг (yy) — номер года без века с лидирующим нулем;
  • гггг (yyyy) — номер года с веком;
  • ч (h) — час в 12 часовом варианте без лидирующих нулей;
  • чч (hh) — час в 12 часовом варианте с лидирующим нулем;
  • Ч (H) — час в 24 часовом варианте без лидирующих нулей;
  • ЧЧ (HH) — час в 24 часовом варианте с лидирующим нулем;
  • м (m) — минута без лидирующего нуля;
  • мм (mm) — минута с лидирующим нулем;
  • с (s) — секунда без лидирующего нуля;
  • сс (ss) — секунда с лидирующим нулем;
  • вв (tt) — отображение половины дня AM/PM (действительно только для языков конфигурирования, поддерживающих 12 часовой вариант представления времени).

* — не используется для форматной строки поля ввода даты.

ДЛФ (DLF) — локальный формат даты. Указывается вариант отображения частей даты:

  • Д (D) — дата (цифрами);
  • ДД (DD) — длинная дата (месяц прописью);
  • В (T) — полное время, дата может объединяться со временем;
  • ДВ (DT) — дата время.

ДП (DE) — представление пустой даты.

Преобразование булево в строку

БЛ (BF) — представление логического значения Ложь.

БИ (BT) — представление логического значения Истина.

Типовые задачи представления данных

Число без пробелов

Дата без времени

А также еще множество вариантов.

Месяц прописью из даты

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Оценка статьи:
УжасноПлохоНеплохоХорошоОтлично (оценок: 7, средняя оценка: 3,71 из 5)
Загрузка...

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: