1с формат даты на английском
Сегодня мы ответим на эти вопросы и пройдем по основным вариантам использования и применения функции Формат() при разработке в 1С.
Функция Формат() в 1С используется при конвертации логических, строковых, числовых данных, данных в формате даты и времени между собой в нужных программисту 1С комбинациях.
1С описывает функцию Формат() в синтаксис-помощнике , привязывая ее к Глобальному контексту.
В синтаксисе у функции имеется два параметра. Первый параметр — исходное значение, которое необходимо преобразовать, второй — строка, описывающая метод, которым будет выполнено преобразование. Возвращаемое значение — строка.
С текстом синтаксис-помощника Вы можете ознакомиться в низу статьи, под спойлером.
Итак, после ознакомления с официальной теоретической версией, перейдем к реальной ситуации. Будем рассматривать конкретные примеры использования функции.
Как в 1С 8.3 форматировать число
Например, нужно преобразовать число 123456.789 так, чтобы десятичные знаки были округлены до сотых, и общее число знаков было 10. Причем, нужно отметить, что для дробных чисел параметр ЧЦ используется обязательно с ЧДЦ.
Замена символа-разделителя десятичной и целой части. В данном случае запятая будет заменена на тире.
Замена разделителя разрядов
Форматирование отрицательного числа.
Случаи форматирования значений числа, даты в пропись.
Здесь мы немного отойдем от функции Формат() и для описания наиболее востребованных вариантов преобразования чисел в строку приведем примеры применения функций ЧислоПрописью(), НСтр() и ПредставлениеПериода() (аналог функции из 1С 7.7 ПериодСтр()). Эти функции позволяют выполнить представление числа прописью в соответствии с форматной строкой
ФорматированноеЗначение = ЧислоПрописью ( 1234.56 , , "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2" ) ;
Сообщить ( "Ответ " + ФорматированноеЗначение ) ; // Ответ Одна тысяча двести тридцать четыре рубля 56 копеек
Текст = "ru crayon-s">"" + ФорматированноеЗначение + " - дата нашей статьи;" "; en crayon-s">"Date of our article " + ФорматированноеЗначение + "" "" ;
ФорматированноеЗначение = ПредставлениеПериода ( НачалоКвартала ( Дата ( "20160111" ) ) , КонецКвартала ( Дата ( "20160411" ) ) , "ФП=Истина" ) ;
Как в 1С 8.3 форматировать дату
Применяя функцию Формат() в 1С 8.2, 1С 8.3 можно представить дату и время самыми различными комбинациями.
ФорматированноеЗначение = Формат ( '20160311163005' , "ДФ crayon-s">"дд ММММ гггг 'г.' ЧЧ:мм:сс" "" ) ;
Сообщить ( Формат ( ФорматированноеЗначение , "ДФ=м" ) ) ; // Ответ 30 (если будет 01, то выведет ответ 1)
Сообщить ( Формат ( ФорматированноеЗначение , "ДФ=Ч" ) ) ; // Ответ 16 (если будет 01, то выведет ответ 1)
Сообщить ( Формат ( ФорматированноеЗначение , "ДФ=д" ) ) ; // Ответ 11 (если будет 01, то выведет ответ 1)
Сообщить ( Формат ( ФорматированноеЗначение , "ДФ=МММ" ) ) ; // Ответ март (длинные наименования месяцев сократит до 3 букв с точкой) Сообщить(Формат(ФорматированноеЗначение, "ДФ=ММММ")); // Ответ Март
Сообщить ( Формат ( ФорматированноеЗначение , "ДФ=г" ) ) ; // Ответ 16 (если будет 01, то выведет ответ 1)
Как в 1С 8.2, 1С 8.3 форматировать булевы (логические) операторы
Естественно, приведенный набор примеров не в полной мере отражает все возможные варианты использования функции Формат(), но общее представление можно получить. Для получения более расширенного представления о возможностях функции рекомендуем просмотреть официальную документацию 1С и заниматься разработкой на практике.
Тип: Число; Дата; Булево. Форматируемое значение. <ФорматнаяСтрока>(необязательный) Тип: Строка. Форматная строка представляет собой строковое значение, включающее параметры форматирования. Параметры форматирования перечисляются через символ «;». Наличие параметра означает отличие форматирования от стандартного. Если параметр не задан, то применяется стандартное форматирование, которое в основном соответствует преобразованию значения к строке. Однако для значений типа Число и Дата по умолчанию (0 и 01.01.0001 00:00:00 соответственно) будет выдаваться пустая строка. Каждый параметр задается именем параметра, символом «=» и значением параметра. Значение параметра может указываться в одинарных или двойных кавычках. Это необходимо, если значение параметра содержит символы, используемые в синтаксисе форматной строки. Внутри значения параметра могут указываться произвольные символы, которые при формировании результирующей строки будут отображаться как есть. Таким образом, например, можно указывать разделители часов, минут и секунд при форматировании времени. Если эти символы совпадают со значениями форматной строки, их необходимо заключать в одинарные кавычки. Имена и значения параметров форматной строки: Л (L) — имя языка, страны, для которых будет выполняться стандартное форматирование. Доступные имена языков расположены после описания форматной строки. ЧЦ (ND) — общее число отображаемых десятичных разрядов целой и дробной частей. Исходное число округляется при этом в соответствии с правилами округления Окр15как20. Если указан этот параметр, то для отображения дробной части числа обязательно указание параметра ЧДЦ, иначе дробная часть отображаться не будет. ЧДЦ (NFD) — число десятичных разрядов в дробной части. Исходное число округляется при этом в соответствии с правилами округления Окр15как20. ЧС (NS) — сдвиг разрядов: положительный — деление, отрицательный — умножение. Другими словами, это означает, что исходное число будет умножено или поделено на 10*С, где С — значение параметра по модулю. ЧРД (NDS) — символ-разделитель целой и дробной части. ЧРГ (NGS) — символ-разделитель групп целой части числа. Если в качестве разделителя использовать пустую строку, то в этом случае разделителем будет символ неразрывного пробела. ЧН (NZ) — строка, представляющая нулевое значение числа. Если не задано, то представление в виде пустой строки. Если задано «ЧН=», то в виде «0». Не используется для числовых полей ввода. ЧВН (NLZ) — нужно ли выводить лидирующие нули. Значение данного параметра не задается, собственно наличие параметра определяет вывод лидирующих нулей. ЧГ (NG) — порядок группировки разрядов числа. В качестве значения указываются числа, через запятую, обозначающие количество группируемых разрядов справа налево. Имеют смысл только два первых числа. Первое из них указывает первичную группировку, то есть ту, которая будет использована для наименее значимых разрядов целой части числа. Если второе число не указано, то будут сгруппированы только наименее значимые разряды. Если в качестве второго числа задан 0, то для всех разрядов целой части числа будет применено значение указанное для первичной группировки. Если в качестве второго числа используется значение, отличное от 0, то это значение будет использовано для группировки всех разрядов, кроме уже сгруппированных наименее значимых. ЧО (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) — дата время. Пример: выражение Формат(‘20051120140323’,»ДЛФ=ДДВ») имеет значение «20 ноября 2005 г. 14:03:23″. Важно! Порядок следования опций форматной строки для ДЛФ (ДВ или ДДВ) не может быть изменен. ДП (DE) — строка, представляющая пустую дату (например, Формат(‘00010101000000’ ,»ДП=»»пустая дата»»») вернет строку «пустая дата»). БЛ (BF) — строка, представляющая логическое значение Ложь. БИ (BT) — строка, представляющая логическое значение Истина. Примечание. Использование параметров для поля ввода: параметр ДП (DE) не используется; параметр ДЛФ (DLF) используется только со значениями Д (D), В(T) и ДВ (DT). Возвращаемое значение: Тип: Строка. Строка, полученная в результате форматирования переданного значения. Описание: Формирует удобное для чтения представление значений. Полезно использование в отчетах и при прочем визуальном отображении значений. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). Список языков: af Африкаанс af_NA (af_NA) Африкаанс (Намибия) af_ZA Африкаанс (Южная Африка) am Амхарский am_ET Амхарский (Эфиопия) ar Арабский ar_AE Арабский (Объединенные Арабские Эмираты) ar_BH Арабский (Бахрейн) ar_DZ Арабский (Алжир) ar_EG Арабский (Египет) ar_IQ Арабский (Ирак) ar_JO Арабский (Иордания) ar_KW Арабский (Кувейт) ar_LB Арабский (Ливан) ar_LY Арабский (Ливия) ar_MA Арабский (Марокко) ar_OM Арабский (Оман) ar_QA Арабский (Катар) ar_SA Арабский (Саудовская Аравия) ar_SD Арабский (Судан) ar_SY Арабский (Сирия) ar_TN Арабский (Тунис) ar_YE Арабский (Йемен) as Ассамский as_IN Ассамский (Индия) az Азербайджанский az_AZ Азербайджанский (Азербайджан) az_Cyrl Азербайджанский (Кириллица) az_Cyrl_AZ Азербайджанский (Кириллица, Азербайджан) az_Latn Азербайджанский (Латиница) az_Latn_AZ Азербайджанский (Латиница, Азербайджан) be Белорусский be_BY Белорусский (Беларусь) bg Болгарский bg_BG Болгарский (Болгария) bn Бенгальский bn_IN Бенгальский (Индия) ca Каталанский ca_ES Каталанский (Испания) cs Чешский cs_CZ Чешский (Чешская Республика) cy Валлийский cy_GB Валлийский (Великобритания) da Датский da_DK Датский (Дания) de Немецкий de_AT Немецкий (Австрия) de_BE Немецкий (Бельгия) de_CH Немецкий (Швейцария) de_DE Немецкий (Германия) de_LI (de_LI) Немецкий (Лихтенштейн) de_LU Немецкий (Люксембург) el Греческий el_CY (el_CY) Греческий (Кипр) el_GR Греческий (Греция) en Английский en_AU Английский (Австралия) en_BE Английский (Бельгия) en_BW Английский (Ботсвана) en_BZ (en_BZ) Английский (Белиз) en_CA Английский (Канада) en_GB Английский (Великобритания) en_HK Английский (Гонконг, (Область с Особым Административным Управлением, Китай)) en_IE Английский (Ирландия) en_IN Английский (Индия) en_JM (en_JM) Английский (Ямайка) en_MH (en_MH) Английский (Маршалловы Острова) en_MT Английский (Мальта) en_NA (en_NA) Английский (Намибия) en_NZ Английский (Новая Зеландия) en_PH Английский (Филиппины) en_PK Английский (Пакистан) en_SG Английский (Сингапур) en_TT (en_TT) Английский (Тринидад и Тобаго) en_US Английский (Соединенные Штаты Америки) en_VI Английский (Американские Виргинские Острова) en_ZA Английский (Южная Африка) en_ZW Английский (Зимбабве) es Испанский es_AR Испанский (Аргентина) es_BO Испанский (Боливия) es_CL Испанский (Чили) es_CO Испанский (Колумбия) es_CR Испанский (Коста-Рика) es_DO Испанский (Доминиканская Республика ) es_EC Испанский (Эквадор) es_ES Испанский (Испания) es_GT Испанский (Гватемала) es_HN Испанский (Гондурас) es_MX Испанский (Мексика) es_NI Испанский (Никарагуа) es_PA Испанский (Панама) es_PE Испанский (Перу) es_PR Испанский (Пуэрто-Рико) es_PY Испанский (Парагвай) es_SV Испанский (Сальвадор) es_US Испанский (Соединенные Штаты Америки) es_UY Испанский (Уругвай) es_VE Испанский (Венесуэлла) et Эстонский et_EE Эстонский (Эстония) eu Баскский eu_ES Баскский (Испания) fa Персидский fa_AF Персидский (Афганистан) fa_IR Персидский (Иран) fi Финский fi_FI Финский (Финляндия) fo Фарерский fo_FO Фарерский (Фарерские острова) fr Французский fr_BE Французский (Бельгия) fr_CA Французский (Канада) fr_CH Французский (Швейцария) fr_FR Французский (Франция) fr_LU Французский (Люксембург) fr_MC (fr_MC) Французский (Монако) fr_SN (fr_SN) Французский (Сенегал) ga Ирландский ga_IE Ирландский (Ирландия) gl Галисийский gl_ES, Галисийский (Испания) gu Гуярати gu_IN Гуярати (Индия) he Иврит he_IL Иврит (Израиль) hi Хинди hi_IN Хинди (Индия) hr Хорватский hr_HR Хорватский (Хорватия) hu Венгерский hu_HU Венгерский (Венгрия) hy Армянский hy_AM Армянский (Армения) hy_AM_REVISED Армянский (Армения, REVISED) id Индонезийский id_ID Индонезийский (Индонезия) is Исландский is_IS Исландский (Исландия) it Итальянский it_CH, Итальянский (Швейцария) it_IT Итальянский (Италия) ja Японский ja_JP Японский (Япония) ka Грузинский ka_GE Грузинский (Грузия) kk Казахский kk_KZ Казахский (Казахстан) kl Гренландский kl_GL Гренландский (Гренландия) kn Каннада kn_IN Каннада (Индия) ko Корейский ko_KR Корейский (Южная Корея) kok Конкани kok_IN Конкани (Индия) ky Киргизский ky_KY Киргизский (Киргизия) lt Литовский lt_LT Литовский (Литва) lv Латышский lv_LV Латышский (Латвия) mk Македонский mk_MK Македонский (Македония) ml Малаялам ml_IN Малаялам (Индия) mr Маратийский mr_IN Маратийский (Индия) ms Малайский ms_BN Малайский (Бруней) ms_MY Малайский (Малайзия) mt Мальтийский mt_MT Мальтийский (Мальта) nb Норвежский букмол nb_NO Норвежский букмол (Норвегия) nl Голландский nl_BE Голландский (Бельгия) nl_NL Голландский (Нидерланды) nn Норвежский нюнорск nn_NO Норвежский нюнорск (Норвегия) om Оромо (Афан) om_ET Оромо (Афан) (Эфиопия) om_KE Оромо (Афан) (Кения) or Ория or_IN Ория (Индия) pa Панджабский pa_IN Панджабский (Индия) pl Польский pl_PL Польский (Польша) ps Пашто (Пушто) ps_AF Пашто (Пушто) (Афганистан) pt Португальский pt_BR Португальский (Бразилия) pt_PT Португальский (Португалия) ro Румынский ro_RO Румынский (Румыния) ru Русский ru_RU Русский (Россия) ru_UA Русский (Украина) sk Словацкий sk_SK Словацкий (Словакия) sl Словенский sl_SI Словенский (Словения) so Сомали so_DJ Сомали (Джибути) so_ET Сомали (Эфиопия) so_KE Сомали (Кения) so_SO Сомали (Сомали) sq Албанский sq_AL Албанский (Албания) sr Сербский sr_BA (sr_BA) Сербский (Босния и Герцеговина) sr_CS Сербский (Сербия и Черногория) sr_Cyrl Сербский (Кириллица) sr_Cyrl_BA (sr_Cyrl_BA) Сербский (Кириллица, Босния и Герцеговина) sr_Cyrl_CS Сербский (Кириллица, Сербия и Черногория) sr_Cyrl_ME (sr_Cyrl_ME) Сербский (Кириллица, Черногория) sr_Cyrl_RS (sr_Cyrl_RS) Сербский (Кириллица, Сербия) sr_Latn Сербский (Латиница) sr_Latn_BA (sr_Latn_BA) Сербский (Латиница, Босния и Герцеговина) sr_Latn_CS Сербский (Латиница, Сербия и Черногория) sr_Latn_ME (sr_Latn_ME) Сербский (Латиница, Черногория) sr_Latn_RS (sr_Latn_RS) Сербский (Латиница, Сербия) sr_ME (sr_ME) Сербский (Черногория) sr_RS (sr_RS) Сербский (Сербия) sv Шведский sv_FI Шведский (Финляндия) sv_SE Шведский (Швеция) sw Суахили sw_KE Суахили (Суахили) sw_TZ Суахили (Танзания) ta Тамильский ta_IN Тамильский (Индия) te Телугу te_IN Телугу (Индия) th Тайский th_TH Тайский (Таиланд) ti Тигриниа ti_ER Тигриниа (Эритрея) ti_ET Тигриниа (Эфиопия) tr Турецкий tr_TR Турецкий (Турция) uk Украинский uk_UA Украинский (Украина) ur Урду ur_PK Урду (Пакистан) uz Узбекский uz_Cyrl Узбекский (Кириллица) uz_Cyrl_UZ Узбекский (Кириллица, Узбекистан) uz_Latn Узбекский (Латиница) uz_Latn_UZ Узбекский (Латиница, Узбекистан) uz_UZ Узбекский (Узбекистан) vi Вьетнамский vi_VN Вьетнамский (Вьетнам) zh Китайский zh_CN Китайский (Китай) zh_Hans Китайский (Hans) zh_Hans_CN Китайский (Hans, Китай) zh_Hans_SG Китайский (Hans, Сингапур) zh_Hant Китайский (Hant) zh_Hant_HK Китайский (Hant, Гонконг (Область с Особым Административным Управлением, Китай)) zh_Hant_MO Китайский (Hant, Макао (Область с Особым Административным Управлением, Китай)) zh_Hant_TW Китайский (Hant, Тайвань) zh_HK Китайский (Гонконг (Область с Особым Административным Управлением, Китай)) zh_MO Китайский (Макао (Область с Особым Административным Управлением, Китай)) zh_SG Китайский (Сингапур) zh_TW Китайский (Тайвань)ФорматнаяСтрока>
Если у Вас появились вопросы по статье или остались нерешенные проблемы обсудить их Вы можете на Форуме 1С Вопросы и ответы
При первичной установке программы на новый компьютер или после переустановки операционной системы Windows может возникнуть ситуация, когда в интерфейсе программы 1С:Предприятие формат отображения даты в документах и журналах документов с привычного ДД.ММ.ГГГГ изменяется на принятый в Европе и Америке ММ/ДД/ГГГГ, а также месяц и суммы прописью начинают отображаться на английском языке.
Полезные статьи:
При этом сам интерфейс программы на русском, а проблема возникает в печатных формах документов, в которых месяц и сумма прописью выводятся на английском языке.
Даты документов отображаются в формат представления принятый в Европе и Америке ММ/ДД/ГГГГ, а календарь на английском языке.
Дело в том, что программные продукты на технологической платформе "1С:Предприятие 8" давно уже перешагнули границы СНГ и поддерживают работу на различных языках (помимо русского и английского поддерживаются: азербайджанский, болгарский, венгерский, вьетнамский, китайский, грузинский, казахский, латышский, литовский, немецкий, польский, румынский, турецкий, украинский, французский), а также поддерживают представление формата даты привычный для пользователей в других странах.
Если в поле Сеанс: отображается значение отличное от русский (Россия), то значит проблема именно в этом и возникла она скорее всего потому, что программа неправильно определила страну местонахождения пользователя, которая берется из настроек операционной системы.
В этом случае программа и начинает отображать формат даты и язык суммы прописью на языке и в формате привычном для данной страны.
Одним из вариантов решения проблемы в ОС Windows с определением страны это изменить "Текущее расположение" в "Панель управления" > "Язык и региональные стандарты".
Но данный вариант может подойти не всем пользователям. В этом случае необходимо вручную задать ключ локализации в параметрах запуска информационной базы, который принудительно запустит программу 1С:Предприятие с настройками для нужной страны.
В окне параметров информационной базы в поле Дополнительные параметры запуска укажите ключ /VLru_RU и нажмите Готово.
Параметры локализации при использовании веб-браузера
Если формат даты и и язык суммы прописью неправильно отображается в веб-браузере, то скорее всего проблема в том, что язык определяется в соответствии с региональными установками операционной системы или настройками используемого браузера.
Проверьте суффикс в конце адресной строки в браузере. Если суффикс "/en_US/", то измените его вручную на "/ru_RU/" и сохраните URL в виде отдельного ярлыка или в закладках, для дальнейшего запуска.
Если никакого суффикса нет, то проверьте региональные настройки операционной системы, браузера, а также код локализации сеанса в параметрах информационной базы в режиме Конфигуратора, если у вас есть к нему доступ (подробнее см.ниже).
Если нет доступа к Конфигуратору и нет возможности изменить региональные настройки ОС, то используйте параметр "VL=ru_RU" в URL адресной строки браузера, например:
Настройка параметров локализации в Конфигураторе
Данный вариант настройки применим только в случае, если есть доступ в информационную базу в режиме Конфигуратора. В облачном сервисе 1С:Фреш вариант невозможен.
Одной из причин неправильного определения локализации информационной базы может быть настройки указанные в параметрах информационной базы в Конфигураторе.
Для того, чтобы изменить эти настройки в главном меню Конфигуратора нажмите пункт Сервис и выберите строку Параметры.
Проверьте содержимое поля Код локализации. Если там указан en_US, то это значит кто-то вручную задал параметры локализации английский (США). Если хотите, чтобы параметры локализации определялись автоматически, то очистите это поле. Если же хотите задать параметр вручную (например, ru_RU) то выберите из списка русский (Россия) и нажмите Ок или Применить.
Естественно, данный вариант возможен только в случае, если у вас есть доступ к базе данных в режиме Конфигуратора и есть соответствующие права на внесение изменений.
Снимите флаг Использовать региональные установки текущего сеанса и в поле Язык (Страна): выберите значение русский (Россия).
При необходимости в качестве значения параметра локализации также могут быть указаны коды других стран, поддержка которых заложена в платформе 1С:Предприятие:
Также необходимо понимать, что настройка локализации сеанса пользователя влияет только на формат отображения даты и на язык суммы прописью в печатных формах документов.
Если данная статья была для Вас полезной, то Вы можете поддержать авторов нашего сайта, оставив свой отзыв. Если у Вас установлен Яндекс.Браузер, то в правом верхнем углу браузера нажмите на кнопку отзывов.
Вы можете оценить сайт по пятибальной шкале, выбрав соответствующее количество звезд, а при желании написать несколько слов со своим мнением о данной статье.
Теги: Что делать если в программе 1С месяц прописью печатается на английском языке, Как в программе 1С указать печать месяца прописью на русском языке, Как в программе 1С вернуть печать суммы прописью прописью на русском языке, В программе 1С дата MM.DD.YYYY
При работе с 1С постоянно требуется выводить числа или даты в каком-либо особенном, либо просто в пристойном, виде. Для всего этого существует функция Формат(), о ней собственно и пойдет речь.
Общие сведения о функции Формат()
Если упростить, то функция Формат() позволяет превратить число, дату или булево в строку. Функция Формат() принимает два параметра:
- — это собственно то значения, которому мы хотим придать какой-либо вид, это может быть число, дата или булево. Параметр обязательный.
- — второй параметр, в котором и заключается весь смысл функции Формат(), об этом параметре поговорим более подробно.
Следует сказать, что форматная строка не является обязательным параметром, и в этом случаем функция Формат() отличается от функции Строка() только тем, что для значений по умолчанию для типов Число и Дата (0 и 01.01.0001 00:00:00 соответственно) функция Формат() вернет пустую строку.
В остальных же случаях форматная строка является строковым значением, которое состоит из одного или нескольких параметров форматирования, которые разделяются символом “;”.
Каждый параметр форматирования состоит из имени, знака “=” и значения параметра. При этом значение параметра можно указывать в одинарных или двойных кавычках, это в тех случаях, когда значение параметра содержит символы используемые в синтаксисе форматной строки (например знак “;”).
Внутри значения параметра можно использовать произвольные символы, которые будут отображаться как есть. Наиболее очевидный пример — разделители при формировании представления даты. Также можно использовать одинарные кавычки, если есть подозрение, что символ может быть неправильно воспринят.
Параметры форматирования
Л (L) — указание языка и страны для которой будет выполняться стандартное форматирование, полный список доступен в синтаксис-помощнике.
Преобразование числа в строку
ЧЦ (ND) — максимальная длина целой части числа. Исходное число при этом округляется по правилу “Окр15как20”. Если указан этот параметр, то для отображения дробной части обязательно использовать параметр «ЧДЦ» о котором ниже.
ЧДЦ (NFD) — максимальная длина дробной части числа. Исходное число при этом округляется по правилу “Окр15как20”.
ЧС (NS) — указывает сдвиг разрядов: положительный — деление, отрицательный — умножение.
ЧРД (NDS) — позволяет указать каким символом разделять целую и дробную части числа.
ЧН (NZ) — представление нулевого значения. Если параметр отсутствует, то нулевое значение будет представлено пустой строкой. Если параметр указан в виде “ЧН=”, то представлением нулевого значения будет “0”.
ЧВН (NLZ) — вывод лидирующих нулей. Параметр не имеет значения, само наличие “ЧВН=” уже свидетельствует о необходимости выводить лидирующие нули.
ЧО (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.
(оценок: 3, средняя оценка: 5,00 из 5)
Дата — это один из примитивных типов данных существующих в 1С. Также как числа и строки используется абсолютно повсеместно, и следовательно знание основных функций и принципов работы с типом “Дата” приобретают просто драматическую важность.
В начале скажем, что значение типа дата в 1С содержит точную (с точностью до 0,1 миллисекунды) дату григорианского календаря.
Типовой порядок частей даты принятый в 1С — год, месяц, день, час, минута, секунда.
Собственно простейший способ создания новой переменной типа дата является приравнивание к переменной строки цифр в одинарных кавычках (обязательно) вида ‘ГГГГММДДччммсс’ где:
- ГГГГ — четыре цифры года (включая тысячелетие и век);
- ММ — две цифры месяца;
- ДД — две цифры даты;
- чч — две цифры часа (в 24-х часовом формате);
- мм — две цифры минут;
- сс — две цифры секунд.
Часы, минуты и секунды можно не указывать, при этом они приравниваются к нулю.
Функции работы с датами
Функция Дата() служит для создания значения типа “Дата”. Использовать ее можно двумя способами:
- Дата(x) — где параметр “x” это строка вида “ГГГГММДДччммсс”, часы, минуты и секунды можно опустить, т.е. преобразуем строку в дату;
- Дата(x, y, z, w, v, c) — в этом случае параметры “x”, “y”, “z”, “w”, “v” и “c” являются числами и означают год, месяц, день, час, минуту и секунду соответственно. Как и в предыдущем случае час, минуту и секунду можно опустить.
ТекущаяДата
Функция ТекущаяДата() просто возвращает текущую дату того компьютера на котором она исполняется. В клиент-серверных системах будет разумно инкапсулировать эту функцию в общем модуле (с исполнением на сервере) и использовать ее только таким образом.
ТекущаяУниверсальнаяДатаВМиллисекундах
Функция ТекущаяУниверсальнаяДатаВМиллисекундах() позволяет узнать дату в миллисекундах. Данная функция доступна начиная с версии платформы 8.2.17. Замечание о клиент-серверных системах из функции выше справедливо и для этой функции.
Год, Месяц, День, Час, Минута, Секунда
Функции Год(x), Месяц(x), День(x), Час(x), Минута(x) и Секунда(x) возвращают соответствующую часть переданной им даты “x” в виде числа.
Начало…
Функции вида “Начало…(x)” получают дату в параметре “x” и возвращают дату начала периода времени в соответствии с названием конкретной функции. Существуют следующие функции:
- НачалоГода;
- НачалоКвартала;
- НачалоМесяца;
- НачалоНедели;
- НачалоДня;
- НачалоЧаса;
- НачалоМинуты.
Конец…
Функции вида “Конец…(x)” получают дату в параметре “x” и возвращают дату окончания периода времени в соответствии с названием конкретной функции. Существуют следующие функции:
- КонецГода;
- КонецКвартала;
- КонецМесяца;
- КонецНедели;
- КонецДня;
- КонецЧаса;
- КонецМинуты.
НеделяГода, ДеньГода
Функции НеделяГода(x) И ДеньГода(x) возвращают соответственно номер недели и номер дня в году для указанной даты “x”.
ДеньНедели
Функция ДеньНедели(x) возвращает номер дня недели для указанной даты “x”.
ДобавитьМесяц
Функция ДобавитьМесяц(x, y) добавляет к дате “x” количество месяцев “y”, которое может быть отрицательным, в этом случае происходит вычитание месяцев из даты “x”.
МоментВремени
МоментВремени это объект который является совокупностью даты и ссылки на какой-либо объект информационной базы. МоментВремени используется в качестве значения свойств или параметров методов других объектов, имеющих тип МоментВремени. Нужен в первую очередь для того, чтобы иметь возможность различать моменты времени для объектов имеющих одинаковую дату создания.
ВвестиДату
Функция ВвестиДату(x, y, z) вызывает диалог для ввода даты, введенная дата записывается в переменную “x”, кроме этого можно указать подсказку “y”, а также какую часть даты нужно ввести “z” Функция возвращает Истина — если ввод был произведен, Ложь — если пользователь отказался от ввода.
Выглядит это окно примерно так:
Окно ввода даты
Типовые задачи представления данных
Разность даты в днях, количество дней между датами
Простым вычитанием одной даты из другой мы можем получить разность между датами в секундах, следовательно получение любого другого типа разности (в минутах, днях и тд.) является простой арифметической операцией:
Кроме этого можно воспользоваться функцией «РАЗНОСТЬДАТ» из языка запросов:
Таким образом можно узнать следующие типы разности дат:
Разница между датами в месяцах, количество месяцев между датами
Здесь все в точности также, как и в предыдущем пункте.
Прибавить день к дате, вычесть день из даты, отнять от даты день
Прибавить месяц к дате, вычесть месяц из даты, отнять месяц от даты
Для прибавления/вычитания месяцев существует встроенная функция:
День недели по дате
Сравнение дат
Так как дата в 1С это по сути количество секунд прошедшее с начала нашей эры (т.е. число) то и сравнение производится так же как и числами. У объекта «МоментВремени» существует специальный метод «Сравнить» который позволяет сравнить один объект «МоментВремени» с другим.
Дата равна нулю (проверка на заполненность), проверка на пустую дату
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
(оценок: 14, средняя оценка: 4,50 из 5)
В статье представлены способы задать формат даты 1с 8. Для этого необходимо использовать форматную строку. Редактировать ее можно либо вручную, либо при помощи специального конструктора.
Форматные строки используются в:
При использовании функции Формат, следует помнить, что она возвращает строковое значение, т.е. представление переданной даты в определенном формате.
Формат даты 1с при помощи форматной строки
При помощи форматной строки можно задать параметры форматирования даты. Не стоит описывать их полностью вручную. Лучше всего, воспользоваться встроенным в платформу конструктором, а затем отредактировать полученную форматную строку вручную. Это сэкономит ваши силы и позволит быстро добиться результата.
В свойствах полей, ячеек макета, конструктор форматной строки вызывается нажатием кнопки. А в коде он вызывается аналогично конструктору запроса: контекстное меню -> Конструктор форматной строки…
- Следует описать функцию Формат, без форматной строки:
- Поставить курсор между кавычек, вызвать конструктор;
- После окончания работы с конструктором нажать ОК.
Конструктор форматной строки
Сам же конструктор форматной строки представляет собой набор вкладок, предназначенных для форматирования данных различных типов. Нас интересует вкладка Дата.
В первую очередь следует проверить, подходит ли для ваших целей Локальный формат даты. Если это так, то стоит воспользоваться именно им, так как он учитывает особенности построения дат для разных стран. То есть для русскоязычной версии будет отображать привычную нам дату, а для локализованных версий — привычную иностранным пользователям.
В остальных случаях можно пользоваться произвольным форматом даты. Его можно не только выбирать из выпадающего списка, но и редактировать вручную. Для редактирования используются следующие форматные коды:
- д (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 часовой вариант представления времени).
Также можно добавлять в форматную строку произвольный текст, используя кавычки (если добавляемый текст не может быть интерпретирован, как составная часть даты, тогда можно обойтись и без кавычек):
Итоговый текст такой форматной строки будет выглядеть следующим образом:
Примеры использования формата дат
Приведем несколько примеров форматирования даты.
Дата без времени (05.10.2020)
Только время (12:35:50)
Месяц текстом, год полностью (Октябрь 2020)
Месяц текстом кратко, год без тысячелетия (окт. 20)
Месяц числом, через точку год полностью (10.2020)
Склонение названия месяца
При форматировании даты не всегда достаточно именительного падежа. Иногда требуется указать, к примеру, что отчет сформирован в «Октябре 2020 г.», а не в «Октябрь 2020 г.». Для решения этой проблемы подойдет серверная строковая функция ПолучитьСклоненияСтроки (доступна, начиная с версии платформы 8.3.13).
Функция возвращает массив вариантов склонения строки. Подробнее прочитать про заполнение параметров можно в синтаксис помощнике.
Читайте также: