helpf.pro
Регистрация
 +19 
Распечатать

Формат, функция форматирования значений

Код 1C v 8.х
 
//Функция формирует удобное для чтения представление значений.

// Примеры форматирования чисел
ЗначФормат = Формат(123456.789, "ЧЦ=10; ЧДЦ=2"); // ЗначФормат = "123 456,79"
ЗначФормат = Формат(123456.789, "ЧГ=0; ЧДЦ=2"); // ЗначФормат = "123456,79"
ЗначФормат = Формат(123456.789, "ЧРД='-'"); // ЗначФормат = "123 456-789"
ЗначФормат = Формат(-123456.789, "ЧО=0"); // ЗначФормат = "(123 456,789)";
ЗначФормат = Формат(13, "ЧЦ=5; ЧВН=; ЧГ=0"); // ЗначФормат = "00013";

//В 8 версии для вывовода чисел прописью используется ЧислоПрописью
ЧислоПрописью(Сумма, "L=ru_RU", Валюта.ПараметрыПрописиНаРусском)
ЧислоПрописью(1457.25,"L=en_US","dollar, dollars, cent, cents, 2"); // One thousand four hundreds fifty seven dollars 25 cents.
ЧислоПрописью(Сумма,"Рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2");

//Пример представления Числа в виде Даты
ЗначФормат = Формат(25021949, "ЧЦ=8; ЧРГ=.; ЧВН=; ЧГ=4,2,0"); // ЗначФормат = "25.02.1949"

// Примеры форматирования дат
ЗначФормат = Формат('20020820153309', "ДФ=""дд ММММ гггг 'г.' ЧЧ:мм:сс"""); // ЗначФормат = "20 августа 2002 г. 15:33:09"
ЗначФормат = Формат('20020820153309', "ДФ=""дд/ММ-гггг"""); // ЗначФормат = "20/08-2002"
ЗначФормат = Формат('20020820153309', "ДФ='q ""кв."" yyyy'"); // ЗначФормат = "3 кв. 2002";
ЗначФормат = Формат('20020820153309', "ДФ='""Итого"" q ""квартал""'") ; // ЗначФормат = "Итого 3 квартал";
ЗначФормат = Формат('20020820153309', "ДФ='ММММ гггг'"); // ЗначФормат = "Август 2002 г.";
ЗначФормат = Формат('20020820153309', "ДЛФ=ДД"); // ЗначФормат = "20 августа 2002 г.";
ЗначФормат = Формат('20020820153309', "ДЛФ=Д"); // ЗначФормат = "20.08.2002";
ЗначФормат = Формат('20020820153309', "ДЛФ=В"); // ЗначФормат = "15:33:09";

ЗначФормат = Формат('20020820153309', "ДФ=HHmmssyyyyMMdd"); // ЗначФормат = "15330920020820";
ЗначФормат = Формат('20020820153309', "ДФ=HH:mm:ss yyyy MM dd"); // Время 24 часа - ЗначФормат = "15:33:09 2002 08 20";
ЗначФормат = Формат('20020820153309', "ДФ=hh:mm:ss yyyy MM dd"); // Время 12 часов - ЗначФормат = "03:33:09 2002 08 20";

Формат(Дата(2009, 1, 1), "ДЛФ=DD") + ", " + ОпределитьДеньНедели(ДеньНедели(Дата(2009, 1, 1))); // 1 января 2009 г., Четверг (Смотрите в "Работаем с Датами" Функция Определить день недели)
Формат(Дата(2009, 1, 1), "ДФ=ММММ") + ", " + Формат(Дата(2009, 1, 1), "ДФ=yyyy") + " г."; // Январь, 2009 г.
Формат(НачалоНедели(Дата(2009, 1, 1)), "ДФ='dd MMMM yyyy'") + " г. - " + Формат(КонецНедели(Дата(2009, 1, 1)), "ДФ='dd MMMM yyyy'") + " г."; // 29 декабря 2008 г. - 04 января 2009 г.

// ДЕКАДУ нельзя вывести через формат, но можно так:
Строка(Цел(День(Дата('20020820153309')) / 10) + 1)+" декада" = 2 декада

// Примеры форматирования логических выражений
ЗначФормат = Формат(Истина, "БЛ=Отсутствует; БИ=Доступен"); // ЗначФормат = "Доступен";
ЗначФормат = Формат(Ложь, "БЛ=Нет; БИ=Да"); // ЗначФормат = "Нет";


Код 1C v 7.x
 
// Символы, определяющие тип форматируемых данных:
// Ч — число (Англоязычный синоним: N)
ЗначФормат = Формат(123.15, "Ч(0)10.2") // 0000123.15
Долг = Строка(Формат(Долг(), "Ч12.2")) + " " + Валюта.Сокр_назв;

