- Формат даты, числа, строки и времени в 1С
- Функция Формат()
- Конструктор форматной строки
- Формат даты в 1С на примере месяца: прописью, без времени
- Примеры формата числа
- С какими типами может работать функция формат
- Формат
- Формат в 1С 8.2 и 8.3
- Общие сведения о функции Формат()
- Параметры форматирования
- Преобразование числа в строку
- Преобразование даты в строку
- Преобразование булево в строку
- Типовые задачи представления данных
- Число без пробелов
- Дата без времени
- Месяц прописью из даты
- 1С 8.3 Формат
- Формат даты 1С использование на примерах
- Формат даты 1с при помощи форматной строки
- Конструктор форматной строки
- Примеры использования формата дат
- Склонение названия месяца
Формат даты, числа, строки и времени в 1С
Функция Формат в 1С 8.3 предоставляет достаточно интересный инструмент разработчику для форматирования значений. Особенно часто эта функция используется для вывода примитивных типов данных (даты, времени, чисел, строки, булево) в нужном формате.
Рассмотрим подробнее функцию и способ составления форматной строки.
Функция Формат()
Синтаксис функции достаточно прост:
Значение — форматируемое значение, Форматная строка — строка, заданная определенным образом, из которой формируется правило обработки формата.
Самое интересное — форматная строка. Рассмотрим её подробнее.
Конструктор форматной строки
Для облегчения труда разработчика фирма 1С встроила в платформу специальный конструктор форматной строки.
Для запуска конструктора достаточно вызвать контекстное меню (правая кнопка мыши) и выбрать в списке «Конструктор форматной строки»:
Сам конструктор выглядит следующим образом:
Где необходимо выбрать нужную Вам вкладку в зависимости от типа данных — Число, Дата или Булево.
Рассмотрим использование функции на примерах.
Формат даты в 1С на примере месяца: прописью, без времени
Получить формат даты без времени:
Формат даты 1С, где месяц прописью:
Формат времени без даты, только час, минута и секунда:
Примеры формата числа
Получим формат числа с двумя точками после запятой:
Число без неразрывных пробелов:
Использование запятой вместо точки для дробной части:
Округление числа (не математическое) до целых:
Вывод лидирующих нулей без неразрывных пробелов:
Читайте также другие статьи по конфигурированию 1С.
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
С какими типами может работать функция формат
Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.
Формат
Описание:
Формирует удобное для чтения представление значений. Полезно использование в отчетах и при прочем визуальном отображении значений.
Синтаксис:
Параметры:
Форматная строка представляет собой строковое значение, включающее параметры форматирования.
Параметры форматирования перечисляются через символ «;». Наличие параметра означает отличие форматирования от стандартного.
Если параметр не задан, то применяется стандартное форматирование, которое в основном соответствует преобразованию значения к строке. Однако для значений типа Число и Дата по умолчанию (0 и 01.01.0001 00:00:00 соответственно) будет выдаваться пустая строка.
Каждый параметр задается именем параметра, символом «=» и значением параметра. Значение параметра может указываться в одинарных или двойных кавычках. Это необходимо, если значение параметра содержит символы, используемые в синтаксисе форматной строки.
Внутри значения параметра могут указываться произвольные символы, которые при формировании результирующей строки будут отображаться как есть. Таким образом, например, можно указывать разделители часов, минут и секунд при форматировании времени. Если эти символы совпадают со значениями форматной строки, их необходимо заключать в одинарные кавычки.
Имена и значения параметров форматной строки:
Формат в 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) — позволяет указать способ группировки для целой части числа. В качестве значения, через запятую указываются числа. Смысл имеют только первые два числа, поэтому один из вариантов предлагаемых конструктором форматной строки выглядит странно. Все группировки отсчитываются справа налево.
Всего есть несколько основных вариантов значения параметра:
ЧО (NN) — представление отрицательных чисел:
Преобразование даты в строку
ДФ (DF) — формат даты:
* — не используется для форматной строки поля ввода даты.
ДЛФ (DLF) — локальный формат даты. Указывается вариант отображения частей даты:
ДП (DE) — представление пустой даты.
Преобразование булево в строку
БЛ (BF) — представление логического значения Ложь.
БИ (BT) — представление логического значения Истина.
Типовые задачи представления данных
Число без пробелов
Дата без времени
А также еще множество вариантов.
Месяц прописью из даты
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
1С 8.3 Формат
&НаКлиенте
Процедура ФорматированиеСуммы ( Команда )
// Представление числа прописью
Сообщить ( ЧислоПрописью ( 138.21 )); // Сто тридцать восемь 21
// Рубли-копейки (Сто тридцать восемь рублей 21 копейка)
ФСтр = «Л=ru_RU;ДП=Истина» ; ПарПИ = «рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2» ; //по-русски
ФСтр = «Л=en_US;ДП=Истина» ; ПарПИ = «rouble,roubles,kopeck,kopecks,2» ; //по-английски
ФСтр = «Л=uk_UA;ДП=Истина» ; ПарПИ = «карбованець,карбованцi,карбованцiв,м,копiйка,копiйки,копiйок,м,2» ; //по-украински
ФСтр = «Л=lv_LV;ДП=Истина» ; ПарПИ = «rublis,rubli,rublu,v,kapeika,kapeiki,kapeiku,s,2» ; //по-латышски
ФСтр = «Л=ro_RO;ДП=Истина» ; ПарПИ = «rubla,ruble,f,copeica,copeici,f,2» ; //по-румынски
ФСтр = «Л=bg_BG;ДП=Истина» ; ПарПИ = «рубла,рубли,ж,копейка,копейки,ж,2» ; //по-болгарски
// Доллары-центы (Сто тридцать восемь долларов США 21 цент)
ФСтр = «Л=ru_RU;ДП=Истина» ; ПарПИ = «доллар,доллара,долларов,м,цент,цента,центов,м,2» ; //по-русски
ФСтр = «Л=en_US;ДП=Истина» ; ПарПИ = «dollar,dollars,cent,cents,2» ; //по-английски
ФСтр = «Л=uk_UA;ДП=Истина» ; ПарПИ = «долар,долара,доларiв,м,цент,цента,центiв,м,2» ; //по-украински
ФСтр = «Л=lv_LV;ДП=Истина» ; ПарПИ = «dolars,dolari,dolaru,v,cent,centi,centu,v,2» ; //по-латышски
ФСтр = «Л=ro_RO;ДП=Истина» ; ПарПИ = «dolar,dolari,m,cent,centi,m,2» ; //по-румынски
ФСтр = «Л=bg_BG;ДП=Истина» ; ПарПИ = «долар,долара,м,цент,цента,м,2» ; //по-болгарски
// Евро-евроценты (Сто тридцать восемь евро 21 евроцент)
ФСтр = «Л=ru_RU;ДП=Истина» ; ПарПИ = «евро,евро,евро,м,евроцент,евроцента,евроцентов,м,2» ; //по-русски
ФСтр = «Л=en_US;ДП=Истина» ; ПарПИ = «euro,euros,eurocent,eurocents,2» ; //по-английски
ФСтр = «Л=uk_UA;ДП=Истина» ; ПарПИ = «євро,євро,євро,м,євроцент,євроцента,євроцентів,м,2» ; //по-украински
ФСтр = «Л=lv_LV;ДП=Истина» ; ПарПИ = «eiro,eiro,eiro,v,cents,centi,centi,v,2» ; //по-латышски
ФСтр = «Л=ro_RO;ДП=Истина» ; ПарПИ = «euro,euro,м,eurocent,eurocenti,м,2» ; //по-румынскимммм
ФСтр = «Л=bg_BG;ДП=Истина» ; ПарПИ = «евро,евро,с,евроцент,евроцента,м,2» ; //по-болгарски
Формат даты 1С использование на примерах
В статье представлены способы задать формат даты 1с 8. Для этого необходимо использовать форматную строку. Редактировать ее можно либо вручную, либо при помощи специального конструктора.
Форматные строки используются в:
При использовании функции Формат, следует помнить, что она возвращает строковое значение, т.е. представление переданной даты в определенном формате.
Формат даты 1с при помощи форматной строки
При помощи форматной строки можно задать параметры форматирования даты. Не стоит описывать их полностью вручную. Лучше всего, воспользоваться встроенным в платформу конструктором, а затем отредактировать полученную форматную строку вручную. Это сэкономит ваши силы и позволит быстро добиться результата.
То есть правильный вызов конструктора для метода Формат, выглядит так:
Конструктор форматной строки
Сам же конструктор форматной строки представляет собой набор вкладок, предназначенных для форматирования данных различных типов. Нас интересует вкладка Дата.
В первую очередь следует проверить, подходит ли для ваших целей Локальный формат даты. Если это так, то стоит воспользоваться именно им, так как он учитывает особенности построения дат для разных стран. То есть для русскоязычной версии будет отображать привычную нам дату, а для локализованных версий — привычную иностранным пользователям.
В остальных случаях можно пользоваться произвольным форматом даты. Его можно не только выбирать из выпадающего списка, но и редактировать вручную. Для редактирования используются следующие форматные коды:
Также можно добавлять в форматную строку произвольный текст, используя кавычки (если добавляемый текст не может быть интерпретирован, как составная часть даты, тогда можно обойтись и без кавычек):
Итоговый текст такой форматной строки будет выглядеть следующим образом:
Примеры использования формата дат
Приведем несколько примеров форматирования даты.
Дата без времени (05.10.2020)
Только время (12:35:50)
Месяц текстом, год полностью (Октябрь 2020)
Месяц текстом кратко, год без тысячелетия (окт. 20)
Месяц числом, через точку год полностью (10.2020)
Склонение названия месяца
При форматировании даты не всегда достаточно именительного падежа. Иногда требуется указать, к примеру, что отчет сформирован в «Октябре 2020 г.», а не в «Октябрь 2020 г.». Для решения этой проблемы подойдет серверная строковая функция ПолучитьСклоненияСтроки (доступна, начиная с версии платформы 8.3.13).
Функция возвращает массив вариантов склонения строки. Подробнее прочитать про заполнение параметров можно в синтаксис помощнике.
Пример. Отформатировать дату в «месяц год», месяц в предложном падеже вывести в виде сообщения.