Шаблон форматирования числа 1с

Шаблон форматирования числа 1с

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

Формат

Описание:

Формирует удобное для чтения представление значений. Полезно использование в отчетах и при прочем визуальном отображении значений.

Синтаксис:

Параметры:

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

Параметры форматирования перечисляются через символ ";". Наличие параметра означает отличие форматирования от стандартного.

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

Каждый параметр задается именем параметра, символом "=" и значением параметра. Значение параметра может указываться в одинарных или двойных кавычках. Это необходимо, если значение параметра содержит символы, используемые в синтаксисе форматной строки.

Внутри значения параметра могут указываться произвольные символы, которые при формировании результирующей строки будут отображаться как есть. Таким образом, например, можно указывать разделители часов, минут и секунд при форматировании времени. Если эти символы совпадают со значениями форматной строки, их необходимо заключать в одинарные кавычки.

Имена и значения параметров форматной строки:

  • Л — имя языка, страны, для которых будет выполняться стандартное форматирование.
  • ЧЦ — общее число отображаемых десятичных разрядов целой и дробной частей. Исходное число округляется при этом в соответствии с правилами округления. Если указан этот параметр, то для отображения дробной части числа обязательно указание параметра ЧДЦ, иначе дробная часть отображаться не будет.
  • ЧДЦ — число десятичных разрядов в дробной части. Исходное число округляется при этом в соответствии с правилами округления.
  • ЧС — сдвиг разрядов: положительный — деление, отрицательный — умножение. Другими словами, это означает, что исходное число будет умножено или поделено на 10*С, где С — значение параметра по модулю.
  • ЧРД — символ-разделитель целой и дробной части.
  • ЧРГ — символ-разделитель групп целой части числа. Если в качестве разделителя использовать пустую строку, то в этом случае разделителем будет символ неразрывного пробела.
  • ЧН — строка, представляющая нулевое значение числа. Если не задано, то представление в виде пустой строки. Если задано "ЧН=", то в виде "0". Не используется для числовых полей ввода.
  • ЧВН — нужно ли выводить лидирующие нули. Значение данного параметра не задается, собственно наличие параметра определяет вывод лидирующих нулей.
  • ЧГ — порядок группировки разрядов числа. В качестве значения указываются числа, через запятую, обозначающие количество группируемых разрядов справа налево. Имеют смысл только два первых числа. Первое из них указывает первичную группировку, то есть ту, которая будет использована для наименее значимых разрядов целой части числа. Если второе число не указано, то будут сгруппированы только наименее значимые разряды. Если в качестве второго числа задан 0, то для всех разрядов целой части числа будет применено значение указанное для первичной группировки. Если в качестве второго числа используется значение, отличное от 0, то это значение будет использовано для группировки всех разрядов, кроме уже сгруппированных наименее значимых.
  • ЧО — представление отрицательных чисел.
  • 0 (0) — строка вида "(1,1)";
  • 1 (1) — строка вида "-1,1";
  • 2 (2) — строка вида "- 1,1";
  • 3 (3) — строка вида "1,1-";
  • 4 (4) — строка вида "1,1 -".
  • ДФ — формат даты.
    • д — день месяца (цифрами) без лидирующего нуля;
    • дд — день месяца (цифрами) с лидирующим нулем;
    • ддд — краткое название дня недели;
    • дддд- полное название дня недели ;
    • М — номер месяца (цифрами) без лидирующего нуля;
    • ММ — номер месяца (цифрами) с лидирующим нулем;
    • МММ — краткое название месяца;
    • ММММ — полное название месяца;
    • к — номер квартала в году;
    • г — номер года без века и лидирующего нуля;
    • гг — номер года без века с лидирующим нулем;
    • гггг — номер года с веком;
    • ч — час в 12 часовом варианте без лидирующих нулей;
    • чч — час в 12 часовом варианте с лидирующим нулем;
    • Ч — час в 24 часовом варианте без лидирующих нулей;
    • ЧЧ (HH) — час в 24 часовом варианте с лидирующим нулем;
    • м — минута без лидирующего нуля;
    • мм — минута с лидирующим нулем;
    • с — секунда без лидирующего нуля;
    • сс — секунда с лидирующим нулем;
    • вв — отображение половины дня AM/PM (действительно только для языков конфигурирования, поддерживающих 12 часовой вариант представления времени).
    • ДЛФ — локальный формат даты. Указывается вариант отображения частей даты.
        Читайте также:  Интел кор ай 3 4160
      • Д — дата (цифрами);
      • ДД — длинная дата (месяц прописью);
      • В — полное время, дата может объединяться со временем;
      • ДВ — дата время.
      • ДП — строка, представляющая пустую дату (например, Формат(‘00010101000000’ ,"ДП=""пустая дата""") вернет строку "пустая дата").
      • БЛ — строка, представляющая логическое значение Ложь.
      • БИ — строка, представляющая логическое значение Истина.
      • При работе с 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 часовой вариант представления времени).
        Читайте также:  Mikrotik удаленное управление через интернет

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

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

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

        Программирование (и бизнес программы) обычно имеют дело со следующими простыми типами данных: число, строка, дата. Значения этих типов для разных стран, стандартов и просто привычек могут иметь разное представление.

        Вероятно самый известный пример, это разное представление времени – в России привычно использовать 9:00 и 21.00, а в англоязычных странах 9am и 9pm. Разница как в логике (12ти часовая система или 24х часовая), так и в написании.

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

        Что такое форматирование

        Число и дата вне зависимости от его представления на экране или на печати – остается самим собой. Форматирование подразумевает собой исключительно преобразование к строковому значению – то есть как он будет «выглядеть» на экране компьютера или на бумаге.

        Основные различия форматов 1С представления чисел и дат:

        • Число
          o «.» или «,» для отделения дробной части
          o количество знаков после запятой
          o группировка цифр в числе по 3 (1 000 000, а не 1000000)
        • Дата и время
          o порядок года, месяца, дня
          o символ-разделитель
          o формат 1С времени (12 или 24 часа)
          o детали написания.

        Также в формате 1С могут быть указаны дополнительные «удобства», например отрицательные числа выводить красным цветом, или представление «пустого значения» в виде «0» или «не заполнено».

        Форматирование по умолчанию работает, например, при переводе числа в строку. В некоторых случаях такие настройки могут служить дурную службу там, где программист этого и не ожидает.

        Например, при переводе числа в строку оно переводится с учетом группировки цифр (а вы этого ожидаете?):
        ЧислоСтрокой = СокрЛП(2400); //будет равно «2 400»

        Для точного указания формата в языке 1С есть функция Формат(), с помощью которой возможно указать требуемое представление.
        ЧислоСтрокой = Формат(2400, «Настройки»)

        В качестве строки «Настройки» нужно указать требуемый формат 1С. Такие настройки указываются в специальном закодированном виде. Рассмотрим наиболее часто используемые настройки:

        Формат 1С даты и числа по умолчанию

        Если Вам требуется вывести дату или число и не хочется заморачиваться со знанием как они должны быть представлены по правилам нужной страны, есть простейшая настройка, которая позволит Вам это сделать:

        Пример вывода даты по правилам некоторых стран:
        Формат( ТекущаяДата(), «L=ru»)
        > 28.03.2012 14:21:32

        Формат( ТекущаяДата(), «L=en»)
        > 3/28/2012 2:21:24 PM

        Формат( ТекущаяДата(), «L=fr»)
        > 28/03/2012 14:22:08

        Как не трудно заметить, названия стран — интуитивны.

        Формат даты в языке 1С

        Если настройки по умолчанию Вам недостаточно и хотелось бы самостоятельно указать порядок частей даты и символы их разделения, необходимо использовать настройку:
        ДФ = «дмг чмс»

        Соответственно «дмг» – это день, месяц и год, а «чмс» — это часы, минуты и секунды. Любую из этих частей возможно пропустить. Порядок следования – любой. Символы, указанные между частями будут использованы как символы разделения.

        Символ части даты может быть указан несколько раз подряд, от этого зависит вид этой части даты, например «д» или «дд» или «дддд».

        Читайте также:  Плывет изображение на телевизоре

        Расшифровка частей даты:

        • д – день
          o маленькая «д»
          o может быть указана от 1 до 4 раз
        • М – месяц
          o большая «М»
          o может быть указана от 1 до 4 раз
        • г – год
          o маленькая «г»
          o может быть указана 1 или 2 или 4 раза
        • ч – часы
          o маленькая «ч» — 12ти часовой формат
          o большая «Ч» — 24х часовой формат
          o может быть указана 1 или 2 раза
        • м – минуты
          o маленькая «м»
          o может быть указана 1 или 2 раза
        • с – секунды
          o маленькая «с»
          o может быть указана 1 или 2 раза
        • вв – отображение AM/PM для 12ти часового формата
        • к – квартал.

        Пример вывода даты с указанием правил:
        Формат(ТекущаяДата(), "ДФ=""дд.ММ.гггг чч:мм:сс""")
        > 28.03.2012 02:44:44

        Формат(ТекущаяДата(), "ДФ="" М / д /гггг ч:м:с вв""")
        > 3/28/2012 2:44:44 PM

        Формат(ТекущаяДата(), "ДФ=""дд/ММ/гггг чч:мм:сс""")
        > 28/03/2012 02:44:44

        Формат(ТекущаяДата(), "ДФ=""дддд, дд ММММ гггг""")
        > среда, 28 марта 2012

        Формат числа в языке 1С
        В отличие от форматирование даты, где все достаточно просто, для форматирования числа есть много параметров. Мы рассмотрим те, которые нам показались полезными – то есть по нашему мнению часто применяются.

        Первая «проблема» связана с группировкой по умолчанию цифр в числах по 3 и разделением групп пробелом, например:
        СтрЧисло = Строка(22300500)
        > 22 300 500

        Это неудобно, когда число преобразовывается к строке не для красивого и понятного вывода пользователю, а для служебных нужд. На это можно повлиять с помощью параметра «ЧГ», например:

        Формат(22300500, "ЧГ=100")
        >22300500 //вообще убрали нули

        Формат(22300500, "ЧГ=6")
        > 22 300500 //сделали группировку только миллионов

        Параметр, который позволяет округлить число при выводе до нужного количества цифр после запятой «ЧДЦ»:

        Формат(3.535353, "ЧДЦ=""2""")
        > 3,54

        Параметр, который позволяет указать символ-разделитель целой и дробной части «ЧРД»:

        Формат(3.535353, "ЧРД="".""")
        > 3.535353

        Для некоторых случаев бывает полезно иметь возможность вместо числа «0» отображать что-то другое: пустую строку или «не заполнено». Это позволяет делать параметр «ЧН»:

        Формат 1С поля на форме

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

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

        Откройте свойства этого поля. Для этого — в толстом клиенте нажмите правой кнопкой на поле, а в тонком — правой кнопкой на имени поля в списке полей, выберите пункт Свойства.
        У поля есть свойство «Формат».

        Нажмите кнопку «…», чтобы настроить его. Для настройки формата даты используйте закладку Дата (для числа – закладку Число). Вы можете выбрать требуемый формат из списка.

        Формат 1С ячейки в печатной форме

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

        Формат 1С в СКД

        Отчеты СКД позволяют настроить формат 1С как программисту (в момент создания отчета), так и пользователю (при использовании отчета). Также возможностей больше за счет использования условного форматирования.

        Это значит Вы не только указываете какое поле как форматировать, но и при каком условии (например, если значение этого поля – отрицательное).

        В режиме Предприятие выберите пункт меню на форме отчета «Изменить вариант». В отчете СКД в толстом клиенте этот пункт в меню «Действия/Настройки».

        В открывшейся форме всех настроек СКД есть закладка «Условное форматирование». Добавьте новую строчку. В строчке три колонки:

        • Оформление. Укажите требуемый формат 1С — шрифт, цвет фона или текста, формат 1С отображения числа и даты
        • Условие. Если данное оформление применять всегда – то оставьте это поле пустым. Иначе – укажите поле и его значение. Тогда форматирование будет применено только в тех строках, в которых эти значения совпадают. Если требуется указать значения нескольких полей одновременно и условий «и/или» — добавьте группу и сгруппируйте поля с помощью групп.
        • Оформляемые поля. Список полей, для которых будет применено форматирование.

        Формат 1С в управляемых формах

        Аналогичные правила форматирования действуют в любой форме списка управляемого клиента. В форме списке выберите пункт меню «Все действия/Настроить список».

        Закладка Условное оформление.

        Выбираем требуемое оформление и формат.

        Указываем список полей, на которые будет применено это оформление.

        Ссылка на основную публикацию
        Что делать если плохо работает отпечаток пальца
        Владельцы современных смартфонов на платформе Android нередко сталкиваются с тем, что сканер отпечатков пальцев реагирует недостаточно быстро и точно. Зачастую...
        Хайскрин пауэр айс эво
        Вас интересуют характеристики Highscreen Power Ice Evo (Хайскрин Повер Ис Эво)? Мы собрали всю важную информацию, чтобы помочь определиться с...
        Халявные страницы в вк логины и пароли
        Please complete the security check to access youhack.ru Why do I have to complete a CAPTCHA? Completing the CAPTCHA proves...
        Что делать если пропал звук в наушниках
        Всё о Интернете, сетях, компьютерах, Windows, iOS и Android Нет звука в наушниках на телефоне — что делать?! А Вы...
        Adblock detector