// Возможен вывод денежных величин и просто целых чисел прописью. В этом случае форматная строка должна иметь вид "ЧПДС".
// Наличие буквы "П" (в английском варианте для аналогичной цели используется буква "S") определяет сам факт вывода числа прописью.
// Символ "Д" (в английском варианте — "M") обозначает вывод денежной величины и является необязательным.
// Символ "С" (в английском варианте — "H") также необязателен и означает вывод с копейками.
ИтогоСуммаПрописью = Формат(Итог("Сумма"), "ЧПДС");
КоличествоНаименованийПрописью = Формат(КоличествоСтрок(), "ЧП");

// С — строка (Англоязычный синоним: S)
// "Сn", где n — положительное целое число определяющее ширину поля, в котором будет размещаться строка.
// В случае, если ширина поля превосходит длину строки сформатированная строка будет дополнена справа пробелами, если же ширина поля меньше длины строки — строка будет усечена справа.


// Д — дата (Англоязычный синоним: D)
ДатаДокумента = Формат(Док.ДатаДок,"Д ДД.ММ.ГГ"); //12.03.08
ДатаДокумента = Формат("01.01.1999", "Д(0)ДДММММГГГГ"); // 01 Января 1999 г.

//Для форматирования даты используется форматная строка вида "Д<ПодстрокаФормата>", где <Подстрока Формата> представляет собой строку, определяющую вид сформатированного представления даты:
//DDMMYY (ДДММГГ) дата в виде ДД.ММ.ГГ
//DDMMYYYY (ДДММГГГГ) дата в виде ДД.ММ.ГГГГ
//DDMMMMYYYY (ДДММММГГГГ) дата в виде ДД месяц прописью ГГГГ
//(0)DDMMMMYYYY ((0)ДДММММГГГГ) этот формат представляет собой вариант предыдущего формата с тем отличием, что число месяца всегда выводится двумя цифрами, т. е. для чисел меньших 10 спереди будет добавлен 0. Например: Формат('01.01.1999', ' 'Д(0)ДДММММГГГГ' ') = 01 Января 1999 г.
//MMMMYYYY (ММММГГГГ) дата в виде месяц прописью ГГГГ
//MMMMYY (ММММГГ) дата в виде месяц прописью ГГ
//ММММ (ММММ) дата в виде месяц прописью
//QQQQYYYY (ККККГГГГ) дата в виде N квартала ГГГГ
//QQQQYY (ККККГГ) дата в виде N квартала ГГ
//QQQQ дата в виде N квартала
//YYYYMMDD (ГГГГММДД) дата в виде ГГГГММДД, то есть дата '10.11.1998' будет представлена как строка "19981110"
//WWWW (HHHH) выводит наименование дня недели, соответствующее указанной дате. Наименования дней недели берутся из файла прописи.
Разместил:   Версии: | 7.x | 8.x | 8.2 УП |  Дата:   Прочитано: 195562
 +19 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 52
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
1С 7.x : Как получить курсы валют с сайта НБУ http://www.bank.gov.ua/ за любую дату ? 6
Функция ПолучитьТаблицуКурсовНБУ(ДатаКурса, Ежедневно = 1) // если в качестве второго параметра указать число отличное от 1 - получем валюты, которые котируются на ежемесячной основе Перем Reader, Url, Точки, HtmlTab, Строк, Р, НомСтроки, НомЯче
COM-подключение к базе 7.7 из 8.2 1С 7
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь=
Cодержимое указанного ниже веб-сайта в этом приложении блокируется... Aboutsecurity_1cv8c.exe 1
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э
Посмотреть все результаты поиска похожих
Комментарии
ducks99
25.02.2013 11:52Комментарий: 2
ducks99
Огромное спасибо! Добавил в закладки )
E_Migachev
30.11.2009 17:35Комментарий: 1
E_Migachev
Еще примеры для 8 версии:
Код 1C v 8.х
 
Форматирование типа - "Число"
//Общее число отображаемых десятичных разрядов целой и дробной частей (ЧЦ) = 10
//Число десятичных разрядов в дробной части (ЧДЦ) = 2
x = Формат(123456.789, "ЧЦ=10; ЧДЦ=2");
// x = "123 456,79"

//Символ-разделитель целой и дробной части (ЧРД) = "-"
x = Формат(123456.789, "ЧРД='-'");
// x = "123 456-789"

//Символ-разделитель групп целой части числа (ЧРГ) = '.'
x = Формат(123456.789, "ЧРГ='.'");
// x = "123.456,789"

//Этим способом, очень удобно убирать разделители групп в числе (ЧГ) = 0
x = Формат(123456.789, "ЧГ=0");
// x = "123456,789";

Форматирование типа - "Дата"
//Отображение даты и времени
x = Формат('20080813184555', "ДФ=""дд ММММ гггг 'г.' ЧЧ:мм:сс""");
//x = "13 августа 2008 г. 18:45:55"

//Отображение даты с другими разделителями
x = Формат('20080813184555', "ДФ=""дд/ММ-гггг""");
//x = "13/08-2008"

//Отображение только даты
x = Формат('20080813184555', "ДЛФ=ДД");
// x = "13 августа 2008 г."

//Отображение только времени
x = Формат('20080813184555', "ДЛФ=В");
// x = "18:45:55"
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.